Está en la página 1de 89

Conceptos Generales

Paradigmas de Programacin
Introduccin Python

Introduccin a los Lenguajes de Programacin


Lic. Wilber Ramos Lovn
Escuela Profesional de Ciencia de la Computacin
Universidad Nacional San Agustn de Arequipa

April 13, 2015

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
A lo largo de la historia de la ciencia de la computacin han
ido surgiendo herramientas, reglas, conceptos y otros
elementos que permitieron la creacin de los ms variados
lenguajes de programacin.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
A lo largo de la historia de la ciencia de la computacin han
ido surgiendo herramientas, reglas, conceptos y otros
elementos que permitieron la creacin de los ms variados
lenguajes de programacin.
Los computadores, las metodologas y los campos de
aplicacin se transformaron radicalmente.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
A lo largo de la historia de la ciencia de la computacin han
ido surgiendo herramientas, reglas, conceptos y otros
elementos que permitieron la creacin de los ms variados
lenguajes de programacin.
Los computadores, las metodologas y los campos de
aplicacin se transformaron radicalmente.
Si Von Neumman vivier y se sentar frente a las
computadoras de ltima generacin se sentira tan perdido
como el inventor de la rueda al volante de un frmula 1.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
A lo largo de la historia de la ciencia de la computacin han
ido surgiendo herramientas, reglas, conceptos y otros
elementos que permitieron la creacin de los ms variados
lenguajes de programacin.
Los computadores, las metodologas y los campos de
aplicacin se transformaron radicalmente.
Si Von Neumman vivier y se sentar frente a las
computadoras de ltima generacin se sentira tan perdido
como el inventor de la rueda al volante de un frmula 1.
No existe una sola forma de pensar y encarar los problemas y
sus soluciones, no son uniformes los conceptos que
fundamentan los lenguajes, no es nica la manera de
programar.
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
Los modelos de datos, estructuras de control, mecanismos de
evaluacin, sentencias, enlaces, expresiones, declaraciones y
tantos otros elementos que conforman los lenguajes de
programacin actuales son muy diferentes entre unos y otros,
hasta opuestos, pero es posible detectar cules son los
conceptos que marcan diferencias mayores o menores,
muestran puntos de contacto o de inflexin, establecen
criterios de clasificaciones, y as, aportan elementos tericos
para sistematizar el anlisis de la programacin.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
Los modelos de datos, estructuras de control, mecanismos de
evaluacin, sentencias, enlaces, expresiones, declaraciones y
tantos otros elementos que conforman los lenguajes de
programacin actuales son muy diferentes entre unos y otros,
hasta opuestos, pero es posible detectar cules son los
conceptos que marcan diferencias mayores o menores,
muestran puntos de contacto o de inflexin, establecen
criterios de clasificaciones, y as, aportan elementos tericos
para sistematizar el anlisis de la programacin.
De esta manera, tiene sentido hablar de la existencia de
diferentes paradigmas de programacin que aportan los
fundamentos tericos y conceptuales para desarrollar sistemas
computacionales de una manera en particular, incluso
podramos decir con una filosofa especial, que los
caracterizan, identifican y a la vez diferencian de los otros
paradigmas.
Lic. Wilber Ramos Lovn
Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Antecedentes
Los modelos de datos, estructuras de control, mecanismos de
evaluacin, sentencias, enlaces, expresiones, declaraciones y
tantos otros elementos que conforman los lenguajes de
programacin actuales son muy diferentes entre unos y otros,
hasta opuestos, pero es posible detectar cules son los
conceptos que marcan diferencias mayores o menores,
muestran puntos de contacto o de inflexin, establecen
criterios de clasificaciones, y as, aportan elementos tericos
para sistematizar el anlisis de la programacin.
De esta manera, tiene sentido hablar de la existencia de
diferentes paradigmas de programacin que aportan los
fundamentos tericos y conceptuales para desarrollar sistemas
computacionales de una manera en particular, incluso
podramos decir con una filosofa especial, que los
caracterizan, identifican y a la vez diferencian de los otros
paradigmas.
Lic. Wilber Ramos Lovn
Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un LP es un lenguaje que permite establecer una


comunicacin entre el hombre y la mquina.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un LP es un lenguaje que permite establecer una


comunicacin entre el hombre y la mquina.
Los LP contienen un conjunto variado de comandos,
instrucciones, reglas, formas de organizar los datos y otros
elementos, que permiten codificar programas con los que se
indican las tareas que la mquina debe realizar para procesar
un conjunto de informacin determinado y resolver un
problema.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un LP es un lenguaje que permite establecer una


comunicacin entre el hombre y la mquina.
Los LP contienen un conjunto variado de comandos,
instrucciones, reglas, formas de organizar los datos y otros
elementos, que permiten codificar programas con los que se
indican las tareas que la mquina debe realizar para procesar
un conjunto de informacin determinado y resolver un
problema.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

La sintaxis de un lenguaje tiene que ver con la forma de los


programas, es decir, con cmo deben escribirse las expresiones,
los comandos, las declaraciones, y todo el cdigo del programa
para que sea entendible sin ambigedades.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

La sintaxis de un lenguaje tiene que ver con la forma de los


programas, es decir, con cmo deben escribirse las expresiones,
los comandos, las declaraciones, y todo el cdigo del programa
para que sea entendible sin ambigedades.
La semntica de un lenguaje se relaciona con el significado de
los programas, con cmo deben comportarse cuando son
ejecutados en una computadora.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un programa escrito mediante un lenguaje de programacin, se


llama fuente o simblico.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un programa escrito mediante un lenguaje de programacin, se


llama fuente o simblico.
ste programa fuente no es ejecutable, pues a la mquina le es
ininteligible, requieren de un paso previo que implica la
conversin del lenguaje artificial al lenguaje absoluto (o de
mquina), que s sea ejecutable.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin(LP)

Un programa escrito mediante un lenguaje de programacin, se


llama fuente o simblico.
ste programa fuente no es ejecutable, pues a la mquina le es
ininteligible, requieren de un paso previo que implica la
conversin del lenguaje artificial al lenguaje absoluto (o de
mquina), que s sea ejecutable.
Los conversores de lenguaje fuente a ejecutable se pueden
clasificar en traductores e intrpretes.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Traductores
Los traductores convierten el programa fuente a una versin
equivalente en lenguaje de mquina y dejan armada esta
versin (programa objeto) para que el computador la ejecute
cuantas veces sea necesario sin que el traductor vuelva a
intervenir.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Traductores
Los traductores convierten el programa fuente a una versin
equivalente en lenguaje de mquina y dejan armada esta
versin (programa objeto) para que el computador la ejecute
cuantas veces sea necesario sin que el traductor vuelva a
intervenir.
Los traductores que producen un cdigo ejecutable (un
programa objeto) que luego es ejecutado por el computador en
forma directa cuantas veces se quiera. Son de dos tipos:
ensambladores, tambin llamados compaginadores, y
compiladores.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Ensambladores
Un ensamblador es un programa que traduce un programa
fuente escrito en un tipo especial de lenguaje, assembler, al
lenguaje de mquina. La estructura del assembler es similar
al lenguaje de mquina, cdigo de operacin y operandos, pero
en lugar de la notacin hexadecimal se utilizan cdigos
mnemotcnicos.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Ensambladores
Un ensamblador es un programa que traduce un programa
fuente escrito en un tipo especial de lenguaje, assembler, al
lenguaje de mquina. La estructura del assembler es similar
al lenguaje de mquina, cdigo de operacin y operandos, pero
en lugar de la notacin hexadecimal se utilizan cdigos
mnemotcnicos.
El programa ensamblador lee el programa fuente escrito con
simblicos, traduce los cdigos de operacin a cdigos de
operacin en lenguaje de mquina y asigna direcciones de
memoria para almacenar las instrucciones y los datos. Cada
instruccin simblica se traduce en una instruccin en lenguaje
de mquina y por esta caracterstica se lo llama lenguaje de
bajo nivel.
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Compiladores
Estos traductores generan por cada sentencia del lenguaje
fuente muchas instrucciones de lenguaje de mquina. Se los
llama lenguajes de alto nivel.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Compiladores
Estos traductores generan por cada sentencia del lenguaje
fuente muchas instrucciones de lenguaje de mquina. Se los
llama lenguajes de alto nivel.
Un programa escrito en un lenguaje de bajo nivel es mucho
ms rpido que otro semejante, pero escrito en un lenguaje de
alto nivel y luego traducido con un compilador, pues utiliza la
menor cantidad de instrucciones de mquina necesarias para
lograr el objetivo.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Compiladores
Estos traductores generan por cada sentencia del lenguaje
fuente muchas instrucciones de lenguaje de mquina. Se los
llama lenguajes de alto nivel.
Un programa escrito en un lenguaje de bajo nivel es mucho
ms rpido que otro semejante, pero escrito en un lenguaje de
alto nivel y luego traducido con un compilador, pues utiliza la
menor cantidad de instrucciones de mquina necesarias para
lograr el objetivo.
El absoluto producido por un compilador tiene ms
instrucciones pues cada sentencia se expande en una cantidad
de instrucciones de mquina. Esto se produce en tiempo de
compilacin y el programador no tiene control sobre la
traduccin, a lo sumo puede llegar a conocer que cdigo es
ms eficiente. Por otra parte, los lenguajes de bajo nivel
presentan mayor dificultad para depurar un programa,
modificarloLic.y Wilber
mantenerlo.
Ramos Lovn
Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Intrpretes
Los intrpretes, a diferencia de los traductores, ejecutan las
instrucciones del programa fuente, interpretando cada vez las
sentencias del programa. Va traduciendo y ejecutando cada
vez que el programa lo requiere, y no almacena programa
objeto alguno. Lo que se almacena es el interprete que reside
en memoria, el programa fuente, tablas de smbolos y datos
necesarios para la ejecucin del programa.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Intrpretes
Los intrpretes, a diferencia de los traductores, ejecutan las
instrucciones del programa fuente, interpretando cada vez las
sentencias del programa. Va traduciendo y ejecutando cada
vez que el programa lo requiere, y no almacena programa
objeto alguno. Lo que se almacena es el interprete que reside
en memoria, el programa fuente, tablas de smbolos y datos
necesarios para la ejecucin del programa.
La modalidad interpretativa tiene como ventaja sobre la
traduccin la posibilidad de poner a punto los programas con
ms rapidez, ya que entre prueba y prueba no hay que pasar
por la etapa de una nueva compilacin o traduccin.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Intrpretes
Como desventaja en cambio, la interpretacin es ms lenta ya
que cada vez que se debe ejecutar el programa debe traducir
cada vez, cada una de las instrucciones que se ejecutan.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Intrpretes
Como desventaja en cambio, la interpretacin es ms lenta ya
que cada vez que se debe ejecutar el programa debe traducir
cada vez, cada una de las instrucciones que se ejecutan.
En realidad los casos de interpretacin pura o traduccin pura
son extremos.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Intrpretes
Como desventaja en cambio, la interpretacin es ms lenta ya
que cada vez que se debe ejecutar el programa debe traducir
cada vez, cada una de las instrucciones que se ejecutan.
En realidad los casos de interpretacin pura o traduccin pura
son extremos.
En la prctica y con el devenir del tiempo y el incremento de la
velocidad de los procesadores, muchos lenguajes se
implementan mediante una combinacin de ambas tcnicas o
una traduccin a un cdigo intermedio que luego es
interpretado.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Computadoras

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Programas
Un algoritmo es una secuencia finita de pasos ejecutables que,
de seguirla, debe terminar en un momento

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Programas
Un algoritmo es una secuencia finita de pasos ejecutables que,
de seguirla, debe terminar en un momento
Un algoritmo en si es algo puramente conceptual, de modo
que para comunicar un algoritmo a una persona o a un
computador debemos de hallar una forma de representarlo.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Programas
Un algoritmo es una secuencia finita de pasos ejecutables que,
de seguirla, debe terminar en un momento
Un algoritmo en si es algo puramente conceptual, de modo
que para comunicar un algoritmo a una persona o a un
computador debemos de hallar una forma de representarlo.

Algoritmo

gr afica

textual

Lic. Wilber Ramos Lovn

Diagrama de flujo
No respeta sintaxis Seudoc o digo
Si respeta sintaxis Programa

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Aspectos fundamentales en las tareas de programacin


Aspectos Lgicos: Esto es, Qu debe computarse?. Esta es la
cuestin esencial y, de hecho, es la que motiva el uso de un
ordenador como medio para resolver un determinado problema.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Aspectos fundamentales en las tareas de programacin


Aspectos Lgicos: Esto es, Qu debe computarse?. Esta es la
cuestin esencial y, de hecho, es la que motiva el uso de un
ordenador como medio para resolver un determinado problema.
Aspectos de Control, Cmo debe computarse? entre los que
podemos distinguir:
Organizacin de la secuencia de computos en pequeos pasos.
Gestin de la memoria durante la computacin.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Aspectos fundamentales en las tareas de programacin


Aspectos Lgicos: Esto es, Qu debe computarse?. Esta es la
cuestin esencial y, de hecho, es la que motiva el uso de un
ordenador como medio para resolver un determinado problema.
Aspectos de Control, Cmo debe computarse? entre los que
podemos distinguir:
Organizacin de la secuencia de computos en pequeos pasos.
Gestin de la memoria durante la computacin.

Estos aspectos claramente son distintos e independientes de


las tareas de programacin (especificacin del problema e
implementacin del programa)

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Aspectos fundamentales en las tareas de programacin


Aspectos Lgicos: Esto es, Qu debe computarse?. Esta es la
cuestin esencial y, de hecho, es la que motiva el uso de un
ordenador como medio para resolver un determinado problema.
Aspectos de Control, Cmo debe computarse? entre los que
podemos distinguir:
Organizacin de la secuencia de computos en pequeos pasos.
Gestin de la memoria durante la computacin.

Estos aspectos claramente son distintos e independientes de


las tareas de programacin (especificacin del problema e
implementacin del programa)
Es deseable que los lenguajes de programacin nos permitan
mantener las distancias entre ambos, sin necesidad de que las
cuestiones implicadas en las tareas de especificacin e
implementacin interfieran entre si.
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Definicin

Un paradigma de programacin es un modelo bsico de diseo


e implementacin de programas.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Definicin

Un paradigma de programacin es un modelo bsico de diseo


e implementacin de programas.
Un modelo que permite desarrollar programas conforme a
ciertos principios o fundamentos especficos que se aceptan
como vlidos.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Definicin

Un paradigma de programacin es un modelo bsico de diseo


e implementacin de programas.
Un modelo que permite desarrollar programas conforme a
ciertos principios o fundamentos especficos que se aceptan
como vlidos.
Es una coleccin de modelos conceptuales que juntos modelan
el proceso de diseo, orientan la forma de pensar y solucionar
los problemas y, por lo tanto, determinan la estructura final de
un programa.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Clasificacin de los paradigmas de programacin

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Paradigma Imperativo
Describe la programacin en trminos del estado del programa
y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al
computador cmo realizar una tarea.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Paradigma Imperativo
Describe la programacin en trminos del estado del programa
y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al
computador cmo realizar una tarea.
Todo el hardware de los computadores est diseado para
ejecutar cdigo de mquina, que es nativo al computador,
escrito en una forma imperativa. Esto se debe a que el
hardware de los computadores implementa el paradigma de las
mquinas de Turing.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Paradigma Imperativo
Describe la programacin en trminos del estado del programa
y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al
computador cmo realizar una tarea.
Todo el hardware de los computadores est diseado para
ejecutar cdigo de mquina, que es nativo al computador,
escrito en una forma imperativa. Esto se debe a que el
hardware de los computadores implementa el paradigma de las
mquinas de Turing.
De una perspectiva de bajo nivel, el estilo del programa est
definido por los contenidos de la memoria, y las sentencias son
instrucciones en el lenguaje de mquina (por ejemplo el
lenguaje ensamblador).

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Paradigma Imperativo
Describe la programacin en trminos del estado del programa
y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al
computador cmo realizar una tarea.
Todo el hardware de los computadores est diseado para
ejecutar cdigo de mquina, que es nativo al computador,
escrito en una forma imperativa. Esto se debe a que el
hardware de los computadores implementa el paradigma de las
mquinas de Turing.
De una perspectiva de bajo nivel, el estilo del programa est
definido por los contenidos de la memoria, y las sentencias son
instrucciones en el lenguaje de mquina (por ejemplo el
lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y
sentencias ms complejas, pero an siguen el mismo
paradigma.Lic. Wilber Ramos Lovn
Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Historia de lenguajes imperativos

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Paradigma Declarativo

Describen las caractersticas que debe tener la solucin. Es


decir especifican qu se desea obtener pero no requieren
indicar cmo obtenerla.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Historia de lenguajes declarativos

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Otros Paradigmas

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Lenguajes de Programacin ms populares 2014

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Sistemas Operativos

Conjunto de programas que se integran con el hardware para


facilitar al usuario:
El gobierna el Sistema.
La asignacin de los recursos.
La administracin y el control de la ejecucin de los programas.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Sistemas Operativos

Conjunto de programas que se integran con el hardware para


facilitar al usuario:
El gobierna el Sistema.
La asignacin de los recursos.
La administracin y el control de la ejecucin de los programas.

Algunos de sus objetivos principales son:


Proveer de un ambiente conveniente de trabajo.
Hacer uso eficiente del Hardware.
Proveer de una adecuada distribucin de los recursos.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Sistemas Operativos

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.
Soporta mltiples paradigmas de programacin: orientada a
objetos, estructurada, funcional.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.
Soporta mltiples paradigmas de programacin: orientada a
objetos, estructurada, funcional.
Portable (Linux, Windows, Mac OSX).

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.
Soporta mltiples paradigmas de programacin: orientada a
objetos, estructurada, funcional.
Portable (Linux, Windows, Mac OSX).
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.
Soporta mltiples paradigmas de programacin: orientada a
objetos, estructurada, funcional.
Portable (Linux, Windows, Mac OSX).
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.
Lenguaje sencillo de aprender.
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Python es un lenguaje de programacin de propsito general
(diseado por el holands Guido van Rossum, a finales de los
80).
Programacin estructurada y clara (el tabulador es parte del
propio lenguaje).
Alta productividad: gran velocidad de desarrollo.
Soporta mltiples paradigmas de programacin: orientada a
objetos, estructurada, funcional.
Portable (Linux, Windows, Mac OSX).
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.
Lenguaje sencillo de aprender.
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Dispone de una amplia Biblioteca estndar (conjunto de
mdulos incluidos en la propia distribucin de Python).
http://docs.python.org/library/

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Dispone de una amplia Biblioteca estndar (conjunto de
mdulos incluidos en la propia distribucin de Python).
http://docs.python.org/library/
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Dispone de una amplia Biblioteca estndar (conjunto de
mdulos incluidos en la propia distribucin de Python).
http://docs.python.org/library/
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.
Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Dispone de una amplia Biblioteca estndar (conjunto de
mdulos incluidos en la propia distribucin de Python).
http://docs.python.org/library/
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.
Lenguaje sencillo de aprender.
Fcil de extender; enlace con C/C++ (SWIG, Weave,
CPython), .NET (IronPython), CORBA, Java (Jython),
FORTRAN (f2py)...

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas caractersticas:
Dispone de una amplia Biblioteca estndar (conjunto de
mdulos incluidos en la propia distribucin de Python).
http://docs.python.org/library/
Interpretado, dinmico, fuertemente tipado, gestin de
memoria automtica.
Lenguaje sencillo de aprender.
Fcil de extender; enlace con C/C++ (SWIG, Weave,
CPython), .NET (IronPython), CORBA, Java (Jython),
FORTRAN (f2py)...
Disponibles un gran nmero de mdulos.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)
interfaces grficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,
Gtk, ...)

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)
interfaces grficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,
Gtk, ...)
juegos (PyGame, PyKyra)

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)
interfaces grficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,
Gtk, ...)
juegos (PyGame, PyKyra)
aplicaciones de red: clienteservidor (Twisted Python), ...

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)
interfaces grficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,
Gtk, ...)
juegos (PyGame, PyKyra)
aplicaciones de red: clienteservidor (Twisted Python), ...
representacin grfica: grficos 2d (M AT P LOT L IB ), C
HACO ), visualizacin 3d (VTK, MayaVi), etc.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Algunas aplicaciones:
desarrollo web (Zope, Plone, Django, webpy, TurboGears,
Pylons, e-mail, RSS, etc.)
acceso a bases de datos (pyodbc, mysqldb, etc.)
interfaces grficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,
Gtk, ...)
juegos (PyGame, PyKyra)
aplicaciones de red: clienteservidor (Twisted Python), ...
representacin grfica: grficos 2d (M AT P LOT L IB ), C
HACO ), visualizacin 3d (VTK, MayaVi), etc.
clculo cientfico (NumPy , SciPy ).

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT
en el mundo de la animacin: DREAM WORKS ANIMATION
, PIXAR , INDUSTRIAL LIGHT & MAGIC ,

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT
en el mundo de la animacin: DREAM WORKS ANIMATION
, PIXAR , INDUSTRIAL LIGHT & MAGIC ,
el instalador de RED HAT / FEDORA (ANACONDA ) est
escrito en PYTHON

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT
en el mundo de la animacin: DREAM WORKS ANIMATION
, PIXAR , INDUSTRIAL LIGHT & MAGIC ,
el instalador de RED HAT / FEDORA (ANACONDA ) est
escrito en PYTHON
SALOME y ABAQUS (cdigos de CAD y CAE) utilizan P
YTHON como lenguaje de script estndar

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT
en el mundo de la animacin: DREAM WORKS ANIMATION
, PIXAR , INDUSTRIAL LIGHT & MAGIC ,
el instalador de RED HAT / FEDORA (ANACONDA ) est
escrito en PYTHON
SALOME y ABAQUS (cdigos de CAD y CAE) utilizan P
YTHON como lenguaje de script estndar
la Universidad de Washington ha desarrollado SAGE, una
herramienta para la docencia de las matemticas

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Dnde se usa Python ?


en GOOGLE , donde es uno de los tres lenguajes oficiales de
desarrollo, junto con C / C++ y J AVA .
Desarrollo esponsorizado por GOOGLE . en YOUTUBE en B
ITTORRENT
en el mundo de la animacin: DREAM WORKS ANIMATION
, PIXAR , INDUSTRIAL LIGHT & MAGIC ,
el instalador de RED HAT / FEDORA (ANACONDA ) est
escrito en PYTHON
SALOME y ABAQUS (cdigos de CAD y CAE) utilizan P
YTHON como lenguaje de script estndar
la Universidad de Washington ha desarrollado SAGE, una
herramienta para la docencia de las matemticas
Casos de xito: http://www.python.org/about/success/
Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Casi cualquier librera de software libre tiene su correspondiente


envoltura que permite accederla desde Python .

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Casi cualquier librera de software libre tiene su correspondiente


envoltura que permite accederla desde Python .
Hay una documentacin muy completa en la ventana de
comandos, mendiante la funcin help en las webs de los
distintos proyectos

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Casi cualquier librera de software libre tiene su correspondiente


envoltura que permite accederla desde Python .
Hay una documentacin muy completa en la ventana de
comandos, mendiante la funcin help en las webs de los
distintos proyectos
La comunidad de Python es muy activa SciPy Conference,
anual en EEUU y Europa

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Casi cualquier librera de software libre tiene su correspondiente


envoltura que permite accederla desde Python .
Hay una documentacin muy completa en la ventana de
comandos, mendiante la funcin help en las webs de los
distintos proyectos
La comunidad de Python es muy activa SciPy Conference,
anual en EEUU y Europa
PyCon (en EEUU) y EuroPython , conferencias anuales

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Por qu est Python tan extendido?


Facilidad para desarrollar envolturas que permitan manejar
desde P YTHON prcticamente cualquier software escrito en C
/ C++ y F ORTRAN
de forma manual, utilizando la PythonC API
mediante generadores automticos: SWIG, SIP, Weave, f2py

Casi cualquier librera de software libre tiene su correspondiente


envoltura que permite accederla desde Python .
Hay una documentacin muy completa en la ventana de
comandos, mendiante la funcin help en las webs de los
distintos proyectos
La comunidad de Python es muy activa SciPy Conference,
anual en EEUU y Europa
PyCon (en EEUU) y EuroPython , conferencias anuales
en el SIAM Anual Meeting 2008 hubo
una sesin especial sobre el uso de Python en el mbito cientfico
http://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE
Lic. Wilber Ramos Lovn
Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Entornos Integrados de Desarrollo (IDE)

Es un conjunto de herramientas e interfaces que facilitan la


programacin.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Entornos Integrados de Desarrollo (IDE)

Es un conjunto de herramientas e interfaces que facilitan la


programacin.
Componentes:
Editor.
Depurador.
Compilador (no es necesario para Python).
Interfaz de ejecucin.
Gestor de componentes.
Control de versiones.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

IDE para Python

IDLE.
devpy para Eclipse.
Anaconda.
Emacs.
Gedit.
Komodo.
Ninja IDE.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

Conceptos Generales
Paradigmas de Programacin
Introduccin Python

Recursos a utilizar

Ninja IDE (http://ninja-ide.org/).


Es de cdigo abierto.
Ligero y fcil de usar.
Corre en Linux, Windows y MacOS X.
Capaz de generar proyectos distribuidos en diversos archivos.
Cuenta con corrector sintctico y de estilo y sugerencias de
optimizacin del cdigo para Python 3.

Lic. Wilber Ramos Lovn

Introduccin a los Lenguajes de Programacin

También podría gustarte