Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/09/2013, 14:45
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Donde empezar?

Por partes:
Cual es el problema? El trabajo? Entonces estudia aquello para lo que veas más demanda.Tan sencillo como eso.
Mencionas "ser un buen programador", que es otra cosa completamente distinta, y con muchos significados.Pero normalmente está relacionado con tener diferentes grados de vocación, y aprovechar al máximo la experiencia que uno va consiguiendo.
Pero, en cierto modo entiendo tu problema.Hoy en día, aunque parezca que no, es mucho más complicado aprender a programar que hace 25 años.
El por qué, es parecido a la diferencia entre crear un sistema de cero, y heredar un sistema a medio hacer.Cuando uno hace un sistema desde cero, va entendiendo el problema a modelar poco a poco, sea porque se construye en pequeñas iteraciones, sea porque hay un diseño previo.Cuando uno hereda un sistema, cuesta entender el por qué las cosas funcionan de una determinada forma, por qué se tomaron decisiones, para qué sirven tantos ficheros...
Un commodore 64 lo encendías, y ya podías programar.Y, tras un par de años programando en basic, entendías lo bueno que sería que no existieran números de línea.Que existieran tipos de dato más complejos que los arrays de tamaño fijo.Que existiera algo más que el contexto global.
Cuando uno pasaba a C, parecía que era la respuesta a las necesidades que tenías.Era una segunda iteración.C++, la siguiente.Uno aprendía incrementalmente empezando de algo tan simple como el basic.
Mi primera página web la construí cuando no existía ni css, ni javascript, ni php.Cada una de esas tecnologías fueron también aprendizajes incrementales.
Hoy en día, una persona *tiene* que aprender todas esas cosas a la vez.Se encuentra con un sistema heredado.No entiende muy bien el por qué las cosas son así.Mezcla unos conceptos con otros.Hay miles de cosas y no se sabe muy bien para qué sirven.
Y, más grave aún, se pierde la perspectiva.Cuando uno hereda un sistema, el problema no es entender qué hace cada función, sino "por qué" lo hace.Hay que reconstruir el diseño, ir hacia atrás.Pero hay tal presión por saber lo último de lo último, que creo que se pierde la perspectiva.Los conceptos básicos de la programación los aprendí con un C64, en basic y en ASM, y a fecha de hoy siguen siendo válidos.Luego han aparecido cosas que han agrandado la base, no que la hayan sustituido.
Y esto es lo importante, en mi opinión.Lo que aprendí con el C64 es válido hoy, y a eso le llamo programar.Es algo que va más allá de los lenguajes y de las tendencias de moda (alguien se acuerda de las páginas WAP, de Flash, de ActiveX, de los applets Java...?).

Hay programadores buenos, malos, regulares.Hay gente con talento, y sin él (para programar), con vocación, y sin ella.Y a todos ellos les he visto cobrar un salario.Según cuál es tu objetivo, el camino no es exactamente el mismo.