Aprender a programar

¿Me aconsejaríais empezar a programar con codeacademy? ¿Qué nos aportaría aprender a programar? ¿Qué lenguaje es el mejor para empezar además de pseudocódigo?

Saludos :wink:

1 me gusta

¡sí!, por ejemplo.

esa es una muy buena pregunta. en parte se ha puesto super de moda y parece que es lo más guay de lo guay. y sí, es muy guay pero tampoco creo yo que sea la única alternativa razonable en la vida.

probablemente el argumento más importante sea porque sirve para entrenar la mente en la resolución de problemas: has de reconocer un problema, comprenderlo y diseccionarlo, identificar una solución, encontrar la manera de construir la solución con las herramientas disponibles, construirla y verificar que resuelve realmente el problema inicial.

¿programar es la única manera de conseguir ese entrenamiento? para nada: basta con estrujarse las neuronas esforzándose en aplicar el pensamiento racional y puedes alcanzar destrezas importantes en el análisis y la resolución de problemas. pero oye, tampoco una cosa quita a la otra, de hecho se realimentan perfectamente.

otra ventaja de la programación es que si el problema es susceptible de ser arreglado con software… ¡puedes construir la propia herramienta! y cuando vives en una sociedad donde el valor más importante es la información y dispones de tantos canales de comunicación programar te sirve para dotarte de un poder inmenso. no es que puedas dominar el mundo, pero sí que puedes construir las herramientas que lo van a mover.

¿en qué otra profesión puedes hacer lo mismo?

Aquí hay muchísimas opiniones. Mi opinión va por estos lineamientos, que tampoco hay que tomar al pie de la letra:

  • el lenguaje más ubicuo de los próximos años ya está siendo claramente javascript o cualquiera de sus variantes, si estudias javascript no vas a perder el tiempo
  • otro lenguaje muy potente y bastante de moda, muy versátil y agradecido para el aprendizaje es python, si estudias python no vas a perder el tiempo porque en el peor de los casos podrás aplicar tus habilidades adquiridas en cualquier otro lenguaje orientado a objetos sin ningún problema
  • si tienes un proyecto en mente es posible que el entorno del proyecto te condicione:
  • si quieres hacer una aplicación Android lo más probable que tengas que ponerte con java, y hay tantos puestos de trabajo que demandan java y hay tantos lenguajes parecidos que también podrás reutilizar conocimientos
  • si quieres, por ejemplo, hacer un videojuego con Unity probablemente lo más adecuado sea aprender C#, que por lo demás es semejante/equivalente al java mencionado en cuanto a, digamos, consecuencias.
  • si vas a hacer un software de sistemas o cierto tipo de aplicaciones tanto java, como C# o incluso Go pueden ser más que adecuados, o incluso los viejos C y C++ que no son tan agradecidos para el novato pero que pueden tener mucha vigencia y utilidad.

En general te aconsejo que, si dudas, no elijas algo demasiado raro. De todo lo que menciono además hay cantidad de recursos en libros e Internet tanto gratis como de pago. Ahora, igual que dicen que hay a quien le gusta chupar candados te apetece pelearte con algo super raro y super friki… pues mira, mientras no te robe todo tu tiempo tal vez merezca la pena darle caña, que dice una canción «que no todo el tiempo es perdido». Y ante la duda, algo en la línea de lo sugerido arriba creo que es una apuesta muy razonable.

Eso sí, sobre todo sobre todo sobre todo lo mejor es decidir realizar un proyecto equis que te mole y usarlo como foco para simplificar las opciones a considerar. Todo es más fácil cuando tienes una meta como referencia.

omg!

es la primera vez que puedo responder con un enlace a mi blog :sunglasses:

https://radw2020.github.io/2015/05/23/Aprendiendo-a-aprender/

3 Me gusta

Aprender a programar es gratificante para mente si te gusta afrontar desafíos, al igual que hacer sudokus, crucigramas u otros pasatiempos, sin embargo, tiene una ventaja sobre estos: Puedes crear una herramienta que resuelva un problema.

Que tu resuelvas un libro de sudokus entero no aporta nada especial al resto de la gente, que programes una aplicación capaz de resolverlos sí.

En cuanto a lenguajes, yo te recomendaría lenguajes tipados de alto nivel, como son Java o C#. Los lenguajes dinámicos te dan demasiadas libertades y poca información sobre porque falla, no te enseñan a diferenciar los diferentes tipos de variables…

Personalmente, para aprender a programar, cuantas menos libertades tengas mejor, cuando ya sepas programar podrás hacer lo que quieras, pero ahora mismo, mejor que el compilador / IDE te guíe