ventajas tipos programacion paradigmas logo lenguaje historia ejemplos desventajas caracteristicas perl programming-languages paradigms

tipos - perl ventajas y desventajas



¿Puede la aptitud para el aprendizaje los paradigmas de programación estar influenciados por la cultura o la gramática del idioma nativo? (5)

Hace poco estuve leyendo sobre un estudio que analizó cómo la gramática del idioma materno de una persona afectó la velocidad de aprendizaje de las matemáticas. ... Importante: las únicas respuestas que me interesan son referencias a estudios científicos u observaciones personales de alguien íntimamente familiarizado con una cultura / idioma en particular, incluso a partir de su propia experiencia.

Aprendí muchas matemáticas antes de comenzar a programar (lo suficiente como para contarlas como "íntimamente familiares"), y la programación de IMO es relativamente fácil: más tangible.

A veces me he preguntado si es beneficioso conocer más de un lenguaje humano: si solo conoces un idioma, entonces podrías pensar en las palabras "gato" y "perro" como valores, es decir, sinónimo de objetos de gato y perro; pero si domina más de un idioma, entonces "gato" y "perro" se convierten en punteros: porque, por ejemplo, las palabras en francés "chat" y "chien" se refieren / apuntan a los mismos objetos que "gato" y "gato" perro ", y tan claramente hay una distinción entre la palabra y el objeto.

Es decepcionante que publiques la pregunta sin vincularla al artículo que la inspiró. Pensé en "notación polaca inversa" y me pregunté si ese sería el tipo de diferencias en "gramática" que se consideraron en el estudio original.

Es bien sabido que diferentes personas tienen diferentes aptitudes con respecto a varios paradigmas de programación (por ejemplo, algunas personas tienen problemas para aprender lenguajes no funcionales, especialmente funcionales. Algunas personas tienen problemas para entender los indicadores; consulte el blog de Joel Spolsky para reflexionar sobre eso. recursividad).

Hace poco estuve leyendo sobre un estudio que analizó cómo la gramática del idioma materno de una persona afectó la velocidad de aprendizaje de las matemáticas. No se puede encontrar ese artículo ahora, pero una búsqueda rápida en Google encontró esta referencia.

Eso me llevó a preguntarme si la cultura nativa o el primer idioma de alguien podría afectar su aptitud hacia varios paradigmas de programación. Tengo más curiosidad sobre las influencias positivas, por ejemplo, algún rasgo que hace que sea más fácil / más rápido para que alguien aprenda un paradigma en particular, por ejemplo, la gramática del idioma nativo está muy orientada a la recursión.

Para ser claros, estoy buscando cómo la cultura / lenguaje grammare puede afectar la diferencia entre la aptitud de la misma persona hacia varios paradigmas en oposición a cómo afecta la aptitud general hacia la programación entre diferentes personas.

Importante : las únicas respuestas que me interesan son referencias a estudios científicos u observaciones personales de alguien íntimamente familiarizado con una cultura / idioma particular, incluso a partir de su propia experiencia.

Por ejemplo, no estoy interesado en tu opinión sobre cómo el chino es tu primer idioma y afecta algo, a menos que hables chino o trabajes extensamente con un gran número de programadores chinos nativos.

Estoy de acuerdo con tus estimaciones no basadas en estudios científicos, pero asegúrate de proporcionar tu razonamiento sobre las causas plausibles de tu observación.

No estoy interesado en criticar la cultura (cualquiera de dichos elogios se eliminará o se marcará para su eliminación).

Tampoco estoy particularmente interesado en la construcción de cultura, todos sabemos que Linus es de Finlandia y Tetris fue escrito en Rusia y Larry Wall es estadounidense. Cualquier cultura / nación puede producir una mente brillante en cualquier disciplina. Estoy interesado en los promedios.


Esto parece análogo a la Hipótesis de Sapir-Whorf: que las instalaciones de un idioma afectan la facilidad con la que uno puede reflexionar sobre ciertos temas, o en las palabras del artículo de Wikipedia:

"El principio de relatividad lingüística (también conocido como Hipótesis de Sapir-Whorf) es la idea de que los diferentes conceptos y categorías culturales inherentes a diferentes idiomas afectan la clasificación cognitiva del mundo experimentado de tal manera que los hablantes de diferentes idiomas piensan y se comportan de manera diferente por eso."

( http://en.wikipedia.org/wiki/Linguistic_relativity )

Si bien parece que hay poca información definitiva aquí, las discusiones parecen ser relevantes para la pregunta, y tal vez merecen una mayor exploración.


La referencia que cite parece basarse en la suposición de que hacerlo más fácil ayuda con el aprendizaje. En mi entender, hay un efecto contrario: sin suficiente desafío, no estás aprendiendo lo suficiente.

Hay teorías / estudios (¿alguien con un vínculo?) Que el desarrollo del lenguaje creó una presión crucial para expandir la corteza cerebral y, por lo tanto, "nos hizo humanos". (en términos muy darwinistas: más materia gris ==> mejores capacidades de lenguaje ==> mejor trabajo en equipo ==> mejor supervivencia como grupo). Entonces, la complejidad del lenguaje no puede ser mala para el aprendizaje.

(Mi única calificación es ser un entusiasta seguidor del blog The Frontal Cortex , así que tómenlo con un grano de sal.)

En alemán tenemos un extraño orden de números: 10 ^ 0 y 10 ^ 1 posiciones están conmutadas, pero otras son normales (por ejemplo, 25 es "cinco y veinte", 125 es "ciento cinco y veinte"). Se ha afirmado que esto dificulta el aprendizaje de los números, por lo que el alemán debería adoptar un orden más intuitivo.

Supongo que ayuda mucho hacer adiciones en tu cabeza, al menos si te mantienes por debajo de 100 o 200, primero puedes agregar la posición 10 ^ 0 y ya decirlo / anotarlo mientras tomas en cuenta cualquier carga para el 10 ^ 1 posición.

(Eso no continúa para 10 ^ 2, supongo que se haría por escrito por la mayoría de todos modos)

También: abstracciones. Hay idiomas en los que los números no se abstraen de los objetos, "dos cocos" y "dos tigres de dientes de sable" no comparten una palabra / concepto común "dos". Tal lenguaje probablemente sería muy malo para desarrollar habilidades matemáticas. Aquí la abstracción (separar el número y el objeto) en el lenguaje es importante.

En general, diría que el lenguaje tiene un fuerte efecto en la configuración de una mente en desarrollo, y no veo ninguna razón por la cual esto no se extienda a la cultura.

Por supuesto, todavía está abierto cuál sería el "tipo correcto de complejidad", para qué y cómo las características particulares del lenguaje afectan la mejora general frente al establecimiento de una élite (es decir, "agudizar las habilidades de los superdotados, mientras que obstaculiza el resto").

Pregunta interesante, sin duda, esperando otras respuestas.


Solo unos pocos pensamientos aleatorios. Creo que la influencia es generalmente muy débil y la mayoría de las veces se puede ignorar, pero existen y otras veces pueden hacernos sentir.

En la gramática china, por ejemplo, no distinguimos completamente entre formas plurales y singulares, pero no creo que los chinos tengamos ninguna dificultad notable para entender los conceptos de escalar y matriz en Perl. La razón puede ser la siguiente: aunque generalmente no necesitamos sufijos o cambios particulares en la forma para indicar si algo es singular o plural, sí tenemos los conceptos de plural y singular y dependemos principalmente del contexto para diferenciarlos. En cuanto a la gramática, el contexto en chino puede ser mucho más importante que en los idiomas que pertenecen a la familia indoeuropea. A veces omitimos muchas cosas cuando ya las hemos mencionado y, a veces, cuando simplemente suponemos que el oyente puede comprender estas cosas implícitamente. En cualquier caso, no necesitamos esos artículos indefinidos y definidos (a, an, the) o aquellos pronombres relativos como, that, which y who, para indicar si se los menciona por primera vez o en otro momento nuevamente . Tal vez sea en parte por lo que me siento muy cómodo con la variable por defecto "$ " de Perl . impresión; chomp; división; todos actúan sobre $ , que nunca se ha mencionado. Pero esto es bastante subjetivo.

Creo que el idioma chino se caracteriza más por la implícita y la falta de claridad que las lenguas indoeuropeas. Por ejemplo, nunca prestamos atención al acuerdo del verbo sujeto y nunca hacemos conjugación verbal para denotar tiempos. Esto podría significar que los chinos están inclinados a utilizar un modo de pensar no tan lógico. Uno de mis profesores utilizó un ejemplo para intentar generalizar (o quizás generalizar) la diferencia entre el modo de pensamiento no-lógico chino y el modo de pensamiento lógico estadounidense.

Si la versión estadounidense de peleas debería ser esta:

"Te puedo lamer". "No, no puedes". "Sí, puedo". "No, no puedes". "Puedo". "No puedes". "¡Puede!" "Puede ''t! "

La versión china (traducida en inglés) sería algo como esto:

Puedo lamerlo ¡Cómo te atreves! ¿Qué pasa si me atrevo? Entonces lo intentas. ¿Tratar? Hm, esperas y ves. ¿Espera y verás? No estoy asustado. ¿No tiene miedo? DE ACUERDO. No te escapas Quien huye? Vamos y lamer

Bueno, estoy de acuerdo en que puede haber algunas diferencias entre la forma de pensar china y la de otros países, pero el ejemplo parece un estereotipo porque los chinos pueden cambiar fácilmente al uso de la versión estadounidense. Volviendo a la pregunta, creo que el lenguaje y la cultura pueden de hecho influir en el proceso de aprendizaje de un programador de una manera u otra, pero esta influencia definitivamente no es decididamente notable. Quizás debido a la cultura a la que estás expuesto te hace sentir un poco incómodo acostumbrarte a algunas nociones en algún lenguaje de programación, recursión o lo que sea, pero el tiempo lo resolverá.


Descargo de responsabilidad : yo era un antropólogo cultural antes de entrar en la programación, así que sabes que voy a estar en un alto nivel, aquí.

Obviamente, la historia de una persona tendrá un impacto en su aptitud para cualquier tarea en particular, pero creo que esto tiene menos que ver con la estructura o la gramática del lenguaje de una persona que con las condiciones materiales particulares de la cultura en la que se habla. hablado.

Por ejemplo, un par de antropólogos de los años 60 acudieron a varias comunidades africanas y probaron la susceptibilidad de las personas a diversas ilusiones ópticas. Aquí hay uno clásico:

En esta ilusión, la línea inferior se ve más larga, porque las líneas en ángulo que la conectan hacen que parezca estar en la distancia.

Estos antropólogos encontraron que en muchas culturas africanas, la ilusión no funciona en absoluto; las personas consideran que las líneas tienen la misma longitud. Al refinar su estudio, descubrieron que las únicas personas que eran susceptibles a la ilusión eran las personas que habían crecido en un entorno urbano. Presumieron que la ilusión no funcionaba en personas de entornos remotos de la jungla, porque estas personas tenían poca o ninguna experiencia con ángulos rectos y veían cosas a distancias muy largas.

Lo que quiero decir con esto es que incluso si logras encontrar una correlación entre los lenguajes nativos de los programadores y sus habilidades con ciertos aspectos de la programación, no puedes estar seguro de que la correlación no sea falsa. Por ejemplo, podría pensar que los asiáticos tienden a ser malos conductores, e incluso podría demostrar esto estadísticamente. Si luego concluye, sin embargo, que la "mala conducción" es una característica fundamental de la asiática, estaría ignorando el hecho de que los asiáticos tienen más probabilidades de ser de Asia y , por lo tanto, de tener mucha menos experiencia conduciendo automóviles ( o incluso estar en autos) mientras crecía que los occidentales (y especialmente los estadounidenses) han tenido.

Con la programación, podríamos pensar que un idioma particular inhibe la capacidad de programación, y no tomar nota del hecho de que la sociedad en la que se habla ese idioma tiene mucho menos acceso a las computadoras, y por lo tanto las personas que crecen con ese lenguaje parecen tener menos programación aptitud o capacidad para comprender ciertos conceptos de programación.

En resumen, no daría mucho crédito a la idea de que el lenguaje inhiba la capacidad de cualquier persona para comprender algo en particular. La mente humana es demasiado flexible y adaptable para que eso sea verdad.