¿Estoy aprendiendo programación de la buena manera?

Este es un muy buen enfoque si tiene algún conocimiento básico de programación. Si usted es un principiante y no tiene conocimientos de programación, le recomiendo comenzar con algunos algoritmos básicos como clasificación, palíndromo, etc. Trate de escribirlos en pseudocódigo y después de que realmente haya entendido cómo funcionan, elija un lenguaje de programación para implementarlos. Después de este paso, debe aprender acerca de las estructuras de datos como gráficos, árboles, tablas hash y nuevamente intentar codificar algunos ejemplos. Luego puede pasar a algunas cosas reales, como aprender algunos principios de programación, paradigmas orientados a objetos, patrones de diseño y arquitectura .

Es muy importante elegir un proyecto que te guste para mantenerte interesado. Divida el proyecto en tareas y luego divida cada tarea en subtareas más pequeñas que no le llevará más de una o dos horas completarlas. Al principio, puede seguir el principio KISS (Keep It Simple Stupid) y, cuando se sienta preparado, haga algo de refactorización y optimización, pero nunca olvide que “la optimización prematura es la raíz de todo mal (o al menos la mayoría) en la programación”. (Donald Knuth). Elegir un buen IDE también puede ser muy útil.

Sea curioso, estudie mucho y no tenga miedo de preguntar a otros y buscar en Internet.

¡Buena suerte!

Lo estás haciendo bien. Un problema en la educación de programación, especialmente en las culturas que valoran la memorización, es la noción de que de alguna manera eres un mejor programador si no estás buscando cosas. Solo sigue codificando y sigue buscando cosas cuando las necesites. Todavía lo hago por lo menos cada hora, después de más de 30 años de programación.

Una adición sería tratar de trabajar con otros programadores, con suerte más experimentados, y hacer que comenten sobre su código y sus enfoques de diseño.

Es mejor pensar en la programación como un oficio que aprendes haciendo, así que aprendes tanto al hacerlo como a otros programadores que critican tu trabajo. Y no siempre acepten sus críticas como verdad absoluta; puedes y debes estar en desacuerdo con ellos a veces, pero aprende por qué están haciendo sus críticas.

En cuanto a “innovador”, la gran mayoría de los códigos no lo son. Es suficiente que tu código resuelva un problema que consideres interesante.

Estás en el camino correcto.
a) Escriba el código, descubrirá que su paso (1) se volverá lentamente poco a poco más ambicioso.
b) Analice y planifique, descubrirá que usará menos papel y papel para el paso (2) y comenzará a escribir su esqueleto directamente en el código (pseudocódigo comentado), luego llame a las funciones yet-t-be-be-write.
c) Escribir código y probar cada paso. descubrirá que el paso (5) de buscar en la documentación se mueve desde stackoverflow, a manual de usuario, a referencia a foro, a google, …
d) Prueba hasta que sea utilizable. Descubrirá que la fase de prueba de (4) crecerá y la fase de lanzamiento disminuirá.

* Puedes mejorar el uso del código que escribiste hace 6 meses para comprender que no puedes leer tu propia producción si no pusiste algunos comentarios y documentación. Esta es la única manera de entender qué documentación escribir.

* Usted puede mejorar en la escritura de casos de prueba, mientras que en la fase (1). Esto es magia. Pruébalo una vez que no creas.

* Reemplazar la fase (1) por un caso impuesto. Luego por ejemplos de la vida real. Luego por los proyectos por los que te pagan. Luego por proyectos tienes que trabajar en equipo.

Para entonces, ustedes nos enseñarán.

En primer lugar, la forma en que estás aprendiendo suena muy bien. Nada de esto “Tengo que seguir estos 99 pasos y luego seré el programador definitivo” en la dependencia del programa / curso. Probablemente el 90% del tiempo, el aprendizaje basado en proyectos es el mejor, el más rápido y el más completo. La única excepción aquí es tener una idea del campo de juego para que sepas lo que hay ahí fuera. Hay un montón de metodologías con las que podría relacionarse que lo ayudarán a largo plazo, pero no necesita todas para aprender.

En segundo lugar, en términos de buscar en Google / buscar en StackOverflow, etc. Todos lo hacen. Todo el mundo. Constantemente. Lo que no debe hacer es simplemente buscar grandes trozos de código para copiar en su proyecto y asumir que harán el trabajo de manera adecuada y segura solo porque, sin entenderlo. Pero si estás perplejo o no puedes recordar cómo hacer algo, entonces hazlo.

A medida que se vaya acostumbrando a un idioma, utilizará cada vez menos Google / StackOverflow. A medida que construye su proyecto, puede hacer referencia a otras partes de su código para saber cómo hacer algo y aprenderá los problemas específicos que puede encontrar en un idioma y cómo resolverlos. Pero eso lleva tiempo, así que busca lo que necesites en Google. La capacidad de hacerlo correctamente y de encontrar rápidamente las respuestas correctas es un conjunto de habilidades en sí mismo.

Puedo recordar cuando Google / StackOverflow no era tan útil como lo es ahora. No estaba acostumbrado a los problemas de Google porque no ayudaba mucho para la codificación. Así que, en cambio, yo (y todos los demás) a menudo teníamos libros de referencia con índices largos (hablando de usted, O’Reilly) y guías rápidas o estas hojas con comandos comunes y otras cosas. Nada ha cambiado en términos de personas que buscan información, la única diferencia es que la forma en que puede obtener información es mucho más rápida y completa.

Sí, suena como un muy buen enfoque.

Usar Google / StackOverflow es una parte normal del proceso de desarrollo, las API son demasiado grandes ahora para recordarlas todas.

La documentación de referencia es, de nuevo, totalmente normal y alentadora. Parece que hay una actitud entre algunas personas que necesita recordar todo, conozca por lo menos 900 algoritmos desde el principio, cualquier referencia es un signo de debilidad y es una absoluta tontería .

El objetivo de la codificación es un acto de creación, que parece que realmente estás haciendo, lo cual es inusual y genial .

No se preocupe por la codificación ‘innovadora’, nadie está haciendo un trabajo ‘innovador’ fuera de una pequeña, pequeña cantidad de organizaciones.

Aprende los principales lenguajes de programación de hoy para poner en marcha tu carrera de codificación.
9 lenguajes de programación de vanguardia que vale la pena aprender ahora
Ejemplos de código de programación con C ++ CC # Java Php Asp Visual Basic
Learn Code The Hard Way – Libros y cursos para aprender a codificar
CodeAvengers

Lo estas haciendo bien. Esa es una buena manera de aprender a programar, ‘construyendo algo’.
Y no es un problema que estés usando más Google. De hecho, Google y StackOverFlow son tus mejores amigos mientras programan.

More Interesting

Mi vida es tan miserable. ¿Cuáles son las habilidades que uno puede aprender dentro de 2 meses para que pueda ganar algo para mantener financieramente a su familia?

¿Por qué siento que ya no puedo recordar nuevas palabras en inglés?

Soy analista de primer año en una pequeña empresa de capital de riesgo, siendo el único analista, no tengo una manera clara de comparar mi desempeño con mis compañeros o aprender de personas más importantes. ¿Qué hace que un analista de una estrella de rock y cómo debo actuar y aprender por mi cuenta para convertirme en un activo valioso?

Soy un chico del norte de la India que quiere aprender Tamil y Malayam. ¿Qué debo aprender primero y cómo?

Me piden que prepare una estructura organizativa y cualquier cambio planificado para 2015-2016. ¿Cuál es la mejor manera de mostrar la estructura de mi organización? ¿Qué cosas debo incluir?

Estoy interesado en el diseño de placa de circuito impreso (PCB). ¿Dónde puedo aprender más sobre esto?

Soy una adolescente interesada en la robótica. El nivel más alto de matemáticas que he tomado es álgebra II. ¿Cómo podría empezar a aprender sobre cómo hacer robots y programarlos?

No sé lo primero acerca de la codificación. ¿Dónde puedo empezar a aprender y cuáles son algunos consejos para principiantes?

Si creo que Git es demasiado difícil de aprender, ¿significa que no tengo el potencial para ser un desarrollador?

Actualmente estoy aprendiendo piano, pero no sé qué debo aprender primero. ¿Cuáles son algunas sugerencias?