2010-08-04 15 views
5

Sé que esto es bastante subjetivo, pero es algo con lo que he luchado bastante. Incluso he dudado en intentar aprender un nuevo idioma debido a la razón que describiré a continuación. Si esto se cierra, creo que solo sonreiré y lo soportaré, pero esto es algo que me gustaría abordar.¿Cuál es la mejor manera para que un programador se acerque a aprender un nuevo idioma?

Cuando voy a aprender un nuevo idioma, parece que la mayoría de los recursos de aprendizaje están dirigidos al nuevo programador. Luego termino leyendo el tutorial "detallado" o algo así y me aburro. Tiendo a sentir que estoy perdiendo mucho tiempo con cómo funciona una variable, cómo funcionan los tipos de datos y otras cosas básicas. Todas estas son cosas importantes, pero puedo manejar la terminología técnica y no necesito que se descompongan las cosas para mí como lo haría un principiante.

También siento que si me sumerjo en un proyecto, aprenderé los malos hábitos y no obtendré todo el beneficio de aprender un nuevo idioma. Seguiré haciendo cosas utilizando los paradigmas que ya conozco y pirateándolos para trabajar en el nuevo idioma.

Entonces, mi pregunta es: ¿Cuál es la estrategia que ha encontrado más útil para aprovechar al máximo un nuevo idioma? ¿Cuáles son algunos consejos que has aprendido?

+2

¿Ves esas preguntas "relacionadas" a la derecha? Lee algunos de ellos. –

Respuesta

3

Escribir código. Obtendrá más de un libro si tiene incluso un poco de experiencia en el uso del idioma.

Puede comenzar por portar el código desde otro idioma para que se centre en la sintaxis del nuevo idioma en lugar de los algoritmos. Su primer puerto probablemente sea demasiado directo, pero está bien. Luego, después de que haya aprendido más sobre su nuevo idioma, regrese y vuelva a portar su código, esta vez usando los modismos del nuevo idioma.

0

Implemente las bibliotecas estándar del idioma. Casi siempre se escriben en lo que se considera la mejor práctica para ese idioma, y ​​lo pondrán rápidamente al tanto de lo que es bueno y de las funciones avanzadas de ese idioma.

+2

Una implementación de la biblioteca estándar de envío puede tener objetivos diferentes a los del código de la aplicación para principiantes; por ejemplo, el rendimiento puede valorarse sobre la legibilidad y la comprensibilidad. Además, la biblioteca estándar del idioma puede ser demasiado grande para que una persona la implemente por completo en un período razonable de aprendizaje. –

2

Para idiomas fáciles Paso por un tutorial de propósito general, luego empiezo a escribir alguna aplicación con él. Si siento que necesito usar una biblioteca o técnica específica, hago un tutorial para ese código. Aprendo más al resolver problemas prácticamente. Hice esto con Ruby.

Con un lenguaje más difícil, podría comprar un libro, pasar 6 meses revisándolo, leer la lista de correo, etc., y luego intentar mantener un software de código abierto en ese idioma antes de iniciar una aplicación desde cero . Esto es lo que estoy haciendo con Haskell.

+0

Aquí hay un buen ejemplo de un tutorial para PHP framework. Aunque molesto de pasar, ayudó a entender las piezas del marco. http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ ** Sé que la pregunta es sobre idiomas, pero aprender marcos no es muy diferente –

3

Hay un tutorial para Python llamado Dive into Python que trata exactamente el problema que describes: explicar la sintaxis específica de Python a personas que ya conocen los principios básicos de programación y buceo directamente en el código en lugar de tener largas introducciones.

Debería buscar un libro similar para el idioma que está tratando de aprender.

+0

He leído y disfrutado mucho. – Icode4food

1

He leído la especificación de idioma. Hay algo que necesito saber y nada superfluo. Después de eso tomo un ejemplo de programa y comienzo a modificarlo y extenderlo hasta que empiece a familiarizarme con el nuevo idioma. Luego empiezo a escribir mis propios programas con él.

1

Escuchar a este podcast:
http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/

Dave Thomas habla de lectura de códigos y la arqueología.Por ejemplo, lleva a los desarrolladores de Ruby a través del compilador Ruby, leyendo el código fuente, aprenden muchos detalles significativos sobre el lenguaje.

Puede que este no sea su primer paso, pero debe ser parte de su enfoque general de aprendizaje.

Cuestiones relacionadas