¿Cuál debería ser mi próximo lenguaje de codificación?

No estoy completamente seguro de que aprender (solo) muchos lenguajes de programación sea el enfoque correcto.

La programación es difícil . Se trata de resolver problemas con computadoras , no principalmente de (solo) conocer muchos lenguajes de programación.

De hecho, los lenguajes de programación son herramientas, y es útil aprender otros nuevos. Pero en mi humilde opinión, es más útil aprender un lenguaje de programación que mejore su forma de pensar, que solo aprender un lenguaje de programación porque es sofisticado. En otras palabras, muy a menudo, aprender un lenguaje de programación es bastante fácil, si está familiarizado con el (los) paradigma (s) de programación en los que se basa.

Lea Enseñe a sí mismo Programación en diez años y respuesta de Basile Starynkevitch a Si quiero codificar para vivir, ¿cuáles son los idiomas que debo aprender y las cosas que debo hacer? & Basile La respuesta de Starynkevitch a ¿Cómo puedo ser un gran programador y realmente contribuir y agregar algo nuevo al campo?

En realidad, no puedo ayudarte mucho más, porque no tengo ideas precisas sobre lo que sabes y lo que no sabes. Tal vez debería aprender un nuevo lenguaje de programación, pero quizás también debería aprender algo más relacionado con la programación.

Los idiomas no son importantes más allá de cierto punto.

Lo que desea de los diferentes idiomas son paradigmas, ventajas y desventajas para ciertas prácticas de desarrollo, concesiones y orientación a su plataforma.

Debes centrarte en completar proyectos, por ejemplo, un lenguaje de scripting, un juego, un simulador de CPU o un sistema de gestión de cuentas para corredores de bolsa que se ejecute en tu reloj inteligente.

Cuando se aprende un nuevo idioma, debe servir algún propósito. Si realmente quieres que tu terreno esté cubierto de idiomas, te diría:

  1. C para bajar y ensuciar con la gestión de memoria y la programación de procedimientos.
  2. Java / C # para OOP con escritura estática en un lenguaje similar a C.
  3. Ensamble para intimar aún más con la máquina y para hacer crecer algunos pelos en su pecho. Pasar tiempo aprendiendo cómo optimizar el código ASM en un procesador más antiguo (por ejemplo, 286, Z80, Arm5) entrenará a su cerebro para detectar y procesar los efectos secundarios. Esto le ayudará mucho a encontrar y prevenir errores.
  4. Smalltalk para OOP en su forma cruda. Smalltalk está tan orientado a los objetos que incluso los bucles y las declaraciones lógicas son objetos escritos en Smalltalk porque Smalltalk no tiene bucles ni lógica de control en su lenguaje, pero puede crearlo (sí, está orientado a objetos).
  5. C ++ para OOP con gestión de memoria explícita, sobrecarga de operadores, el patrón RAII, metaprogramación y uniendo los recursos del sistema de nivel inferior con una solución de alto nivel.
  6. Python para OOP con escritura dinámica: brillante para disparar prototipos rápidamente sin preocuparse por un proceso de compilación, además de aprender la forma de pensar de los pitones.
  7. PHP para la cinta gaffa del desarrollo web back end.
  8. Bash shell scripting (tal vez combinado con algunos Python cuando sea necesario). Puedes conseguir realmente práctico con shell scripting. ¡Incluso podrías escribir una historia interactiva o un juego de exploración con solo el correo electrónico!
  9. Clojure / Scheme / F #, etc. para la programación funcional.
  10. Adelante para la programación orientada a la pila.
  11. Prólogo para la programación declarativa (también echa un vistazo a SQL).

Gracias por A2A.

El siguiente idioma que debes aprender es nada .

Tiene suficientes idiomas en su bolsillo que le permiten programar literalmente cualquier cosa , desde sitios web hasta núcleos, sistemas integrados o supercomputadores. Eso es mucho equipaje para seguir.

Recuerda el viejo dicho: Jack de todos los oficios, maestro de ninguno? No quiero que te conviertas en uno.

Por lo tanto, mi consejo es: deténgase allí y respire . Concéntrese en sus idiomas, uno por uno, e intente leer más libros, tutoriales, escribir código y leer el código de otras personas en ese idioma. Cuando se siente fluido en ese idioma, solo entonces puede cambiar a otro. Este proceso suele durar toda la vida , pero quizás pueda hacerlo más rápido.

Buena suerte y feliz piratería!

Seguro que sabes muchos idiomas.

Me gustaría dominar el idioma antes de continuar, porque a veces, solo saber no es suficiente. Muchos sugerirían lo mismo.

Vamos a recoger los idiomas y / o temas que te gustaría revisar,

  • ¿Echaste un vistazo sobre la inteligencia artificial (inteligencia artificial)? Puede consultar AML, SmallTalk, Prolog, Haskel, MATLAB, Python e incluso Javascript.
  • ¿Qué tal algunos otros lenguajes orientados a objetos como, Elixir, Java, Ruby, OCaml?
  • ¿Absolutamente probaste Go y SQL al máximo?
  • Tal vez no sea un lenguaje de programación, pero GraphQL podría ser la próxima gran cosa.
  • ¿Ya hiciste algunos juegos impresionantes? Lua, Java, Swift, Objective-C te están esperando.

Seguramente te confundirías, por eso todos te piden que ya domines lo que ya sabes. Pero no hay nada de malo en aprender algo nuevo.

Nadie en este mundo puede predecir la tecnología. Las innovaciones pueden ser mucho más rápidas de lo que uno puede pensar. Si está haciendo esta pregunta únicamente desde una perspectiva profesional, lo siento, pero esta pregunta es incorrecta. Para propósitos de carrera, el lenguaje de codificación (dominio) no es importante. Lo que es importante es: la profundidad de la programación, la comprensión y la resolución de problemas, las estructuras de datos y los algoritmos, la programación eficiente, etc. es importante y debe centrarse en eso. El lenguaje no importa en absoluto.

Si está preguntando por curiosidad sobre las tendencias técnicas futuras, en mi opinión, no tendremos una programación tradicional en el futuro. Lo que tendremos son “nociones” o “directivas” o “directrices” que le dirán a la computadora cómo desea que sus programas. Las computadoras ya tendrán una biblioteca de programas. Según su computadora, las “directivas” escribirán un programa para usted. Estas directivas, se pueden imaginar como un algoritmo base o esqueleto (o llamarlo pseudo código) escrito en XML o JSON o similar.

Entonces, una vez más, no habrá necesidad de aprender programación sino de desarrollar “lógica”.

Comencé a recoger a Scala después de leer este punto de referencia de Web Frameworks .

Según este punto de referencia, Scala es uno de los lenguajes basados ​​en JVM más rápidos, mejor que Python y Ruby.

Quería aprender algo de Programación Funcional, y después de analizar la evidencia anterior, pensé que Scala sería una entrada perfecta para mí en el mundo de la Programación Funcional.

También tiene algunos credos entre los grandes:

¿Cuáles son algunas de las razones por las que una empresa debe elegir Scala como lenguaje de programación?

¿Por qué Twitter y LinkedIn cambiaron de Rails a Scala / Play, a pesar del hecho de que Rails puede escalarse?

Escalado de Twitter: Haciendo de Twitter un 10000 por ciento más rápido – Alta escalabilidad –

Soy muy multilingüe. VB.NET Tienda VBA VB6 JS CSS PHP C # (aprendizaje) Qbasic SQL.

Honestamente, no tengo ganas de recoger más hasta que los necesite. JS ES6 tiene un montón de cosas interesantes para dominar. Y C # tomará un año para dominar todas las cosas tontas que quiero saber.

Honestamente, saberlo es genial, pero el dominio le permite utilizar la técnica en varios idiomas. Después de aprender JS, miro un PHP o C # y voy: así es como haces esto en JS, así que solo necesito saber cómo hacerlo en blanco en Fortan o lo que sea. Google cómo en blanco en Fortran.

Dominio, no solo saber un idioma te hará un gran programador. Todo lo demás es alcance y semántica.

Sugiero cubrir las cuatro “esquinas” de este cuadro – Programming Languages ​​Influence Network 2014 – formado por C, Haskell, Lisp y Smalltalk.

Estos cuatro son lenguajes muy influyentes. Aprenderlos debería decirte mucho sobre todos los demás.

El rincón de C / Pascal que parece que ya cubriste, sabes cuánto puedes hacer con los procedimientos. Ahora es el momento de aprender cuánto puede hacer con las funciones (Haskell), los objetos (Smalltalk, a través de Squeak o Pharo) y los metaprogramas (Lisp, a través de Common Lisp, Scheme, Racket o Clojure).

Eso es un montón de idiomas. ¿Realmente ha aprendido cómo programar, es decir, es usted un programador competente?

De lo contrario, debería dejar de seleccionar nuevos idiomas, elegir uno de la lista que conoce y concentrarse en desarrollar sus habilidades de programación (a través del software de escritura de práctica).

De lo contrario, debe considerar seriamente a Go (también conocido como “golang”). Está destinado a convertirse pronto en un importante lenguaje de programación de primer nivel.

Julia parece interesante para el procesamiento numérico y la ciencia de datos.

Gracias por la A2A, otra vez!

Eso es una gran cantidad de idiomas 🙂

Ahora tienes que probar idiomas que son realmente diferentes, te recomendaría probar Clojure o Squeak, que están lejos de los que conoces, para expandir tu horizonte, tal vez ProLog también si quieres aprender sobre sistemas expertos.

Hay un campo interesante en la IA, donde las exageraciones de todos son Aprendizaje profundo, pero cuando veo un Tesla, pienso en Aprendizaje profundo para el reconocimiento y análisis del entorno, y un motor de inferencia híbrido de 3º o 4º nivel + lógica difusa para tomar decisiones ( No necesariamente la lógica difusa en su forma más pura, hay derivados interesantes en la naturaleza durante mucho tiempo).

O puede aprender sobre los motores de inferencia y la profunda complejidad a medida que aumenta su nivel: los primeros niveles son las reglas, las segundas son las reglas sobre las reglas, el tercero son las reglas que rigen las reglas del segundo nivel, etc.

Aprende todo lo que quieras, eso es nuevo y no está demasiado relacionado con lo que aprendiste o lo que realmente estás haciendo. ¡De todos modos, te convertirás en un mejor científico informático a largo plazo!

Le daré el beneficio de la duda y asumiré que realmente sabe cómo programarlos y usarlos.

Sugeriría un lenguaje funcional a continuación. La programación funcional definitivamente te hará pensar de manera muy diferente a cómo lo haces ahora, ya que la mayoría de los lenguajes que enumeras están orientados a objetos.

Sugeriría ya sea Haskell o F #. F # es probablemente la mejor opción ya que conoces C # ya que usa el mismo marco y el mismo IDE.

Probablemente deberías intentar salir del paradigma imperativo por un tiempo. Pruebe Haskell, Prolog, Idris o uno de los otros lenguajes funcionales o lógicos.

¡CECEO! También estoy considerando erlang y golang. La concurrencia será importante.

Trate de desarrollar habilidades c y uno del popular lenguaje ensamblador. Empiece a desarrollar inteligencia artificial, que dominará la tecnología futura.

Ve, definitivamente ve.