Pensado a futuro… ¿Qué lenguaje debo elegir?

Hola, soy un desarrollador entusiasta de tecnologías tanto mobile como web, no me considero experto, pero creo haber recopilado algo de experiencia.

Mis primero pasos en programación fueron en la vocacional (nivel Medio Superior) y fueron sobre C, pasando después a C++ a un nivel en el que no entendía el cambio o daba por hecho que eran realmente lo mismo; Los proyectos constaban en programas que manejaran Arreglos, algunos ejercicios de manejo de Loops, un poco de Estructuras, alguna mención a lo que eran las clases, etc…

Tiempo después, en al universidad, tuve mis primeros acercamientos a Java, era toda una novedad para mi! Era ‘moderno’, era ‘multiplataforma’, manejaba ventanas, tendría la posibilidad de hacer applets (no imaginaba que se pudieran hacer servlets, si no, me hubiera sorprendido más). En fin, quería aprenderlo, pues en ese entonces me parecía ‘la onda’!

Para mi, Java tenía una única, pero enorme desventaja… Era muy pesado para mi PC con procesador Celeron y 128 MB de RAM. Ni pensar en instalar NetBeans o Eclipse, hubiera tardado horas en abrir!!, por lo que mis primero programas fueron hechos en Block de Notas y compilados desde la consola. No eran muy efectivos, yo no sabía utilizar bien el lenguaje y todo se me complicaba demasiado. Aún así logré realizar un ‘compilador’ que además de hacer los análisis necesarios sobre un archivo de texto movía un pequeño carro utilizando el puerto paralelo de la PC. Pero aún así, tenia que buscar otra alternativa, pero cual!?

No recuerdo cuando, ni como, pero conocí PHP. Empecé a estudiarlo, tardé un poco en darme cuenta que necesitaba un servidor, busqué tutoriales, los leí una y otra vez. Al mismo tiempo, en la escuela aprendía SQL (MySQL) en la mañana y lo repasaba por la noche junto con mi nuevo lenguaje aprendido! Empezaba a convertirme en un desarrollador web y eso me emocionaba bastante!!!

Logré desarrollar una paleta de colores en RGB (porcentajes y hexadecimal), una página para mi novia, varios proyectos de a escuela (Entre ellos una aplicación que utilizaba un ejecutable generado en Prolog), etc.

Tiempo después entré a mi primer trabajo, no era como desarrollador, yo no me tenía aun esa confianza, era como Soporte Técnico, y estaba bien para ser de medio tiempo, aun seguía en la universidad.

Se presentó una oportunidad de hacer un sistema de Control de Tickets, acepté, dispuesto a hacer méritos dentro de mi trabajo. Seguí trabajando con PHP y demás tecnologías web (HTML, CSS) y en especial con JavaScript, que me pareció similar tanto a mi querido C/C++ como al (para mí) fascinante PHP. Ahora conocía SQL SERVER.

El ‘sistemita’ funcionaba tal como yo quería, generaba reportes, gráficos dentro de un archivo PDF, etc. Ese ego que un desarrollador siente al realizar un proyecto estaba creciendo más dentro de mi.

Luego, me ofrecieron cambiar de área, pasar a ser un desarrollador, cosa que yo realmente quería. Se requería desarrollar una app para la tableta Playbook de Blackberry, que para mi suerte aceptaba HTML5 (yo entendía HTML, ‘que podría haber de distinto?’, me decía a mi mismo)… resultó que el Framework no era tan poderoso como esperaba, pues nunca consideré que estaba limitado a correr sobre el navegador.

Me vi en la necesidad de aprender Flex, empecé a buscar tutoriales y demás, pero no entendía nada. Solicité a la empresa un curso, me lo concedieron y ahí reforcé lo poro que ya conocía de AIR. Mi idea sobre Flash cambió drásticamente! me gustó el Framework, la versatilidad entre mobile, web y desktop, la manera de usar los recursos, etc. Fue un gran paso para mi! Pero algo me inquietaba… Las múltiples noticias sobre la desaparición de Flash, sobre caída de Adobe, etc…

Había tenido malas experiencias con la ‘potencia’ de HTML5, un lenguaje que me gustaba iba a desaparecer pronto (Flex), me hice a la idea de que no prescindo de Java, no es esencial en mi vida… entonces… y ahora, ¿Qué sigue?

En uno de los pasillos del BB10JAM, en la Ciudad de México, encontré a un grupo de desarrolladores que discutían sobre si Java era bueno o no… No pude evitar colarme a la plática. Conversando, expuse mis dudas sobre que era lo que debía aprender, que era obsoleto y que era necesario?
En resumen esto fue lo que aprendí:

  • Java te funde el cerebro. (De cierta forma, estoy de acuerdo xD)
  • HTML5 está de moda, si, pero, piensa a futuro, es una tecnología que seguirá por un buen rato en cuanto a mobile development nos referimos.
  • Flash va a morir, si… pero HTML, X-Code y los demás lenguajes también lo harán!! Pero no hoy, ni mañana! No te claves pensando que debes olvidar lo que sabes de ActionScript 3 (Si, tres…). Aprovecha al máximo todo lo que sabes, desarrolla apps multiplataforma y utiliza los recursos que AIR tiene para ti!
  • C/C++ es un gran lenguaje, es robusto, es bueno, aprendelo bien.

Y admito que esto, además de ser lo más útil que aprendí en el BB10JAM, fue tranquilizante para mi.

Espero mi experiencia pueda servirle a alguien, agradezco su opinión.

Saludos!