En el presente artículo voy a exponer mi opinión personal sobre la manera de ser mejor
programador Harbour. Repito que es mi opinión personal, basada en mi propia
experiencia, y en la observación de la trayectoria de excelentes programadores Harbour
que conozco. Para realizar cualquier aportación por favor hazlo en los comentarios de
esta artículo. Los enlaces que nombro son los que uso habitualmente, si conoces otros
que sean similares, por favor ponlo en los comentarios del artículo.
Hace unos años comencé a aprender Python, en parte por la influencia de un amigo que
es pythonista convencido. Me hablaba de las bondades del lenguaje, así que decidí
aprenderlo. Hice un curso online superinteresante, compré varios libros, le dediqué
bastante tiempo. Python es un lenguaje increible, sin embargo nunca lo utilicé. ¿ Por qué
? Porque con Python puedo hacer lo mismo que con Harbour, y Harbour es mi lenguaje
preferido.
Mi buen amigo Manuel Calero tomó un camino diferente. Aprendió Java y PHP con
Laravel, y los usó para realizar proyectos para los que no podía usar Harbour. El
resultado es que Manuel ha incorporado los conceptos aprendidos en esos lenguajes a
sus programas, tal como nos enseñó en su conferencia en Novelda.
Debes aprender otro lenguaje para aprender conceptos que no son ‘nativos’ a los
programadores Harbour, muchos de los cuales venimos de Clipper. Conceptos como
programar una aplicación totalmente orientada a objetos, MVC, ORM, patrones,… no
son fáciles de asimilar desde Harbour si antes no los has utilizado en otros lenguajes.
Una vez domines estos conceptos en otros lenguajes, te será más fácil implementarlos en
Harbour
Harbour cuenta con soporte para SqLite, MySql, Postgres, ADO,… y existen varios
proyectos adicionales de librerías de acceso a motores SQL como TDolphin, HDO,
ADORDD,… También puedes acceder a MongoDB con el driver de harbour para
MongoDb que Teo Fonrouge tiene disponible en
https://github.com/tfonrouge/hbmongoc
Windows: https://developer.microsoft.com/en-us/windows/desktop/design
Gnome: https://developer.gnome.org/hig/stable/
Puedes hacer prototipos de tus programas rapidamente con programas como Pencil lo
que te permitirá mostrar a tus clientes los formularios que vas a realizar y la interacción
que habrá entre ellos.
Hay algunos libros clásicos como Presos de la tecnología de Alan Cooper, User interface
design for programmers de Joel Spolsky, No me hagas pensar de Steve Krug, Seductive
interaction design de Stephen Anderson creo que son lecturas muy beneficiosas para
cualquier programador. Lo bueno de estos libros es que los conceptos que explican son
conocimiento a largo plazo, los podrás aplicar a cualquier lenguaje que utilice.
Ten en cuenta que si tu programa hace cosas maravillosas pero su interfaz es no está
bien trabajado, los usuarios puede que prefieran un programa menos potente pero más
sencillo de usar.
Fíjate en el aspecto de las aplicaciones modernas e intenta seguir su estilo. Dale una
mirada a editores de código como SublimeText o Visual Studio Code, ambos cuentan
con paquetes de soporte de sintaxis de Harbour, y en el caso de Visual Studio Code
también cuenta con ayuda de las funciones de Harbour tal como puedes ver en la
siguiente imagen.
Visual Studio Code con la extensión Harbour de Antonino Perricone.
Al igual que con los libros de diseño de interfaces, se trata de conocimiento a largo plazo
que podrás aplicar tanto en tu trabajo como en tu vida diaria.
Además de publicar tus programas crea un blog explicando qué hacen y la manera en
que los haces. En mi blog personal, y ahora en Harbour Magazine, he escrito muchos
artículos explicando funcionalidades de mis programas, cosas nuevas que iba
descubriendo y adaptando, clases nuevas, primeras versiones de esquemas de sintaxis
para editores,... incluso gané el concurso de XAAC.