¿Cuál es el mejor lenguaje de programación para aprender ahora como ingeniero informático / informático en términos de oportunidades?

Paradigmas de programación: programación imperativa, orientada a objetos y funcional. Intenta aprender un idioma para cada categoría. Ejemplo: C (procesal), Java (orientado a objetos) y Haskell (funcional). Si conoce todos los estilos, programará mucho mejor, especialmente cuando utilice lenguajes de paradigmas múltiples, como Python, C ++ o Scala. Los complementos son Assembler, Prolog y Forth.

C ++ y Java son los dos ejemplos más populares de lenguajes orientados a objetos. Estos lenguajes son los más versátiles y Python se está estableciendo como otra gran oferta en esta dirección, con algunas características intuitivas que los demás se perdieron y se han desarrollado demasiado lejos para trabajar de manera eficiente.

Java también es notable por ejecutarse en una máquina virtual. Esto significa que su código Java puede ejecutarse en cualquier máquina que tenga una versión de JVM, que es una característica útil pero hace que el lenguaje sea más lento. La mayoría de las personas no lo notarán porque es lo suficientemente rápido para la mayoría de los propósitos

C no está orientado a objetos, pero es quizás el lenguaje de ‘alto nivel’ más rápido que existe muy cerca del hardware con una mínima abstracción. Otros lenguajes de nivel superior (más abstracciones del hardware) tienden a construirse sobre C.

Yendo más abajo que C hay un código de ensamblaje. Esto es lo más cerca que está del hardware antes de escribir directamente en binario. La programación de ensamblaje es lenta y laboriosa, pero le proporciona el código más rápido. La mayoría de las personas están satisfechas con el código de ensamblaje que genera su compilador o contratan a un programador con experiencia en ensamblaje solo por las pequeñas cantidades de código que deben ejecutarse un poco más rápido o de lo contrario se vuelven poco prácticas.

¿El ensamblaje no es lo suficientemente rápido para ti? Bueno, podría aprender hardware y / o trabajar con un lenguaje de descripción de hardware como VHDL. Estos lenguajes son útiles para generar hardware diseñado para realizar solo una tarea (o algunas) realmente bien y producir los planes para el hardware que se destina a la electrónica especializada.

La programación web es bastante popular, pero no es un interés particular mío, no soy el mejor para contarte sobre sus ofertas.
HTML no es un lenguaje real, pero puede ser útil conocer los conceptos básicos. CSS está ganando popularidad pero todavía no es algo universal y el campo aún no se ha resuelto; También existe realmente para describir cómo se deben diseñar las páginas. PHP es un lenguaje de programación web mucho más general, pero creo que JavaScript se considera el mejor y más simple lugar para comenzar si solo estás probando algo. La programación web se divide en áreas de interés del lado del cliente y del servidor, siendo el lado más profundo y técnico el servidor que tiene como objetivo mantener las cosas lo más simples posible para el cliente mientras hace el menor trabajo posible para que pueda servir a muchos usuarios rápidamente.

La programación lógica es otra área especializada que probablemente tenga su mayor enfoque en este momento en inteligencia artificial, aunque también analiza temas como la demostración de teoremas de sistemas de agentes múltiples, etc. Es una dirección natural si ha estudiado lógica y ha descubierto que ser su mayor interés, pero se usa principalmente en círculos académicos. Prolog es un lenguaje divertido y simple para jugar, pero descubrirá rápidamente sus limitaciones para la programación general. Sin embargo, su capacidad de retroceso, funciones flexibles y la capacidad de reescribirse en tiempo de ejecución hacen que sea bastante divertido de usar y una excelente opción para cualquier tipo de problema compatible.

Si la inteligencia artificial es un interés, es más probable que desee ver el aprendizaje automático y uno de los lenguajes generales más poderosos que se discutieron anteriormente. También es posible que necesite desarrollar aún más sus matemáticas para familiarizarse con muchos de sus algoritmos.

MATLAB es un lenguaje extremadamente poderoso (aunque un poco lento) para cualquier cosa que requiera matrices (o vectores o tablas multidimensionales, etc.). Esto lo hace bueno para visión artificial, redes neuronales, estadísticas, análisis de big data, etc. Los gráficos también tienden a estar basados ​​en matrices, pero este lenguaje es probablemente demasiado lento para eso.

Si el análisis de datos o los gráficos son de interés, considere mirar R; Es un lenguaje divertido, simple y poderoso que prácticamente adora a todos los que lo usan.

La programación funcional se refiere a problemas que abarcan un conjunto de varias entradas alfanuméricas y producen una salida. Si sus problemas de interés coinciden con esta clase, le espera una sorpresa, ya que estos idiomas son algunos de los más simples, intuitivos y divertidos para trabajar. Haskell es un brillante ejemplo. En términos de capacidad de contratación, a los programadores funcionales les va bien en la banca y sospecho que hay buenas oportunidades en consultoría.

@ ¿Cuál es la hoja de ruta para aprender lenguajes de programación para un estudiante de primer año de ciencias de la computación e ingeniería?

Sin duda, JavaScript es la mayor oportunidad y aplicación de cualquier idioma, pero depende de su entorno y aplicación deseados.

  • Si desea escribir firmware, es mejor que aprenda C.
  • Si desea escribir aplicaciones para escritorios, es mejor que aprenda C ++, C # o Java.
  • Si desea escribir aplicaciones para plataformas web y móviles, es mejor que aprenda JavaScript, HTML y CSS. Si desea aprender también Python o Ruby, esas también serían excelentes opciones para esto.

Hay muchos otros dominios de entorno / aplicación que serían mejores en otro idioma, pero estos son los componentes genéricos para cualquier estudiante de CpE / CompSci y profesional de nivel de entrada en estos campos.

Bien…. Vamos a desempaquetar esto un poco.

No estás buscando solo un número de vacantes, ¿verdad? Usted está más interesado en la proporción de solicitantes por vacantes, porque cuanto más cerca esté de 1, mejor será la “oportunidad”.

Así que evite javascript. Muchos trabajos, muchos más solicitantes.

Aquí hay algunas posibilidades que podrían tener una mejor relación:

Capilla
VHDL
OpenCL

Ahora, dado que hay muchos menos trabajos, lo que no desea hacer es regresar a su casa después de su ceremonia de graduación y comenzar a preguntarse dónde presentar la solicitud. Descubra las empresas y agencias gubernamentales que usan estos idiomas y comience a hablar con ellos. Participe en las comunidades lingüísticas y comience a contribuir. Una vez que haya establecido su reputación, comience a preguntar a la gente (en privado) si conocen alguna vacante, y que lo tengan en cuenta.

Y si es posible, obtenga una pasantía en una empresa que use su idioma. No esperes a que publiquen una apertura. Póngase en contacto con ellos, cuénteles sobre su experiencia y ofrezca venir a trabajar para ellos. Probablemente no tengan experiencia con estudiantes de pregrado con su nivel de experiencia (ya que la mayoría de los estudiantes de pregrado no están aprendiendo javascript). Así que deles suficiente tiempo de espera para que puedan armar algo para usted.

Es mucho más importante aprender los principios esotéricos de los lenguajes de programación, que aprender los lenguajes reales. Puedo sentarme y aprender casi cualquier idioma en un día o dos, y llegar a dominarlo en menos de dos semanas simplemente porque sé cómo se comporta el idioma en su núcleo. Esa es la diferencia entre un científico / ingeniero informático y un programador informático, y esa es la dirección que debe seguir.

Aquí hay un sitio que rastrea la popularidad del idioma: langpop.com/timeline.html No estoy 100% seguro de su confiabilidad, pero parece razonable. Puede ver las tendencias marcando las casillas a la izquierda. Java y Javascript parecen tener las mejores trayectorias. Creo que ambas serían apuestas bastante seguras.