¿Por qué Python?, es una pregunta valida. Habiendo bastantes lenguajes, de todos tipos, colores y sabores, termine con Python por la simple y llana razón de que me llamo la atención, simplemente investigue un poquito, y un noob como yo, decidió que Python es un buen punto de partida en esto de programar. ¿Qué si estoy equivocado?, no sé, puede ser; de cualquier forma estoy aquí, 6:13 am, café en mano, Dubstep en mis audífonos e insomnio en mi vida y escribo esto.
Escogí, un poco a lo random, el libro, "Think Python", y espero aprender de el todo lo posible y plasmar aquí lo mas importante, para si en un futuro lo necesito, aquí tendré ideas clave bien ordenadas para mi y para algún otro perdido que quizá de con este blog, (aunque puede que nadie nunca lo lea, lo cual esta bien también (:)Empecemos.
Python, un lenguaje de alto nivel
Así como existen lenguajes de alto nivel, existen lenguajes de bajo nivel, ambos tienen sus ventajas y desventajas, pero los lenguajes de alto nivel son los predilectos por razones de simplicidad y facilidad, ya que estos son mas cortos y pueden ejecutarse en diferentes tipos de ordenadores, es decir, son portables. En cambio los de bajo nivel no, y tienden a usarse solo en algunas aplicaciones muy especificas.
Los lenguajes de alto nivel poseen la desventaja que antes de ejecutarse tiene que leerse, existen dos formas, los interpretes y los compiladores.
CODIGO FUENTE --> INTERPRETER --> SALIDA
Un interprete lee un programa de alto nivel y luego lo ejecuta.
CODIGO FUENTE --> COMPILADOR --> CODIGO OBJETO --> EJECUTOR --> SALIDA
Un compilador lee el programa y lo traduce TODO al mismo tiempo ANTES de ejecutar cualquier acción. En este caso el programa de alto nivel se llama código fuente y el programa traducido, código objeto
Python se considera un lenguaje interpretado. Así que nosotros escribimos una sentencia y Python nos interpreta un resultado. Ejem.
_________________________________________________________
$ python
Python 1.5.2 (#1, Feb 1 2000, 16:32:16)
Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam
>>> print 2 + 2
4
_________________________________________________________
Si dividimos esta "cosa", en partes, obtenemos que la primer línea del párrafo es la que "despierta" a nuestro querido interprete, Python, las siguientes dos líneas son mensajes de nuestro interprete (nos enseña la versión de python, la fecha actual y el copyright. La cuarta línea inicia con ">>>" que nos la pone el interprete a modo de decirnos, "órale, estoy listo", aquí iniciamos nosotros y ponemos nuestra acción, en este caso "print 2 + 2", que es una operación de suma bastante sencilla. Después de escribirla damos enter y python nos interpreta el resultado inmediatamente, mostrando en la ultima línea, el numero 4 que es el obvio resultado.
Aquí esta nuestro bello e inútil primer programa, una suma de dos mas dos al que habrá que guardar y poner nombre como si fuese nuestro hijo. Como nuestro hijo es resultado de nuestra relación con python, como si fuese apellido, nuestro archivo termina con ".py". Por ejemplo, llamémosle, "inutil.py". ¿Lo cachaí?, ahora siempre que abramos a "inutil.py", obtendremos el resultado de la operación 2 + 2.
Existen algunas funciones básicas que se presentan en CASI todos los lenguajes, estas son:
entrada: recibir datos del teclado, o un archivo u otro aparato
salida: mostrar datos en el monitor o enviar datos a un archivo u otro aparato
matemáticas: ejecutar operaciones básicas, como adiciones o multiplicaciones (!Si, como nuestro querido hijo "inutil.py"!)
operación condicional: probar la veracidad de alguna condición y ejecutar una secuencia de instrucciones apropiada
repetición: Ejecutar alguna acción repetidas veces, normalmente añadiendo variantes.
La programación es compleja, y como somos humanos los que programan, se suele tener errores, a los que se les conoce como bugs, y al proceso de buscarlos y corregirlos se les llama depuración o debugging.
Hay tres tipos de errores; de sintaxis, en tiempo de ejecución y semánticos. !Ha describirlos!
Errores sintácticos
¿Conoces lo que es la sintaxis?, si, esas reglas en la estructura de nuestro lenguaje, por ejemplo. El español nos dice que debemos de escribir cada oración que inicia con mayúscula y terminarla con un punto. La sintaxis nos ayuda cuando leemos por ejemplo, novelas, ¿se imaginan leer alguna sin ninguna coma o punto?, un caos ¿verdad?, aunque aun así podríamos leer, con Python no, es muy fresa, todo tiene que ser como el quiere o si no nos mostrara error y nuestro programa no funcionara, todo tiene que hacerse correcto y con la sintaxis correcta. SIEMPRE.
Errores en tiempo de ejecución
Ufff, en la descripción del libro no menciona casi nada, solo que son poco usuales y que probablemente tardemos mucho tiempo hasta que nos pase, porque somos n00bs y esos errores son excepcionales. Estos errores solo nos salen cuando se ejecutan, no cuando se lee e interpreta. Sinceramente, busque un poco mas de información en internet, pero es un poco complicado de entender, así que de momento al menos, pasare del tema.
Errores semánticos
Los errores semánticos se dan cuando le pedimos a Python algo ilógico, estos errores son mas difíciles de resolver que los sintácticos ya que habrá que trabajar hacia atrás, para ver que es lo que
falla con nuestra logica.
Debugging experimental
El debugging suele ser frustrante, pero alguien tiene que hacerlo, ¿Quién?, pues tu, o nadie. Trabajaremos a lo Sherlok, investigando nuestros errores y experimentado con otros terminos, hasta dar con el resultado deseado.
Los lenguajes formales y los lenguajes naturales
Los lenguajes naturales lo define este libro, como aquellos que son hablados por nosotros los n00bs mortales, como el español el ingles, el francés, el japonés... y no los han diseñado las personas, si no que se han ido dando "naturalmente" y solo dándole cierto orden. En realidad yo discrepo de esta definición, pero bueeeeh...
Los lenguajes formales, los ha diseñado en hombre para y por aplicaciones especificas. La notación matemática es uno, y los lenguajes de programación son desarrollados para expresar computaciones. Los lenguajes formales tienen reglas sintácticas por lo general, lógicas. Como el caso de 2 + 2 son 4, pero no lo es por ejemplo 2 = +4$. O por ejemplo el clásico H20 es una nomenclatura química correcta, pero 4Z2 no lo es.
Básicamente, lo que difiere entre ambos lenguajes son tres cosas, la ambigüedad, la redundancia y la literalidad, los lenguajes formales por lo general NO son ambiguos ni redundantes y Si son literales completamente, en cambio los naturales, pueden ser ambiguos, redundantes y metafóricos.
HOLA MUNDO!
Tradicionalmente el primer programa que suele hacerse es "hello world!", o en hola mundo, en castellano (yo ya tuve a mi hijo bastardo, "inutil.py" asi que no es el primero u_u)
En Python es asi:
print: "Hola mundo!"
Ahora subdividamos este complejo texto. Print simplemente es como decirle a nuestro interprete, "interpreta esto", así que no se muestra en el resultado, las comillas por otro lado, solamente es para decir, donde empieza y acaba nuestra oración.
Y de momento es todo. Hola mundo y nos vemos en el siguiente texto!.
No hay comentarios:
Publicar un comentario