Bueno, depende (siempre me da miedo).
Empecé a aprender a programar computadoras usando Java. Realmente no tenía otra opción, pero no me arrepiento … fue lo mejor en ese momento, proporcionando la información necesaria para comprender lo que estaba sucediendo dentro de la computadora, pero sin complicarse demasiado con los detalles que la mayoría de los programadores no tienen. Necesito preocuparme por estos días.
Luego pasé a la programación en C porque, bueno porque lo necesitaba para mi trabajo, pero también porque estaba interesado en aprender esos pequeños detalles sobre cómo funcionan las cosas dentro de la CPU y C te da todo eso … a veces te da mucho más de lo que se inscribió, pero generalmente es divertido (hace que la productividad sea increíblemente baja en estos días, ¡pero no puedo negar que fue muy divertido!)
- ¿Qué peso tiene una pasantía de verano en NITK Surathkal?
- ¿Cómo debo comenzar a prepararme para pasantías de ingeniería?
- ¿Cuál es el proceso de entrevista de Infosys InStep Internship para alguien que conoce las estructuras de datos?
- ¿Cuáles son las tecnologías que debo repasar antes de mi pasantía de Microsoft IDC en el verano de 2015?
- ¿Es una pasantía de verano en IIT Delhi después del segundo año en Ciencias de la Computación tan buena como una pasantía de verano en IIT B?
Hoy las cosas son diferentes. En primer lugar, hay muchas alternativas, incluso para servicios de backend donde Java ha gobernado durante décadas. Los microservicios en contenedores solo han mejorado las cosas en este frente porque ahora puede usar casi cualquier idioma y pila que desee, incluso en un entorno 100% java siempre que proporcione una interfaz coherente para trabajar.
Hay lenguajes increíblemente poderosos: javascript (realmente necesita elegir un marco para este), elixir, el muy prometedor GOlang y muchos otros, algunos que se ejecutan en la misma máquina virtual que java (Groovy, scala) para nombrar unos pocos.
Java es detallado, lamentablemente, y estoy aún más triste por decir que ya no es el líder en la función de lenguaje. Cosas como programación funcional, REPL, soporte de cgroups, modularización y muchas otras características se han agregado recientemente a Java, mientras que otros lenguajes nacieron con él.
Entonces realmente depende de tu objetivo. Te voy a dar mi lista muy personal de qué idioma elegiría:
- si quieres ser un ingeniero de Big Data probablemente deberías aprender scala
- si quieres ser un desarrollador front-end, lo más probable es que aprendas javascript (antes de que los demás me coman vivo, diré que hay otras opciones, ¡solo enumero lo que haría!)
- si desea conocer los entresijos de cómo funcionan las computadoras, o ser un desarrollador de software integrado, debe aprender C
- si quieres ser desarrollador de juegos deberías aprender C ++
- si desea crear herramientas de desarrollador y aplicaciones críticas pero modernas para el rendimiento, puede aprender GOlang
- Si desea ser un desarrollador de aplicaciones de escritorio / teléfono de Windows o un desarrollador de .NET, debe aprender C #
- Si quieres ser un desarrollador de MacOS o iOS, debes aprender rápido u objetivo-c
- finalmente para servicios de back-end y aplicaciones de Android Java sigue siendo el lenguaje más utilizado
Al final, como desarrollador de software, aprenderá el idioma que necesite para realizar el trabajo. Así que no te apegues demasiado a un idioma, ¡te meterá en problemas cuando hables con otros desarrolladores!