¿Es la programación un tema difícil de aprender?

Esta es una pregunta realmente complicada de responder, así que daré algunos pensamientos y algunas analogías.

Empezar a aprender a programar es un poco complicado. Quiero decir, ¿por dónde empiezas? Hay docenas de lenguajes de programación por ahí, y docenas de bases de datos y solo leer sobre estas cosas pueden ser abrumadoras, ya que la jerga cubre tu pantalla con acrónimos. Dicho esto, aunque es un poco complicado, no es necesariamente difícil. Solo tienes que usar Google, elige algunos tutoriales básicos en Python o JavaScript y sumérgete siguiendo las instrucciones.

En este paso, solo necesitas un poco de tenacidad para seguir haciendo tutoriales hasta que comiences a “obtenerlo”. No es de ninguna manera difícil.

Construir tus primeras aplicaciones tampoco es difícil. Quiero decir, necesitas decidir qué vas a construir, pero esa es probablemente la parte más difícil. Después de eso, la tenacidad , una vez más, es lo que se necesita. Claro, no vas a construir nada increíble, pero aprenderás muchísimo una vez que comiences a intentar construir cosas reales.

Todo esto es mucho como aprender a tocar la guitarra. No es difícil, pero tienes que dedicar tiempo para aprender lo básico y practicar un poco.

Profundizar en el software es donde las cosas se ponen interesantes. Nuevamente, esto es solo cuestión de dedicar las horas e investigar, leer y jugar con las cosas. Una vez más, no es difícil.

Donde las cosas se ponen interesantes y difíciles es cuando empiezas a construir sistemas del mundo real a escala. Cuando empiezas a crear software que resuelve problemas reales y cuando las respuestas no son obvias y donde necesitas aportar un conocimiento y una técnica más profundos. La mayoría de los ingenieros ni siquiera llegan tan lejos y, por lo general, permanecen en el lado superficial del grupo de ingeniería, construyen aplicaciones basadas en bases de datos, API básicas, aplicaciones móviles empresariales estándar, etc. Pero, sin duda, pueden tener una vida increíble de esa manera.

TL; DR; Hasta que no llegue a la parte más profunda de la piscina, no es difícil, solo debe seguir y dedicar tiempo y esfuerzo.

La programación tiene que ver con adquirir las habilidades analíticas, lógicas y creativas para resolver problemas de programación. Se trata de entrenar tu mente. Si esto es fácil o difícil, depende mucho de su aptitud natural y su motivación.

Por ejemplo, considera cómo aprender a tocar un instrumento musical o jugar al ajedrez. Algunas personas lucharán poderosamente, pero si eres un prodigio musical o de ajedrez, sería una brisa. La programación no es diferente.

Cuando aprendí a programar por primera vez hace más de 35 años, me pareció divertido y estimulante. Así que estaba motivado para aprender. Lo disfruté, así que no fue una lucha.

Sin embargo, en varias ocasiones he intentado aprender a tocar el piano y la guitarra. Nunca podría entrar en eso. Simplemente no tenía la aptitud ni la motivación suficiente.

Si está realmente preocupado y quiere una forma agradable y agradable de aprender a programar , ¿puedo sugerirle que continúe con Smalltalk? Vea la respuesta de Richard Kenneth Eng a ¿Por qué debo aprender a programar y qué idioma debo aprender? Es realmente muy divertido , por lo que la motivación no debería ser un problema. Y hará que su transición a lenguajes más difíciles, como Java y Python, sea mucho más fácil.

Aprender a escribir programas simples es extremadamente fácil. Un promedio de 8 años puede hacerlo. Escribir programas efectivos, grandes, complejos y basados ​​en equipos es extremadamente difícil.

El problema no es la programación, es cómo tomar un problema o sistema complejo y resolverlo o representarlo en código. Eso requiere conocimiento y experiencia. Con el tiempo, significa experiencia con diferentes enfoques aplicados a diferentes dominios, aplicados a través de diferentes arquitecturas, en diferentes escalas, dentro de diferentes enfoques de desarrollo.

En lo que respecta a la adquisición de conocimientos, no creo que sea necesariamente más difícil que otros temas, siempre que uno pueda encontrar fuentes autorizadas entre el diluvio de opiniones de los principiantes.

Cuando entrevistamos a los programadores, casi todos pueden escribir código, y sin duda pueden buscar o aprender rápidamente lo que se requiere. Pero muy pocos conocen algún proceso predecible y repetible para escribir incluso una pequeña aplicación [* 1], sin recurrir a la programación de la misma manera que un niño de 8 años tiende a programar: un proceso de escribir un código, pruébelo, pregunte ‘hay todavía ‘, y repetir.

—-

[* 1] ¿Cómo irías representando una bomba que evitó que un tanque se desbordara? ¿Qué enfoque utilizarías? ¿Por qué? ¿Cómo se escala tu enfoque? ¿Puedes contrastarlo con otros enfoques?

Quizás otro …

¿Cómo abordaría y modelaría un código, una simulación de un solo Ascensor simple que admite la siguiente funcionalidad:

  1. mover el ascensor a un piso
  2. solicitar el ascensor visitar un piso
  3. dirija el ascensor a todos los pisos solicitados (si los solicita)

(Utilice el siguiente algoritmo de movimiento estándar del Ascensor: Continúe viajando en la misma dirección mientras haya solicitudes pendientes en esa misma dirección. Si no hay más solicitudes en esa dirección, deténgase y quede inactivo, o cambie de dirección si hay solicitudes en el direccion opuesta.)

Nota: no hay ningún requisito para una interfaz de usuario. Conduce la simulación a través de pruebas. No hay ningún requisito para ninguna forma de persistencia.

¿Qué probarías? ¿Qué enfoque usaste y qué alternativas hay?

Lamentablemente, este es un FizzBuzz de representar un simple sistema del mundo real en código.

Depende de tu definición de duro. Pero desde mi punto de vista, no, no es un tema difícil de aprender. Leí en algún lugar de la quora que la propiedad más importante que puede tener un programador es poder visualizar cosas abstractas, y esa es verdaderamente la mejor calidad que puede tener un programador.

Todo depende de su base, de lo bien que pueda entender los conceptos básicos de la programación. Una vez que la base es fuerte, su conocimiento será sólido. Hacer uso de cualquier idioma, como Qbasic o C (preferiblemente C). Conozca los conceptos y construcciones de programación básicos a partir de eso, aprenda sobre pequeñas cosas como Estructuras de control, variables, etc. Una vez que esté al tanto de estos conceptos, puede comenzar a asumir cosas más grandes. Pero la clave es la base.

¡No! La programación no es un gran problema. Solo piénsalo como aprender como otro idioma. La programación consiste en dividir los problemas más grandes en partes pequeñas y resolver todo el asunto. Si puedes pensar, puedes programar. La programación básicamente te enseña a pensar. Para mí es más o menos como resolver un rompecabezas.

No si eres un pensador lógico. Aquí hay una prueba simple: si puede escribir todos los pasos para hacer con éxito un sándwich de mantequilla de maní y jalea, puede programarlo.
¡Los mejores deseos!

Para aprender a programar, tienes que poder resolver problemas y tienes que estar dispuesto a trabajar en ello. Si eso suena duro, entonces sí. La programación es difícil. Algunos de mis estudiantes están buscando un “truco rápido” para aprender a programar. Hasta ahora, todos los estudiantes han sido decepcionados.

Sí, es difícil de aprender. La programación toma una nueva forma de pensar como resolver rompecabezas y resolver problemas matemáticos. La buena noticia es que la mayoría de las personas pueden aprender a programar si realizan algunos años de práctica y obtienen buenos maestros para ayudarlos.