Quiero comenzar a aprender diferentes idiomas cada año, ¿con cuál puedo empezar y por qué?

Como dijo James Jefferies, esto necesita aclaración. Sin embargo, supongo que te refieres a los lenguajes de programación, ya que esta pregunta está etiquetada con cosas sobre ellos. (De cualquier manera, sin embargo, aprender una nueva cada año es una idea maravillosa. Hace tiempo que lo sugiero a los programadores, e incluso si te refieres a los idiomas humanos, eso te ayudará a desarrollarte como persona y posiblemente a tus perspectivas de carrera).

Como no menciona los lenguajes de programación que ya conoce, no asumiré ninguno.

Por lo tanto, no sugeriría a C como lo hizo Katja Bergman. La sintaxis es en realidad bastante pequeña y simple, PERO tiene muchos conceptos que un principiante probablemente no entenderá, y eso puede hacerte tropezar muy mal. Requiere una gran cantidad de “mantenimiento de registros” mentales que serán tediosos, así como el hecho de tener que implementar muchas de las pocas conveniencias que obtiene con la mayoría de los otros idiomas más modernos. Guarde C para, digamos, # 3 o # 4, al menos . Y ciertamente no te molestes con C ++ hasta que hayas obtenido un control decente de C; C ++ es como C con toneladas de complicaciones adicionales atornilladas.

La sugerencia de Steven Ferrer sobre Python es buena. Es posible que se sienta frustrado por su sensibilidad a la sangría exacta; algunos consideran que esto es algo bueno, otros no tanto. Creo que ese aspecto es excelente para cuando escribes un código que los demás tendrán que entender, no tanto para aprender como uno de tus primeros idiomas. Aparte de eso, me gusta, así que quizás sea tu segundo idioma o algo así.

Para principiantes, sin embargo, le daría la ventaja a Ruby. Su sintaxis es aún más hermosa (IMHO), en parte porque fue diseñada específicamente con la felicidad del programador como un objetivo explícito. Su orientación a objetos es mucho más consistente que Python (no te preocupes si no entiendes lo que eso significa, lo sabrás después de aprender ambos idiomas), y también tiene una gran comunidad que se comunica activamente con los nuevos programadores. También es el lenguaje del marco de aplicación web Rails, que es muy popular en estos días. (Dicho esto, también lo es Django, que está en Python).

Hablando de aplicaciones web, si tiene la intención de realizar cualquier desarrollo web, es casi seguro que necesitará JavaScript. No me gusta como lenguaje, pero es casi ineludible en la web.

Sin embargo, una vez que hayas aprendido uno o dos, te animo a que vayas en direcciones diferentes. Hay muchas maneras diferentes en que puede poner los idiomas en categorías, como si están orientados a objetos, imperativos, declarativos, funcionales o algunos mixtos; si su tipeo es fuerte o débil; si su escritura es estática o dinámica; nivel alto o bajo; compilado o interpretado; y muchos otros.

Por lo tanto, esto podría ser un buen plan para los próximos años:

  1. Ruby (incluyendo los fundamentos de Rails)
  2. JavaScript (incluidos los conceptos básicos de Node.js y al menos un marco de front-end, como Backbone, Ember, Angular o React; esto lo expondrá a una orientación de objeto “prototípica” en lugar de una OO “basada en clase”) ; Puedes combinar esto con Rails para hacer grandes aplicaciones web.
  3. Python (incluyendo los fundamentos de Django)
  4. Elixir (para conocer la programación funcional ; incluir los conceptos básicos del marco de la aplicación web de Phoenix y de OTP para conocer la programación distribuida )
  5. C # (principalmente porque es popular y un lenguaje decente, y le dará otro ángulo en OO y lo expondrá a la pila Microsoft / .NET)
  6. F # (mientras que el MS stack está fresco en tu mente, y te da otro ángulo en la programación funcional)
  7. Java (para desarrollar aplicaciones “empresariales” y aplicaciones móviles Android); puede intentar crear aplicaciones móviles con un back-end API Java o en cualquiera de los anteriores
  8. Swift (para desarrollar aplicaciones móviles iOS ); de nuevo, intenta hacer que se comunique con un back-end API
  9. C (para ver la programación imperativa y obtener una mejor comprensión de lo que está sucediendo “debajo del capó”)
  10. Ensamblador (incluso una comprensión más profunda de debajo del capó): realmente no necesita dominar esto, tal vez podría obtener una comprensión suficiente al mismo tiempo que estudia C
  11. C ++ (combinar “bajo el capó” con OO)

Creo que es suficiente por ahora. El paisaje cambiará bastante en esos años, haciendo que algunas cosas suban o bajen de importancia e introduciendo nuevos jugadores. Siéntase libre de reorganizar de acuerdo con los intereses que desarrolle (sin juego de palabras). Mientras tanto, siempre trate de retroceder mentalmente y echar un vistazo a lo que los hace a todos iguales y lo que los hace diferentes. Esto te ayudará mucho en el aprendizaje de los últimos. También aprenda sobre los principios generales de cómo escribir un buen software (para cualquier definición de “bueno”) rápidamente .

Ahora, en caso de que te refieras a los idiomas humanos : el inglés es el más importante, pero obviamente lo tienes. El francés ayudará, pero en esa categoría creo que el español sería más útil. Obtén un control decente de uno u otro, luego intenta algo muy diferente. En el resto de las categorías de idiomas, creo que el chino mandarín sería el más útil, y el hindi también podría serlo. Si no quieres ser tan diferente, prueba un idioma germánico como, por supuesto, alemán, holandés, sueco, etc. (el inglés es una gran ayuda allí). Ya que conoces a Igbo, asumiré que eres de y posiblemente aún en Nigeria o en algún lugar cerca de allí, por lo que algo más cerca de casa podría ser más útil, como el swahili o el árabe. O puede convertirlo en una especie de juego, siempre tratando de elegir el que esté más alejado de cualquiera que ya conozca, sin importar lo útil que sea. 🙂

Necesitas ser más claro en tu pregunta. Supongo que usted está hablando de lenguajes de programación en lugar de lenguajes humanos, aunque hay similitudes. Primero, ¿tiene alguna idea acerca de para qué piensa usar el lenguaje? Los lenguajes de programación son herramientas y elegir uno apropiado depende de su intención. A menos que su intención sea principalmente realizar actividades en el sitio web y en Internet, no empezaría con uno de los idiomas de nivel superior, como HTTP. Recomendaría elegir un lenguaje de alto nivel más simple como Basic, Perl, etc. para familiarizarse con los conceptos básicos en un corto período de tiempo. Luego, cuando tenga una idea de ese idioma, comience a mirar a su alrededor para ver qué le interesa y cuáles son las ofertas actuales en ese espacio. Personalmente, me gustaría evitar el idioma de los viajes e ir por los que han existido por un tiempo. La razón es que los idiomas de vanguardia siguen cambiando y la comunidad necesita un tiempo para reconocer su valor o abandonarlos. En mi vida comencé con Fortran (camino de regreso), luego ensamblador y luego C y C ++. Pero su elección de idioma influirá en gran medida en el tipo de trabajo / proyectos en los que se involucrará, por lo que siempre he sido propenso a las interfaces de hardware / software y las aplicaciones integradas. Probablemente no sea tu preferencia. Pero a partir de un lenguaje de nivel alto más simple, puede elegir subir o bajar a medida que aprende sobre el negocio.

Comience con el Estándar C ya que la mayoría de los otros idiomas toman prestada su sintaxis del lenguaje C. El próximo año, aprenda C ++ para aprender programación orientada a objetos, ya que C ++ es uno de los lenguajes OO más avanzados. En tu tercer año, aprende Python, ya que es un lenguaje popular para varios usos. En su cuarto año, enfóquese en .NET y la plataforma Windows, PHP en la plataforma Linux o Swift en las plataformas Apple. A partir de ese momento, debe elegir entre miles de idiomas, pero no será demasiado difícil de aprender, ya que para entonces ya sabrá C …

Yo diría que Aprender latín, porque es el idioma materno y desde allí puedes aprender español, francés, italiano y portugués. Hay aplicaciones que pueden ayudarte a comenzar a aprender también.

Te sugiero que comiences con Python.

Por lo general, recomiendo Python a los principiantes porque tiene una hermosa sintaxis que es intuitivamente fácil de entender. Python es de código abierto y tiene una gran comunidad que lo mantiene activamente.

Además, hay toneladas de bibliotecas y marcos en Python que podrían ayudarte a desarrollar tus proyectos de software.

Ejemplos de bibliotecas y marcos son:

  • Django para el desarrollo de aplicaciones web.
  • NumPy y SciPy que están diseñados para la computación científica
  • Y muchos más…

Puedes comenzar a aprender Python aquí en CodeAcademy.

Hola Janefrances,

Una pregunta como la suya solo puede responderse en el contexto de lo que va a hacer con su conocimiento. Si es solo un tiempo de paso, elige tu opción.