¿Todavía tiene sentido convertirse en un desarrollador de Java, o debería migrar a PHP o .NET?

Parece que necesitas expandir tus horizontes un poco más. Los mejores programadores que conozco en estos días no funcionan únicamente en Java, PHP o .NET; pueden usar uno de esos lenguajes, pero también se quedarán atrapados en lenguajes dinámicos como Python, Ruby, JavaScript o Scala.

Si echa un vistazo a los lenguajes más populares para proyectos en GitHub, verá que JavaScript y Ruby están a la cabeza, con Python codo a codo con Java y PHP en sexto lugar: Idiomas principales · GitHub

Aquí hay un consejo general de carrera: trate de evitar pensar en usted mismo como un “programador de Language X”. Aprender nuevos lenguajes es una excelente manera de mejorar tu habilidad como programador: aprender Python también tendrá un gran efecto sobre cómo programar en C # o Java, por ejemplo. Los mejores programadores pueden aprender casi cualquier idioma en un par de semanas.

También vale la pena centrarse en adquirir habilidades relacionadas: SQL, HTML, administración de Unix, seguridad web, programación de red y control de versiones, por ejemplo. Todas estas son habilidades que mejorarán enormemente su carrera y lo ayudarán a conseguir los trabajos de desarrollo más interesantes.

Es poco probable que la falla de seguridad que mencionó tenga un impacto importante en el futuro del lenguaje en un sentido significativo.

Sin embargo, le aconsejaría que sea un poco más cuidadoso y tenga una idea razonable de qué tipo de programación le gusta y, por lo tanto, intente elegir prácticas que sean consistentes con el tipo de software con el que le gustaría trabajar (ya sea en términos de idiomas o en términos de la naturaleza del trabajo, por ejemplo, web, redes, procesamiento de datos, etc.).

Y sí, amablemente avanza desde

He estado leyendo Java por mucho tiempo

donde trabajó con algunos lenguajes de programación, escribió bastantes programas y formó algunas opiniones propias.

Incluso en el escenario hipotético de que todos abandonaron mañana el desarrollo de Java, la pura inercia del código heredado debería ser suficiente para mantener a los buenos desarrolladores de Java empleados durante décadas. Es mucho más riesgoso identificar qué tipo de desarrollador eres con un idioma. Creo que todavía tiene sentido convertirse en un desarrollador de Java, pero que puede no ser necesario jurar lealtad a una cadena de herramientas: puede aprender PHP, .NET y otros sin olvidar cómo escribir Java.

Los mejores programadores actuales son los políglotas (usan múltiples idiomas según el problema y las bibliotecas disponibles). Debes aprender a programar, no un idioma … Como una respuesta anterior decía “Usa las herramientas, no seas uno”.
Un buen programador no debería tener problemas para cambiar un idioma en cualquier momento. Claro, siempre hay una curva de aprendizaje (principalmente para conocer las herramientas y bibliotecas del nuevo lenguaje), en algunos casos más pronunciada (viene a pasar de funcional a OO), pero eventualmente (generalmente bastante rápido) puede Comienza a trabajar con el nuevo.

A veces, un proyecto se beneficiaría del uso de varios idiomas (para diferentes problemas) en combinación (Javascript para front-end, Java para back-end, SQL para base de datos, python para implementación, lo que sea).

Simplemente infórmese para comprender las estructuras de datos, los algoritmos y los problemas de comprensión: una vez que conoce las cosas importantes, el lenguaje de programación específico se convierte en una herramienta más en su caja de herramientas (una de muchas).

Java tiene, probablemente, el ecosistema más fuerte para la implementación de sistemas serios del lado del servidor. La JVM tiene un rendimiento incomparable combinado con monitoreo y administración.

Los problemas de seguridad que menciona se explotan en el lado del cliente, en el navegador. No se usa comúnmente allí.

El desafío con Java es la falta de características del lenguaje. Si no es Java, pero su ecosistema tiene, probablemente, el mejor futuro. Recomendaría permanecer con Java y mirar Scala (lenguaje de programación). Scala tiene una gran combinación de lenguaje funcional y orientado a objetos. Scala utiliza la JVM, por lo que puede utilizar todas las bibliotecas de Java. Además, Scala tiene un gran ecosistema en sí mismo.

Mira tu área, ¿dónde trabajarás? pregunte, hable con personas de compañías en las que cree que quiera trabajar, ¿cuál es el idioma que usan la mayoría de ellas?

¿Estás dispuesto a mudarte al trabajo? luego expande tus horizontes, mira la próxima ciudad más grande, tu estado, tu país, ¿cuáles son los idiomas más utilizados allí?

¿Cuáles son las que más te gustan?

tenga en cuenta todas esas cosas y concéntrese en la persona con la que cree que va a trabajar, pero NO se limite a eso, realmente creo que debería estudiar JAVA, .NET, PHP, Ruby, Python, Scala, haskel … ¡HECK aprende fortran! al final no se trata del lenguaje, se trata del programador …

Digo esto porque he trabajado con los tres idiomas que mencionaste y otros en diferentes grados, prefiero .NET y C # sobre los tres y durante algunos años me gané una vida digna de .NET, hoy uso PHP en mi día trabajo, y lo elegí porque Sorprendentemente en mi área un Desarrollador PHP Senior gana más que un Desarrollador .NET y un Desarrollador Senior Delphi gana más que un Desarrollador Java (Delphi está en todas partes aquí) y prefiero morder mis dedos de los pies luego tengo que programar Delphi nuevamente, así que elegí el mejor para mí, el camino intermedio, me encanta el desarrollo web en su conjunto sin importar el idioma …

Así que al final es un equilibrio de lo que te gusta, lo que quieres y lo que está disponible para ti …

Aquí está mi opinión sobre esto.

1. Java es la opción principal para todas las plataformas / productos emergentes
P.ej. Plataforma en la nube, Android de Google, Hadoop / Big-Data, Google App Engine
etc.

2. Excepto en el mundo de Microsoft, el resto del software empresarial se basa principalmente en
Java.

Entonces, entre Java y .NET, sugiero ir con Java.

Llegando a Java versus PHP …

PHP se usa solo en aplicaciones web. No necesariamente para desarrollar una lógica compleja de back-end. P.ej. Procesamiento de reclamaciones de seguros o gestión de contenido o gestión de la cadena de suministro. Where is Java se usa tanto en backend como en el desarrollo de aplicaciones web.

Los entornos PHP tienden a ser nuevas empresas basadas en código abierto de rápido movimiento que proporcionan portales

Los entornos Java tienden a ser grandes corporaciones orientadas a procesos.

Por lo tanto, debe elegir no solo según las perspectivas futuras, sino también según lo que se adapte a su estilo / cultura.

En algún momento pasamos por alto la importancia de elegir un trabajo basado en la cultura de la empresa … Eso es lo que finalmente te hace un empleado feliz o no.

Si te gusta el código abierto, el entorno de inicio de rápido movimiento usa PHP / Rails / Python …

Si te gusta un trabajo estable en una gran empresa, ve con Java …
(También hay muchas startups que usan Java … Pero solo estoy generalizando en función del uso mayoritario)

Buena suerte…

La vulnerabilidad de la que estás hablando es solo un pequeño agujero y eso también solo en el lado del cliente, que supongo que se llenaría pronto, así que no te preocupes por eso.

Y en lo que respecta al aprendizaje de una nueva tecnología, se recomienda aprender un idioma o una tecnología cada año una vez que se haya graduado / 2-3 años de experiencia laboral o en la cima de su carrera. Entonces, ¿por qué no aprender Python, es rápido, de código abierto, el lenguaje de Google con una gran cantidad de baterías incluidas que encuentran su uso en el desarrollo web, secuencias de comandos y varios otros campos. Python también tiene una gran demanda en la emergente tecnología de computación en la nube.

Usa las herramientas, no seas uno.

Si Java es el lenguaje adecuado para el trabajo, úselo, apréndalo bien y construya grandes cosas con él. Si, por ejemplo, está escribiendo una aplicación de Android, PHP o .NET no son opciones.

More Interesting

¿Cuáles son las materias de ingeniería para un estudiante de 1er año de ciencias de la computación?

¿Cuáles son los diferentes dominios que tenemos disponibles después de obtener una informática B.Tech?

¿Qué tipo de programa debería ser capaz de crear si quiero un trabajo como programador?

¿Cuáles son los cursos más importantes que debe aprender un estudiante de informática?

Estoy planeando una Maestría en CS en Alemania para la primavera de 2015. ¿Cuáles son algunas buenas universidades con fuertes vínculos con la industria y buenas perspectivas laborales?

Soy estudiante de informática con un buen historial académico en Pakistán. ¿Cómo puedo obtener un mentor de una universidad extranjera de gran reputación para mi proyecto de último año?

¿Es malo que odie tanto trabajar con el código de algunos de mis compañeros de trabajo que quiero renunciar?

No soy bueno en programación competitiva, pero estoy bien en Álgebra, Matemáticas y Algoritmos. ¿Cómo debo hacer una carrera exitosa en informática en la India?

¿Hay alguien aquí con un título en informática y todavía no puede codificar algoritmos simples?

¿Puede alguien que era muy malo en matemáticas y ciencias en la escuela llegar a ser muy bueno en la programación web?

¿Cuál prefieres: P3 o P6? ¿Cuál es más fácil de usar?

Si me especializo en Informática, ¿sería una mala idea hacer OTS de la Fuerza Aérea?

¿Qué calificaciones se necesitan para ser considerados y eventualmente contratados para un papel de mediana a alta en inteligencia artificial?

¿Se paga bien a un estudiante graduado después de que él / ella hace una maestría en redes?

¿Cómo puede un estudiante de último año de ciencias de la computación e ingeniería en la India solicitar puestos de trabajo con pequeñas empresas nuevas de Silicon Valley?