it-swarm-es.com

¿Cómo se aprende un nuevo lenguaje de programación?

Soy desarrollador de C++ con buena experiencia. Cuando trato de aprender un nuevo lenguaje (he probado Java, C #, python, Perl hasta ahora), generalmente tomo un libro e intento leerlo. Pero el problema con esto es que estos libros generalmente comienzan con algunos conceptos de programación muy básicos, como bucles, operadores, etc., y pronto comienzan a ser muy aburridos. Además, creo que obtendría solo el conocimiento teórico sin ningún conocimiento práctico sobre cómo escribir el código. Entonces mi pregunta es ¿cómo abordas estas situaciones? ¿Te saltas los capítulos si está explicando algo básico? Además, ¿tiene algún conjunto estándar de programas que intentará escribir en cada nuevo lenguaje de programación que intente aprender?

20
Naveen

Básicamente escribiendo código en ese idioma.

Debe tener una buena aplicación de ejemplo para estudiar/modificar; de lo contrario, comenzará con el pie equivocado y es posible que nunca se recupere. Hace años decidimos usar Ada para nuestro próximo producto, pero como todos usamos FORTRAN en el producto anterior, terminamos creando construcciones FORTRAN en Ada. Realmente nunca nos recuperamos de eso.

Tener acceso a la documentación y al desbordamiento de pila es esencial; de lo contrario, se perderán las características importantes del lenguaje. En ese sentido, descubra quiénes son los gurús en el idioma y lea sus blogs, a menudo discutirán las nuevas características de un lenguaje/marco y también las áreas más oscuras que nunca encontrará por sí mismo. Si no puede averiguar quiénes son, ¡pregunte aquí!

En un mundo ideal, me gustaría aprender solo por un tiempo y luego ser evaluado, pero nunca lo he logrado aún.

21
ChrisF

No intente leer sus libros de programación de adelante hacia atrás en una o varias sesiones. Usualmente tomo un libro y leo poco a poco, generalmente no más de 10 páginas, y para libros particularmente densos, solo un par de páginas. Para los libros "suaves", puedo leer mucho más, pero trato de evitarlos en primer lugar.

Si, como en su caso, ya puede codificar en un lenguaje similar, comience con una aplicación de consola simple o algo así y haga pequeños ejercicios como

  1. Leer/escribir algo de/a un archivo
  2. Una pequeña aplicación de consola de lista de tareas
  3. Prueba todas las características del lenguaje mientras lees sobre ellas
  4. y así sucesivamente
10
µBio

Todavía no he encontrado un libro que me haya ayudado mucho a aprender un nuevo idioma. Los "Patrones de mejores prácticas de Smalltalk de Kent Beck" se acercan, pero ya podría haber entorpecido escribiendo algo (en Smalltalk, quiero decir) para cuando lo lea.

La primera regla es JFDI. Piense en alguna aplicación, juguete, problema, lo que sea, algo manejable, por supuesto, y tan razonablemente simple/pequeño, e intente escribirlo. Te encontrarás constantemente "pero ¿cómo ...?" preguntas, que al menos considero que son la mejor manera de aprender cualquier cosa.

Entonces, ¿cómo respondes esas preguntas? Ve al acecho en la comunidad de ese idioma. Lee su documentación. Lea los atrasos para su listas de correo . Chat en su canales IRC . Pronto descubrirás quiénes son los alfas. Lee sus blogs. Presta atención a lo que dicen los practicantes experimentados y prepárate para equivocarte.

6
Frank Shearar

Obtenga una visión general amplia del idioma leyendo el manual completo; Parece tedioso, pero le dará una visión general del idioma, incluso si no comprende la mayor parte de la parte. Este consejo está en contra de lo que dice 'BioBuckyBall' arriba, pero si el manual del idioma es pequeño, puede completar el libro fácilmente en un par de días. El punto principal es "entender" la esencia del idioma; en algún momento de la lectura, ¡todo el concepto del lenguaje simplemente "hace clic"!

Luego cree un pequeño proyecto en el idioma en el dominio que ama. Inicialmente no intente profundizar en los detalles. Por lo general, si estoy aprendiendo un nuevo idioma, trato de crear algunas funciones o clases relacionadas con las estadísticas: como la desviación estándar y los promedios. Esto me lleva rápidamente a matrices, iteraciones y tipos de datos. Al aprender un idioma diferente, intente nuevamente estos mismos ejemplos, que le permitirán comparar la sintaxis y la semántica de los diferentes idiomas en el mismo dominio del problema.

4
sameer
  • Lee un libro

  • Escribe un código

  • Si tiene alguna duda/problema, consulte Pila - Desbordamiento

  • Repetir

4
Chankey Pathak

Me gusta aprender primero sobre los fundamentos del lenguaje, como el sistema de tipos, etc., para tener una idea de cómo funcionan las cosas y ver un ejemplo básico sobre cómo se ve el código. Mi forma preferida de hacerlo es leer un libro y me refiero a un libro real que puedo leer mientras estoy acostado en la cama o donde quiera. Los conceptos básicos deben explicarse en un máximo de 100 páginas, preferiblemente en mucho menos. Si no hay un libro disponible, trato de encontrar la información en Internet.

Obviamente, leer todo el libro es una pérdida de tiempo, porque no entenderá los temas más avanzados sin ninguna experiencia práctica. En el trabajo, generalmente ya hay un código para trabajar, por lo que en ese caso empiezo a trabajar en la tarea en cuestión. Aprendo poco a poco leyendo lo que otros han hecho y si me encuentro con un problema, trato de buscar en Google la respuesta o ese error, preguntar a un compañero de trabajo. Después de haber estado trabajando un tiempo, trato de terminar el libro.

Si tengo que comenzar desde cero, comienzo por hello world, luego intento ingresar desde el teclado y el manejo de archivos. Dependiendo del idioma, podría hacer algún ejercicio de IU. Después de eso, comenzaría a programar el programa "real".

3
Carlos

Hay un libro que realmente disfruto. Se llama "Siete idiomas en siete semanas" , y tiene como objetivo enseñarle ... siete idiomas en siete semanas.

Es una forma divertida de ver idiomas muy diferentes, y las fortalezas y debilidades de cada uno de ellos. Para cada idioma, el libro trata un problema no trivial.

Por supuesto, el libro no es una referencia profunda para ninguno de los idiomas, pero muestra lo esencial de ellos.

Los idiomas cubiertos son Ruby, Io, Prolog, Scala, Erlang, Clojure y Haskell.

2
helgeg

Mi enfoque es simplemente comenzar a escribir en el idioma seleccionado, encontrar el proyecto favorito y hacerlo. Lea muchas muestras, verifique el código de otros, revise una fuente de proyecto más grande, encuentre lo que no entiende y léalo en los documentos. Actualmente estoy aprendiendo F # y compré el libro - Expert F # - Me resulta increíblemente difícil enfocarme y leerlo todo sin tener que usarlo. Pero aquí no solo hay un nuevo lenguaje, ese es todo el cambio de paradigma de imperativo a funcional.

2
radekg

Los libros de Bruce Eckel "Pensando en ..." son bastante buenos si cambias de C++/C #/Java ...

Python y Perl tienden a estar menos relacionados, por lo que es más recomendable comenzar desde lo básico allí,
o tendrá que encontrar un tutorial que se base explícitamente en el supuesto de que sabe programar.

2
Tamara Wijsman

Actualmente estoy aprendiendo Ruby usándolo para resolver problemas Proyecto Euler . Principalmente trabajo en C incrustado (también algunos PHP) y C #) en mi trabajo de 9-5, así que las cosas Ruby) son solo para expandir mis horizontes un poco. Recogí un par de libros Ruby, luego instaló un buen IDE .

1
tcrosley

Tienes muchas formas de aprender un nuevo lenguaje de programación. Yo iría con este método:

  1. Elija el lenguaje de programación que desea aprender primero
  2. Lea libros al respecto y vea buenos tutoriales en línea
  3. Conéctese a un repositorio de código fuente abierto en línea y descargue algunos proyectos
  4. Use los libros y su cerebro para conectar los puntos con el código de la "vida real" del repositorio de códigos

De esa manera, aprenderá el lenguaje en sí y podrá ver cómo se usa en la "vida real".

Lo más importante: no intentes aprender más de UN idioma a la vez. Lo arruinarás.

0
cseder