Por desgracia sí. Hice mis primeros intentos de codificar hace unos siete años y me avergüenza decir que no lo he hecho hasta hace poco, a pesar de ser plenamente consciente de las maravillosas oportunidades que se ofrecen a quienes pueden hacer que las computadoras hagan lo que quieren.
Varias explicaciones vienen a la mente:
Demasiado tiempo dedicado a encontrar “el lenguaje correcto”: leer sobre las diferencias y los méritos relativos de múltiples idiomas solo es útil en un grado muy limitado. Básicamente se reduce a “¿Qué quieres hacer con tus habilidades?”. Crea una aplicación móvil, crea una aplicación web, crea un juego, crea un juego.
El lenguaje es secundario al principio, los principios subyacentes son lo que importa. El modo de pensar y el enfoque general trascienden los idiomas, esa es una de las razones por las que los desarrolladores experimentados pueden ser productivos en nuevos idiomas en cuestión de días (o menos).
- ¿Cuál es el mejor módulo SAP no funcional para aprender?
- ¿Dónde hay algunas “clases de pasatiempos” disponibles para un hombre en Bangalore?
- ¿Cuáles son las nuevas tecnologías que puedo aprender para obtener buenas ubicaciones en el campus?
- Cómo distinguir entre aprender un nuevo lenguaje de programación y aprender la sintaxis de un nuevo lenguaje de programación
- Quiero aprender sobre el desarrollo de aplicaciones y cómo crear nuevas aplicaciones, pero soy un principiante. ¿Qué debo hacer para aprender sobre esto por mi cuenta?
Para facilitar la configuración, los comentarios inmediatos, los enormes recursos de aprendizaje, un futuro brillante, una comunidad masiva y una amplia variedad de posibles dominios de aplicación, sugiero que los principiantes prueben Javascript .
Falta un mentor : Especialmente al principio es útil tener un mentor directo para formular preguntas.
Muchas preguntas conceptuales o preguntas muy específicas a la circunstancia / dominio de un problema son difíciles de buscar en Google sin perderse / abrumar. Los principiantes a menudo buscan una respuesta rápida, no un gran hilo de desbordamiento de pila.
Personalmente, logré el mayor progreso al construir un proyecto concreto y obtener ayuda de expertos (gracias a Gregor) cuando estoy atascado. Una interacción rápida de ida y vuelta entre humanos para poner a prueba la comprensión de la persona es difícil de superar en términos de velocidad de aprendizaje.
Grueso insuficiente (mi fuente personal de vergüenza). Cualquier cosa que valga la pena aprender es difícil y el dominio llega a aquellos que se mantienen en un tema durante años.
Habrá mucha frustración y puntos de debilidad donde uno se sienta tentado a darse por vencido. Después de todo, entrar en un modo de pensamiento computacional (¿cómo puedo dividir este problema en sus subcomponentes lógicos y crear una solución algorítmica?) Es toda una transición.
Tomará tiempo lograrlo, pero tenga en cuenta la enorme satisfacción que experimentará con el dominio y disfrute del viaje. Peter Norvig (un titán del campo) brinda consejos atemporales sobre el tema:
Enseñe tu programación en diez años
Además, las computadoras son extremadamente literales y usted tiene que instruirlas exactamente, de lo contrario, el compilador / intérprete de su elección probablemente sea bastante implacable. Este punto se hace con mucha elegancia en el mejor curso de Ciencias de la Computación que conozco (y lo recomiendo a cualquier principiante) CS50:
Psicología: ¿Estoy hecho para esto? Como lo sugieren las innumerables preguntas de Quora en este sentido, las personas se preocupan mucho si son “personas informáticas” que parecen estar conectadas genéticamente a la programación o si aún son lo suficientemente jóvenes.
Este comportamiento auto-racionalizado de dejar de fumar conlleva un gran peligro, ya que es fácil renunciar a algo que está convencido de que no puede aprender por razones fuera de su control.
Insto a cualquier principiante a que rompa esta barrera y les recuerde que incluso Linus Torvalds, Marc Zuckerberg, Bill Gates y todos los demás partieron de orígenes humildes. Simplemente se apegaron al aprendizaje.
Asaltos relacionados con el género:
Como me sorprendió aprender en el curso Cómo aprender matemáticas, las niñas se ven impactadas drásticamente por esta noción de que la lógica es un dominio masculino y que sus esfuerzos son “no femeninos”. Esta visión de la vieja escuela debe superarse, las ingenieras más exitosas son la mejor manera de lograr este objetivo.
No hay absolutamente ninguna base objetiva para los conceptos erróneos culturales y las mujeres no son menos capaces de aprender programación (o matemáticas, o ciencias naturales, etc.) que sus homólogos masculinos. Entiendo que esta noción requiere un esfuerzo extra, pero siéntase cómodo porque el primer programador fue una mujer.
Dificultades para la configuración: a menudo, la puesta en marcha requiere trabajo y habilidades que no están directamente relacionadas con la programación (por ejemplo, incluso la configuración de un entorno de producción de Rails puede ser audaz si eres completamente nuevo en el juego. Estas habilidades son valiosas y necesarias, pero Detener a un principiante en sus pistas. Conocer su camino alrededor de UNIX es una capacidad extremadamente gratificante, una gran parte de la infraestructura de TI del mundo se ejecuta en sistemas similares.
Espero que esto brinde una perspectiva sobre las razones por las cuales las personas podrían renunciar y cómo los recién llegados podrían superar estas dificultades iniciales.