Dijkstra escribe aquí :
Además de una inclinación matemática, un dominio excepcionalmente bueno de la lengua materna es el activo más vital de un programador competente.
No entiendo la última parte de esta cita. ¿Puedes por favor explicar o elaborar?
PD: He crecido en la India. Hablo bengalí en casa; Hablo marathi en la comunidad en la que vivo; El hindi es el idioma nacional y es muy hablado, así que lo sé, y en la escuela y la universidad me enseñaron inglés como primer idioma. Por supuesto, ahora pienso en una multitud de idiomas y debo admitir que no tengo dominio sobre ninguno . ¿Esto realmente afecta mi aptitud de programación? Si es así, ¿cómo? y hay alguna solución ?
Respuestas:
Si bien estoy de acuerdo con lo que ha dicho alex y rapid_now, creo que puede haber un giro diferente. Esta es mi propia teoría y no estoy sugiriendo que Dijkstra significara lo mismo.
¿Qué es el "dominio de un idioma"? Es la capacidad de tomar los componentes básicos de un idioma y ponerlos en frases y oraciones constructivas y útiles. Los alfabetos y los caracteres no tienen sentido en sí mismos. Necesitas juntarlos y sacarle un significado. Las palabras no tienen sentido por sí mismas; es solo cuando los pones en una secuencia apropiada basada en la sintaxis y la gramática que expresan ideas concretas.
¿No es exactamente lo mismo en la programación de computadoras? Reunimos algunas palabras clave y símbolos y los convertimos en cosas concretas y viables. Un lenguaje de programación tiene símbolos y gramática al igual que un lenguaje natural. El dominio de un lenguaje de programación requiere la capacidad de juntar estos símbolos y reglas (sin significado individual) para hacer que algo sea significativo y útil.
Creo que esto significa que existe una correlación directa entre la capacidad de una persona para aprender un lenguaje humano y un lenguaje informático. Ambos necesitan el mismo conjunto de habilidades humanas y capacidad de pensamiento. Eche un vistazo entre sus colegas, y encontrará que aquellos con habilidades de programación pobres también son los que no pueden hablar o escribir tan claramente como los demás. Aquellos que son buenos para elegir los idiomas humanos tienen las habilidades necesarias para convertirse en buenos programadores también.
fuente
Dijkstra dice que debe poder escribir y hablar de manera clara, concisa y contundente en el lenguaje ambiental de su lugar de trabajo. Tiene toda la razón: a menos que pueda hablar y escribir sobre cuestiones técnicas (y no técnicas) de una manera que otros puedan entender de inmediato, usted se ve obstaculizado y algo ineficaz como ingeniero de software.
La idea es que escribir sobre el código es tan importante como escribir el código en sí.
SO es el ejemplo perfecto: ¿cuántas veces hemos visto preguntas buenas, incisivas y valiosas eliminadas o cerradas porque el póster no podía expresarse bien en inglés? Respuesta: demasiados.
fuente
La cita dice que necesita saber su idioma nativo (por ejemplo, marathi en su caso). Este es un activo importante.
Los psicólogos generalmente piensan que conocer bien un idioma te ayuda a expresar mejor tus pensamientos. Algunos dicen que todo el pensamiento que hacemos se limita a nuestro idioma principal. Cuanto más rico sea el lenguaje (y el conocimiento del mismo), mejor podrá la persona comunicarse y estructurar las ideas.
Saber varios idiomas también ayuda a comprender diferentes modelos de pensamiento.
fuente
Mirando la pieza en su totalidad, es una lista interesante pero data de 1975. Es justo decir que, hasta cierto punto, los tiempos han cambiado en el período intermedio, lo que hace que partes de esa lista de principios sean algo obsoletas.
Una habilidad clave que creo que los programadores deberían tener es la capacidad de comunicarse de manera efectiva. Esto no solo significa explicación; Significa comprensión. Independientemente de cuál sea su idioma de trabajo, el inglés en su caso, aunque no sea su idioma nativo, aquellos que tienen dificultades para comunicarse efectivamente en su idioma nativo no lo encontrarán más fácil en otro lugar.
Como nota general, es justo decir que, independientemente de cuál sea su posición en la vida, si tiene dificultades en su idioma nativo, estará en desventaja en su vida cotidiana.
No me molestaría lo que él quiere decir con dominio: en base a su contribución anterior, sospecho que tiene un dominio del inglés más que adecuado y, a partir de eso, extrapolo que se comunica efectivamente en sus otros idiomas.
fuente
Sospecho que se refiere a tener una buena comprensión de lo que la gente quiere de ti; en otras palabras, una buena capacidad de comunicación verbal.
(Para expresar mi opinión: parte de esto significa, en el contexto de la programación, que a veces es necesario comprender lo que las personas NO dicen, o lo que dicen, pero no con mucha claridad).
fuente
Creo que ser bueno en (cualquier) idioma sirve para esto:
Si su punto no está claro, puede pensar, revisar y volver a exponer de manera mejorada. Hasta que lo que diga sea exactamente lo que quiere que la siguiente persona (o máquina) entienda.
fuente