¿Hay alguna analogía entre aprender un idioma extranjero y un lenguaje de programación?

Sí.

Aprender un idioma extranjero implica aprender a expresar las mismas cosas usando diferentes palabras y orden de palabras.

No importa si usted es francés, italiano, alemán, surcoreano, si desea solicitar una pizza para llevar, está comunicando la misma información, solo con palabras diferentes (al menos algunas palabras diferentes) y un orden diferente. de palabras.

De manera similar, la mayoría de los lenguajes de programación contienen conceptos similares: bucles, pruebas, asignaciones de variables, almacenamiento y recuperación de datos. La forma en que se expresan esos conceptos es diferente entre diferentes idiomas, pero el objetivo final es el mismo.

Así que, al igual que con el aprendizaje de un idioma extranjero, comienza con conceptos comunes, como ordenar una pizza para llevar (¡muy importante si está visitando un país extranjero!), Con el aprendizaje de un nuevo lenguaje de programación, identifico cómo realizar las acciones que sé que deben Existen en el nuevo idioma.

Esta no es la mejor respuesta, pero creo que agrega algo que creo que falta es las otras respuestas de las que he sido un defensor durante muchos años:

El lenguaje de programación es fundamentalmente el lenguaje que usamos los humanos para comunicarnos con las máquinas. Y considerando el papel crítico y la importancia que las máquinas toman en nuestras vidas hoy en día, es absolutamente impensable en estos días de edad, no aprender a hablar el lenguaje de las máquinas. Entonces, un lenguaje de programación es esencialmente y también una forma en que los humanos podemos expresarnos. Puede ayudar a satisfacer nuestras necesidades y deseos de autoexpresión, y permitir que las personas expresen su creatividad.

Así que sí, al respecto, no estoy respondiendo a sus preguntas con respecto a las similitudes entre aprender un lenguaje de programación y decir un idioma extranjero (por haber hecho ambas cosas en mi vida, yo diría que son diferentes). Sin embargo, una programación tiene mucho que ver. La misma función que un lenguaje, y en estas máquinas días, diría que saber al menos 1 lenguaje de programación es muy importante.

Sobre tu pregunta diría más específicamente:

  1. ¿Te has dado cuenta de que la mayoría de los lenguajes de programación están en inglés?

Entonces, el hecho es que lo importante cuando aprendes a programar es aprender los principios de programación que son universales. Tal vez puedas decir que la gramática es la misma; Usted encuentra los mismos principios en todos los idiomas, aunque esto no es realmente cierto. Dado que las computadoras son universales y funcionan con la misma tecnología, al final la gramática es siempre la misma. Es la de la CPU (montaje). Así que yo diría que los principios de la programación son universales, y una vez que conoces un idioma, es muy fácil elegir otro, porque está en inglés y porque se basa exactamente en la misma tecnología que se encuentra debajo (comparte un idioma común en el end: assembly) .. de esa manera, aprender un nuevo lenguaje de programación es MUCHO MÁS FÁCIL y MUCHO MÁS PREDECIBLE que aprender CUALQUIER idioma extranjero (y ni siquiera entro en el concepto de excepciones que son tan comunes en idiomas como el ruso y el francés que hace que tenga que memorizar cada cosa en lugar de confiar en reglas genéricas).

No.

Aprender un idioma extranjero consiste en recordar las palabras y estructurarlas adecuadamente.

Francés tiene unos cientos de miles de palabras en uso regular. Un lenguaje de programación típico tiene menos de 50.

En programación, el lenguaje no es el problema, es saber qué hacer con él.

Advertencia: soy horrible para aprender lenguajes naturales, pero no tengo problemas con los lenguajes de programación.

Hay algunas analogías leves:

  • Ambos tienen vocabularios, sintaxis y semántica.
  • Diferentes idiomas tienen diferentes estructuras que reflejan de alguna manera diferentes modos de pensar. Para los lenguajes naturales, tiene cosas como si el verbo aparece antes o después del objeto. Para lenguajes de programación tienes diferentes paradigmas.
  • Tiende a progresar desde los conceptos básicos de aprendizaje (unas pocas palabras, estructuras básicas de oraciones / comandos básicos y estructuras de bloques) y luego pasa a cosas más complicadas (más palabras / comandos, sintaxis más complicada). Al aprender un lenguaje de programación, puede comenzar con “hola, mundo”; con un lenguaje natural, podría ser “hola, adiós, gracias, ¿y dónde está el baño?”).
  • Tal vez, solo tal vez, hay algunas analogías entre aprender a escribir documentos grandes y complicados, y aprender a diseñar programas grandes y complicados, que tienen que ver con el aprendizaje para ordenar sus pensamientos sobre las cosas y cómo presentarlos. Los principiantes comienzan escribiendo ensayos / programas cortos, los estudiantes / practicantes avanzados escriben cosas más grandes.

Pero … no estoy seguro de que alguna de estas analogías sea particularmente útil en la práctica.