¿Es un mal hábito entender todos los conceptos de un libro de programación antes de trabajar en un proyecto paralelo?

Si y no. Sí, es un mal hábito no escribir ninguna línea de código al aprender nuevos conceptos. No, no es necesario comenzar un proyecto paralelo al principio.

La mayoría de la gente realmente entiende los temas haciendo. También es más rápido probar conceptos para comprenderlos. De lo contrario, corre el riesgo de creer que entiende un concepto, pero no lo hace bien o de que le faltan detalles importantes. Pero a menudo esto se puede hacer con pequeños trozos de código de juguete y, a menudo, no es necesario comenzar un proyecto paralelo al principio.

Usualmente escribo código de prueba cuando aprendo nuevos conceptos, tanto pruebas de unidad como funcionales. Y mantengo estas pruebas en un repositorio. Las ventajas de hacer eso es que las pruebas permiten comprobar realmente si entendí bien los conceptos, y si luego veo algunos ángulos pasados ​​por alto, puedo volver a ese código de prueba y agregar nuevos escenarios. También ayuda a guardar código de ejemplo en algún lugar para reutilizarlo en futuros proyectos a gran escala.

Realmente trabajar en un proyecto real puede no ser necesario cuando se lee un libro. Los libros solo te llevarán hasta ahora, de ahora en adelante los proyectos reales son necesarios, pero leer un libro tampoco debería tomar mucho tiempo.

Es probable que en última instancia sea contraproducente para su tasa de aprendizaje para no escribir código mientras se aprende. Muchos conceptos en la programación, e incluso aspectos únicos de un lenguaje dado, se construyen unos sobre otros. Escribir algún código e interactuar con el idioma, o mensajes de error del compilador, será informativo para conceptos posteriores.

Tanto la práctica como la gramática son necesarias. Pero no hay un orden particular que funcione para cualquiera de la misma manera.

Aprender toda la “gramática” sin “hablar” una palabra me parece más lento que mezclarlos … pero es una opinión subjetiva.

He tenido gente trabajando para mí hacerlo de dos maneras:

El grupo 1 tardó semanas en familiarizarse con el código y los marcos antes de que escribieran una sola línea.

El grupo 2 tomó tareas simples el día 1 o 2 y luego les seguí asignándoles tareas cada vez más difíciles.

Lo que observé es que el primer grupo no lo hizo mejor que el segundo grupo, y les tomó más tiempo aprender las herramientas. También descubrí que después de todo lo que aprendieron y comienzo a darles tareas, a menudo tengo que enseñarles cómo se hacen las cosas de todos modos. Si hice la capacitación inicial, todavía tendré que repetir lo que enseñé temprano, así que Fue una pérdida de mi tiempo.

Por lo tanto, prefiero a las personas que tienen un enfoque práctico para aprender. Personas que realmente harán los problemas mientras hacen un tutorial.