Modulo I: Programa
Modulo I: Programa
Modulo I: Programa
|M O D U L O I
• Fundamentos de programación
• Establecimiento del entorno
• Compilación vs interpretación
• Introducción a Python
|PROGRAMA
“Un programa hace que una computadora sea utilizable. Sin un programa, una
computadora, incluso la más poderosa, no es más que un objeto. Del mismo modo, sin un
pianista, un piano no es más que una caja de madera.”
Nos hablan de que en realidad una computadora solo puede ejecutar operaciones
extremadamente simples. Las computadoras contemporáneas solo pueden evaluar los
resultados de operaciones muy fundamentales, como sumar o dividir, pero pueden hacerlo
muy rápido y pueden repetir estas acciones prácticamente cualquier cantidad de veces.
Un ejemplo es el siguiente, Imagina que quieres saber la velocidad promedio que has
alcanzado durante un largo viaje. Sabes la distancia, sabes el tiempo, necesitas la velocidad.
L E N G U A J E S N A T U R A L E S VS
L E N G U A J E S D E P R O G R A M A C I Ó N
Un lenguaje es un medio para expresar y registrar pensamientos. Y el lenguaje de las
computadoras es llamado lenguaje de máquina, el cual es muy rudimentario.
Una computadora, incluso las más sofisticadas carecen de un rastro de inteligencia. Se
podría decir que es como un perro bien entrenado, responde solo a un conjunto
predeterminado de comandos conocidos.
Los comandos que reconoce son muy simples. Podemos imaginar que la computadora
responde a ordenes como “Toma ese número, divídelo por otro y guara el resultado”.
Un conjunto completo de comandos conocidos se llama lista de instrucciones (IL)
|LENGUAJE
Cada idioma (maquina o natural) consta de los siguientes elementos:
Alfabeto: Un conjunto de símbolo utilizados para formar palabras (por ejemplo, el alfabeto
latino para el inglés, el alfabeto cirílico para el ruso, el knaji para el japones, etc.)
Léxico: También conocido como diccionario (por ejemplo, la palabra “computadora”
proviene del diccionario en inglés, mientras que “abcde” no; la palabra “chat” esta
presente en los diccionarios de ingles y francés, pero sus significados son diferentes)
Sintaxis: Un conjunto de reglas formales utilizadas para precisar si una determinada
cadena de palabras forma una oración valida (por ejemplo, “Soy una serpiente” es una
frase sintácticamente correcta, mientras que “Yo serpiente soy una” no lo es)
Semántica: Un conjunto de reglas que determinan si una frase tiene sentido (por ejemplo,
“Me comí una dona” tiene sentido, pero “Una dona me comió” no lo tiene)
Esta lengua esta muy lejos de ser una lengua materna humana. Y todos, tanto las
computadoras como los humanos necesitamos algo más común para las computadoras y
los seres humanos, o un puente entre los dos mundos diferentes.
PYTHON: Modulo I
Tales lenguajes son llamados lenguajes de programación de alto nivel. Son algo similares
a los naturales en que usan símbolos, palabras y convenciones legibles para los humanos.
Un programa escrito en un lenguaje de programación de alto nivel se llama código fuente.
Del mismo modo, el archivo que contiene el código fuente se llama archivo fuente.
|C o m p i l a c i ó n vs I n t e r p r e t a c i ó n
La programación de una computadora es el acto de establecer una secuencia de
instrucciones con la cual se causará el efecto deseado. El efecto podría ser diferente en
cada caso específico: depende de la imaginación, el conocimiento y la experiencia del
programador. Y debe tener una composición correcta con los elementos mencionados en
el punto anterior.
Compilación:
El programa fuente se traduce una vez (sin embargo, esta ley debe repetirse cada vez que
se modifique el código fuente) obteniendo un archivo (por ejemplo, un archivo .exe sj el
código esta diseñado para ejecutarse en MS Windows) que contiene el código de la
maquina; ahora puedes distribuir el archivo en todo el mundo; el programa que realiza esta
traducción se llama compilador o traductor.
Interpretación:
Cualquier usuario del código puede traducir el programa fuente cada vez que se ejecute; el
programa que realiza este tipo de transformación se denomina interprete, ya que interpreta
el código cada vez que esta destinado a ejecutarse; también significa que no puede distribuir
el código fuente tal como está, porque el usuario final también necesita que el interprete
ejecute.
Un lenguaje de programación de alto nivel particular esta diseñado para estar en una de
estas dos categorías.
PYTHON: Modulo I
Hay muy pocos idiomas que se pueden compilar e interpretar. Por lo general, un lenguaje
de programación se proyecta con este factor en la mente de sus constructores: ¿Se
compilará o interpretará?
|E l i n t é r p r e t e
El intérprete lee el código fuente de una manera que es común en la cultura occidental: de
arriba hacia abajo y de izq a derecha. Sin embargo, sobre esto hay algunas excepciones
que se abarcaran más adelante.
Lo primero que realiza el interprete es verificar que todas las líneas su siguientes son
correctas (utilizando los 4 aspectos tratados anteriormente)
Si el compilador encuentra un error, termina inmediatamente y el único resultado es un
mensaje de error. El interprete le informara donde se encuentra el error y que lo causo.
Sin embargo, estos mensajes pueden ser engañosos, ya que el interprete no puede
distinguir las intenciones exactas.
Por ejemplo, si intentas usar una entidad de un nombre desconocido, causará un error,
pero el error se descubrirá en el lugar donde se intenta usar la entidad, no donde se
introdujo el nombre de la nueva entidad.
La razón real generalmente se ubica poco antes en el código, en el lugar donde se tuvo
que informar al intérprete de que usaría la entidad del nombre.
|V e n t a j a s y d e s v e n t a j a s
PYTHON: Modulo I
• Python es un lenguaje interpretado. Esto significa que hereda todas las ventajas y
desventajas descritas. Por supuesto, agrega algunas de sus características únicas a
ambos conjuntos.
• Si deseas programar en Python, necesitaras el interprete Python. No se puede
ejecutar un código sin él.
|P Y T H O N
Python es un lenguaje de programación de alto nivel, interpretado, orientado a objetos
y de uso generalizado con semántica dinámica, que se utiliza para la programación de
propósito general.
Y el nombre de este lenguaje es en honor a un programa de televisión.
|C R E A D O R
Una de las características más peculiares de Python es que es el trabajo de una
persona. Cuando por lo general, los grandes lenguajes de programación son
desarrollados y publicados por grandes compañías que emplean a muchos
profesionales, y debido a las normas de derechos de autor, es difícil nombrar a las
personas involucradas en el proyecto.
Python fue creado por Guido van Rossum, nacido en 1956 en Haarlem, Países bajos.
|O B J E T I V O S
|¿Q U E L O H A C E E S P E C I A L?
Ventajas: Inconvenientes
• Es fácil de aprender • No ofrece un rendimiento
• Es fácil de enseñar excepcional
• Es fácil de utilizar • En algunos casos puede ser
• Es fácil de entender resistente a algunas técnicas de
• Y es fácil de obtener, instalar y prueba mas simples, lo que puede
desplegar. significar depuración del código
Python puede ser más difícil que
con otros lenguajes.
|R I V A L E S
• Perl y Ruby – Ambos lenguajes de scripting.
|V E R S I O N E S
Hay dos tipos principales de Python, Python 2 y 3.
Python 2 es una versión anterior del Python original. Su desarrollo ha parado, aunque eso
no significa que no haya actualizaciones.
Python 3 es la versión actual del lenguaje. Esta atravesando su propio camino de
evolución, creando sus propios estándares y hábitos. No es solo una versión mejorada de
Python 2, es un lenguaje completamente diferente, aunque es muy similar a su predecesor.
Cuando se miran a distancia, parecen ser los mismos, pero de cerca se nota mucha la
diferencia.
|C P Y T H O N
Además de Python 2 y Python 3, hay más de una versión de cada uno.
PYTHON: Modulo I
En primer lugar están los Pythons que mantienen a las personas reunidas en un entorno
PSF (Python Software Foundation) una comunidad que tiene como objetivo desarrollar,
mejorar, expandir y popularizar Python y su entorno. El presidente del PSF es el propio
Guido van Rossum.
|C Y T H O N
Cython es una de las soluciones al rasgo de Python, de la falta de eficiencia. Los cálculos
matemáticos grandes y complejos pueden ser fácilmente codificados en Python (mucho
más fácil que en “C” o en cualquier otro lenguaje tradicional), pero la ejecución del código
restante puede requerir mucho tiempo.
Cython pretende traducir automáticamente el código de Python (limpio y claro, pero no
demasiado raído) al código “C” (complicado y hablador, pero ágil)
|J Y T H O N
“J” es para “Java”. Imagina un Python escrito en java en lugar de C. Esto es por útil, por
ejemplo, si desarrollad sistemas grandes y complejos escritos completamente en Java y
deseas agregarkes cierta flexibilidad de Python. El tradicional CPython puede ser difícil de
integrar en un entorno de este tipo, ya que C y Java vivien en mundos completamente
diferentes y no comparten muchas ideas comunes.
Jython puede comunicarse con la infraestructura Java existente de manera mas efectiva.
|P Y P Y Y R P Y T H O N
RPython (Restricted Python). En realidad, es un subconjunto de Python. El código fuente
de PyPy no se ejecuta de manera interpretativa, sino que se traduce al lenguaje de
programación C y luego se ejecuta por separado.
Esto es útil porque si deseas probar cualquier característica nueva que pueda ser o no
introducida en la implementación de Python, es más fácil verificarla con PyPy que con
CPython. Es por eso que PyPy es más una herramienta para las personas que desarrollan
Python que para el resto de usuarios.
PyPy es compatible con el lenguaje Python 3.
|U S O
Es probable que los usuarios de Linux ya tengan Python Instalado, ya que la
infraestructura de Python se usa de forma intensiva en muchos componentes del sistema
operativo Linux.
|A C T I V I D A D E S