Uno de mis compañeros en la universidad dijo que aprendió cinco lenguajes de programación durante el verano, ¿cómo lo hizo?

¿Aprendió a fondo o simplemente leyó lo suficiente sobre ellos para obtener una comprensión básica? Estoy adivinando lo último. Casi todos los lenguajes comparten los mismos conceptos básicos (flujo lógico, variables y eventos), pero varían en su implementación, por lo que descubrir exactamente lo que sucede “por lo general” no es demasiado difícil cuando está revisando el código de otra persona. El problema es que tal conocimiento superficial es que cada idioma hace las cosas de manera diferente por cosas no triviales, como la administración de la memoria, los eventos y otras cosas que requieren que pienses realmente en lo que estás haciendo. Para agravar la cuestión, los diseñadores de cada idioma siguen cambiando las cosas a medida que se implementan las lecciones aprendidas (vea todas las versiones en diferentes idiomas de C #, incluida la próxima versión 7.0). Tu amigo puede comprender los conceptos básicos de cada idioma con el que jugó, pero la maestría requiere horas y horas y años para lograr un verdadero éxito, ya que la prueba y el error son los mejores maestros.

Muy fácilmente, pero ¿puede crear algo en esos 5 idiomas?

No, probablemente no.

Quiero decir algo más que HelloWorld, o un juego de adivinar el número.

No sé de dónde vino esta actitud, realmente no, que aprender lenguajes de programación es lo mismo que aprender a programar, no es lo mismo .

Ahora, si dijera, ‘mi experiencia en el trabajo colega aprendió 5 idiomas durante el verano’. Estaría diciendo, sí, seguro, puedo creerlo, porque como lo ha dicho el usuario Quora de manera aquí Asuma que el programador tiene una licenciatura en Ciencias de la Computación con cinco años de experiencia en JavaScript, PHP y C #. ¿Cuánto tiempo le tomaría a alguien así hacer un curso de Python y crear aplicaciones básicas? , Todo es la misma mierda.

Scala, Elixir y Haskell son lenguajes funcionales similares. Si conoces uno, es muy sencillo detectar las diferencias en los demás.

Lo mismo ocurre con Go y Rust: son lenguajes de la familia C como C, C ++, C # y Java.

Supongo que probablemente ya conoce Java o C # (familia C) y Scheme (funcional), si es un estudiante universitario de CS. Cualquier estudiante universitario de CS debe poder hacer lo mismo si ya tienen antecedentes en esas dos familias de idiomas.

Si está determinado y no tiene otros planes ni otro trabajo, durante los 2.5 meses de vacaciones de verano, podría aprender lo suficiente de cualquiera de los cinco idiomas humanos para poder hacer presentaciones, pedir comida, pedir instrucciones y hacer operaciones aritméticas básicas.

Con cinco lenguajes de programación, podría, durante un verano, leer la totalidad de la referencia del lenguaje, escribir una docena de programas de prueba para asegurarse de que entendió los conceptos y hacer que su entorno de desarrollo funcione, y escribir algún juego de plataformas de baja complejidad u otro juego simple (pacman o lo que sea) en cada idioma.

“Conocer” un lenguaje es un viaje de por vida, ya sea humano o de programación.

¿Pero aprendiendo lo básico del lenguaje de programación promedio? Suponiendo que ya sabe cómo programar, ese es el trabajo de un fin de semana: una semana como máximo. Esto es ciertamente factible.

Sospecho que su amigo tiene un conocimiento rudimentario de cada uno, y posiblemente un conocimiento serio de uno solo.

La programación en un idioma requiere más que unos pocos programas, sino un programa serio. Claro, puedes escribir un programa “¡Hola mundo!” , Pero eso no te convierte en un programador. Puedes escribir un juego de tres en raya con un jugador de computadora, pero eso no es una tarea muy difícil.

Ahora, si una persona usó uno de estos programas para escribir un programa de terminal en serie con una interfaz programable, eso es sustancial. Hay muchos programas que serían sustanciales, pero me pregunto si lo hicieron durante el verano. Sospecho que no.