¿Es mejor estudiar un lenguaje de programación que pensar en un proyecto que quiero hacer, o simplemente hacer un tutorial y aprender de ahí?

Depende si ya tienes un proyecto. Si recién está comenzando, entonces la elección es simple: primero, un tutorial para comenzar a jugar y ganar algo de confianza antes de abordar un proyecto en el que está emocionalmente involucrado, lo que le brinda razones para no darse por vencido cuando las cosas salen mal con su proyecto. como en “esta decisión de diseño de mierda que tomé ahora me impide ir más lejos sin una reescritura importante”). O agáchese y ensucie su proyecto, aprenda sobre la marcha y haga CADA mala decisión posible.

Este último me enseñó muchos buenos hábitos. Sin embargo, debido a que aprendes de la manera más difícil y te derriban, te sentirás desanimado.

Ahora, si ya tiene experiencia en un lenguaje similar o al menos en programación, es posible que el tutorial no sea necesario. Obtenga una referencia de idioma en su tienda local y codifíquelo. Una advertencia, sin embargo. Esto no funcionará si empiezas en un nuevo paradigma. Por ejemplo: venir de un fondo de procedimiento y saltar primero en un proyecto de programación funcional es suicida. Si este es el caso, tutorial todo el camino.

Creo que siempre debes comenzar con un buen libro o tutorial si puedes encontrarlo. Si es bueno, mostrará cómo hacer el tipo de programa más simple que realmente hace algo (como “hola, mundo”) y luego gradualmente agregará funciones desde allí, con suerte en este orden: entrada y salida, toma decisiones complejas, realizar acciones repetidas (estructuras de control), y almacenar datos complejos.

A lo largo del camino, si el libro es realmente bueno, presentará proyectos pequeños e interesantes en los primeros momentos y lo desafiará a hacer variaciones sobre ellos. Este es el enfoque en mi libro, C ++ sin miedo .

Pero eventualmente, querrá dar el paso y crear proyectos más avanzados por su cuenta. Con suerte, tiene una buena fuente para buscar explicaciones de las características que necesitará y explicarlas.

Algunos proyectos avanzados a considerar:

  • El juego de la vida de Conway, uno de mis favoritos.
  • Una base de datos que almacena información en un área que le interesa.
  • Un juego de video póker. Tendrá que dominar la aleatorización y la simulación de dibujar cartas de una baraja, que es notablemente diferente de los dados rodantes. Finalmente, deberás descubrir cómo determinar las manos de póker. (Aunque esto está en mi libro!)
  • Un programa de “psiquiatras” que responde preguntas escritas en inglés y responde preguntas como “¿Cómo te sientes al respecto?” De una manera diseñada para convencer al usuario de que la computadora está siendo operada por una persona real en el otro extremo del una linea de comunicacion
  • Un programa de conteo de palabras, que analiza el contenido de un archivo de texto y luego informa los resultados en el orden de las palabras más frecuentes.
  • Codificación Huffman. Este es un programa realmente avanzado, pero es el tipo de cosas que necesita dominar para obtener un trabajo en Microsoft.
  • Un árbol binario de trabajo. Los algoritmos de equilibrio de árbol son difíciles, pero otras operaciones (inserción, eliminación, inquries) no son demasiado difíciles, una vez que domina las redes en memoria … que requieren punteros, direcciones o referencias.

Realmente no importa si aprendes el idioma de un libro o a través de tutoriales en línea o incluso resolviendo problemas simples y construyendo cosas (aunque creo que resolver problemas y construir cosas son mejores formas de aprender). Pero con todos estos métodos, estarás construyendo cosas con alguien que te diga lo que debes hacer, paso a paso. Y esto es útil pero no suficiente. Debe aprender los conceptos básicos del idioma de cualquier manera disponible, y mientras aprende, piense en las cosas que puede hacer con lo que aprendió hasta ahora y trate de hacerlo sin tutoriales. Y piense en algo que quiera construir e intente construirlo todo por su cuenta.

Esto no solo te hará un desarrollador mucho mejor, sino que también te enseñará qué hacer cuando estás atascado, cómo buscar una respuesta y cómo obtener ayuda.

Será frustrante, pero merece la pena.

Debes comenzar con un tutorial o un libro introductorio, porque debes obtener lo básico de algún lugar. ¡Sin embargo, debes poner ese proyecto en tu cabeza lo antes posible! Ya que no hay mejor manera de aprender programación, que escribir código. Lo he hecho muchas veces con un nuevo lenguaje o habilidad porque simplemente no puedo “envolver mi cerebro alrededor de él” hasta que lo probé y fallé y lo intenté una y otra vez. Eventualmente, el éxito te permitirá saber que has aprendido algo, ¡pero fueron los fracasos los que te lo enseñaron!

  • Para un mejor agarre de tus habilidades, sigue aprendiendo junto con un proyecto. Eso lo hace más hábil a medida que avanza por los diferentes aspectos de la codificación que es menos probable encontrar en los ejemplos de codificación normales.
  • Una especie de satisfacción de que usted haya hecho una contribución / completado todo el proyecto, aumentará su confianza.
  • O mejor alternativa, verifique sus habilidades después de completar su curso en sitios competitivos de codificación en línea como http://www.codechef.com , etc.

Creo que el primero es mucho mejor. Al menos después de un poco de la segunda.

Creo que cualquier tipo de aprendizaje se vuelve más eficiente, más rápido y más profundo cuando tienes sed de él. Tan pronto como aprendió los fundamentos básicos del lenguaje de programación al verificar algunos ejemplos o tutoriales, es el momento de definir un proyecto por sí mismo y comenzar a aprender cosas para resolver sus complejidades una por una. cuando trabaja en su propio proyecto, que en realidad es su propio sueño, tiene un fuerte deseo de aprender cosas nuevas; algo que rara vez se encuentra en hacer tutoriales.
y no importa si el proyecto definido termina o no; Lo más importante aquí es su proceso de aprendizaje que avanza con pasión pura. Este es tu verdadero proyecto .

Depende del tipo de aprendiz que seas. Personalmente, comencé con un ‘Quiero poder construir esto’, y luego fui y averigüé qué idiomas necesitaría para hacer ese proyecto. Otras personas que conozco aprendieron primero los idiomas, luego buscaron proyectos sin propósito para hacer con ese lenguaje, incluso preguntando a las personas si tenían alguna idea sobre qué hacer con él.

Como han dicho los demás, depende.

Independientemente del enfoque que adopte, lo aliento a encontrar varios buenos repositorios de códigos y tutoriales. GitHub es genial y el código del cañón también tiene cosas buenas.

Otra opción a considerar es elegir un pequeño proyecto que esté creando algo que desee conservar o reutilizar. La razón por la que digo poco es que es realmente fácil morder más de lo que puedes masticar y atascarse y no terminar. Si puedes encontrar un pequeño proyecto que te guste, puedes buscar tutoriales que hagan lo mismo o algo muy similar. Luego, puede realizar el tutorial y realizar pequeños cambios para personalizarlo para su proyecto.