Evolucodigo

En el inicio…

Tenía como 14 años cuando empecé a programar. Empece con archivos .bat en ms dos. Mas adelante mi padre me consiguió una copia de visual studio 6 y un amigo me presto un libro para aprender a programar en visual basic 6. Estaba emocionado. Era otro mundo. Pase las vacaciones ese verano en frente de una computadora y me encantó. Y ya entrados en materia descubri access y aprendí un poco de sql. Mas adelante aprendí foxpro 2.6  y como ya tenia una copia de visual foxpro 6, empecé a programar en vfp6 también.

Primer encuentro

Solia leer mucho en ese tiempo. Hasta la fecha. Un día encontré un articulo en MSDN llamado algo asi como vb6 business objects. Cuando empecé a leerlo aparecieron muchas dudas en mi mente: ‘objetos’? ‘Herencia’? ‘Eventos’ me sonaba familiar, pero que rayos era  ‘polimorfismo’? .
Afortunadamente, Rockford Lhotka (el autor) había agregado una introducción a la programacion orientada a objetos. Eso fue suficiente para entender cual era el próximo paso.

La búsqueda

Des afortunadamente no había mucha información sobre el tema en aquel entonces (o al menos yo no tenía acceso a ella), así que solo me quedaba entrar en la universidad para aprender mas. Pero no fue así. Si me hablaron de encapsulamiento, herencia, polimorfismo y todo el mumbo jumbo de términos. Pero nunca aprendí a pensar de una manera orientada a objetos. Sin embargo, la escuela tenía una conexión a Internet decente y así me dí a la tarea de buscar todo lo que pudiera acerca del tema. Me encontré con uml y me pareció interesante…
Y también xml, html (¿que pasa con tanto ML?).
Aun cuando tome un curso en c++ (que era mas como c) y java (del tipo forms over data) todavía me sentía mas cómodo en vb6. Incluso trate de practicar programación orientada a objetos en vb6 pero la falta de soporte para la herencia me dificulto hacer casi cualquier ejercicio encontrado en la red.

Un rayo de esperanza

Alrededor del séptimo semestre tuve la oportunidad de entrar a trabajar en una pequeña empresa de desarrollo de software. Estaba tan emocionado! Al fin! Un lugar para aprender todo lo que había buscado todo este tiempo!  Y si que aprendí! C#, sql server y el .net framework. Y también tenía la oportunidad de trabajar en proyectos reales. Pero aun sentía que me faltaba algo. Me tomo un par de años darme cuenta: estaba programando foxpro en el .net framework. Aun seguía pensando orientado a funciones. Aun cuando estaba usando objetos, no eran mas que contenedores de datos que pasábamos de una función a otra. Así que traté de ver las cosas de otra perspectiva. Esta vez realmente trate de producir código orientado a objetos. Investigue y trate de practicar TDD, DDD, BDD (ahora la moda es DD?) Y poco a poco empecé a lograrlo. Empece a hacer la transición hacia una mentalidad orientada a objetos. Todavía me falta mucho pero sigo avanzando.

Todo está en la mente

Ya que he trabajado en diferentes lugares, desde empresas de desarrollo hasta empresas transnacionales, me he encontrado con todo tipo de código. Así me di cuenta que hay un montón de gente que está en la misma situación que yo hace un par de años. Tienen herramientas mas novedosas pero siguen haciendo lo mismo. Desde entonces me he preguntado como ayudar a estos programadores a iniciar la transición hacia un tren de pensamiento mas orientado a objetos. Este blog es un intento. Y no soy el único. Hay un mundo de información: libros, artículos, cursos, que compartiré aquí. Son cosas que me han funcionado y espero que a ti también. Así que no te vayas, la diversión está por comenzar 😉