Está en la página 1de 8

Como ser mejor programador Harbour

José Luis Sánchez Follow


May 9, 2018 · 7 min read

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.

0.- Aprende Harbour profundamente y colabora con la comunidad.


Aprende las funcionalidades de Harbour que son distintas de Clipper. Descargate la
versión completa de Harbour desde el repositorio oficial y revisa la documentación y los
ejemplos. Algunas de las distribuciones de Harbour usadas por los GUI no están
completas, pues pueden faltar carpetas como contrib, examples, tests,… por eso debes
tener siempre una versión completa de Harbour en tu PC. Aprende a construir el
compilador y las librerías, y revisa los ejemplos. Siempre recuerdo las palabras de Rafa
Carmona: ‘Pensamos en Harbour como un clon de Clipper, pero va mucho más allá’.
Cosas como los tipos extendidos de datos o los hash array no existían en Clipper y debes
conocrlos y aprender a utilizarlos.

Ten a mano los enlaces de la documentación oficial que está en


https://harbour.github.io/doc/harbour.html, y también la excelente lista de funciones
de harbour que Petewg tiene alojada en Github. Sigue los grupos Harbour Users y
Harbour Developers para enterarte de las novedades y problemas existentes. Revisa la
página de proyectos Harbour en GitHub — https://github.com/rjopek/harbour-list —
mantenida por Rafal Jopek y, por supuesto, suscríbete a Harbour Magazine.
Participa en los foros del GUI/entorno que utilices, y se amable con el resto de usuarios.
Si planteas una cuestión y las respuestas del resto de usuarios te encaminan a resolverla
no contestes con un escueto Resuelto, sino explica la manera en que lo has resuelto y
publica tu código.

1.- Aprende otro lenguaje de programación.


Te aconsejo que aprendas otro lenguaje de programación, y te sugiero que aprendas un
lenguaje que te permita hacer cosas diferentes a Harbour. Para justificar esto te voy a
contar mi experiencia.

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

2.- Aprende a usar sistemas de control de versiones.


Los sistemas de control de versiones son imprescindibles en la programación actual. Te
permiten mantener varias versiones de tu código, marcar versiones estables, y volver
atrás en caso de que sea necesario. Puedes alojar tu código de manera gratuita en Github
https://github.com si es opensource, en Bitbucket cualquiera que sea tu licencia, o usar
sistemas de control de versiones en tu PC.
3.- Aprende a usar SQL.
SQL te va a permitir realizar aplicaciones cliente/servidor y te familiariza con el uso de
bases de datos relacionales, totalmente diferente del sistema de archivos invertidos con
índices que usamos en los DBF de Harbour. Además, conocer SQL te facilitará el
aprendizaje de otros lenguajes de programación.

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

4.- Aprende conceptos de diseño gráfico / diseño de interfaces de


usuario.
Tanto si haces software de escritorio como aplicaciones web debes conocer los principios
de diseño de interfaces. Las guias de diseño de los principales sistemas operativos de
escritorio los tienes en estos enlaces:

Windows: https://developer.microsoft.com/en-us/windows/desktop/design

Mac OS: https://developer.apple.com/ios/human-interface-


guidelines/overview/themes/

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.

Ten tu propia guía de diseño de formularios, y si colaboras en un trabajo en grupo debes


plantear la cuestión. Yo he visto cosas espantosas, formularios que se recorrían sin
orden, botones en diferentes sitios,… Yo publiqué las mias hace mucho tiempo en
https://cincomundos.wordpress.com/2006/07/17/guia-de-diseno-de-formularios

5.- Utiliza software moderno, y por supuesto la última versión de tu


sistema operativo.
Debes utilizar la última versión de tu sistema operativo, tanto para probar tus
aplicaciones como para ver los nuevos conceptos de diseño de interfaces. Los botones 3D
de Windows XP y los gradientes de Windows 7 son historia, así que no los utilices si
haces aplicaciones Windows.

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.

El paquete de Antonino Perricone https://marketplace.visualstudio.com/items?


itemName=aperricone.harbour es una auténtica maravilla y ha hecho que Visual Studio
Code sea mi editor preferido.

Soy un enamorado de los interfaces limpios y minimalistas. Si quieres ver el programa


que más me ha impresionado en los últimos meses echa un vistazo a Typora, un editor
de ficheros Markdown multiplataforma que es sencillamente maravilloso.

6.- Lee libros que no sean de programación.


Cuando comencé a leer a Joel Spolsky, uno de los temas habituales era la discusión
sobre libros que debían leer los programadores. Basicamente eran libros sobre
desarrollo de software, pero de vez en cuando aparecían libros de sociología, psicología,
emprendimiento, creatividad… cosas que no tienen directamente que ver con la
programación, sino que están orbitándo alrededor de ella. Así conocí a autores como
Jeson Fried — Remoto, Reinicia, Malcolm Gladwell — Fueras de serie, Inteligencia
intuitiva -, Dan Pink — La sorprendente verdad sobre qué nos motiva -, Chris Gillebeau —
100€ Startup — , Angela Duckworth — Grit -, Greg McKeown — Esencialismo -, Austin
Kleon — Aprende a promocionar tu trabajo, Roba como un artista — y alguno más. Estos
libros se leen sin tener delante el ordenador, lo cual es una ventaja. Sirven para
desconectar y al mismo tiempo conocer temas interesantes.
Alguno de los libros mencionados.

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.

7.- Lee noticiarios/agregadores de programación.


Para estar al día de novedades de programación lee noticiarios de programación. Dos de
mis preferidos son freeCodeCamp y codeburst. Ahí no podrás encontrar noticias de
Harbour, pero si de otros lenguajes y tecnologías. También es un buen termómetro para
conocer que lenguajes y entornos son los más utilizados, y posiblemente te ayude a
hacer elecciones en el futuro. Si quieres tener sincronizadas tus lecturas de esos
noticiarios puedes utilizar feedly.

8.- Realiza proyectos personales y hazlos públicos.


Todos mis programas de alanit son proyectos personales. Siempre he tenido un trabajo
distinto a tiempo completo y los programas los hacía en casa por la noche. Alanit
significa durante la noche en catalán, mi lengua materna. Comencé haciendo los
programas para mi, pero me animé a publicarlos y crear una web alrededor de ellos. Ha
sido una de las mayores experiencias de mi vida.

el Puchero, uno de mis proyectos personales.

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.

Tener un blog personal de programación es una gran manera de contribuir a la


comunidad Harbour.
9.- Colabora con Harbour Magazine.
Cuando abrí Harbour Magazine lo hice con la intención de que fuera un blog colectivo,
pero la verdad es que he tenido pocas colaboraciones. Sólo Rafa Carmona y Manuel
Calero han escrito articulos para HM, pero sé que hay muchos lectores que tienen los
conocimientos suficientes para escribir aquí.

Si eres uno de ellos, ponte en contacto conmigo a través del correo


mediumharboutmagARROBAgmailPUNTOcom.

Harbour Programación Vida Del Programador

About Help Legal

Get the Medium app

También podría gustarte