¿Cómo aprenden a programar / programar la mayoría de los programadores?

¡Bueno, hola! Para averiguar cómo la mayoría de los programadores aprenden a codificar, deberá realizar una encuesta. Pero espero poder ayudar hablando por mí mismo.

Mi padre es un ingeniero de software. Nunca me sugirió que caminara por el mismo camino, pero me interesaba la ingeniería de software. Comencé cuando tenía 12 años, y eso fue hace solo seis años, por lo que la memoria aún está muy fresca. Además, nuestro mundo de programación no sería muy diferente, ¿verdad?

Por favor, permítame recitar mi experiencia.


Introducción a la programación

Mi primer lenguaje de programación real fue Small Basic de Microsoft, presentado por mi padre. Fue genial porque puedes mover una tortuga, hacer patrones y dibujos, y cosas simples. También traté de hacer que la computadora conversara conmigo (solo expresiones condicionales simples) y eso es lo que realmente me inició a programar.

Después de eso, fui más allá aprendiendo a codificar con la ayuda de la robótica. Personalmente, realmente ayudó porque uno puede realmente visualizar lo que está sucediendo en el programa, y ​​cómo afecta los resultados. Comencé con los kits robóticos de Fischertechnik, que están programados visualmente, y finalmente con microcontroladores, que deben programarse en C. Así que aprendí una buena primicia de C.

Cavar más profundo

Llegué a ser bastante bueno en robótica en la escuela secundaria, lo suficientemente bueno para meterme en competiciones nacionales, pero no lo suficiente como para ganarlas. Después de sentirme frustrado por perder todo el tiempo debido a errores mecánicos y eléctricos, decidí que solo me concentraría en la programación, mi parte favorita de todos los tiempos.

Cuando tenía alrededor de 14 años, aprendí el Actionscript de Adobe Flash (¡pruébalo!) E hice juegos con él. Me gustó porque puedes visualizar lo que hace la computadora, al igual que en robótica, excepto que no tienes que preocuparte de que la rueda de tu robot se salga cuando te prueban.

Al mismo tiempo, mi amigo (que era un año menor que yo, 13) me arrastró a su aplicación web: creó una red social utilizando JCow, una plantilla de redes sociales. Sorprendentemente, su sitio web se convirtió en todo un éxito, y fue invitado a muchos programas de televisión. En ese momento, no entendía muy bien lo que estaba haciendo, ¡pero me pareció increíble! Curioso, descargué JCow y traté de hacer uno yo mismo. Nunca lo publiqué, pero me dio una buena idea de cómo funcionan las aplicaciones web, y algo de conocimiento en HTML, CSS y JS.

A ponernos serios

Le pedí a mi padre que me enseñara algunas cosas, y él me enseñó a Python. En ese momento, no era nada interesante. No sabía qué podía hacer con eso. Me imaginé que con C, puedes hacer robots. Con Actionscript, puedes hacer juegos. Pero, ¿qué puedes hacer usando Python (o Ruby)? Mi padre demostró que puedes graficar ecuaciones complejas usando números, pero realmente no me impresionó.

Entonces, un día, encontré Stack Overflow . Estoy seguro de que ya estás familiarizado con el sitio en este momento, así que no me molestaré en explicarlo. Comencé haciendo una pregunta sobre HTML5, era una pregunta de nicho, pero impresionantemente, alguien analizó el problema muy a fondo y me mostró ejemplos sobre cómo debería hacerse. Y yo estaba … ¡Inspirado! De hecho, me resulta divertido ayudar a otras personas con su código. Y aprendí, mucho. Como sé un poco sobre Python, y ya entendí algo de algoritmos, intenté responder preguntas allí. Fue realmente divertido. Finalmente, obtuve la insignia de plata de Python y crucé 10k reputación en el sitio. En este momento, ya sé mucho sobre Python. Puedo hacer scripts, o incluso aplicaciones.

Un poco demasiado serio

Una vez, mi padre estaba guiando a un estudiante graduado para hacer su tesis, algo sobre el análisis de la información proporcionada por los agentes de viajes en línea. Cuando él estaba fuera de la ciudad, yo sería responsable de ayudar al estudiante graduado. No tenía mucha idea sobre la programación práctica, solo era bueno con las teorías. Yo, aprendí por la práctica, y nos complementamos bien. Aprendí algunas cosas y, lo que es más importante, se graduó a tiempo.

Como soy bastante bueno con Python, mi padre me empujó a hacer una pasantía. Aprendí sobre los sistemas bancarios centrales. ¡Ahora, después de un año, es trabajo de tiempo completo! Y la paga es bastante decente, también.

Para mejorar mis prácticas de programación, aparte de ser enseñado por personas mayores, leo algunos libros. Es mucho más difícil, así que lo leí muy despacio. Pero creo que estoy progresando, poco a poco 🙂


Esa es toda mi historia. Espero que no haya sido demasiado.

Code Academy es un buen lugar para comenzar. Puede darle una idea de qué es la programación y cómo se siente. Una vez que sientas que te gusta, haz experimentos! Haz experimentos con cosas que te puedan interesar. Para mí, estaba experimentando con robótica y animaciones. Moviendo cosas y juegos. Aprendí mucho. Algunos otros experimentaron con la web, el desarrollo móvil. Pregúntate, ¿qué quieres hacer?

Recomiendo preguntar a las personas con más experiencia que te enseñen cosas que quieres saber. No seas tímido y nunca seas arrogante. La mayoría de las personas estarían encantadas de enseñar lo que saben, porque se sentirán respetadas y reconocidas. Y, sin duda, aprender uno a uno te ahorrará mucho tiempo. Será una relación beneficiosa para ambos. Haz esto con mucha gente.

También sugeriría encontrar un lugar para practicar. Mi lugar era Stack Overflow y mi lugar de trabajo. Desbordamiento de pila es grande. Si no puede encontrar una empresa para una pasantía, intente con organizaciones sin fines de lucro. O incluso proyectos de sus mayores. El punto es que aprenderá mucho cuando sea dirigido por otros programadores más experimentados.

En cuanto al siguiente paso, no sé mucho. Me gusta este campo, y creo que también me voy a graduar. Estoy ansioso por saber cómo es la universidad, y espero tener más conocidos con los que pueda trabajar.

Vamos a averiguarlo juntos, supongo?

Lo más importante de la mayoría de nosotros de aprender o saber algo es estudiarlo por completo, por ejemplo: si quiero resolver las preguntas de pérdidas y ganancias, primero debería estudiar todo lo relacionado con eso en mi libro de texto, pero no es así. Con aprender un lenguaje de programación, bueno, al menos eso es lo que pienso.

Estoy compartiendo mi manera de aprender un lenguaje de programación, puede que te ayude o no, pero pruébalo

  • Debes tener un motivo para lograrlo. Como algún proyecto o algo así, aprendí java script, nodejs porque necesitaba desarrollar backend para mi proyecto, aprendí rápido porque necesitaba desarrollar aplicaciones iOS, y así sucesivamente, espero que entiendas mi punto.
  • Ahora que tiene una necesidad, debe obtener un recurso de aprendizaje rápido (no en profundidad), estudiarlo todo. La probabilidad de que te quedes atascado es muy alta, no te preocupes, lee sobre ellos en línea y simplemente resuélvelos. La idea aquí es hacerte capaz de escribir algún código ejecutable sin importar lo malo que sea.
  • Ahora que ha aprendido a escribir ese código básico, comience a trabajar en su necesidad. Apuesto a que escribirás el código más desagradable jamás escrito en la historia de ese lenguaje, pero oye, lo estás escribiendo sin siquiera estudiarlo, así que relájate. Este paso es solo para hacer que sea fluido y amigable con ese idioma en particular y para eliminar el miedo al idioma.
  • Bien, entonces tienes experiencia, ganaste algo de confianza … bien, ahora es el momento de aprender el idioma 🙂 (en lo que se refiere a … esos fueron los 3 pasos). Ahora obtenga algunos buenos recursos para ese idioma en particular y estudíelos (por estudio quiero decir entender, practicar, aprender … no lo que hizo en el estándar 10). Definitivamente obtendrá algo de conocimiento y también identificará los miles de errores que cometió mientras codificaba su necesidad, corríjalos. Repita este paso en otros proyectos y puede ser que algún día tenga la oportunidad de decir: “Soy el maestro”.

Eventualmente se dará cuenta de que después de cada idioma que aprenda, necesitará menos tiempo para aprender el nuevo, y esto puede disminuir a 3-4 días.

Pero aquí hay algunos pensamientos míos:

  • No aprendas un idioma solo por aprender, hasta que tengas un motivo, mejor que eso, aprender un idioma que hablan los humanos, podría ser útil algún día.
  • La informática no es solo sobre lenguajes, sino sobre resolución de problemas, automatización, etc.etc.

también leer

https://www.quora.com/What-is-the-best-Youtube-channel-to-learn-Java/answer/Shakti-Singh-103?share=480a515a podría ser de alguna ayuda.

También déjame saber si te ayudé.

Gracias

¡Sigue codificando!

Esta es mi pista cuando decido ensuciarme las manos con un nuevo lenguaje de programación.

  • Aprende la función de salida de pantalla para que sepa cómo imprimir cosas en mi monitor. Ex-

System.out.print (); // java
imprimir // python
document.write () // JavaScript

  • Condiciones y bucles . Esto viene en segundo lugar. Ahora, puedo hacer un Abracadabra lógico básico en mi código e imprimirlo.

Cubro estos 2 generalmente en un día. En este punto, no me importan mucho los OOP, multihilo y otras funciones de bajo nivel. Ahórrate el horror de eso.

Con las 2 viñetas mencionadas arriba, usted puede comenzar a codificar. Para empezar, puedes codificar:

  1. Serie fibonacci
  2. Graficas
  3. Arboles
  4. Prueba de primalidad de tamiz
  5. Prueba palindrome
  6. Patrones de personajes.

Tiendo a estirar este ejercicio durante un par de fines de semana. Es divertido ya que ya conozco la lógica. Solo uso una sintaxis diferente.

Después de esto,

  • Generalmente comienzo dividiendo los programas escritos arriba en pequeñas funciones .
  • A continuación, si el idioma que estoy aprendiendo es compatible con los OOP, formo una nueva clase extendiendo las que escribí anteriormente e intento anular sus funciones.
  • A continuación, trato de sobrecargarlos .
  • A continuación, juego con modificadores de acceso.
  • Luego me sumerjo en tipos de datos y variables.

Solo después de lograr un cierto nivel de comodidad con el idioma, comienzo a explorarlo.

Es trivial pero ayuda.

Camina antes de que corras .

Todo lo mejor.

Revisa-

Los mejores tutoriales de Java votados por la comunidad de programación | Hackr.io

GeeksforGeeks | Un portal informático para geeks.

Primero encuentra tu interés: –

(Áreas interesantes de la programación de computadoras. Ej. Desarrollador web, desarrollador de juegos, desarrollador de sistemas, desarrollador de sistemas incrustados, muchos más)

OK has encontrado tu interés. ¡Bien!

Aprenda el idioma específico de su dominio.

Aprender DSA (algoritmo, estructura de datos) si es posible.

Diviértete. Pero nunca dejes de aprender.

Mi recomendación: -aprender Python.

Libros sobre python: –

1) un byte de Python

2) Piensa como un experto en informática en Python.

3) DSA en python por Brad Miller.

Todos estos libros son gratuitos en copia de seguridad, normalmente en PDF.

Buena suerte.

No sé de otros, pero conozco a muchos (como yo) que realmente amaban los videojuegos y decidieron que queríamos hacer los nuestros. Entonces, lo que hice fue seleccionar Game Maker y comenzar a aprender un poco de código de arrastrar y soltar, y lentamente evolucioné para hacer código real y ¡solo creció desde allí! Mucha gente creo que los juegos de descuento hacen que el desarrollo sea fácil o no legítimo, pero doy fe de que en realidad es muy difícil y hay muchas lecciones que puedes aprender al hacerlo. También es bastante convincente debido a su naturaleza gráfica interactiva que se necesita como principiante. Ahora me especializo en CS en la universidad y realmente disfruto haciendo cosas reales para la web.

En cuanto a escribir buen código. Bueno, eso es un poco más complejo. Creo que estudiar cosas como los principios de SOLID y la filosofía de Unix son buenos lugares para comenzar. También sugiero aprender al menos un lenguaje de programación funcional como Haskell o Clojure porque requieren que escribas en un estilo de programación completamente diferente que a menudo crea un código menos complejo. Si nada más te hará mirar tus bucles for de manera diferente y las mutaciones de tu memoria con sospecha.

Hice mi ingeniería en Civil stream, así que nunca fui codificador / programador, así que lo explicaría como una cuestión de interés. Si desea hacer esto solo porque otros lo hacen / suena bien o por alguna otra razón X / Y / Z, no lo haga. Me metí en la programación solo porque siempre me fascinaba.

Ahora que responden a su pregunta, lo aprenden en la universidad o asisten a clases en el instituto, o son pocos como yo, que solo usa Google y YouTube para aprender cada parte de mi conocimiento. Incluso Quora / Stackoverflow te enseñan mucho en términos de programación. Solo necesitas tener esa voluntad.

  • Deja que sea cualquier programa que aprendas. Primero aprende lo básico.
  • Tome las clases para principiantes de ese idioma en particular.
  • Busca el mejor curso en línea, y si te pide dinero, descarga el curso desde un torrent (si quieres gratis)
  • Hay algunos programas que te ayudan a dominar el lenguaje C. Ej: números primos, impares o pares, Fibonacci, búsqueda de un elemento, multiplicación de matrices, etc.
  • Luego, uno va a temas pesados ​​como la estructura, el puntero, la función, la lista enlazada y la pila, etc. (en lenguaje C)
  • Hasta que un programador no se haya preparado para crear su propio programa, aún no lo ha dominado.

Construyendo varias aplicaciones pequeñas que tú o tus amigos puedan usar.