Sé Java, C #, C ++. He usado Perl y estoy adquiriendo Python y Actionscript 3.
Este es ciertamente un camino que otros han recorrido, así que les pregunto cómo mantienen todos estos idiomas en su cabeza.
language-agnostic
syntax
programming-languages
John Robertson
fuente
fuente
Respuestas:
Su cerebro solo recuerda lo que considera importante, con un fuerte sesgo hacia lo reciente. Entonces, solo rota los proyectos favoritos en esos idiomas y estarás bien. Al igual que los idiomas hablados, lo hará mejor si: comienza temprano y mantiene su uso activo.
fuente
Solía publicar un diagrama de sintaxis de estilo ferroviario de 1 hoja más una referencia rápida para cada idioma en la pared hasta que mi memoria funcionó lo suficiente.
Todavía tengo que hacer eso para cualquier lenguaje de programación que no haya usado en muchos meses.
fuente
¿Ha buscado hojas de trucos para los idiomas y las bibliotecas que usa regularmente? Aquí tengo un par en mi muro, uno para VIM y otro para PL / SQL. Este sitio web: http://devcheatsheet.com/ parece tener muchas hojas de trucos.
Sugiero hojas de trucos porque solo hay una cantidad que el cerebro puede recordar fácilmente. Un lenguaje que use a diario será muy fácil de recordar. Sintaxis y posterior ciertas bibliotecas y funciones y marcos si los usa con la frecuencia suficiente y no necesitará buscar nada en ningún material de referencia. Cuanto menos uses algo, más difícil será recordarlo, aunque generalmente podrás recuperar tus habilidades anteriores con un poco de práctica. Es por eso que mantengo algunas hojas de trucos en mi pared: para las funciones / características que no uso con la frecuencia suficiente para recordar rápidamente.
fuente
El cerebro humano es una cosa asombrosa. Si aprende cada uno lo suficientemente bien, debería poder ver el código, reconocer el idioma y volver a acelerar rápidamente. Nunca ha sido un problema para mí ... pero lleva tiempo volver a acelerar.
fuente
Tengo pocos problemas para separar los idiomas en mi cabeza, aparte de algunos automatismos de escritura (como tener que suprimir el punto y coma de final de línea en Python o VB).
Creo que lo que más me ayuda es que cada vez que aprendo un lenguaje (de programación o humano), también trato de captar y adoptar la cultura y el ecosistema en el que está incrustado. No solo estoy cambiando idiomas, estoy cambiando mentalidades (algo similar a la popular metáfora 'usar el sombrero X').
fuente
Ayuda que todos los idiomas que menciona sean relativamente similares (es decir, imperativo).
Si está aprendiendo a usar estos idiomas, todos son muy similares. Básicamente, todos tienen las mismas características y todo lo que está aprendiendo es una sintaxis ligeramente diferente.
Ahora, cuando llegas a aprender el uso (no solo la sintaxis), se vuelve mucho más difícil. Aprender a usar Java como un programador de Java no es tan simple para un programador de C ++ (la sintaxis es fácil, los modismos de uso son difíciles).
Ahora, si hubiera enumerado diferentes estilos de lenguaje (declarativo / funcional / lógico), entonces sería más comprensivo. A medida que el cambio de paradigma entre los idiomas cambia completamente, el paradigma se vuelve mucho más difícil.
Pero usar un idioma es la clave. Si usa un idioma todos los días, no tendrá ningún problema. Deje de usar un idioma y se desvanecerá (no rápido al principio). Pero cuanto más se aleje el idioma del idioma que usa a diario, más rápido se desvanecerá. El secreto es seguir practicando los idiomas que te gustan (deja de usar los que no te gustan, tu cerebro dejará espacio para otras cosas).
fuente
Ahí es donde los IDE vienen por un rescate ;-) lo único que cambia en todos estos idiomas es tener un 'si-entonces-otro' o un 'si-si no'. algunos tendrán '(' y otros no. Es tan simple como eso :)
Lo único que nos importa es la lógica y la implementación más fácil de leer.
fuente
Yo no. Los confundo todo el tiempo, así que he elaborado un conjunto de comportamientos y herramientas compensatorios.
fuente
Una forma sería utilizar un estilo distinto para cada idioma en el que escriba. Por analogía, al hablar español o francés, uno podría tratar de emular la inflexión de un hablante nativo.
He visto personas que mantendrán un refuerzo distinto, sangría, etc., para cada idioma para ayudar a su cerebro a "cambiar de marcha" correctamente al cambiar entre ellos.
fuente
Piensa en ello como la música. Los idiomas que aprende son solo instrumentos diferentes en una orquesta que finalmente producen las mismas notas. Recordar cómo tocar los instrumentos requiere práctica, pero eventualmente podrás elegir uno que no has jugado en mucho tiempo y, como por arte de magia, las notas simplemente encajan. Del mismo modo, a medida que continúa ampliando su conocimiento de la música (programación), cada vez es más fácil elegir un nuevo instrumento y aprender a tocarlo.
Analogía cursi, pero al final del día, la práctica hace la perfección. Pase algo de tiempo con cada instrumento de esa orquesta de vez en cuando para que su capacidad de tocar las notas no se desvanezca.
fuente
Soy principalmente un desarrollador de PHP. Así que perdona mi opinión parcial.
Recientemente he descubierto cuán similar es el código C a PHP (o al revés dependiendo de cómo te sientas;))
Mi sugerencia sería tal vez apegarse a una familia de idiomas (si se aplican a su trabajo o proyectos) y, a medida que desarrolle sus habilidades aún más, se ramifique y aprenda cosas nuevas.
fuente
Estoy usando JavaScript y HTML / CSS principalmente también amo C ++ cuando necesito una pequeña herramienta de ayuda para usar QT y uso VB y f # a veces sé que es un poco loco, pero cuando siento que comencé a perder un lenguaje de especialmente cuando tienen una sintaxis diferente (VB y F # y c ++ / javascript), así que llamo a mi hermano y le digo que voy a enseñarle, entonces empiezo a hacer ejemplos desde cero y cuando descubro que no recuerdo exactamente cómo hacerlo algo (una vez que olvidé cómo hacer IF ELSE en VB) simplemente lo busco en Google;
fuente
Últimamente, he estado usando google codesearch mucho. Voy allí y escribo una expresión regular que describe libremente lo que estoy tratando de hacer y encuentro docenas de ejemplos de código de producción. Cuando olvido la sintaxis de un idioma, esta es la forma más rápida de obtener respuestas.
Este enfoque se vuelve aún más poderoso si eres bueno con las expresiones regulares. Nota: Este es un gran recurso para actualizar las habilidades de expresiones regulares .
fuente
En realidad: no me preocupa mucho tratar explícitamente de construir cualquier tipo de estructura dentro de mi cabeza.
Esto no difiere mucho de otros escenarios en la vida diaria. Tengo que recordar cómo conducir un automóvil, cómo leer un libro, cómo jugar al tenis, etc. Solo confía en tu cerebro y no pienses mucho en el metanivel.
fuente