C es uno de los lenguajes de programacin ms usados y esta popularidad tiene
sus razones. En palabras del programador Joel Spolsky: "C es el equivalente a aprender anatoma bsica en medicina"". C es un lenguaje que funciona a nivel de mquina, as que sirve para entender cmo interacciona un programa con la capa de hardware. Con C se aprende a hacer cosas como depurar cdigo, o a gestionar la memoria. Tambin ofrece una visin panormica de cmo funciona un ordenador que no ofrecen otros lenguajes. En ese sentido C es el 'abuelo' de otros lenguajes de alto nivel como Java, C# o JavaScript. Dicho esto, programar en C tambin es ms rgido y su curva de aprendizaje no es muy fcil. Si no tienes pensado trabajar en programas que interactan con la capa de hardware (utilizando, por ejemplo, unidades de disco, o extensiones del sistema operativo) C quiz prolongue de manera innecesaria tu tiempo de aprendizaje. Personalmente, me alegra haber aprendido algo de C, pero no creo que sea un lenguaje especialmente amistoso con el principiante. Ayuda a convertirte en un programador minucioso y disciplinado, pero su rigidez y el largo tiempo que pasar antes de que puedas crear algo realmente til puede acabar frustrndote. Java: Uno de los lenguajes ms tiles de aprender Java es el segundo lenguaje de programacin ms popular, y es el protagonista del clebre curso gratuito Introduccin a la programacin de la Universidad de Stanford. Java es muy til para aprender los principios de la programacin orientada a objetos que se usa en otros lenguajes modernos como C++, Perl, Pyython, o PHP. Una vez que has aprendido Java, es ms fcil aprender estos otros lenguajes. Java tiene la ventaja de que es un lenguaje muy maduro y con una larga trayectoria. Hay infinidad de plantillas y tutoriales, y se usa en una gran cantidad de entornos, incluido el desarrollo de aplicaciones en Android, as que es un lenguaje muy prctico. Con Java no aprenders control de dispositivo a nivel de hardware como con C, pero aprenders a acceder y gestionar las partes ms importantes como el sistema de archivos, los grficos o el sonido. Python: Fcil y divertido de aprender Mucha gente recomienda Python para empezar por sus amplias capacidades y su simplicidad. Su cdigo es fcil de leer y tambin ayuda a desarrollar un estilo de programacin limpio sin necesidad de ser muy estricto con la sintaxis (cosas como olvidar un parntesis al final de una lnea). Patrick Jordan, de Ariel Computing, compara el tiempo que se tarda en escribir una instruccin simple en distintos lenguajes (Basic, C, J, Java y Python) y concluye que: Aunque los dems lenguajes no deben ser descuidados, Python lleva menos tiempo, menos lneas de cdigo, y menos conceptos que aprender para alcanzar un determinado objetivo. Programar en Python es divertido, y eso genera inters y confianza en el alumno, lo que siempre es bueno para animarle a continuar con su formacin en otros lenguajes ms austeros. En la SOA consideran a Python como un autntico imprescindible para principiantes, sobre todo para los que ya estn un poco familiarizados con entornos Linux. Python est, adems, creciendo debido a su uso en sites tan populares como Pinterest o Instagram. Javascript: Para dar el salto a la programacin web A pesar de su nombre, Javascript no tiene mucha relacin con Java. Su puesta en marcha es relativamente sencilla ya que prcticamente est integrado ya en todos los navegadores.O'Reilly Media recomienda empezar con JavaScript porque es bastante flexible en sintaxis, puedes ver inmediatamente los resultados de lo que has hecho, y no es necesario aprender muchas herramientas. En su propia escuela nocturna O'Really utiliza JavaScript para ensear lo ms bsico como las variables o las funciones. Si quieres programar elementos interactivos para una pgina web, JavaScript es un imprescindible.