HARBOUR: el sucesor de CLIPPER que la comunidad se negó a abandonar

Antonio Linares, creator of Clipper, discusses how the programming language evolved into Harbour, a free compiler that kept Clipper 5 compatible while adding object-oriented features and SQL support. When Computer Associates abandoned Clipper, the community built Harbour to survive, spawning forks like XHarbour and GUI frameworks like MiniGUI.
Chapters
Pues aquí tenemos la tercera entrega del Mundo de Xbase.
No digas que es una tercera parte, pro, que lo gafamos.
No será para tanto, Chip. Además, Harburg me suena.
Totalmente, Violeta. Tuvimos nada más y nada menos que al mismísimo creador del lenguaje en codeadores, Antonio Linares. Y si no lo habéis escuchado, os lo recomiendo. Charlamos sobre Creeper y Harburg, el proyecto de software libre desarrollado por estos creeperistas.
Añadido a la descripción.
Creeperistas. Antonio es un gran creeperista. Y charla sobre la informática en la década de 1980 y 1990, y cómo fue su periplo autodidacta en el mundo de la informática.
Pues como la mayoría de programadores de la década de 1980 en España.
No como todos. Antonio se volcó desde un inicio en el software libre, y gracias a él y la comunidad de CRIPPER alrededor del mundo tenemos Arbour.
Pues ya que lo tenéis tan claro, comencemos, ¿no?
¡Novedades! Como todos sabéis, podéis haceros historiadores o cronistas del canal y disfrutar de contenido exclusivo, además de apoyarnos.
¡Totalmente! Aunque eso no es ninguna novedad, pro.
La novedad es que a partir de ahora también tenemos Patreon.
Sí, eso sí que es una novedad. Aunque, ¿qué ventaja tendría ser historiador o cronista en Patreon?
Pues además de apoyarnos, el mismo contenido exclusivo se encuentra en Patreon. Patreon sin publicidad.
Eso podemos decirlo aquí en YouTube.
Y no olvidéis que a través de la página web podéis seguir realizando vuestras votaciones de forma gratuita.
Y la forma óptima de darnos vuestro apoyo siempre es dar al like, suscribiros y compartir el vídeo con todos.
Sigamos con el vídeo. Los años de Clipper 5. Antonio nos contó en Codeadores su fascinación por la informática, el momento de adquirir su primer computador.
Ese momento mágico. Él lo llamaba dar pasitos.
Un poco de intrusismo, en verdad. Antonio trabajó en un banco y no como programador.
Pues como la mayoría de programadores de esa época en España. La primera carrera de informática que se pudo cursar en España fue a finales de la década de 1970, y Antonio en la década de 1980, en Andalucía, ya estaba trabajando.
Vale, no tuvo opción de estudiar esa carrera.
Principalmente por el desconocimiento, aunque Antonio habría sido un gran profesor. De hecho, su curiosidad le hizo ser el primero en aprender el uso del primer computador del banco y más tarde de los programas que permitían trabajar en ese computador, como MS-DOS y BASIC, que fue por donde comenzó Antonio.
Y un amigo le trajo DBase II y fue un gran avance para comenzar a implementar soluciones para el banco.
Además, Antonio lo cuenta tal y como lo vieron la mayoría de Clipperistas de su época: alguien le trajo Clipper, le dijeron que podía generar programas sin DBase Y sobre todo concluyeron que el linker de Borland era superior y óptimo en comparación a la solución por defecto incluida con Clipper.
La trayectoria de Antonio transcurrió entonces en MS-DOS, en la línea de comandos, y parece que no solo era curioso, se posicionó según veo.
¿Lo dices porque comenzó a escribir artículos en una revista?
¡Exacto! El grupo Eidos, que había publicado algunos libros sobre Clipper en la editorial Rama, contó con Antonio para escribir una serie de artículos sobre la orientación al objeto.
¿Orientación al objeto? ¿No es orientación a objetos?
Antes se conocía como orientación al objeto, pero viene a ser lo mismo.
Bueno, entonces, ¿por qué hablamos de Clipper 5? ¿No deberíamos hablar de Hardboard?
Clipper 5 fue la piedra base. En la década de 1990, cuando Windows surgió y Computer Associates no estuvo a la altura, la comunidad de Clipper sufrió al ver que su ecosistema podría caer.
De hecho, y según el podcast, Antonio estuvo en parte preocupado y se embarcó en la tarea de ser el guardián de Clipper 5, que era ya un estándar.
La idea de Antonio fue mantener ese estándar. Si habías creado alguna aplicación usando Clipper e incluso su biblioteca 5 Pro, tendrías que poder usar Windows y ejecutar tu aplicación sin problemas. Harbour.
No me digas, fue otro paso que Antonio construyese un compilador basado en Clipper 5 como software libre.
Según Antonio, fue otro pasito. Otro pasito que los entusiastas de Clipper sintieron como un gran avance.
Un pequeño paso para Antonio, un gran paso para la comunidad de Clipper.
Totalmente. El primer compilador de Harbour no fue escrito por Antonio, sino por un chico dedicado al campo de la salud que tenía una afición por Clipper y le dijo a Antonio que sabía cómo hacer un analizador léxico y semántico para compilar Clipper.
Antonio le invitó durante un mes de verano a su casa en Málaga y allí Entre momentos de charla, piscina, playa y programación, surgió el primer compilador de Hardboard.
¡Para la comunidad y por la comunidad! Recordad que Antonio compartió el código fuente y la comunidad se puso manos a la obra para proporcionar cambios, sugerencias, correcciones y sobre todo probar que funcionase correctamente con los programas de Klipper que la comunidad había escrito.
Si la calidad de Hardboard subió y era libre, Es verdad que mantener Clipper de Computer Associates no era atractivo.
Totalmente. Piensa en el cambio de entorno. Windows 95, aún ejecutándose sobre MS-DOS, proporcionó un entorno multitarea y en los siguientes años los cambios se harían cada vez más notables. Como por ejemplo, el cambio a 32 bits y después a 64 bits, que significó no solo un incremento en la capacidad de los números para hacer operaciones, sino también poder acceder a más memoria RAM o disponer de multitarea también a nivel de programa.
También se sumaron otras características como una mejora en la implementación de la orientación al objeto y el uso de bases de datos SQL y NoSQL, además de los conocidos ficheros DBF.
Pero habíamos dicho que Hardboard se había mantenido compatible con Klipper 5. Si la orientación de objetos cambió, ¿no cambió la compatibilidad?
No, porque solo agregaron características sin modificar nada de lo que ya estuviese.
A mí me da que este tipo de restricciones generaría el rechazo de algún que otro programador dentro del proyecto. ¿Me equivoco?
No, no te equivocas. Por ese motivo surgió— ¡Oh!
Déjame a mí, pro. X Harbour, la resistencia.
No creo que fuese una pugna ni estuviesen a malas. Simplemente, según reza la página acerca del proyecto X Harbour, ellos tenían un enfoque más agresivo y menos conservador con respecto a las características y los cambios.
Aunque aún así dicen mantener una retrocompatibilidad con el lenguaje Klipper.
¿Está aún activo el desarrollo de XHarbor?
Sí, Chip. Aunque en su página oficial no mencionan directamente su GitHub, puedes buscarlo y verás que recibe modificaciones de forma frecuente.
¿Y tiene sentido mantener ambos proyectos? No me entendáis mal, me parece bien que haya muchos proyectos de software libre, pero creo que hoy en día la comunidad de Klipper no debe ser tan grande como para mantener ¿Dos proyectos diferentes?
Pues parece que debe serlo, y son proyectos que tienen sus diferencias, aunque según la información de migración de XHarbour, en ciertos momentos han tenido sincronizaciones.
Vale, ahora vayamos a otra duda que tengo. Esta duda es sobre Klipper en Windows. Hemos comentado que Harbour se ejecuta en Windows, pero Windows es muy diferente a MS-DOS. Cuando ejecutas el programa en Windows, ¿se abre una ventana de terminal?
Esto requiere su propia sección. Mini GUI. Para programar en Windows necesitamos hacer un cambio en la forma de programar. Clipper se ejecuta de forma secuencial, presenta los elementos a medida que se ejecuta el código, pero en Windows no solo hay una interfaz. Cada elemento está ahí y el ratón puede disparar cualquiera en cualquier momento.
Totalmente. Por ese motivo se implementó Minigui, para cambiar el modelo de programación de un modo secuencial a otro basado en eventos.
¿Como en JavaScript? Tiene sentido. Pero esto funciona únicamente si usamos esta biblioteca, y si no la usamos seguimos en la pantalla de terminal, ¿no?
Así es, Chip. Hay que agregar esta biblioteca si queremos programar aplicaciones para entornos gráficos tal y como su nombre indica.
GUI por Graphical User Interface.
¿Y el mini?
Porque es muy compacta, sobre todo si comparamos con el monstruo que es Win32.
Pero hay que señalar que MiniGUI no es solo para Windows, sino también para Linux, Mac y más de 10 sistemas operativos según dice su web.
Un momento, eso no lo dice en su web. Aquí dice que solo es para Windows.
También dice que no confundas MiniGUI con Hardware MiniGUI.
Esto comienza a ser muy confuso. ¿Por qué hay dos?
Supongo que puede estar ligado al hecho de que Minigame es GPL y no permite su uso comercial. Habrá que pagar algún royalty si quieres hacer eso.
Motivo más que suficiente. También se menciona que hubo un intento de hacer HMG, pero no floreció.
Y menos mal, se haría aún más confuso.
Pues aún no hemos acabado. Queda mencionar OOHG.
Pero ya hemos comentado la orientación al objeto.
OOHG se refiere a Object Oriented Hardware GUI. Es decir, una interfaz de usuario gráfica orientada a objetos. En verdad es una facilidad para utilizar Mini-G o hardware Mini-G orientado a objetos.
Menos mal. Me asalta ahora una duda: ¿qué empresas usan Clipper?
Pues es muy buena pregunta.
Antonio comentó que ContaPlus en España usó Clipper. De hecho, lo contrataron para enseñar a su plantilla orientación a objetos y se quedó como parte del equipo de I+D.
Pero seguro que con el tiempo dejaron de usar Clipper y no se plantearon el salto a Harbour.
Hubiese sido lo más lógico, pero no. ContaPlus cambió a Delphi a finales de la década de 1990 y actualmente usan .NET.
Es difícil hacer un listado específico de empresas que usaran o usen a día de hoy Clipper o Harbour porque estas empresas no suelen publicar las tecnologías que usan.
¿Podríamos dar indicaciones sobre qué tipos de empresas suelen usar estas tecnologías?
Eso es mucho más factible. Por ejemplo, Minigui en su página web dice soportar entornos embebidos y de hecho aparecen aplicaciones de terminal de punto de venta, los famosos TPV. Así podemos deducir que supermercados retail deben estar usando estas soluciones.
Gestión de farmacias, pequeños desarrollos en la administración pública, talleres mecánicos o logística.
Toda la base de clientes de FivePro, FiveWim o alguno de sus derivados también puede servir, aunque son datos que no nos pudo facilitar Antonio.
Tampoco se los pedimos abiertamente, pero... ¿Y si nos basásemos en el grupo de usuarios de Harbour?
Casi mejor ir a la galería de aplicaciones hechas con FIPro que mantiene Antonio en su página web. Ahí tienes aplicaciones de gestión empresarial o ERP, aplicaciones para farmacias, contabilidad, nóminas... ¡Lo típico!
Conclusiones.
¿Ya lo dejamos?
¿Quieres contar algo más?
Pues eso.
Esta historia es la continuación a Clipper. Cuando dijimos en aquel capítulo que las decisiones de Computer Associates llevaron a la confusión a la gran comunidad de usuarios de Clipper, estos se dispersaron entre diferentes opciones y algunos, liderados por Antonio, llegaron a buen puerto: Hardboard.
Nunca mejor dicho, aunque parece que Burdan tuvo un gran papel durante este periodo de confusión y lo aprovechó bien. De ahí que grandes empresas consideraran oportuno cambiar de Clipper a Delphi.
Pascal es un gran lenguaje, sin embargo, es una pena escuchar que muchos clipperistas abandonaron la comodidad de su entorno y tuvieron que emprender un viaje desesperado a entornos más prometedores.
Pero hemos dicho que Harbour fue una buena promesa a la comunidad, una buena oportunidad de no tener que cambiar.
Al final, el cambio es necesario, ya sea para incluir soluciones funciones como de interfaz gráfica de usuarios o nuevas bases de datos en lugar de ficheros.
Una vez que te pones a cambiar, pues lo cambias todo. En este sentido, Borland siempre presentó sus soluciones de diseño de aplicaciones de la forma más fácil a través de editores visuales.
Ahora te toca a ti. Cuéntanos tu experiencia con Clipper o Harburg o X Harburg.
Fuiste clipperista, tuviste que migrar.
Si tuviste que migrar a otro entorno. ¿Aún echas de menos tu pasado clipperista?
¿No habíamos dicho que si eres clipperista lo eres de por vida? ¿No? Bueno, da igual. Tú sabes lo que toca. ¡Déjanos tu comentario!
Tengo una pregunta para vosotras. ¿Qué creéis que le interesa más a la gente? ¿La historia o el código?
No sé. Si quisiera aprender algo me interesaría más el código. Pero para echar un rato de sofá viendo YouTube prefiero una buena historia. Yo prefiero que el código me cuente la historia. ¿Serías capaz de contar una historia con código?
¡Sujétame la bebida! Continuará.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








