¿Cuál es la mejor manera de aprender programación? Cada esfuerzo que hago solo va en vano.

Aquí hay una respuesta muy breve, ya que estoy muy ocupada con la programación.

Creo que la codificación es más sobre algoritmos, en lugar de sintaxis.
Para abordar un problema, primero debe tener un algoritmo sólido en la mano.

Una vez que lo tengas, puedes escribirlo en cualquier idioma con Google Googlear.

Pero cómo crear este algoritmo.
He visto a muchas personas fallar en este aspecto más importante de la programación.

Aquí está mi consejo.

Siempre intente escribir un algoritmo observando cómo su mente humana se acerca a él.

Por supuesto, su mente ha evolucionado y resuelve muchos problemas, como clasificar los números de forma trivial, pero trate de pensar en el momento en que se enteró de cómo clasificar los elementos según su tamaño.

Cómo observaste el tamaño de cada artículo, y cada vez que vieras un artículo más grande que los que habías visto antes, tomarías nota de eso en mente.

De lo que repetirías el proceso.

Así que todo se reduce a desglosar cómo su mente humana realiza una tarea, y luego simplemente escribir un algoritmo basado en eso.

Además, no toda la programación es dura. En mi humilde opinión, creo, hacer una aplicación como Instagram es una tarea más fácil, que escribir aplicaciones como Mathematica, Quantum Espresso, etc.
Estas aplicaciones dependen en gran medida de la escritura de los mejores / más rápidos / más baratos algoritmos, para realizar los cálculos en el mínimo tiempo utilizando los menos recursos. (Incluso las supercomputadoras pueden tardar unos minutos en resolver algunos de los problemas matemáticos / científicos)

Esto hace que tus habilidades de programación sean mejores.

Por otro lado, uno puede permitirse el lujo de hacer un poco de holgura si están creando un juego, ya que pueden decir que el juego requiere un mínimo de 16 gigas de ram y un procesador de cuatro núcleos. No les importa (necesitan) si pueden hacer la misma tarea de una mejor manera.

En resumen, le recomendaría que practique la creación de sus propios algoritmos para una gran cantidad de problemas matemáticos disponibles. Eso agudizaría tu mente como programador.

Si pudieras decirme en qué nivel estás en programación, quizás te pueda recomendar algunos problemas.

¡Buena suerte con la codificación!

EDITAR:

Me gustaría agregar algunos datos interesantes que tal vez no sepan. No tiene que preocuparse por multiplicar / sumar números en los lenguajes de programación. Pero alguna vez se preguntó, ¿cómo crearía un algoritmo que haga esta tarea trivial extrema?

Verás que la multiplicación es solo una suma (hecha varias veces). Así que uno puede escribir el código para la multiplicación utilizando la función de suma.

Entonces la división es solo una resta realizada varias veces. (También notaron cómo desglosamos el problema de la división y la multiplicación en la forma en que lo hicimos cuando lo aprendimos por primera vez en la escuela primaria. Ahora que su mente puede hacerlo de varias maneras).

Ahora el siguiente problema es cómo realizar la adición?

La respuesta está todo en el circuito. ¡SÍ! Quiero decir, no sé si todavía es la manera de hacerlo o no, pero así es como he conectado los puntos.

Verá, tuve un curso sobre sistemas digitales, donde construimos un circuito para realizar sumas y restas. Tuvimos que encargarnos de todas las prórrogas, etc.

Luego tomé un curso sobre programación de microprocesadores. Ahora, curiosamente, el microprocesador 8085 tenía una función para la adición incorporada. Y, en mi opinión, deben haberlo hecho de la forma en que lo dije (con un circuito digital de suma y sustracción).

Entonces, verán cómo hemos logrado crear sistemas tan complejos y avanzados utilizando circuitos simples y básicos.

Otra cosa interesante que se debe saber es el circuito NAND (Logic Gate).

Curiosamente se puede utilizar para crear cualquier circuito lógico.

Entonces, ¿cómo crear este circuito NAND (puerta)?

Lo haces creando una compuerta AND usando diodos, y luego aplicas un NO creado usando un transistor.

Así es como empezó todo:

1. Los instrumentos de Texas revolucionaron la industria digital al proporcionar transistores y otros elementos semiconductores.

2. Estos fueron utilizados para construir una puerta NAND simple.

3. Las compuertas NAND se pueden usar para construir cualquier otra compuerta lógica, realizando así un Circuito SUBTRACTOR ADDER.

4. Los microprocesadores, por lo tanto, pueden realizar sumas / restas, y con un poco de codificación, multiplicación / división.

5. Y todo simplemente BOOMED desde entonces.

Lo anterior es solo mi propia inferencia de cómo surgió el mundo informático (principalmente matemático).

Por supuesto, tal vez esté equivocado, pero la secuencia anterior, una vez que lo sepa, puede usarse para construir su propio microprocesador.

Por supuesto, necesitarías mucho más conocimiento sobre memorias, registros, contadores, etc.

La mejor manera de aprender programación es estudiar y practicar lo que estudiaste.

Aquí hay un sitio que te ayudará a aprender programación.

Hackr.io – Encuentre y comparta los mejores cursos y tutoriales de programación en línea