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…

Programación para Newbies II: Introducción

Nota: No es que la segunda parte tenga otra introducción, a la primera parte le cambié el título a Prefacio. Sólo modifiqué el título y no el link, porque no quería que fallaran los enlaces.

Antes de querer aprender a hacer algo, es necesario saber qué es lo que vamos a aprender, ¿no?. Puede ser un poco obvio, pero nunca está de más detenerse a pensar que realmente significa lo que vamos a intentar aprender.

Programar, programas…. ¿ah?

Todos como usuarios de un equipo sabemos de la existencia de distintos programas (o aplicaciones), hay algunas para escribir (procesador de texto), para calcular (calculadora), otros para ver/escuchar multimedia (reproductores) y así podríamos continuar mencionando varios (y seguramente no terminaríamos nunca). Así podemos ver que cada programa cumple una tarea específica, en el procesador de texto no se puede jugar ni tampoco ver un video de YouTube. Podríamos decir entonces que cada programa resuelve algún problema en particular y como los problemas del mundo tienden al infinito, por tautología, tendríamos que la variedad de programas es prácticamente inacabable. Lógicamente, esto es directamente proporcional con la dificultad para escribir un programa. Hacer que un programa te pregunte el nombre y luego te salude debería ser bastante más simple que un programa que muestre dos ejércitos enfrentándose entre sí mientras esquivan una lluvia de flechas ardiendo por el ejército enemigo y fuego que es escupido por dragones que zurcan un estrellado cielo con 3 lunas.

Sigue leyendo esta segunda parte…

Programación para Newbies I: Prefacio

CódigoSiempre he querido aprender a programar, no hay ninguna razón particular, como saben, no estudio algo relacionado a la informática. La razón es simple: gusto, me parece realmente divertido y desafiante. ¿Qué?. Sí, soy geek… pero bueno, a gente le gusta leer, bailar, hacer deporte,* jugar WOW, babear por Steve Jobs y cosas más turbias también ¿qué tiene que me guste meterle instrucciones al equipo para el equipo haga lo que yo quiera?. Mi idea ahora es comenzar a escribir una serie, que espero sea muy larga, sobre ¡programación para newbies!.

Okay, te preguntarás entonces, ¿cuál es la gracia que escriba cuando hay infinidad de recursos en toda la red?. Estoy muy en contra de hacer SPAM en la web, ya hay suficiente información repetida como para seguir du(tri)plicando. Por lo mismo, creo que puedo hacer algo distinto y aportar con mi granito de arena :). ¿Cómo?… a eso voy ahora…

Continúa leyendo la primera parte de esta serie…