Mostrando las entradas con la etiqueta primer programa. Mostrar todas las entradas
Mostrando las entradas con la etiqueta primer programa. Mostrar todas las entradas

miércoles, 10 de octubre de 2007

Entre Objetos, Java, C# y... ¿Sinclair BASIC?

Hace algunos días fui requerido para ir a dar un seminario acerca de cómo desarrollar aplicaciones para Windows en .NET, usando C#. No había tenido oportunidad de usar VisualStudio 2005, pues el último que había usado era el 2003, y me llevé la grata sorpresa de que tiene algunas ventajas con respecto a la versión anterior (ya sé, ya está la nueva versión 2008 en Beta, pero no la he visto, lo siento). Me dediqué unos días a revisar la versión 2005 y debo decir que sí me quedé con buena impresión del IDE.

Durante la presentación les expliqué a los asistentes, a través de una demostración, la manera de desarrollar rápidamente una aplicación sencilla con acceso a datos, con muy poco código qué programar. Es increíble cómo muchas de las cosas que anteriormente nos llevaba horas desarrollar, ahora con las herramientas adecuadas se pueden hacer en cuestión de minutos (ya lo dije anteriormente cuando hablé acerca de NetBeans 5.5). Claro está que nada reemplaza la satisfacción de hacer un programa "desde cero", pero hay proyectos en los que el tiempo apremia (pensándolo bien, en todos los proyectos el tiempo apremia). Todos los asistentes (al menos la mayoría, creo yo) quedaron asombrados de la facilidad de uso del IDE y de cómo en pocos minutos ya teníamos la aplicación terminada (me extendí un poco porque, como ustedes imaginarán, me gusta hablar demasiado).

Días después me llamaron para que diera una clase sobre Programación Orientada a Objetos (OOP) para un grupo de estudiantes de un curso de Java. En la lección expliqué acerca de la relevancia de los lenguajes orientados a objetos (como Java, C++ y C#) y cómo es que el paradigma de orientación a objetos nos ayuda a escribir código mucho más legible, reutilizable y relativamente rápido. Hice un recuento breve acerca de la evolución de los paradigmas de programación y cómo en la actualidad los sistemas emplean el máximo poder de cómputo para lograr cosas cada vez más poderosas. Todos se mostraron interesados, en particular porque algunos nunca habían escuchado (o entendido) acerca de términos como encapsulamiento, herencia y polimorfismo. Fue una mañana muy interesante.

En ambas charlas concluimos lo siguiente: los sistemas actuales cada vez demandan desarrollos de software más robustos en el menor tiempo posible. Tanto Sun Microsystems como Microsoft Microsoft están dando batalla para lograr que los desarrolladores tengan cada vez mejores herramientas que les permitan tener más tiempo libre ;-) (¿por qué no tenía algo así antes?). Lo importante ahora es no depender tanto del uso de las herramientas, y seguir cultivando las mejores prácticas de programación, que corren el riesgo de ser olvidadas por quienes abusan del uso de IDEs o de ser completamente ignoradas o desconocidas.

Creo que independientemente de las tecnologías que pueda llegar a conocer, en el fondo siempre seré un desarrollador de software. Me gusta programar y creo que no lo hago tan mal ;-). Habrá que ver qué es lo que sigue para las siguientes generaciones de herramientas de desarrollo de software.

Como punto final, en la clase de OOP uno de los alumnos confesó haber comenzado a programar con una Timex Sinclair 1000, igual que con la que comencé a programar (esto es demasiado curioso, puesto que no mucha gente que yo conozca usó ese modelo en particular). Es que haciendo un poco más de memoria (cosa difícil para mi), realmente antes de GWBASIC usé el Sinclair BASIC. Para los que estén un poco interesados en la "prehistoria" y quieran saber qué usaba (yo) para programar hace 20 años, en este enlace encontrarán un emulador de Timex Sinclair 1000 hecho en Java.

:wq!

miércoles, 17 de enero de 2007

A 20 años de mi primera vez

Parece que fue ayer.

(Un paréntesis: antes de que alguien se forme falsas expectativas, debo aclarar un punto: estoy hablando de mi primera vez... en hacer un programa de computadora, ¿de acuerdo? Bueno, aclarado el punto, continúo:)

No fue ayer, pero fue hace 20 años, cuando hice mi primer primerísimo "Hello, world!", en un lenguaje casi extinto, de esos que ya casi nadie recuerda, si es que acaso alguna vez lo conoció. Estoy hablando de GWBASIC. No, no dije VisualBasic, sino GWBASIC. Sí, el de los números de línea.

He aquí mi primer programa:

10 REM Mi primer Hello, world!
20 PRINT "Hello, world!"
30 END
run

Hello, world!
Ok

(Uy, ya me dieron ganas de llorar por la nostalgia.)

¿Ya se acordaron? Bueno, pues este fue mi primer primerísimo programa, y de ahí surgió todo lo demás por pura diversión. Naturalmente para hacer ese programa seguí cuidadosamente las instrucciones de uno de los pocos manuales de BASIC que existían en ese tiempo; después hice otro, lo ejecuté, luego otro, lo ejecuté, y así sucesivamente, mientras iba aprendiendo la sintaxis y todo aquello, entre uno que otro consejo acerca de cómo programar correctamente (y no andar haciendo herejías de programación, como las llamé posteriormente).

En la actualidad programo mucho más en Java que en cualquier otro lenguaje, pero indiscutiblemente el BASIC será por siempre (y a pesar de todo) mi lenguaje de programación consentido.

Si alguien está interesado en saber más de GWBASIC, escriba su comentario y con gusto ampliaré la información. Si no, no hay problema, generalmente pocos se interesan por las antigüedades, aunque esta es para mi gusto una que me trae buenos recuerdos.

:wq!