¿Cuál es la forma más efectiva de aprender un lenguaje de programación, documentación o un libro?

Eso realmente depende de las circunstancias:

  • Si usted es un principiante, entonces aprender un idioma es más efectivo como parte de un plan de estudios más amplio de informática, de la misma manera que aprende a usar las máquinas herramienta como parte de una clase de taller, no a una clase de “sierra de mesa”. Sí, pasará unos días (o semanas) en el uso de una sierra de mesa, pero en el contexto de diseño y construcción de un gabinete, una silla, o lo que sea.

Si ya tiene algunos conocimientos y habilidades en informática, y conoce algunos idiomas, aprender el siguiente idioma es bastante fácil (suponiendo que esté familiarizado con el paradigma subyacente):

  • Si está intentando depurar un código de código abierto (para eso, probablemente pueda leer el código sin ningún estudio), pero consulte la documentación de referencia para comprender la sintaxis detallada de los operadores individuales.
  • Por otro lado, si necesita desarrollar software en un nuevo idioma (por ejemplo, su nuevo empleador está basado en Java, pero está más familiarizado con C), entonces un buen libro le puede dar una descripción general (conceptos básicos, cómo son los programas). estructurado, utillaje). Después de eso, me encuentro escribiendo pseudocódigo, o en un lenguaje que ya conozco, luego traduzco (todavía pienso en Fortran, pero luego es bastante trivial convertir un bucle do a un bucle while si estoy usando c o Java) – Es útil tener un manual de referencia a mano para asegurarse de que uno obtenga las nits sintácticas correctas.

Y luego está el caso en el que uno está aprendiendo un idioma en el contexto de un dominio de aplicación. Por ejemplo, usted es un analista financiero que desea crear una hoja de cálculo más complicada, o tal vez analizar un gran conjunto de datos, o un químico que desea programar un instrumento de laboratorio. No te estás convirtiendo en un programador o desarrollador, estás tratando de lograr algo muy limitado.

  • La mayor parte de su codificación será en términos de la aplicación, ya sea escribiendo fórmulas o listas de configuraciones y operaciones de instrumentación. Dependiendo de sus herramientas, es posible que no necesite mucho más que una guía de referencia rápida (por ejemplo, ¿cómo dice “raíz cuadrada” en una declaración de Excel?).
  • Para herramientas más complejas, tal vez un buen libro o tutorial pueda ser útil: por ejemplo, una introducción a MATLAB, o cómo construir hojas de cálculo complicadas, cómo importar datos a Excel (es decir, una introducción a bases de datos y SQL). Escribir una rutina estadística en R podría requerir un estudio más profundo de cómo programar en R.
  • Y luego es posible que necesite algo que sea más específico de la aplicación (por ejemplo, cómo analizar señales mediante la FFT).

Ninguno. Un enfoque pragmático es:

  1. Trata de resolver los problemas con la carrera.
  2. Y luego vea el manual / libro para ver si puede.

En serio. Esto es lo que mi amigo CrisZ apareció el otro día:

Se ha descubierto una nueva especie y estamos tratando de entender su forma de comunicación. Entonces, comenzamos identificando su alfabeto. El Sr. Brown logró robar un vocabulario que tiene palabras en orden ascendente y un equipo ya identificó las letras. Por lo tanto, ahora hemos ordenado palabras como secuencias de números, imprima cada letra una vez en orden ascendente.

[3,2]
[4,3,2]
[4,1,1]
[1, 2]
[1, 1]

alfabeto: [3, 4, 2, 1] – ChrisK 07 de julio de 2017 en Estados Unidos | Informe duplicado | Bandera

Resuelve eso, y eres realmente bueno para ir, en la mayoría de los casos.

Aprendo nuevos idiomas al saltar. Comienzo con la documentación y las búsquedas en Google. Pero trata de escribir un “Hola Mundo” desde el principio. Una vez que hayas hecho eso, sabes cómo construir un programa en ese idioma. A continuación, trato de variables, bucles y condiciones. Ahora sé lo suficiente del lenguaje para empezar a buscar bibliotecas y marcos de soporte. Ahí es donde la masa de trabajo está en aprender un nuevo idioma.

Eso varía de persona a persona. Prefiero aprender leyendo un libro o una guía del usuario de algún tipo para obtener una visión general y luego leer cuidadosamente la guía de referencia de la documentación para obtener más detalles.

¿Por qué demonios querrías limitar las fuentes de información? Todos los diversos recursos tienen sus propios atributos, fortalezas y debilidades. En combinación, obtienes la mejor cobertura y la mejor entrega. Veo este tipo de preguntas todo el tiempo, y simplemente no lo entiendo.

Ninguno.

La mejor manera de aprender un lenguaje de programación es usarlo.

Elige un problema, empieza a resolverlo, así es como aprendes.

Una combinación saludable de ambos. Además, probar cosas con lo que aprendes es la forma más rápida de comprender un idioma.

Empieza a usarlo para un proyecto que te importa.