¿Cómo mantienes todos esos idiomas en tu cabeza?

10

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.

John Robertson
fuente
14
Yo no. Yo uso un depurador ;-)
PengOne
1
La práctica hace la perfección. Los idiomas generalmente emplean el mismo conjunto de construcciones informáticas, por lo que es una simple cuestión de recordar las diferencias sintácticas y las ofertas de características.
17
editor con resaltado de sintaxis. seguir editando hasta que cambie de color ...
thorsten müller
2
Yo no. Uso Google.
Trabajo
1
@ John, nos dan algunos ejemplos de cosas que tienden a confundir o se olvide de todos los idiomas ¿Con qué frecuencia se cambia entre los idiomas (incorporado nombres de los métodos precedencia de los operadores bibliotecas modismos????) (Mensual por hora??)
SMCI

Respuestas:

15

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.

Yan
fuente
8

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.

hotpaw2
fuente
3
+1 por no ser todo, "Bueno, si eres un programador real , no tendrás ningún problema". Si programa en suficientes idiomas diferentes, las referencias de sintaxis son imprescindibles.
Satanicpuppy
44
¿Podría publicar ese "diagrama de sintaxis de estilo ferroviario de 1 hoja más una referencia rápida" para C ++? Realmente me gustaría ver una bestia así.
sbi
O uno para Perl. Eso sería un espectáculo digno de ver.
Zhehao Mao
Si necesita más de lo que puede caber en una página, probablemente no debería usar esas funciones de idioma todavía, hasta que recuerde mejor el idioma.
hotpaw2
5

¿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.

FrustratedWithFormsDesigner
fuente
3

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.

Patrick87
fuente
3

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').

tdammers
fuente
+1 para las siguientes convenciones para un idioma. Puede ser tentador simplemente codificar cada idioma con el mismo estilo, pero eso hace que parezca muy "extraño" para los "nativos". Algún día, un programador "nativo" mantendrá nuestro código. Entonces debemos escribirlo de una manera que les parezca natural.
gMale
1
@gMale: No solo se trata de ser amable con los demás; adoptar la cultura de un idioma también es necesario para utilizarlo en todo su potencial. Una cultura crece alrededor de un idioma porque ciertas formas funcionan mejor que otras, y esas se solidifican en la cultura; Al aprender esto, puede beneficiarse de los errores de los demás.
tdammers
1

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).

Martin York
fuente
1

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.

Arvind Chinniah
fuente
1

Yo no. Los confundo todo el tiempo, así que he elaborado un conjunto de comportamientos y herramientas compensatorios.

  • Estoy trabajando en las bases de código de grandes proyectos, así que comprobaré el código que me rodea.
  • Utilizo un editor de resaltado de sintaxis (rápido, ¿Perl usa elsif, elif, o si no? No lo recuerdo, pero el editor me mantendrá al día).
  • Uso los modismos de lenguaje: si estoy codificando en C #, uso lambdas, linq y var. Eso hace que se parezca menos a Java de lo que sería si solo estuviera usando objetos y clases.
  • Utilizo un entorno diferente para cada idioma: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Los diferentes estilos visuales me mantienen en el camino.
Sean McMillan
fuente
0

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.

jonsca
fuente
0

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.

Cᴏʀʏ
fuente
0

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.

MattyD
fuente
0

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;

achmas
fuente
0

Ú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 .

gMale
fuente
0

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.

perdian
fuente