¿Qué lenguajes de programación (o habilidades informáticas en general) son los mejores para aprender para el futuro inmediato a previsible?

Aprenda algo de lenguaje de programación que tiene una comunidad extendida y flexible:
JavaScript (no es un gran fan)
Ruby (gran fan)
Puede ser una buena opción para mí.

Luego vaya con algún marco web para aprender a crear productos MVP TÉCNICOS.
Web Frameworks:

  • Ruby on Rails Tutorial (3ª ed.),
  • Encuesta: ¿Qué marco de JavaScript usas (y por qué)?

WAIT HOLDON, antes de hacer algo de esto que mencioné:
Aprende un poco de lógica, pregunta por qué? más a menudo antes de construir.
La resolución de problemas y la capacidad de encontrar recursos son dos habilidades sólidas, no importa lo que hagas, esto te puede llevar a buenos resultados; ser una prostituta o un CEO de una compañía tecnológica de $ 1b.

¡Aprende a descomponer las tecnologías!

La ingeniería es una cosa, pero convertirse en bueno en ingeniería inversa es sweeeeeet! Me atrevo a decir que los mejores ingenieros son los que son realmente buenos en ingeniería inversa en otras cosas.

Aprende a lidiar con las tecnologías, ¡no seas ese niño que crece y sabe solo 5 idiomas y dice que lo tengo todo! Dejemos que pase a través de ti si una tecnología se está volviendo obsoleta, esto te ayudará a mantenerte en otro juego tal vez.

Aprende a llegar a los puntos mientras codificas y construyes, a diferencia de mí, respondiendo a esta pregunta, lo que podría ser una mala práctica.

Ah mejores prácticas! Es bueno saber que algunas de las mejores prácticas son similares a todos los lenguajes de programación, tales como:

  • Código limpio
  • Comentario
  • SECO (no te repitas)
  • Escribe un Pseudo código primero antes de comenzar.

Ah! ¡Supongo que esto te ayudará de alguna manera! O al menos alguien que hace es tan lejos para leer esta respuesta.

Gracias por A2A.

La respuesta que la mayoría de los desarrolladores probablemente darían a esta pregunta es su idioma favorito actual. Después de todo, están convencidos de que es la mejor ronda de idiomas y, por lo tanto, serán populares durante algún tiempo.

Puede ver lo que es popular en las juntas de empleo, sitios de contribución comunitaria, etc. Hay sitios que intentan dar clasificaciones para estos, como The Coding Standards Company, The RedMonk Programming Language Rankings: junio de 2014 y el índice de popularidad de programación de PYPL – pyDatalog . El hecho de que los diferentes sitios proporcionen imágenes bastante diferentes muestra que están midiendo diferentes secciones / vistas de la comunidad de programación, se están enfocando de manera desproporcionada en áreas específicas o simplemente malinterpretando los datos. Creo que puedes usarlos para obtener una imagen amplia, pero esto solo te dirá lo que es popular ahora, no en el futuro.

El objetivo de todo esto es demostrar que las predicciones específicas (idiomas, etc.) generalmente serán incorrectas a menos que tengan suerte. Después de todo, no podemos ponernos de acuerdo sobre qué es lo más popular ahora, y mucho menos en el futuro. Así que trataré de responder en términos más generales.


Lenguajes funcionales : hay una buena cantidad de rumores en torno a los idiomas funcionales (como Scala, Scheme, Haskell y Erlang). Muchos de los programadores que lo han intentado les dan su gran entusiasmo. Esto es suficiente para concluir que se utilizarán al menos en un grado razonable cuando el programador tenga cierta autonomía con respecto a su conjunto de herramientas, por ejemplo, en proyectos de código abierto y una pequeña proporción de empresas.

La principal ventaja que veo desde una perspectiva empresarial es la capacidad mejorada para construir software robusto debido a la naturaleza matemáticamente demostrable de la programación funcional. También puede haber algún beneficio de eficiencia si está contratando a ingenieros de élite.

En el lado negativo, la mayoría de las compañías no contratan ingenieros de élite (por definición, la mayoría de los ingenieros son bastante promedio) y los lenguajes funcionales no son conocidos por ser fáciles de aprender. La realidad es que puede haber una pérdida de eficiencia para el programador promedio y un grupo limitado de talentos experimentados para extraer de quién puede mandar salarios bastante altos.

En base a esto, asumo que los lenguajes funcionales experimentarán un cierto crecimiento donde los ingenieros que los favorecen tienen algo que decir y donde la robustez es crítica (y los tomadores de decisiones tienen el sentido de mirar la investigación o tomar un buen consejo). Vladislav Zorov también hace un buen punto sobre la paralelización. Sin embargo, como tantas empresas solo quieren que los trabajadores se pongan al día lo más rápido posible para dar la vuelta a sus productos “lo suficientemente buenos” a un costo tan bajo como sea posible, creo que es probable que se mantengan relativamente nicho (pero se sorprenderían gratamente si Me equivoqué sobre esto) .


Lo que sugeriría es tratar de estar familiarizado con una variedad de idiomas diferentes que sean buenos para diferentes tareas / enfoques. Java y C # son muy utilizados en este momento para aplicaciones empresariales. No son muy interesantes, pero podría argumentar que representan una buena compensación entre el rendimiento en tiempo de ejecución y la eficiencia del desarrollador. Muchas compañías continúan escogiéndolos porque son opciones seguras y probadas, y no veo que eso cambie en el futuro. Java tiene la ventaja sobre C # en ser multiplataforma, pero esto es un problema menor si está entregando aplicaciones a través de la web. Creo que el IDE de Visual Studio (para C #) está un poco más pulido que cualquier otro que haya probado para Java, por lo que puede ser una buena opción si está apuntando a la plataforma Windows o si está entregando la aplicación a través de la web y no le importa. ejecutandolo en servidores de Windows.

Es probable que C / C ++ esté disponible por un tiempo para aplicaciones de rendimiento crítico (aunque usted ve intentos en esto en idiomas de nivel superior). Otros idiomas que intentan alcanzar el mismo nivel de rendimiento, como GO, no parecen haber logrado mucha tracción todavía (quién sabe si lo harán).

Python, Ruby y otros lenguajes de scripting son excelentes para la productividad del desarrollador y tienden a ser más populares entre sus usuarios. Las aplicaciones pueden ser menos robustas en algunos casos debido a que se escriben e interpretan dinámicamente (menos errores detectados en el momento de la compilación) y obviamente hay un impacto en el rendimiento de la ejecución de un intérprete. Sin embargo, esto no es suficiente para ser un gran problema en muchas aplicaciones. Incluso en aplicaciones críticas para el rendimiento, todavía se pueden utilizar para crear prototipos o secuencias de comandos.

Si puede aprender uno de cada uno de estos tres grupos (o quizás solo un lenguaje de scripting dinámico y uno compilado de forma estática) y ver la programación funcional si tiene una inclinación matemática, creo que estará preparado para el corto. a medio plazo.


Para ser honesto, los aspectos más importantes son bastante atemporales e independientes del lenguaje:

  • Elegancia: si es complejo de seguir, entonces no has hecho lo suficiente para abstraer la complejidad (es decir, no deberías tener que leer cada línea para descubrir qué está haciendo);
  • Sencillez: no reinvente la rueda, si existen buenas bibliotecas, úselas;
  • Transferibilidad: documente sus principios de diseño / estructura general y utilice comentarios cuando sea necesario;
  • Rendimiento: en cualquier lugar en el que se encuentre utilizando bucles, calcule una aproximación de la cantidad de veces que ingresará al código (en relación con el tamaño de las entradas relevantes) y pregúntese si puede hacerlo mejor. Si encuentra que está golpeando algún código> = n² veces (para alguna entrada n), entonces probablemente podría y debería hacerlo mejor (por ejemplo, n * log (n)). Esto supondrá una diferencia mucho mayor para el rendimiento que la elección del idioma.

Muchos idiomas que funcionan hoy funcionarán en el futuro, e incluso los nuevos se basarán principalmente en paradigmas existentes, pero creo que la respuesta más específica que puedo dar es: programación funcional. La razón está en el hardware: un escritorio recientemente comprado que necesitaba para instalar tenía 12 núcleos lógicos de CPU (6 físicos, hipervínculos). Si alguna vez ha tenido que paralizar algo además de tareas embarazosamente embarazosas, este desarrollo debería asustarlo, incluso encontrar qué partes de un programa pueden ejecutarse en paralelo es difícil, y coordinar el acceso a los datos es casi imposible (dada la opción de una serialización efectiva). su código o riesgo de exponer estado inconsistente). Compara y contrasta: 7.18. Haskell concurrente y paralelo like Es como trabajar con una base de datos SQL (transacciones, reversiones y reintentos, etc.), pero para variables normales y con más control sobre la estrategia de ejecución.

He respondido una pregunta similar aquí: la respuesta de Yassine Alouini a ¿Cuáles son los mejores lenguajes de programación para aprender en los próximos 5 años (2016-2020)?

En resumen, podría ser JavaScript: front-end, servidor, internet de las cosas, híbrido-móvil …

Sin embargo, esto depende de su área de interés.

Si te gusta analizar los datos y el aprendizaje automático , podría ser Python y / o R.

Por último, si desea trabajar con big data , entonces podría ser Spark .

Espero que esto ayude

Si eres bueno en eso, el lenguaje es un tanto irrelevante. Estás diseñando una máquina blanda para resolver un problema. Tal vez consiga un libro clásico como Design Patterns de Gamma et al, y descubra cómo algún día lo entenderemos. Recomendaría un lenguaje orientado a objetos fuertemente tipado con un paso de compilación para su aprendizaje principal. C ++ es demasiado complicado. Java está bien, aunque fuera de moda. Puede ir más rápido con JavaScript descuidado, pero nunca entenderá claramente variables, tipos, espacios de nombre, alcance, extensión, estática vs dinámica, sobrecarga, subclases, tiempo de compilación y tiempo de ejecución, etc. Y esos conceptos de lenguaje son lo que le permitirá eventualmente usas cualquier lenguaje que sea mejor para el trabajo.

La programación moderna tiene más que ver con la familiaridad con una gran variedad de API, y conectarlos para resolver un problema, que con la implementación de algoritmos con losas de código de procedimiento. Comenzaría con algo que parece libre de códigos, como MAX / MSP, y algo realmente simple, diseñado para enseñar a los niños a programar. Después de un par de semanas, estará listo para hacer su propia elección para estudios posteriores.

La respuesta frustrante es que depende de lo que quieras hacer. El conjunto de idiomas y tecnologías que debe aprender a escribir páginas web no es el mismo que debe ver si desea escribir aplicaciones de iPhone.

Así que piensa en lo que quieres. ¿Solo quieres aprender a escribir algo? ¿Cualquier cosa? Realmente cualquier idioma lo hará entonces. Encuentra algunos tutoriales en línea y moja tus pies.

Pero si desea escribir algo más específico, es posible que desee hacer una pregunta más específica, como “¿Cuál sería un buen lenguaje para aprender si quiero escribir aplicaciones para iPhone / aplicaciones con muchos datos / páginas web / juegos / cualquiera que sea su ¿cosa es?

¿O ya sabe cómo programar y está pensando en aprender otro idioma para llenar los vacíos en su conocimiento con el fin de saber las cosas?

Luego considere un tipo de lenguaje diferente, o algo que enseñe algo diferente que todavía no sepa. La programación orientada a objetos es una de esas cosas. Otra es la programación funcional. O profundizar con los datos y ser bueno con SQL o R.

Pero si está preguntando qué debe hacer para que sea más fácil encontrar un trabajo, esa es una pregunta diferente. Probablemente, comenzaría con el índice TIOBE (The Coding Standards Company, The Coding Standards Company) para tener una idea de qué idiomas son populares, luego buscar en algunos de los sitios de trabajo para trabajos de desarrollador en un idioma específico de sus 10 principales o más, y apunta a una ciudad solo para tener una idea de cuántos empleos hay disponibles.

O tal vez se esté preguntando si existe una diferencia en lo que pagan los diferentes idiomas. Puede realizar una búsqueda en diferentes sitios para obtener rangos de pago para trabajos de desarrollador con diferentes idiomas. Tenga en cuenta que los tipos de trabajo mejor pagados allí pueden ser más difíciles de encontrar. Es parcialmente oferta y demanda en acción.

Buena suerte.

Tengo que decir que en realidad no importa. Si el idioma funciona para su tarea, entonces funciona. Si se usa una lata de sopa para clavar un clavo, es un martillo. No puedo predecir de manera confiable las nuevas características del lenguaje de programación, pero puedo decirles que las habilidades aprendidas ahora se aplicarán en ese momento.

Probablemente debería saber C / C ++, ya que seguirá siendo relevante durante mucho tiempo. Los idiomas administrados también son buenos. Prefiero C #. Además, debes aprender algo de programación funcional. Haskel o F # (o ambos) son una buena idea. Para redondearlo todo tal vez Python, porque es bastante popular en algunas áreas.

Son las habilidades lo que importa. La forma de pensar y resolver problemas. Si está familiarizado con al menos un idioma OO, aprender otro no es gran cosa.

programacion c Es la madre de todos los demás idiomas.