Esta es una buena pregunta para saber, a nivel laboral, qué aprender para conseguir trabajo. Sin embargo, yo veo otras cuestión que habría que hacerse antes de ésta. ¿A qué campo de la programación deseo dedicarme profesionalmente? ¿Cuál es la tendencia para dicho campo?
Voy a dar mi opinión basada en la experiencia y a mi olfato sobre éstas tres opciones que citas, pero antes vamos a ver dónde está el mercado y hacia donde va.
Desde hace más de 10 años la web ha vivido un crecimiento importante y desde el lanzamiento del primer iPhone se abrió un nuevo campo muy importante también que es el desarrollo de aplicaciones móviles.
Bien, pues resulta que a día de hoy las tecnologías web han avanzado muchísimo, no solo para el frontend de las aplicaciones web, también en el backend. Esto último es importante porque Ryan Dahl en 2009 creó un entorno de ejecución de JavaScript en el servidor (más concretamente, para ser ejecutado fuera de un entorno web), que tiene una naturaleza asíncrona, cosa importante para depende qué tareas. Esto es una revolución sin duda alguna que ha cambiado el interés de las empresas a la hora de ver JavaScript (para bien).
Voy a citar opiniones de la respuesta de Heriberto Torrado González con quien comparto opiniones y en otras discrepo un poco, con el objetivo de compartir opiniones y reforzar nuestros puntos en común y hacer una respuesta colaborativa.
Java es el “Cobol” de nuestros días
Esto es totalmente cierto y por ello hay que tenerlo muy en cuenta como lenguaje para aprender. Se usa para muchas áreas como el desarrollo de aplicaciones móviles para Android, servidores web, etc. La tendencia laboral de Java creo que se mantendrá estable o puede que decaiga pero lenta y paulatinamente por lo que tiene futuro. No es para nada negativo aprenderlo, pero ya te digo de antemano que hay mucha competencia y eso es una cosa a tener muy en cuenta. En mi Universidad se usa Java para casi todo, por lo que salen muchos ingenieros que saben manejar bien este lenguaje. Depende para quien esto es un problema. Sin embargo, suelen no estar mal pagados.
Escápate de JavaScript a no ser que seas un diseñador Web. JavaScript es un lenguaje con muchas carencias, francamente malo y con un ecosistema de Frameworks y Toolkits demencial.
Para nada de acuerdo. JavaScript está evolucionando muchísimo y seguirá haciéndolo. recomiendo mirar las estadísticas de este año en distintos rankings como los que elabora StackOverflow cada año.
JavaScript no está solo en la web, está en aplicaciones móviles usando tecnologías como React Native, NativeScript o Ionic, que no tienen el rendimiento de una aplicación nativa pero si que generan aplicaciones multiplataforma, lo cual es muy importante para empresas que están emergiendo y necesitan reducir costes y tiempo obteniendo productos de calidad. Empresas importantes que hagan uso de React Native como Facebook (empresa creadora) usan en producción esta tecnología. Puedes ver más en la web oficial de React Native.
Tecnologías como Webassembly van a hacer que JavaScript se utilice mucho menos en el futuro.
Puede comerse un porcentaje de uso de JavaScript pero eso no significa que se vaya a usar mucho menos.
Si vas a trabajar en web, tanto en backend como en frontend, y luego quieres pasarte al mundo de aplicaciones móviles reutilizando conocimiento, mi opinión es que aprendas JavaScript y alguno de sus frameworks como React, Express, etc. Son fáciles de aprender y tienen (y tendrán) una fuerte demanda y en crecimiento.
Vete a por Python. Es un lenguaje elegante, sencillo y divertido.
Python es muy versátil
Una vez que domines bien Python aprende lenguaje C. El C es la base de todos los lenguajes modernos y te permitirá escribir tus propias librerías para Python y además te hará comprender como funciona un ordenador por dentro.
Además añado que es mucho más fácil integrar C con Python para escribir librerías que en otros lenguajes como PHP.
En definitiva. Te recomiendo las tres y en especial JavaScript. Tienen un gran futuro para los próximos años y te recomiendo que elijas cualquiera de esos tres lenguajes. Si decides aprender todos ¡fantástico! más oportunidades laborales tendrás. Pero dominar la sintaxis de Java, JavaScript y Python es sencillo y lo veo muy sobrevalorado (saber la sintaxis de un lenguaje), pues puedes aprender todos los lenguajes que quieras pero si no sabes resolver problemas (que al final de esto es lo que se trata) correctamente y de forma elegante serás un programador más.
Termino con una analogía: puedes ser un escritor que sepa escribir en inglés, chino mandarín y español pero si no tienes creatividad y lógica, un buen vocabulario, técnicas de expresión y narración no vas a vender muchos libros, por mucha demanda que haya para esos idiomas.
Siro Díaz Palazón
Licenciatura Ingeniería informática
No hay comentarios:
Publicar un comentario