Esta es la eterna pregunta de todo novato y cuando es dicha en foros públicos por lo general es seguida por un largo debate entre "fundamentalistas" que parecen estar hablando más de religión que de una herramienta tecnológica. Desde que las computadoras comenzaron a llegar a las aulas universitarias se han probado diferente paradigmas de programación y con ellos diferentes implementaciones de dichos paradigmas en la forma de lenguajes de programación concretos. Aún recuerdo BASIC, el leguaje que cualquiera que pasó por la revolución de las microcomputadoras a finales de los setenta y principios de los ochenta encontró como su única herramienta de desarrollo disponible, claro que BASIC era un "avance" comparado con programación en lenguaje de máquina o lenguaje ensamblador.
Pero la Ley de Moore ha producido en nuestros dias computadoras varios ordenes de magnitud más poderosas, capaces de ejecutar sistemas operativos y lenguajes de programación que estaban reservados en aquellos lejanos días de principios de los ochenta para aquellas empresas que dispusieran de varios millones de dólares. Ahora existen múltiples opciones para elegir como primer lenguaje de programación y todas ellas son gratuitas. Es decir estamos en el mundo de la abundancia y como resultado cada quien tiene su propia visión de cuál debe ser el primer lenguaje de programación. He escuchado opiniones que van desde lenguajes como Python, Java o JavaScript hasta lenguejes gráficos como Squeak.
En lo personal creo que el primer lengueje de programación que debe ser aprendido es uno de propósito general y que además posea una gran comunidad de usuarios que le den soporte y lo extiendan. Bajo esa optica opciones como Python, Perl o Java son sólidas, pero la falta de un IDE (Entorno de desarrollo) visual ligero han hecho la barrera de entrada bastante alta para los usuarios que están acostumbrados a los entornos gráficos (realmente en nuestros días muy pocas personas recuerdan que hay algo llamado linea de comando).
El problema del IDE visual y ligero para un principiante ha tratado de ser resuelto por dos proyectos uno es Open Source Processing (que usa por defecto Java) y el otro es propietario Microsoft Small Basic. El principal problema con Small Basic es que el IDE y el lenguaje de programación están fusionados y no se puede elegir otro lenguaje de programación además del hecho de que Small Basic sólo puede ser ejecutado en entornos Windows.
Por otro lado Processing es bastante flexible, el proyecto permite cambiar el lenguaje de programación a otro que nos guste más como Python o JavaScript. Sin embargo yo recomendaría quedarnos con Java (el lenguaje por defecto) y aprender Java con Processing como primer lenguaje. Las razones de aprender Java son múltiples pero la más importante de todas es que el código que generemos como programa puede ser ejecutado en una gran variedad de sistemas operativos. Es decir nuestro programa en Java producido por Processing en Linux, puede ser ejecutado también en OS X (el sistema operativo de las Mac) o en Windows. Además Java es el lenguaje de programación elegido por Google para el desarrollo de aplicaciones para su sistema operativo de móviles Android.
Espero que este post les haya sido de utilidad y quedo a la espera de sus comentarios.