
Cuando yo era pequeño aprendí a programar. No aprendí a programar demasiado, y aunque ahora programo un poco por hobby, para una herramienta crítica buscaría un profesional. Pero me gusta saber programar. Tener una idea básica, muy simple, de cómo se hace para que el ordenador haga cosas. Me resulta interesante y, en muchos casos, útil. Sin embargo, parándome a pensar, es mucho más difícil para un niño aprender a programar hoy que cuando yo lo hice.
Me explico: mi primer contacto con la programación fue con un Spectrum ZX en los gloriosos ochenta. Mi primer programa sería algo muy parecido a esto:
10 INK 6
20 PAPER 2
30 BORDER 3
40 CIRCLE 20, 20, 20
Por supuesto no es que hiciera gran cosa, sino que dibujaba un círculo en la pantalla y cambiaba un par de colores. Pero eso para un niño que se iniciaba en la programación, era todo un mundo. Y eran apenas cuatro líneas de código.
Mucho más adelante me aventuré con un amigo en HyperCard, una curiosísima aplicación para Macintosh que permitía construir colecciones complejas de hipermedia (hipertexto con imágenes, sonidos e incluso vídeo). El lenguaje incorporado en HyperCard, llamado HyperTalk —se rompían la cabeza para los nombres, en Apple— sin ser demasiado sofisticado permitía a un par de niños imaginativos construir aplicaciones muy sencillas pero muy divertidas. Incluso llegamos a hacer un par de juegos, aventuras gráficas, que era lo que nos gustaba. Por supuesto eran espantosas, pero eran mucho más de lo que un niño de once años puede hacer fácilmente hoy en día.
Hace poco un amigo me dijo que le gustaría aprender a programar. Sinceramente, si pudiera le diría que volviera atrás en el tiempo y jugase con un Spectrum ZX o una máquina virtual de Logo, que la mejor forma de aprender los principios básicos de la programación son esos dos lenguajes. Sin embargo, como mi amigo no sabe viajar en el tiempo, me puse a pensar otra respuesta.
Quedaban descartados lenguajes como C o Java por su complejidad. PHP era un buen candidato, pero tiene una sintaxis complicada y es demasiado laxo en temas de tipos y declaración de variables. Muy cómodo de usar, pero malo para aprender. Así que la cosa quedó entre Ruby y Python.
Seguramente Ruby sería hoy en día el lenguaje de programación más adecuado para un niño. Los conceptos en realidad tienen más sentido que en la programación funcional: tenemos objetos, que son como las cosas que hay en el mundo real, y esos objetos responden a mensajes, que son como las cosas que hacemos con las cosas en el mundo real. Sin embargo, la personalidad tan profundamente idiosincrática de Ruby, que no se parece a nada más en el mundo —excepto a SmallTalk, que es más raro todavía— sería seguramente contraproducente a la larga. Cuando aprendes a programar en Ruby no aprendes a programar en general, sólo aprendes a programar en Ruby.
Así que el ganador —por eliminación— fue Python. El invento de Guido van Rossum es lo suficientemente flexible para no requerir introducir conceptos complicados hasta que no son necesarios. El hecho de que trate el espacio en blanco como nosotros esperamos que lo trate y no como el resto de lenguajes —que lo ignoran— hace que sea muy adecuado para aprender, y su increíble alcance permite que comprendamos, cuando sea necesario, conceptos tan enrevesados como las lambdas.
¿Qué pensáis vosotros? ¿Cuál os parece que es el lenguaje de programación más adecuado para aprender a programar de cero hoy en día?










LISP !!
he quedado mas confundido que al empezar a leer el articulo.
atari como te extraño!
Si te gustan los espacios en blanco entonces el lenguage mas facil seria WhiteSpace: http://en.wikipedia.org/wiki/Whitespace_(programming_language)
:)
Cuando era chico yo aprendí a programar en un lenguaje llamado Just BASIC por mí mismo. Bueno, me guié un poco por los programas que trae como ejemplos y por la ayuda que el programa tiene (la cual, eso sí, está en inglés).
Es un lenguaje sencillo y, como su nombre lo dice, básico. No hace gran cosa, y dibujar gráficos o crear un videojuego puede ser de lo más complicado, pero se pueden crear fácilmente programas como calculadoras, diccionarios, agendas o programas para el manejo de bases de datos (yo hice muchos, principalmente para organizar información de algunas personas, como teléfono o email).
Además, es totalmente gratuito y se puede descargar desde la página oficial. Lo recomiendo siempre para todos los que quieran iniciarse en el mundo de la programación.
Bueno yo no postulare un lenguaje si no un programa para empezar con la programacion, se trata de “scratch” ideal incluso para niños de 8 años en adelante, en Google pueden mirar bien de que se trata pero les hare una pequeña introduccion de lo que es;
Se programa a travez de bloques, que se colocan secuancialmente, ya en cada bloque se colocan parametros, por ejemplo hay un bloque esperar y este se le puede escribir el tiempo de espera (mucho mas facil que si le decimos a alguien que cree un hilo y luego invoque sleep).
En fin los bloques se traducen a varios idiomas y este bloque “esperar” en ingles ya dira “wait” e incluso esta traducido a arabe.
Este es el mejor inicio para ya meterse a un lenguaje donde toca manejar sintaxis y todo lo demas que implica, aqui las animaciones se hacen de manera muy sencilla y todo esta en lenguaje mas cercano al natural y no en ingles que ni siquiera es nuestra lengua nativa.
Sin duda de todos los lenguajes que he usado el que mas me ha gustado ha sido C#, por su simpleza y potencia.
jaja, a mi me gusta lo de la programacion, y tengo pensado sentirme satisfecho cuando logre programar algo para mi celular… esa es mi meta… pero me falta mucho por recorrer todavia…en fin.. c es mas dificil de lo que parece, ademas como todavia estoy estudiando, los conceptos de limite y logaritmos se me complican bastantes…
pienso que debemos tomar el toro por los cuernos y empezar con el C
:D