Hablemos de CLIPPER

En este episodio de "Hablemos de CLIPPER" los presentadores Chip, Pro y Hexa (con menciones a Violeta) narran la historia del lenguaje/compilador Clipper, desde su origen legendario en una marisquería de Malibu hasta su auge en los años 80 y su posterior caída tras la llegada de Windows 95. Se discuten los mitos sobre el nombre (inspirado en un barco clipper y la servilleta), la relación con dBASE/Xbase, los detalles técnicos del proceso de compilación (archivos .PRG, .VJ, RTLINK), y los factores que impulsaron su éxito: licencias costosas de dBASE, necesidad de velocidad y optimización en PCs de bajo recurso, y la explosión del PC en los 80. El programa también describe el surgimiento del "clipperista", un perfil full‑stack que combinaba administración, soporte y desarrollo para pymes. Luego analizan el declive: la transición a Windows 95, la falta de adaptación de Nantucket/Computer Associates, la competencia de Visual Objects, Delphi y Visual Basic, y la fragmentación de la comunidad que llevó al surgimiento de proyectos como Harbour y Xbase. El episodio concluye con una reflexión nostálgica sobre la huella de Clipper y una invitación a la audiencia a comentar y apoyar el canal vía Patreon.
Chapters
Volvemos al pasado, a las bases de datos, a los lenguajes y compiladores extraños. Y parece que hay algo de salseo también.
No es oro todo lo que reluce.
A Violeta le gustaría este salseo.
A mí me gusta la historia de incrementos de rendimiento y la creación del compilador en sí.
No lo dudaba, Hexa. No lo dudaba.
Parece que lo tenemos claro entonces. ¿Comenzamos?
Aún 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 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.
El origen de Clipper. Imagina que estás almorzando con tu amigo después de un duro día en el soporte técnico de la empresa.
No hace falta que lo imagine, ya lo haces cada día.
Ya, pero En una marisquería de Malibú, California.
No llega tanto el presupuesto.
Mente de tiburón, Hexa. Hay que estar donde están los peces gordos.
Literalmente, en este caso.
¿Esa es la historia donde Brian Russell, empleado de Ashton Tate y Barry Revel, un consultor con su propia empresa de contratación temporal, estaban en la marisquería hablando?
¡Exacto, Pro! Brian no hacía otra cosa que quejarse de la cantidad de veces que habían llamado los clientes solicitando ¡Un compilador de Dbase!
Normal, Dbase es lento, un compilador obtendría los resultados mucho más rápido. Eso sí, si se desarrolla de forma óptima y eficiente.
Eso pensó Brian. Debía ser de los tuyos. Y comenzó a apuntar ideas que fueron surgiendo de la conversación entre Brian y Barry. Cada cosa a tener en cuenta, cada cosa a mejorar, iba a la servilleta.
Dudo que fuese así.
Pues a mí me parece una buena sesión de trabajo entre platos.
Y de repente se preguntaron qué nombre sería el apropiado.
Algo obvio sería DBC. La DB por database y la C por compilador. Muy acorde a otros compiladores como Java C o GCC.
Pues no. La respuesta se encontraba en la servilleta. Había un barco velero esbelto, imponente y potente. El barco era un clipper.
Les vino bien entonces almorzar en la marisquería. El nombre de la empresa Nantucket también suena extraño. Aunque parece que va en línea de otros lenguajes que vinieron después como Java o Kotlin.
¿Qué tienen en común?
Nantucket es una isla al sureste de Massachusetts. Los 3 lenguajes tienen nombre de islas.
Sí, pero el nombre no era por eso. En la servilleta también aparecía Nantucket. Era el nombre de la marisquería.
De ser cierta la historia, quizás el dueño de la marisquería se hubiese sentido molesto.
O agradecido de que alguien apreciara el nombre también.
Sea como fuere, la historia no es cierta.
A mí me lo parece. Tiene ese halo épico y es un gran comienzo para la historia de Clipper.
Sí, pero dándole un poco más de crédito a uno de los fundadores de Nantucket, Brett Oliver, quien desmintió la historia, dijo que es cierto que Brian y Barry trabajaban en Aston Tate en aquel tiempo. También es cierto que Brett Oliver se acercó a Brian durante un almuerzo y le propusiera hablar con Barry, ya que eran amigos y sabía que Barry podría permitirse invertir en el proyecto. Pero no le consta que fuesen a una marisquería ni que existiese una marisquería llamada Nantucket en Malibú.
Pues vaya, comenzábamos con una historia idílica con un lenguaje de programación y se nos fastidió el plan.
Hay que hacer honor a la verdad.
Algo de verdad seguro que hay en la propuesta de los nombres.
A mí lo que me crea duda es: ¿Clipper es un lenguaje de programación o solo el compilador?
En principio el lenguaje de DBase no tenía un nombre propio. Al menos al principio.
He oído que al lenguaje se le conoce como Xbase.
Eso llegó mucho después. En verdad, como Clipper fue un dialecto de DBase, pues se le llamaba al lenguaje directamente Clipper.
¿Un dialecto como cuando decimos Visual Basic?
¡Exacto! Tanto DeBase como Clipper eran muy parecidos en sus inicios. Por ejemplo, si entramos en DeBase 3 Plus y creamos un fichero de personal donde pongamos el nombre y el rol de cada uno de nosotros, este fichero podemos emplearlo tanto en DeBase como en Clipper.
Tiene un aire a Access, pero se siente más complejo.
Yo diría extraño, pero se agradecen los menús.
También tiene una línea de comando desde donde escribir los comandos. De hecho, El assist es un comando que se agregó en la versión 3+.
Entonces puedes editar un programa y ejecutarlo desde la línea de comandos.
¡Exacto! En Clipper esto es más directo porque teniendo el código escrito en el mismo fichero con extensión PRG se puede compilar y enlazar para obtener el ejecutable y entonces lanzarlo.
¿El mismo fichero PRG?
Existen salvedades. La parte del listado en Clipper se hace de forma diferente.
No pudieron replicar todos los comandos.
O lo hicieron de una mejor forma. Vayamos a la parte interesante: ¿cómo hicieron el compilador?
Oh, veo que te has enterado que vuelve a haber salseo en esta parte.
Totalmente, pobre Brian.
Según dijo Brett en su comentario en la página web de Viva Clipper, él habló con Brian y le preguntó si se atrevería a hacer un compilador. Brian contestó que sí, porque en la universidad hizo uno en Pascal.
Pero no fue tan fácil.
Brett debió haberle pedido más referencias, eso sí.
¿Por qué? Hizo un buen trabajo.
Consta que, al parecer, tuvo que aprender aprisa y corriendo porque se guardó un pequeño dato. Y es que su compilador de la universidad, en verdad... Nunca funcionó.
¡Qué crack!
Pero consiguió hacer ese compilador.
Se tomó mucho tiempo, al parecer. En el COMDEX de Las Vegas.
¿De qué año?
Eso no lo menciona, pero hagamos cálculos.
Nantucket lanzó la primera versión de Creeper en 1985, así que posiblemente se refería al COMDEX de otoño de 1985.
Creo que tuvo que ser antes, porque dice que durante ese COMDEX Brian estuvo programando y consiguió el primer comando.
Sí, el primer comando nos suena a un compilador completo. Pudo entonces haber sido en 1984 o incluso 1983.
Estoy segura de que tuvo que ser el COMDEX de otoño de Las Vegas de 1984 porque fue cuando se lanzó la versión 1.0 de dBASE III.
Pues yendo a lo técnico, como se ha visto en el fichero buscador.rmk que tiene el formato de los ficheros típicos de Make, primero se obtiene el fichero buscador.vj compilando con Clipper buscador.prg y después este objeto junto con la librería de Clipper se emplean con el comando RTLINK para generar el fichero buscador.exe.
Lo mismo que ya habíamos comentado en otros capítulos como el de los lenguajes ensambladores o el capítulo de Pascal.
Hagamos un repaso ahora por los motivos del éxito de Clipper. ¿Por qué tuvo tanto éxito?
¿Tuvo éxito? Es decir, Brian no sabía cómo escribir un compilador. Tardaron bastante en tener el primer comando y... ¿consiguieron llegar?
El listón no estaba muy alto, Chip. Los usuarios de dBASE se quejaban porque querían utilizar sus programas hechos en dBASE evitando licencias y la instalación de dBASE en cada computador.
Podemos enumerar los motivos del éxito de Clipper justamente comenzando por esos. El primero, las licencias. No solo son costosas sino también tediosas al tener que ir instalando DBase en cada PC.
También hay que decir que el intérprete de dBASE tenía algunas limitaciones. Clipper agregó funciones, bloques de código, la posibilidad de agregar librerías externas, macros más potentes... En esencia, programación estructurada.
Exacto. Al compilar el código en formato objeto era posible mezclar el código en Clipper con código hecho en otros lenguajes como C o Pascal.
Podemos decir que, como Hexa, la obsesión por la velocidad—
por la necesidad de optimización de recursos, Chip.
Eso decía, que la necesidad de optimización en los 80 llevó a querer optar por un compilador.
No te olvides del auge del PC en los 80 también.
El auge del PC hizo que muchos equipos de desarrollo tuviesen que repensar la forma de construir software para ser ejecutado en estos computadores tan poco potentes.
Eso lo hemos visto de primera mano, Chip?
Calla, Hexa, que aún no es el momento.
¿Qué estáis tramando?
En este punto podemos concluir que el secreto del éxito de Clipper fue la proliferación del PC y la necesidad de soluciones óptimas. Yo me quedo con eso.
El héroe clipperista.
¿El héroe clipperista?
En esta época, y gracias a Clipper, surgió una figura concreta, un personaje a mitad entre administrador de sistemas, formador, consultor, soporte técnico, programador y, en definitiva, bombero.
¿Bombero?
¿Se dedicaba a apagar fuegos?
¡Exacto! Ese sí era full stack developer. Un programador de gestión a cargo de cualquier aspecto del programa de la empresa, ya fuese en un taller, en una tienda, en una gestoría, un almacén, un despacho profesional... ¡Lo pillamos!
¡Lo pillamos! El clipperista era la figura del chico para todo, la persona que no sabe decir que no y al que le encargaban todo lo relacionado con la computadora.
Pero hubo programadores de gestión mucho antes de esto, es decir, los programadores de COBOL.
Esos estaban principalmente en la banca, administración pública o aseguradoras.
¿RPG?
Esos estaban con empresas que se podían permitir un IBM AS/400, es decir, Grandes empresas de contabilidad y grandes inventarios.
¿MUMPS?
¿Qué es eso?
Un lenguaje para el sector de sanidad y obviamente también grandes empresas, muchas de ellas estatales.
Aunque estos programadores solo se dedicasen a trabajar para grandes empresas, sí que se podían considerar también programadores de gestión.
Pero no con el mismo aire de héroes locales que los clipperistas. Estos programadores acercaron el software a la pequeña y mediana empresa.
Lo democratizaron.
En verdad lo hicieron popular y asequible.
Hicieron posible crear software a medida para esas empresas y usuarios que apenas sabían utilizar un PC.
Me parece todo bastante idílico, pero seamos sinceros: hoy en día Clipper casi no se conoce. Así que toca la pregunta obligada: ¿en qué momento se nos rompió el amor?
Es fácil, en 1995 hay un cambio brutal en el PC.
Aparece Windows 95. Todo tiene que estar programado en Windows.
¡Exacto! La interfaz gráfica de usuario cambia radicalmente y esas interfaces hechas en texto y tan famosas durante toda la época de base, Lotus 1-2-3, WordPerfect, todas estas interfaces ya no son nada. Todos quieren que sean como los nuevos programas hechos por Microsoft. Ya sabéis, Access, Excel y Word. Y aunque hubo intentos de tener nuestro de base, Lotus 1-2-3 o WordPerfect, no importó mucho porque el nuevo enfoque de Microsoft y la disponibilidad de las herramientas de Microsoft a un precio más asequible y dentro de una suite ofimática hizo que estas otras opciones fuesen demasiado caras e ineficientes en comparación.
Es verdad que Windows 95 fue un duro golpe. La programación con Win32 era un infierno y muy diferente a DOS. Solo adaptarse era una inversión enorme.
De hecho, en poco tiempo comenzó a haber un ecosistema bastante rico en Windows para crear software de forma rápida y visual.
De hecho, en este aspecto Microsoft también se adelantó lanzando Visual Basic en 1991 y Borland en el mismo 1995 lanzando Delphi.
Además de todo esto, el esquema comienza a cambiar a un modo cliente-servidor. La aparición de otro software como SQL Server de Microsoft en Windows 95 en el mismo 1995, así como otras bases de datos, hizo ver a dBase como desfasado.
Entonces, para estar a la altura debían crear algo visual en Windows 95 y con posibilidad de conexión en red. Suena como un gran cambio.
No solo eso, Nan Tucket había puesto toda la carne en el asador en su lanzamiento de Clipper 5 y no tenía fondos para afrontar esta tarea titánica.
Y fue entonces cuando Computer Associates entra en la ecuación.
¡Exacto! Fue una necesidad si no querían quedarse fuera del mercado y poder competir contra Microsoft, Borland e incluso Sybase.
Todo muy bonito, pero recordemos el estado actual. Algo no fue bien, se huele a distancia.
Hay que recordar que Computer Associates no era una empresa de software. Ellos fabricaban mainframes, computadores enormes para empresas grandes.
Exacto. Aunque la base de usuarios de Clipper era enorme, no entendían el negocio del desarrollo de software, no entendían la comunidad de Clipper, no entendían la urgencia del salto a Windows, no invirtieron lo suficiente para su transformación a Windows, y tardaron demasiado en conseguir lanzar su Visual Objects.
Espera, Visual Objects fue lanzado en 1995. No fue tan tarde.
En verdad sí, Chip. Todos los jugadores ya estaban sentados a la mesa y con las cartas en la mano, y Visual Objects llegó muy verde. No le llegaba ni a la suela del zapato a Delphi.
Sí, esto es en parte porque Delphi contó con un Object Pascal muy bien definido Y Clipper 5.0 intentó agregar objetos pero de forma muy minimalista.
¿Como en PHP 3?
No tan mal, ¿no? Pero sí que fue minimalista y no cuajó.
Entonces la orientación a objetos es algo que también se dejó para Visual Objects.
Totalmente. Sus competidores eran Delphi y Visual Basic. Debía tener una buena orientación a objetos.
Recuerdo escuchar que cualquier Visual Basic antes de .NET No tiene una orientación a objetos bien hecha.
Ahí residía el desafío: en hacerlo bien y superar a la competencia. Pero con todos esos desafíos olvidaron realmente algo que nunca debieron haber olvidado.
Que la banca siempre gana. Microsoft creó Windows y ganaría seguro. Era un juego amañado.
No, me refería a su comunidad.
Sí, eso lo dijiste. No entendían a su comunidad.
Ignoraron a su base de usuarios, rompieron la compatibilidad con Clipper 5 lanzando un producto que se sentía diferente, y la comunidad se fragmentó y optó por estudiar diferentes opciones. Una de ellas, Harbour.
Conclusiones. Ha sido una historia interesante, pero nos hemos quedado sin tiempo.
Es emocionante ver cómo un producto que supuso una revolución en una década, en la siguiente pierde completamente el rumbo, pero deja huella y propicia la creación de Xbase. Es una pena que Clipper dejase de existir.
Sí, yo me quedo con ese pensamiento. Clipper no dejó de existir porque fuese una mala opción, dejó de existir porque el mundo cambió a su alrededor más rápido de lo que pudo evolucionar.
Ahora te toca a ti, que has estado viendo el vídeo ahí en silencio y seguro que te asaltan dudas. A ver si adivino, ¿te preguntas por qué no comenzaron a planificar Clipper para Windows antes?
Quizás un esfuerzo menor en Creeper 5 para dedicar esfuerzos a su transformación en Windows desde Nantucket hubiese dado mejores resultados. ¿Crees que hubiese sido positivo no disponer hoy en día de Creeper 5?
Y lo más importante, ¿hiciste algún proyecto con Creeper?
Déjanos tu comentario. Oye, ¿sabes algo de Violeta? Es raro no verla por aquí.
Creo que no se encuentra bien. Al llamarla antes me sonó algo más dura de lo habitual.
Pues si eso le dejaré un comentario, seguro que me lee. Los lee todos. Y tú Chip, cuídate que tenemos que acabar nuestro proyecto. 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








