Programación para Newbies VII: Ingredientes – Variables y Tipos de Números

Como les decía anteriormente, ahora vamos a dar una sucinta revisión a los “ingredientes” de un programa en Python. Así como en las recetas de cocina son necesarios distintos ingredientes (te desafío a preparar algo con sólo “un” ingrediente). En Python a estos ingredientes, los llamaremos variables.

>>> 2 + 2
4
>>>

¡Sorpresa! El intérprete de Python puede funcionar como una calculadora. Aprovecho de mostrarte los signos que puedes utilizar:

¡Sigue leyendo sobre los ingredientes de Python!

Anuncios

Programación para Newbies VI: Hola mundo

Bueno, luego de una soberana lata, por fin nos vamos a entrar en la programación. Finalmente entre los muchos lenguajes de programación existentes me pareció que el mejor para comenzar es Python.

¿Por qué Python?

  • Lenguaje de alto nivel interpretado
  • Sintaxis sencilla (prácticamente pseudocódigo)
  • Ampliamente disponible
  • Libre
  • Multiplataforma
  • Orientado a objetos

En fin, como ven las bondades son numerosas…

Por fin… manos a la obra!

Programación para Newbies V: Lenguajes, Java y palabras finales

Y continuamos con la tercera y última parte sobre lenguajes de programación.

Java

Duke ThinkingEste lenguaje también de alto nivel desarrollado por James Gosling en Sun Microsystems, apareció paralelamente con Python, a principios de los años 90. Basado en gran parte en la sintaxis de C/C++. Este lenguaje tiene una particularidad que considero interesante. Este debe ser compilado en bytecode (aunque también puede compilarse a código máquina), ¿qué ventaja tiene esto?. Si bien, en teoría, un programa escrito en C podría compilarse (traducirse) con un compilador ya sea de GNU/Linux o Windows, en la práctica vemos que ésto no es así, lamentablemente el código debe ser modificado de manera importante (me gustaría explicarles por qué, pero está fuera de mi conocimiento). La gracia de Java es que el lenguaje es completamente estándar. Bueno, hasta ahora tenemos el mismo problema que con C, lo que pasa es que el bytecode, vendría siendo algo así como una “traducción a medias”, es decir, que no es código máquina, pero está mucho más cerca de serlo. Pero como este es el único lenguaje que el equipo entiende, de alguna forma igual tenemos que arreglarnos de alguna forma para que la traducción/interpretación lo haga. Para logra este fin, el código debe ser interpretado en su ejecución y se utiliza una aplicación especial conocida como Máquina Virtual Java (JVM). Duke PlugDe esta forma, para ejecutar el mismo código de Java, sólo necesito la máquina virtual del sistema operativo correspondiente y voilà. Claramente esto presenta un inconveniente (lo suficientemente grande para que rechace siempre que pueda utilizar Java), el rendimiento, para ejecutar una aplicación necesitamos estar ejecutando la JVM cosa que no consume pocos recursos (aunque diría que con la tecnología actual no debería ser tan importante la diferencia). Por otro lado, presenta una ventaja sumamente importante, la portabilidad, es decir, la posibilidad de desarrollar el programa para distintos sistemas operativos/plataformas.

Sigue leyendo para leer sobre unas últimas palabras sobre los lenguajes…

Programación para Newbies IV: Más sobre los Lenguajes

Seguimos entonces con los lenguajes…

Bajo v/s Alto Nivel

Ahora, lo curioso (o por lo menos interesante) es que realmente el computador no entiende mejor Ensamblador que Fortran o C (bueno, realmente los computadores son conocidos precisamente porque no entienden nada, de ahí que la programación tiene que ser tan precisa), recuerda: sólo código máquina. Para poder traducir los comandos de un lenguaje de medioalto nivel es necesario otro programa especial conocido como compilador. Su trabajo se puede analogar al de traducir un texto de español a inglés.

stock.xchng | arte ram
stock.xchng | arte ram

Tan cierto como en la traducción entre lenguajes humanos, traducir un libro para niños al inglés es muchísimo más fácil y rápido que traducir un paper, dado que éste último tiene vocabulario más técnico y estructuras más complejas. Por lo tanto, es esperable que la traducción de ensamblador a código máquina es más fácil que la de C, y ésta a su vez, que la de FORTRAN a binario.
Como te puedes dar cuenta, vemos que cada uno tiene sus pros y sus contras. En la esquina oeste de shorts azules, tenemos al de alto nivel que es más fácil de aprender, de modificar y de entender, pero también requiere ser compilado, su traducción a lenguaje máquina puede no ser la más adecuado y su control sobre el hardware de la máquina no es demasiado. Por otra parte, en la esquina este de calzoncillos verdes, tenemos al campeón de peso pesado, lenguaje de bajo nivel, que por un lado permite un control importante sobre la máquina y si bien, requiere ser traducido (en general) por un ensamblador, es más rápido, en contraparte es difícil de aprender, utilizar y lo más importante difícil de modificar.

Más y más lenguajes… sigue leyendo la cuarta parte!

Programación para Newbies III: Lenguajes, ¿qué son?

…viene de la segunda parte…

Ya hemos revisado y aprendido la primera premisa de la programación: “Los computadores son estúpidos”. Programar entonces no es más difícil que dar instrucciones paso a paso de lo que queremos que haga. Por desgracia, (aunque no debería sorprendernos) un equipo no entiende español, inglés ni ningún otro lenguaje que los seres humanos podamos comprender. Puesto que de alguna forma tenemos que comunicarnos con el computador nace este nuevo concepto, lenguaje de programación, que será el idioma en el que le daremos las instrucciones que puestas en secuencias, formarán lo que se conoce como código fuente.

Código máquina

stock.xchng | flaivoloka
stock.xchng | flaivoloka

No voy a entrar en mucho detalle sobre el funcionamiento interno de la memoria del computador, pero les diré que ésta alterna entre ceros y unos, que vendría siendo el único lenguaje que el equipo entiende directamente. Puesto que es el código que realmente comprende el computador, se conoce como código máquina. Sorprendentemente, cuando recién aparecieron, los programadores trabajaban de esta forma. Como te podrás imaginar, programar de esta forma es sumamente difícil, imagina lo fácil que es cambiar un cero por uno (o viceversa) y eso produzca que el programa falle (como si eso fuera poco, ¡imagina lo difícil que sería encontrar el error!).

Sigue leyendo sobre la evolución de los lenguajes de programación…

Programación para Newbies III: Lenguajes, ¿qué son?

…viene de la segunda parte…

Ya hemos revisado y aprendido la primera premisa de la programación: “Los computadores son estúpidos”. Programar entonces no es más difícil que dar instrucciones paso a paso de lo que queremos que haga. Por desgracia, (aunque no debería sorprendernos) un equipo no entiende español, inglés ni ningún otro lenguaje que los seres humanos podamos comprender. Puesto que de alguna forma tenemos que comunicarnos con el computador nace este nuevo concepto, lenguaje de programación, que será el idioma en el que le daremos las instrucciones que puestas en secuencias, formarán lo que se conoce como código fuente.

Código máquina

stock.xchng | flaivoloka
stock.xchng | flaivoloka

No voy a entrar en mucho detalle sobre el funcionamiento interno de la memoria del computador, pero les diré que ésta alterna entre ceros y unos, que vendría siendo el único lenguaje que el equipo entiende directamente. Puesto que es el código que realmente comprende el computador, se conoce como código máquina. Sorprendentemente, cuando recién aparecieron, los programadores trabajaban de esta forma. Como te podrás imaginar, programar de esta forma es sumamente difícil, imagina lo fácil que es cambiar un cero por uno (o viceversa) y eso produzca que el programa falle (como si eso fuera poco, ¡imagina lo difícil que sería encontrar el error!).

Sigue leyendo sobre la evolución de los lenguajes de programación…

Programación para Newbies III: Lenguajes, ¿qué son?

…viene de la segunda parte…

Ya hemos revisado y aprendido la primera premisa de la programación: “Los computadores son estúpidos”. Programar entonces no es más difícil que dar instrucciones paso a paso de lo que queremos que haga. Por desgracia, (aunque no debería sorprendernos) un equipo no entiende español, inglés ni ningún otro lenguaje que los seres humanos podamos comprender. Puesto que de alguna forma tenemos que comunicarnos con el computador nace este nuevo concepto, lenguaje de programación, que será el idioma en el que le daremos las instrucciones que puestas en secuencias, formarán lo que se conoce como código fuente.

Código máquina

stock.xchng | flaivoloka
stock.xchng | flaivoloka

No voy a entrar en mucho detalle sobre el funcionamiento interno de la memoria del computador, pero les diré que ésta alterna entre ceros y unos, que vendría siendo el único lenguaje que el equipo entiende directamente. Puesto que es el código que realmente comprende el computador, se conoce como código máquina. Sorprendentemente, cuando recién aparecieron, los programadores trabajaban de esta forma. Como te podrás imaginar, programar de esta forma es sumamente difícil, imagina lo fácil que es cambiar un cero por uno (o viceversa) y eso produzca que el programa falle (como si eso fuera poco, ¡imagina lo difícil que sería encontrar el error!).

Sigue leyendo sobre la evolución de los lenguajes de programación…