introduccion a la programacion - 2015

89
Conceptos Generales Paradigmas de Programación Introducción Python Introducción a los Lenguajes de Programación Lic. Wilber Ramos Lovón Escuela Profesional de Ciencia de la Computación Universidad Nacional San Agustín de Arequipa April 13, 2015 Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Upload: deivid-carpio

Post on 19-Dec-2015

38 views

Category:

Documents


0 download

DESCRIPTION

Introducción a los Lenguajes de Programación - Escuela Profesional de Ciencia de la Computación

TRANSCRIPT

Page 1: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Introducción a los Lenguajes de Programación

Lic. Wilber Ramos Lovón

Escuela Profesional de Ciencia de la ComputaciónUniversidad Nacional San Agustín de Arequipa

April 13, 2015

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 2: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Antecedentes

A lo largo de la historia de la ciencia de la computación hanido surgiendo herramientas, reglas, conceptos y otroselementos que permitieron la creación de los más variadoslenguajes de programación.

Los computadores, las metodologías y los campos deaplicación se transformaron radicalmente.Si Von Neumman vivierá y se sentará frente a lascomputadoras de última generación se sentiría tan perdidocomo el inventor de la rueda al volante de un fórmula 1.No existe una sola forma de pensar y encarar los problemas ysus soluciones, no son uniformes los conceptos quefundamentan los lenguajes, no es única la manera deprogramar.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 3: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Antecedentes

A lo largo de la historia de la ciencia de la computación hanido surgiendo herramientas, reglas, conceptos y otroselementos que permitieron la creación de los más variadoslenguajes de programación.Los computadores, las metodologías y los campos deaplicación se transformaron radicalmente.

Si Von Neumman vivierá y se sentará frente a lascomputadoras de última generación se sentiría tan perdidocomo el inventor de la rueda al volante de un fórmula 1.No existe una sola forma de pensar y encarar los problemas ysus soluciones, no son uniformes los conceptos quefundamentan los lenguajes, no es única la manera deprogramar.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 4: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Antecedentes

A lo largo de la historia de la ciencia de la computación hanido surgiendo herramientas, reglas, conceptos y otroselementos que permitieron la creación de los más variadoslenguajes de programación.Los computadores, las metodologías y los campos deaplicación se transformaron radicalmente.Si Von Neumman vivierá y se sentará frente a lascomputadoras de última generación se sentiría tan perdidocomo el inventor de la rueda al volante de un fórmula 1.

No existe una sola forma de pensar y encarar los problemas ysus soluciones, no son uniformes los conceptos quefundamentan los lenguajes, no es única la manera deprogramar.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 5: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Antecedentes

A lo largo de la historia de la ciencia de la computación hanido surgiendo herramientas, reglas, conceptos y otroselementos que permitieron la creación de los más variadoslenguajes de programación.Los computadores, las metodologías y los campos deaplicación se transformaron radicalmente.Si Von Neumman vivierá y se sentará frente a lascomputadoras de última generación se sentiría tan perdidocomo el inventor de la rueda al volante de un fórmula 1.No existe una sola forma de pensar y encarar los problemas ysus soluciones, no son uniformes los conceptos quefundamentan los lenguajes, no es única la manera deprogramar.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 6: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

AntecedentesLos modelos de datos, estructuras de control, mecanismos deevaluación, sentencias, enlaces, expresiones, declaraciones ytantos otros elementos que conforman los lenguajes deprogramación actuales son muy diferentes entre unos y otros,hasta opuestos, pero es posible detectar cuáles son losconceptos que marcan diferencias mayores o menores,muestran puntos de contacto o de inflexión, establecencriterios de clasificaciones, y así, aportan elementos teóricospara sistematizar el análisis de la programación.

De esta manera, tiene sentido hablar de la existencia dediferentes “paradigmas” de programación que aportan losfundamentos teóricos y conceptuales para desarrollar sistemascomputacionales de una manera en particular, inclusopodríamos decir con una “filosofía” especial, que loscaracterizan, identifican y a la vez diferencian de los otrosparadigmas.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 7: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

AntecedentesLos modelos de datos, estructuras de control, mecanismos deevaluación, sentencias, enlaces, expresiones, declaraciones ytantos otros elementos que conforman los lenguajes deprogramación actuales son muy diferentes entre unos y otros,hasta opuestos, pero es posible detectar cuáles son losconceptos que marcan diferencias mayores o menores,muestran puntos de contacto o de inflexión, establecencriterios de clasificaciones, y así, aportan elementos teóricospara sistematizar el análisis de la programación.De esta manera, tiene sentido hablar de la existencia dediferentes “paradigmas” de programación que aportan losfundamentos teóricos y conceptuales para desarrollar sistemascomputacionales de una manera en particular, inclusopodríamos decir con una “filosofía” especial, que loscaracterizan, identifican y a la vez diferencian de los otrosparadigmas.Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 8: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

AntecedentesLos modelos de datos, estructuras de control, mecanismos deevaluación, sentencias, enlaces, expresiones, declaraciones ytantos otros elementos que conforman los lenguajes deprogramación actuales son muy diferentes entre unos y otros,hasta opuestos, pero es posible detectar cuáles son losconceptos que marcan diferencias mayores o menores,muestran puntos de contacto o de inflexión, establecencriterios de clasificaciones, y así, aportan elementos teóricospara sistematizar el análisis de la programación.De esta manera, tiene sentido hablar de la existencia dediferentes “paradigmas” de programación que aportan losfundamentos teóricos y conceptuales para desarrollar sistemascomputacionales de una manera en particular, inclusopodríamos decir con una “filosofía” especial, que loscaracterizan, identifican y a la vez diferencian de los otrosparadigmas.Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 9: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un LP es un lenguaje que permite establecer unacomunicación entre el hombre y la máquina.

Los LP contienen un conjunto variado de comandos,instrucciones, reglas, formas de organizar los datos y otroselementos, que permiten codificar programas con los que seindican las tareas que la máquina debe realizar para procesarun conjunto de información determinado y resolver unproblema.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 10: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un LP es un lenguaje que permite establecer unacomunicación entre el hombre y la máquina.Los LP contienen un conjunto variado de comandos,instrucciones, reglas, formas de organizar los datos y otroselementos, que permiten codificar programas con los que seindican las tareas que la máquina debe realizar para procesarun conjunto de información determinado y resolver unproblema.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 11: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un LP es un lenguaje que permite establecer unacomunicación entre el hombre y la máquina.Los LP contienen un conjunto variado de comandos,instrucciones, reglas, formas de organizar los datos y otroselementos, que permiten codificar programas con los que seindican las tareas que la máquina debe realizar para procesarun conjunto de información determinado y resolver unproblema.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 12: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

La sintaxis de un lenguaje tiene que ver con la forma de losprogramas, es decir, con cómo deben escribirse las expresiones,los comandos, las declaraciones, y todo el código del programapara que sea entendible sin ambigüedades.

La semántica de un lenguaje se relaciona con el significado delos programas, con cómo deben comportarse cuando sonejecutados en una computadora.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 13: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

La sintaxis de un lenguaje tiene que ver con la forma de losprogramas, es decir, con cómo deben escribirse las expresiones,los comandos, las declaraciones, y todo el código del programapara que sea entendible sin ambigüedades.La semántica de un lenguaje se relaciona con el significado delos programas, con cómo deben comportarse cuando sonejecutados en una computadora.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 14: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un programa escrito mediante un lenguaje de programación, sellama fuente o simbólico.

Éste programa fuente no es ejecutable, pues a la máquina le esininteligible, requieren de un paso previo que implica laconversión del lenguaje artificial al lenguaje absoluto (o demáquina), que sí sea ejecutable.Los conversores de lenguaje fuente a ejecutable se puedenclasificar en traductores e intérpretes.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 15: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un programa escrito mediante un lenguaje de programación, sellama fuente o simbólico.Éste programa fuente no es ejecutable, pues a la máquina le esininteligible, requieren de un paso previo que implica laconversión del lenguaje artificial al lenguaje absoluto (o demáquina), que sí sea ejecutable.

Los conversores de lenguaje fuente a ejecutable se puedenclasificar en traductores e intérpretes.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 16: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación(LP)

Un programa escrito mediante un lenguaje de programación, sellama fuente o simbólico.Éste programa fuente no es ejecutable, pues a la máquina le esininteligible, requieren de un paso previo que implica laconversión del lenguaje artificial al lenguaje absoluto (o demáquina), que sí sea ejecutable.Los conversores de lenguaje fuente a ejecutable se puedenclasificar en traductores e intérpretes.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 17: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Traductores

Los traductores convierten el programa fuente a una versiónequivalente en lenguaje de máquina y dejan “armada” estaversión (programa objeto) para que el computador la ejecutecuantas veces sea necesario sin que el traductor vuelva aintervenir.

Los traductores que producen un código ejecutable (unprograma objeto) que luego es ejecutado por el computador enforma directa cuantas veces se quiera. Son de dos tipos:ensambladores, también llamados compaginadores, ycompiladores.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 18: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Traductores

Los traductores convierten el programa fuente a una versiónequivalente en lenguaje de máquina y dejan “armada” estaversión (programa objeto) para que el computador la ejecutecuantas veces sea necesario sin que el traductor vuelva aintervenir.Los traductores que producen un código ejecutable (unprograma objeto) que luego es ejecutado por el computador enforma directa cuantas veces se quiera. Son de dos tipos:ensambladores, también llamados compaginadores, ycompiladores.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 19: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Ensambladores

Un ensamblador es un programa que traduce un programafuente escrito en un tipo especial de lenguaje, “assembler”, allenguaje de máquina. La estructura del “assembler” es similaral lenguaje de máquina, código de operación y operandos, peroen lugar de la notación hexadecimal se utilizan códigosmnemotécnicos.

El programa ensamblador lee el programa fuente escrito consimbólicos, traduce los códigos de operación a códigos deoperación en lenguaje de máquina y asigna direcciones dememoria para almacenar las instrucciones y los datos. Cadainstrucción simbólica se traduce en una instrucción en lenguajede máquina y por esta característica se lo llama lenguaje debajo nivel.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 20: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Ensambladores

Un ensamblador es un programa que traduce un programafuente escrito en un tipo especial de lenguaje, “assembler”, allenguaje de máquina. La estructura del “assembler” es similaral lenguaje de máquina, código de operación y operandos, peroen lugar de la notación hexadecimal se utilizan códigosmnemotécnicos.El programa ensamblador lee el programa fuente escrito consimbólicos, traduce los códigos de operación a códigos deoperación en lenguaje de máquina y asigna direcciones dememoria para almacenar las instrucciones y los datos. Cadainstrucción simbólica se traduce en una instrucción en lenguajede máquina y por esta característica se lo llama lenguaje debajo nivel.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 21: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

CompiladoresEstos traductores generan por cada sentencia del lenguajefuente muchas instrucciones de lenguaje de máquina. Se losllama lenguajes de alto nivel.

Un programa escrito en un lenguaje de bajo nivel es muchomás rápido que otro semejante, pero escrito en un lenguaje dealto nivel y luego traducido con un compilador, pues utiliza lamenor cantidad de instrucciones de máquina necesarias paralograr el objetivo.El absoluto producido por un compilador tiene másinstrucciones pues cada sentencia se expande en una cantidadde instrucciones de máquina. Esto se produce en tiempo decompilación y el programador no tiene control sobre latraducción, a lo sumo puede llegar a conocer que código esmás eficiente. Por otra parte, los lenguajes de bajo nivelpresentan mayor dificultad para depurar un programa,modificarlo y mantenerlo.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 22: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

CompiladoresEstos traductores generan por cada sentencia del lenguajefuente muchas instrucciones de lenguaje de máquina. Se losllama lenguajes de alto nivel.Un programa escrito en un lenguaje de bajo nivel es muchomás rápido que otro semejante, pero escrito en un lenguaje dealto nivel y luego traducido con un compilador, pues utiliza lamenor cantidad de instrucciones de máquina necesarias paralograr el objetivo.

El absoluto producido por un compilador tiene másinstrucciones pues cada sentencia se expande en una cantidadde instrucciones de máquina. Esto se produce en tiempo decompilación y el programador no tiene control sobre latraducción, a lo sumo puede llegar a conocer que código esmás eficiente. Por otra parte, los lenguajes de bajo nivelpresentan mayor dificultad para depurar un programa,modificarlo y mantenerlo.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 23: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

CompiladoresEstos traductores generan por cada sentencia del lenguajefuente muchas instrucciones de lenguaje de máquina. Se losllama lenguajes de alto nivel.Un programa escrito en un lenguaje de bajo nivel es muchomás rápido que otro semejante, pero escrito en un lenguaje dealto nivel y luego traducido con un compilador, pues utiliza lamenor cantidad de instrucciones de máquina necesarias paralograr el objetivo.El absoluto producido por un compilador tiene másinstrucciones pues cada sentencia se expande en una cantidadde instrucciones de máquina. Esto se produce en tiempo decompilación y el programador no tiene control sobre latraducción, a lo sumo puede llegar a conocer que código esmás eficiente. Por otra parte, los lenguajes de bajo nivelpresentan mayor dificultad para depurar un programa,modificarlo y mantenerlo.Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 24: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Intérpretes

Los intérpretes, a diferencia de los traductores, ejecutan lasinstrucciones del programa fuente, interpretando cada vez lassentencias del programa. Va traduciendo y ejecutando cadavez que el programa lo requiere, y no almacena programaobjeto alguno. Lo que se almacena es el interprete que resideen memoria, el programa fuente, tablas de símbolos y datosnecesarios para la ejecución del programa.

La modalidad interpretativa tiene como ventaja sobre latraducción la posibilidad de poner a punto los programas conmás rapidez, ya que entre prueba y prueba no hay que pasarpor la etapa de una nueva compilación o traducción.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 25: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Intérpretes

Los intérpretes, a diferencia de los traductores, ejecutan lasinstrucciones del programa fuente, interpretando cada vez lassentencias del programa. Va traduciendo y ejecutando cadavez que el programa lo requiere, y no almacena programaobjeto alguno. Lo que se almacena es el interprete que resideen memoria, el programa fuente, tablas de símbolos y datosnecesarios para la ejecución del programa.La modalidad interpretativa tiene como ventaja sobre latraducción la posibilidad de poner a punto los programas conmás rapidez, ya que entre prueba y prueba no hay que pasarpor la etapa de una nueva compilación o traducción.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 26: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Intérpretes

Como desventaja en cambio, la interpretación es más lenta yaque cada vez que se debe ejecutar el programa debe traducircada vez, cada una de las instrucciones que se ejecutan.

En realidad los casos de interpretación pura o traducción purason extremos.En la práctica y con el devenir del tiempo y el incremento de lavelocidad de los procesadores, muchos lenguajes seimplementan mediante una combinación de ambas técnicas ouna traducción a un código intermedio que luego esinterpretado.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 27: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Intérpretes

Como desventaja en cambio, la interpretación es más lenta yaque cada vez que se debe ejecutar el programa debe traducircada vez, cada una de las instrucciones que se ejecutan.En realidad los casos de interpretación pura o traducción purason extremos.

En la práctica y con el devenir del tiempo y el incremento de lavelocidad de los procesadores, muchos lenguajes seimplementan mediante una combinación de ambas técnicas ouna traducción a un código intermedio que luego esinterpretado.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 28: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Intérpretes

Como desventaja en cambio, la interpretación es más lenta yaque cada vez que se debe ejecutar el programa debe traducircada vez, cada una de las instrucciones que se ejecutan.En realidad los casos de interpretación pura o traducción purason extremos.En la práctica y con el devenir del tiempo y el incremento de lavelocidad de los procesadores, muchos lenguajes seimplementan mediante una combinación de ambas técnicas ouna traducción a un código intermedio que luego esinterpretado.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 29: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Computadoras

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 30: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción 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 modoque para comunicar un algoritmo a una persona o a uncomputador debemos de hallar una forma de representarlo.

Algoritmo

gr afica → Diagrama de flujo

textual →

{No respeta sintaxis → SeudocodigoSi respeta sintaxis → Programa

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 31: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Programas

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

Algoritmo

gr afica → Diagrama de flujo

textual →

{No respeta sintaxis → SeudocodigoSi respeta sintaxis → Programa

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 32: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Programas

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

Algoritmo

gr afica → Diagrama de flujo

textual →

{No respeta sintaxis → SeudocodigoSi respeta sintaxis → Programa

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 33: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Aspectos fundamentales en las tareas de programaciónAspectos Lógicos: Esto es, ¿Qué debe computarse?. Esta es lacuestión esencial y, de hecho, es la que motiva el uso de unordenador como medio para resolver un determinado problema.

Aspectos de Control, ¿Cómo debe computarse? entre los quepodemos distinguir:

Organización de la secuencia de computos en pequeños pasos.Gestión de la memoria durante la computación.

Estos aspectos claramente son distintos e independientes delas tareas de programación (especificación del problema eimplementación del programa)Es deseable que los lenguajes de programación nos permitanmantener las distancias entre ambos, sin necesidad de que lascuestiones implicadas en las tareas de especificación eimplementación interfieran entre si.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 34: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Aspectos fundamentales en las tareas de programaciónAspectos Lógicos: Esto es, ¿Qué debe computarse?. Esta es lacuestión esencial y, de hecho, es la que motiva el uso de unordenador como medio para resolver un determinado problema.Aspectos de Control, ¿Cómo debe computarse? entre los quepodemos distinguir:

Organización de la secuencia de computos en pequeños pasos.Gestión de la memoria durante la computación.

Estos aspectos claramente son distintos e independientes delas tareas de programación (especificación del problema eimplementación del programa)Es deseable que los lenguajes de programación nos permitanmantener las distancias entre ambos, sin necesidad de que lascuestiones implicadas en las tareas de especificación eimplementación interfieran entre si.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 35: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Aspectos fundamentales en las tareas de programaciónAspectos Lógicos: Esto es, ¿Qué debe computarse?. Esta es lacuestión esencial y, de hecho, es la que motiva el uso de unordenador como medio para resolver un determinado problema.Aspectos de Control, ¿Cómo debe computarse? entre los quepodemos distinguir:

Organización de la secuencia de computos en pequeños pasos.Gestión de la memoria durante la computación.

Estos aspectos claramente son distintos e independientes delas tareas de programación (especificación del problema eimplementación del programa)

Es deseable que los lenguajes de programación nos permitanmantener las distancias entre ambos, sin necesidad de que lascuestiones implicadas en las tareas de especificación eimplementación interfieran entre si.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 36: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Aspectos fundamentales en las tareas de programaciónAspectos Lógicos: Esto es, ¿Qué debe computarse?. Esta es lacuestión esencial y, de hecho, es la que motiva el uso de unordenador como medio para resolver un determinado problema.Aspectos de Control, ¿Cómo debe computarse? entre los quepodemos distinguir:

Organización de la secuencia de computos en pequeños pasos.Gestión de la memoria durante la computación.

Estos aspectos claramente son distintos e independientes delas tareas de programación (especificación del problema eimplementación del programa)Es deseable que los lenguajes de programación nos permitanmantener las distancias entre ambos, sin necesidad de que lascuestiones implicadas en las tareas de especificación eimplementación interfieran entre si.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 37: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Definición

Un paradigma de programación es un modelo básico de diseñoe implementación de programas.

Un modelo que permite desarrollar programas conforme aciertos principios o fundamentos específicos que se aceptancomo válidos.Es una colección de modelos conceptuales que juntos modelanel proceso de diseño, orientan la forma de pensar y solucionarlos problemas y, por lo tanto, determinan la estructura final deun programa.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 38: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Definición

Un paradigma de programación es un modelo básico de diseñoe implementación de programas.Un modelo que permite desarrollar programas conforme aciertos principios o fundamentos específicos que se aceptancomo válidos.

Es una colección de modelos conceptuales que juntos modelanel proceso de diseño, orientan la forma de pensar y solucionarlos problemas y, por lo tanto, determinan la estructura final deun programa.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 39: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Definición

Un paradigma de programación es un modelo básico de diseñoe implementación de programas.Un modelo que permite desarrollar programas conforme aciertos principios o fundamentos específicos que se aceptancomo válidos.Es una colección de modelos conceptuales que juntos modelanel proceso de diseño, orientan la forma de pensar y solucionarlos problemas y, por lo tanto, determinan la estructura final deun programa.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 40: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Clasificación de los paradigmas de programación

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 41: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Paradigma ImperativoDescribe la programación en términos del estado del programay sentencias que cambian dicho estado. Los programasimperativos son un conjunto de instrucciones que le indican alcomputador cómo realizar una tarea.

Todo el hardware de los computadores está diseñado paraejecutar código de máquina, que es nativo al computador,escrito en una forma imperativa. Esto se debe a que elhardware de los computadores implementa el paradigma de lasmáquinas de Turing.De una perspectiva de bajo nivel, el estilo del programa estádefinido por los contenidos de la memoria, y las sentencias soninstrucciones en el lenguaje de máquina (por ejemplo ellenguaje ensamblador).Los lenguajes imperativos de alto nivel usan variables ysentencias más complejas, pero aún siguen el mismoparadigma.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 42: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Paradigma ImperativoDescribe la programación en términos del estado del programay sentencias que cambian dicho estado. Los programasimperativos son un conjunto de instrucciones que le indican alcomputador cómo realizar una tarea.Todo el hardware de los computadores está diseñado paraejecutar código de máquina, que es nativo al computador,escrito en una forma imperativa. Esto se debe a que elhardware de los computadores implementa el paradigma de lasmáquinas de Turing.

De una perspectiva de bajo nivel, el estilo del programa estádefinido por los contenidos de la memoria, y las sentencias soninstrucciones en el lenguaje de máquina (por ejemplo ellenguaje ensamblador).Los lenguajes imperativos de alto nivel usan variables ysentencias más complejas, pero aún siguen el mismoparadigma.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 43: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Paradigma ImperativoDescribe la programación en términos del estado del programay sentencias que cambian dicho estado. Los programasimperativos son un conjunto de instrucciones que le indican alcomputador cómo realizar una tarea.Todo el hardware de los computadores está diseñado paraejecutar código de máquina, que es nativo al computador,escrito en una forma imperativa. Esto se debe a que elhardware de los computadores implementa el paradigma de lasmáquinas de Turing.De una perspectiva de bajo nivel, el estilo del programa estádefinido por los contenidos de la memoria, y las sentencias soninstrucciones en el lenguaje de máquina (por ejemplo ellenguaje ensamblador).

Los lenguajes imperativos de alto nivel usan variables ysentencias más complejas, pero aún siguen el mismoparadigma.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 44: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Paradigma ImperativoDescribe la programación en términos del estado del programay sentencias que cambian dicho estado. Los programasimperativos son un conjunto de instrucciones que le indican alcomputador cómo realizar una tarea.Todo el hardware de los computadores está diseñado paraejecutar código de máquina, que es nativo al computador,escrito en una forma imperativa. Esto se debe a que elhardware de los computadores implementa el paradigma de lasmáquinas de Turing.De una perspectiva de bajo nivel, el estilo del programa estádefinido por los contenidos de la memoria, y las sentencias soninstrucciones en el lenguaje de máquina (por ejemplo ellenguaje ensamblador).Los lenguajes imperativos de alto nivel usan variables ysentencias más complejas, pero aún siguen el mismoparadigma.Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 45: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Historia de lenguajes imperativos

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 46: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Paradigma Declarativo

Describen las características que debe tener la solución. Esdecir especifican “qué” se desea obtener pero no requierenindicar “cómo” obtenerla.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 47: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Historia de lenguajes declarativos

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 48: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Otros Paradigmas

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 49: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Lenguajes de Programación más populares 2014

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 50: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Sistemas Operativos

Conjunto de programas que se integran con el hardware parafacilitar al usuario:

El gobierna el Sistema.La asignación de los recursos.La administración y el control de la ejecución 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 distribución de los recursos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 51: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Sistemas Operativos

Conjunto de programas que se integran con el hardware parafacilitar al usuario:

El gobierna el Sistema.La asignación de los recursos.La administración y el control de la ejecución 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 distribución de los recursos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 52: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Sistemas Operativos

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 53: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).

Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 54: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).

Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 55: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.

Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 56: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.

Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 57: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).

Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 58: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.

Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 59: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 60: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Python es un lenguaje de programación de propósito general(diseñado por el holandés Guido van Rossum, a finales de los80).Programación estructurada y clara (el tabulador es parte delpropio lenguaje).Alta productividad: gran velocidad de desarrollo.Soporta múltiples paradigmas de programación: orientada aobjetos, estructurada, funcional.Portable (Linux, Windows, Mac OSX).Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 61: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Dispone de una amplia Biblioteca estándar (conjunto demódulos incluidos en la propia distribución de Python).http://docs.python.org/library/

Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.Fácil de extender; enlace con C/C++ (SWIG, Weave,CPython), .NET (IronPython), CORBA, Java (Jython),FORTRAN (f2py)...Disponibles un gran número de módulos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 62: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Dispone de una amplia Biblioteca estándar (conjunto demódulos incluidos en la propia distribución de Python).http://docs.python.org/library/Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.

Lenguaje sencillo de aprender.Fácil de extender; enlace con C/C++ (SWIG, Weave,CPython), .NET (IronPython), CORBA, Java (Jython),FORTRAN (f2py)...Disponibles un gran número de módulos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 63: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Dispone de una amplia Biblioteca estándar (conjunto demódulos incluidos en la propia distribución de Python).http://docs.python.org/library/Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.

Fácil de extender; enlace con C/C++ (SWIG, Weave,CPython), .NET (IronPython), CORBA, Java (Jython),FORTRAN (f2py)...Disponibles un gran número de módulos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 64: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Dispone de una amplia Biblioteca estándar (conjunto demódulos incluidos en la propia distribución de Python).http://docs.python.org/library/Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.Fácil de extender; enlace con C/C++ (SWIG, Weave,CPython), .NET (IronPython), CORBA, Java (Jython),FORTRAN (f2py)...

Disponibles un gran número de módulos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 65: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas características:

Dispone de una amplia Biblioteca estándar (conjunto demódulos incluidos en la propia distribución de Python).http://docs.python.org/library/Interpretado, dinámico, fuertemente tipado, gestión dememoria automática.Lenguaje sencillo de aprender.Fácil de extender; enlace con C/C++ (SWIG, Weave,CPython), .NET (IronPython), CORBA, Java (Jython),FORTRAN (f2py)...Disponibles un gran número de módulos.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 66: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

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

acceso a bases de datos (pyodbc, mysqldb, etc.)interfaces gráficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,Gtk, ...)juegos (PyGame, PyKyra)aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 67: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

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

interfaces gráficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,Gtk, ...)juegos (PyGame, PyKyra)aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 68: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

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

juegos (PyGame, PyKyra)aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 69: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

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

aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 70: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

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

representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 71: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

desarrollo web (Zope, Plone, Django, webpy, TurboGears,Pylons, e-mail, RSS, etc.)acceso a bases de datos (pyodbc, mysqldb, etc.)interfaces gráficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,Gtk, ...)juegos (PyGame, PyKyra)aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.

cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 72: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Algunas aplicaciones:

desarrollo web (Zope, Plone, Django, webpy, TurboGears,Pylons, e-mail, RSS, etc.)acceso a bases de datos (pyodbc, mysqldb, etc.)interfaces gráficas de usuario (Tk/Tcl, WxWidgets, Qt, FLTK,Gtk, ...)juegos (PyGame, PyKyra)aplicaciones de red: cliente–servidor (Twisted Python), ...representación gráfica:˛ gráficos 2d (M AT P LOT L IB ), CHACO ), visualización 3d (VTK, MayaVi), etc.cálculo científico (NumPy , SciPy ).

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 73: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

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

Desarrollo esponsorizado por GOOGLE . en YOUTUBE en BITTORRENTen el mundo de la animación: DREAM WORKS ANIMATION, PIXAR , INDUSTRIAL LIGHT & MAGIC ,el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 74: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

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

en el mundo de la animación: DREAM WORKS ANIMATION, PIXAR , INDUSTRIAL LIGHT & MAGIC ,el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 75: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

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

el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 76: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

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

SALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 77: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

en GOOGLE , donde es uno de los tres lenguajes oficiales dedesarrollo, junto con C / C++ y J AVA .Desarrollo esponsorizado por GOOGLE . en YOUTUBE en BITTORRENTen el mundo de la animación: DREAM WORKS ANIMATION, PIXAR , INDUSTRIAL LIGHT & MAGIC ,el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándar

la Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 78: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

en GOOGLE , donde es uno de los tres lenguajes oficiales dedesarrollo, junto con C / C++ y J AVA .Desarrollo esponsorizado por GOOGLE . en YOUTUBE en BITTORRENTen el mundo de la animación: DREAM WORKS ANIMATION, PIXAR , INDUSTRIAL LIGHT & MAGIC ,el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticas

Casos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 79: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Dónde se usa Python ?

en GOOGLE , donde es uno de los tres lenguajes oficiales dedesarrollo, junto con C / C++ y J AVA .Desarrollo esponsorizado por GOOGLE . en YOUTUBE en BITTORRENTen el mundo de la animación: DREAM WORKS ANIMATION, PIXAR , INDUSTRIAL LIGHT & MAGIC ,el instalador de RED HAT / FEDORA (ANACONDA ) estáescrito en PYTHONSALOME y ABAQUS (códigos de CAD y CAE) utilizan PYTHON como lenguaje de script estándarla Universidad de Washington ha desarrollado SAGE, unaherramienta para la docencia de las matemáticasCasos de éxito: http://www.python.org/about/success/

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 80: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectosLa comunidad de Python es muy activa SciPy Conference,anual en EEUU y EuropaPyCon (en EEUU) y EuroPython , conferencias anualesen el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 81: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .

Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectosLa comunidad de Python es muy activa SciPy Conference,anual en EEUU y EuropaPyCon (en EEUU) y EuroPython , conferencias anualesen el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 82: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectos

La comunidad de Python es muy activa SciPy Conference,anual en EEUU y EuropaPyCon (en EEUU) y EuroPython , conferencias anualesen el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 83: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectosLa comunidad de Python es muy activa SciPy Conference,anual en EEUU y Europa

PyCon (en EEUU) y EuroPython , conferencias anualesen el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 84: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectosLa comunidad de Python es muy activa SciPy Conference,anual en EEUU y EuropaPyCon (en EEUU) y EuroPython , conferencias anuales

en el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 85: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Por qué está Python tan extendido?Facilidad para desarrollar envolturas que permitan manejardesde P YTHON prácticamente cualquier software escrito en C/ C++ y F ORTRAN

de forma manual, utilizando la PythonC APImediante generadores automáticos: SWIG, SIP, Weave, f2py

Casi cualquier librería de software libre tiene su correspondienteenvoltura que permite accederla desde Python .Hay una documentación muy completa en la ventana decomandos, mendiante la función help en las webs de losdistintos proyectosLa comunidad de Python es muy activa SciPy Conference,anual en EEUU y EuropaPyCon (en EEUU) y EuroPython , conferencias anualesen el SIAM Anual Meeting 2008 hubouna sesión especial sobre el uso de Python en el ámbito científicohttp://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=7369Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 86: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Entornos Integrados de Desarrollo (IDE)

Es un conjunto de herramientas e interfaces que facilitan laprogramación.

Componentes:

Editor.Depurador.Compilador (no es necesario para Python).Interfaz de ejecución.Gestor de componentes.Control de versiones.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 87: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Entornos Integrados de Desarrollo (IDE)

Es un conjunto de herramientas e interfaces que facilitan laprogramación.Componentes:

Editor.Depurador.Compilador (no es necesario para Python).Interfaz de ejecución.Gestor de componentes.Control de versiones.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 88: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

IDE para Python

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

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación

Page 89: Introduccion a La Programacion - 2015

Conceptos GeneralesParadigmas de Programación

Introducción Python

Recursos a utilizar

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

Es de código abierto.Ligero y fácil de usar.Corre en Linux, Windows y MacOS X.Capaz de generar proyectos distribuidos en diversos archivos.Cuenta con corrector sintáctico y de estilo y sugerencias deoptimización del código para Python 3.

Lic. Wilber Ramos Lovón Introducción a los Lenguajes de Programación