Bueno, supongo que Eric Raymond al rescate.
Cómo convertirse en un hacker
Su consejo es bastante sólido: aprende al menos uno de cada tipo de lenguaje y aprende a trabajar en diferentes tipos de sistemas. Eso realmente te hará mejor.
- ¿La "computación cuántica" amenaza el futuro de los ingenieros informáticos?
- ¿Cómo se seleccionan los desarrolladores de código abierto?
- ¿Es probable que un ingeniero eléctrico se convierta en senador de los Estados Unidos y cómo?
- ¿Cuál debería ser el mapa de ruta para un estudiante de B.Tech CSE durante los 4 años de licenciatura?
- ¿Podemos seleccionar los cursos de ingeniería eléctrica e informática a pesar de que tengo la admisión para la ingeniería eléctrica?
En el panorama actual, esos idiomas serían en mi humilde opinión:
do
Java / C # .NET
Rubí
JavaScript
Ceceo
Y agregaría algunos más:
Erlang (algunas personas podrían poner esto en la lista de 5)
Scala / Haskell: elegiría Haskell si tienes una opción antes de mudarte a Scala
C objetivo
D-lang
1. No intente aprender la abominación que es C ++ sin dominar C primero. La gran longitud y amplitud del lenguaje te abrumarán. Los desarrolladores de Badass como Linus Torvald se han registrado con su desprecio por C ++.
2. Los lenguajes de nivel superior pueden darle una eficiencia mucho mejor en la construcción de sistemas grandes, a costa del rendimiento; sin embargo, los compiladores modernos son generalmente muy buenos y escribir algo desde cero en C ahora no es muy viable. Todavía es necesario aprender programación de bajo nivel, porque de vez en cuando, hará ajustes de rendimiento y algunos componentes altamente tendrán que estar escritos en un lenguaje de bajo nivel. Pero eso es probablemente el 5% de toda la aplicación en un proyecto promedio.
3. No es necesario que aprenda esto en un día: lleva años convertirse en un buen programador, por lo que puede tomarse su tiempo con un idioma a la vez. Aprender el primer idioma lleva la mayor cantidad de tiempo, luego se vuelve más fácil a medida que mapea rápidamente conceptos antiguos y solo comprende algunos conceptos nuevos más una nueva sintaxis.
Recomendaría JavaScript como su primer idioma: es un lenguaje difícil de entender (aprenderá lo básico pronto pero tiene muchas peculiaridades); pero está en todas partes, y puede desarrollar todo tipo de aplicaciones con él, por lo que es mejor que lo aprenda primero.
Si decide aprender SOLO UN idioma, deje que sea JavaScript.
4. Nunca, nunca mire la popularidad de un idioma para decidir aprenderlo. Intente seguir a los desarrolladores fuertes, generalmente irán en contra de la tendencia y usarán lenguajes que no sean mainstream, que les den una ventaja en el proyecto que están en. Ese es el objetivo; Trate de utilizar las mejores herramientas para este fin en cada proyecto.
5. Los idiomas no son más que una cosa que debes aprender: habilidades para resolver problemas, usar de manera efectiva herramientas (control de fuente, compilación), comunicación, diseño y muchas otras cosas que se necesitan para hacer un buen desarrollador, y debes seguir prestando atención a ellos también.
EDITAR: realizó algunas ediciones anteriores, ya que prevaleció un mejor juicio.