DELPHI: La revolución RAD

Hexa, Violeta, Chip and Speaker C trace Delphi from Pascal through RAD methodology, versions 1-5, the failed .NET jump with Delphi 8, and Embarcadero's XE2 with FireMonkey. Despite losing ground to Visual Basic and struggles with Oracle dependency, Delphi remains solid for desktop and mobile development, while Lazarus keeps the open-source version alive.
Chapters
Pascal. Ay, ese reducto seguro y confiable donde muchos clipperistas se refugiaron tras la caída de Clipper.
No sé, pro. A mí el camino que marcó Antonio con Harbour me parece bastante seguro.
Antonio es uno de los nuestros, un clipperista. Yo diría que el Torvalds madagueño.
No te pases, pro. Antonio ha sabido cómo proporcionar soluciones que han venido muy bien al sector de clipperistas. Pero tanto como compararlo con Torvalds. Eso es pasarse.
Clipper proporcionó la creación fácil de programas en las décadas donde MS-DOS era el rey, pero Microsoft apostó fuerte por Windows y, aunque hemos visto que hardware tuvo sus pinitos en Windows, para un nuevo entorno se requiere algo nuevo.
¿Un nuevo lenguaje para unirlos y atarlos a todos en... una ventana? La verdad es que ciertos nombres te rompen cualquier discurso serio.
El desarrollo que se desmarcó en Windows fue, sin duda, Delphi. Y de eso vamos a hablar hoy.
¡No me digas! Historia, auge, problemas y caída.
Más bien cómo Borland llegó a la conclusión de potenciar Delphi, su nuevo estilo de programación, las características que lo encumbraron y los personajes detrás de esta hazaña.
Le copiamos a Jorge su idea para la estructura del vídeo.
Más o menos.
Nos inspiramos, Violeta. Nos inspiramos.
Chip, ¿sabes qué tienen en común Lisp Basic y Logo?
No sé, son muy diferentes entre ellos. ¿La década quizás?
¡Exacto! Los años 60, cuando la computación dejó de ser cosa de unos pocos y empezó a compartirse. Multiusuario, multitarea y lenguajes pensados para que más gente pudiese programar.
¿Y dónde podemos repasar todo esto con más detalle?
En Historia de los Lenguajes de Programación, años 1960-1969, disponible en altenwald.com. En PDF y ePub, también disponible en formato físico a través de Lulú. ¡Aprovecha la ocasión! Una nueva esperanza. Tal y como hemos visto en otros capítulos, cuando Windows apareció, el primer beneficiado en todos los sentidos fue Microsoft, no solo por ser el propietario de la plataforma, sino también porque participaba en la provisión de software para la plataforma.
¿Eso no es trampa? Crear la plataforma, que se vendía bastante bien, y además escribir software como Office o Visual Studio les hace el trabajo muy difícil a la competencia.
Totalmente. Creo que hubo algunos juicios por esas fechas, pero recuerda que empresas como Borland ya habían ganado a Microsoft en su plataforma anterior.
¡Cierto! Tanto MS-DOS como Windows pertenecían a Microsoft y tuvieron una posición privilegiada inicialmente. Aunque el desarrollo de herramientas como Clipper o Turbo Pascal con Turbo Visión demostraron que, aún sin contar con esta ventaja, se les puede ganar a las plataformas en su propio juego.
En este caso lo volvieron a hacer. En la década de los años 80 comenzaron a surgir algunas metodologías que desafiaron el status quo de la planificación en cascada.
En nuestro capítulo sobre la crisis del software dijimos que las metodologías ágiles no llegaron hasta el año 2000.
Pero no salieron de la nada, Chip. Muchos de los firmantes del Manifiesto Ágil ya habían desarrollado sus metodologías con bastante antelación.
¿Pero tanta antelación? Es decir, si no recuerdo mal, muchas de estas metodologías son de la década de los 90.
Ni a Rapid Application Development ni a Rational Unified Process se les conoce como metodologías ágiles. Es decir, estas metodologías intentaban ser como parches en algo que se veía roto.
Y en este caso, RAD, desarrollado por James Martin en IBM, mostró una forma algo más flexible de desarrollar aplicaciones Entonces Borland se hizo con la metodología RAD, Pascal tal y como lo había evolucionado en sus editores en MS-DOS y combinó los ingredientes para crear Delphi.
No siempre todo es una línea recta, Chip.
Eso ya lo tengo claro, aunque sigo intentándolo.
Pascal en MS-DOS evolucionó y mucho. De hecho, se sirvieron de la fiebre de la orientación a objetos y utilizaron su implementación de Object Pascal como base.
Aunque también quisieron agregar una pieza clave para el desarrollo de aplicaciones empresariales en la época: conexión con base de datos. Y la base de datos más usada por empresas era Oracle.
¡Oh, espera! Por los nombres en inglés. Si querías hablar con el oráculo, Oracle, tenías que ir a Delfos, Delphi. ¡Qué ingenioso!
Totalmente. Aunque en verdad el entorno iba a tener un nombre más obvio, solo que AppBuilder, el nombre que les gustó, fue tomado por Novel, que se les adelantó lanzando Novel AppBuilder. Y entonces tuvieron que elegir otro nombre.
La costumbre de muchos equipos de programación es proveer a sus proyectos de un nombre, el nombre en clave o codename, que utilizan internamente para referirse al proyecto.
¡Exacto! El nombre interno del proyecto era Delphi, que le fue dado por Danny Thorpe, uno de los programadores del proyecto.
Le gustaría mucho la historia griega. Bueno, resumiendo, Delphi contó con 3 elementos que le hicieron destacar y hacerse hueco en el mercado de los desarrolladores de programas Y estos fueron un Pascal orientado a objetos, Object Pascal, una metodología para desarrollar más rápido basada en el RAD de Martin y la conexión con bases de datos, principalmente Oracle. Pero, ¿esto basta para conseguir el éxito? Echemos un vistazo a sus versiones. La era de la fundación.
Un poco antes de tener disponible Windows 95, Borland invirtió en crear Delphi, pero enfocándose a Windows 3.1, y en 1995 lanzaron Delphi 1.
Fue un golpe en la mesa. Delphi mostraba las ideas y todo el valor que prometían sus pilares en RAD, Pascal y las bases de datos. Pero era de 16 bits.
Un poco limitado, Hexa, pero aun así características como su editor doble de diseño y código, su biblioteca estándar para arrastrar y posicionar elementos, y el inspector de propiedades de cada elemento dentro de la ventana fueron un antes y un después en el desarrollo de aplicaciones para Windows.
Pero chicos, no fue el primero. Visual Basic fue publicado para Windows en 1991 y ya tenía el sistema de arrastrar elementos a un formulario.
Exacto, Delphi no fue el primero en implementar todas esas ideas, pero sí fue el primero en implementar una versión completa de RAD Y el uso de Object Pascal le dio más notoriedad por su implementación a objetos.
Totalmente. Si tenemos que comparar, creo que Visual Basic no contó con una buena y robusta orientación a objetos hasta Visual Basic .NET.
Y no olvidéis la VCL. Esa fue la piedra angular de su éxito y sobre todo la llegada de Delphi 2 justo un año después mostrando una gran cantidad de mejoras como un compilador de 32 bits. Soporte completo para Windows 95 y otro pasito más para la integración de las bases de datos, su componente BDE o Borland Database Engine.
Muy poco tiempo entre Delphi 1 y Delphi 2, ¿no?
Un año es mucho en términos de computación, aunque es verdad que no para quienes crean software para empresas. Sin embargo, Delphi cuidó mucho a sus usuarios, haciendo que el cambio no fuese disruptivo o, dicho de otra forma, Permitiéndoles cambiar a la nueva versión sin romper nada.
Además, al año siguiente, en 1997, llegó Delphi 3, y al año siguiente, en 1998, Delphi 4. Cada uno con grandes cambios, pero era necesario.
Exacto. Windows cambiaba también cada poco tiempo. Primero de Win16 a Win32, después agregando elementos como los ActiveX, los COM, los DCOM, ADO... Era una carrera frenética para mantenerse completamente compatible con todo el entorno de Windows y, al mismo tiempo, la promesa de no romper nada.
Si creaste un proyecto con Delphi 1, ¿podías abrirlo en Delphi 4 y seguir usándolo tal cual?
Esa es la idea, Chip. Borland sabía que su mayor activo era el código hecho por sus usuarios.
Cosa que parece que no entendió muy bien Microsoft con Visual Basic.
Por ese motivo, Delphi transmitía una sensación de robustez y fiabilidad en comparación con otros.
No obstante, el cambio de Delphi 1 a Delphi 2 tuvo sus pequeños problemas al tener que cambiar el compilador de 16 a 32 bits, y algo similar sucedió con la llegada de Delphi 5 en 1999. El cambio de paradigma.
Esta versión de Delphi se consideró durante mucho tiempo como la versión de Delphi estable y perfecta. Con sus integraciones de XML y el acceso a base de datos ADO o ActiveX Data Object, un estándar de Windows.
A principios de los 2000 hubo bastante movimiento porque Borland ya no solo apuntaba a Windows, sino también a Linux a través de un port que hicieron. ¿Cómo se llamaba?
KIDIX. Fue polémico porque Linux aún no era una plataforma donde sus usuarios estuviesen dispuestos a gastar dinero en software crear aplicaciones con interfaces gráficas o enfocarse en su uso empresarial. Además, llegó un momento muy fragmentado en la comunidad. Sus distribuciones aún no estaban preparadas para acoger ese tipo de ideas e implementaciones.
Además, significó un estancamiento y una pérdida de foco en Windows que les pasó factura.
¿Dejaron de publicar su versión anual?
No, las versiones siguieron llegando cada año, pero cambiaron de VCL a CLXO. Component Library for Cross Platform, mostrando que esa biblioteca podría usarse tanto para Windows como para Linux.
Solo que no fue así. La CDX tenía componentes que funcionaban bien en Windows pero no en Linux, así que surgieron las primeras fricciones entre los que intentaron proporcionar programas en ambas plataformas. Debían mantener dos proyectos diferentes.
Por ese motivo, la mayoría de usuarios se mantuvo en la versión de Delphi 5, pero el peor golpe fue cuando muchos de sus desarrolladores dejaron la compañía.
Según veo en esta publicación, Anders, que ya vimos que fue quien creó Turbo Pascal y otros compiladores en Borland—
incluido Delphi, Chip, no te olvides.
Eso, incluido Delphi. Dejó la compañía en 1996, mucho antes de esa ruptura que comentas.
Borland demandó a Microsoft por quitarle a muchos de sus empleados en 1997. Así que sí, incluso antes de que Delphi 5 fuese publicado, Borland ya experimentó problemas.
Centrémonos. Como decíamos, Delphi experimentó un cambio de paradigma para intentar competir con Microsoft en igualdad de condiciones, tanto proporcionando una herramienta para Linux como llevando Delphi a .NET. La era de la modernización. Delphi 8 fue un sistema centrado en .NET Y únicamente en .NET.
Supongo que tal y como lo dices fue un desastre.
Totalmente. Aunque CLR es una buena máquina virtual y gran herramienta, ¿cómo vamos a comparar un compilador nativo con un compilador a bytecode?
Diría que no es para tanto, pero parece que supuso una ruptura en la línea de publicación de Delphi. Tanto que Delphi 8 fue la última versión numerada y la siguiente fue Delphi 2005. Publicada en 2004, donde mezclaron .NET con Win32.
Las versiones con números de año se mantuvieron hasta el fin de Borland y consiguieron levantar cabeza finalmente. Es decir, con Delphi obviamente. Borland en general es otra historia diferente.
Parece que consiguieron tener una integración fluida y completa con Windows Vista. ¿Windows Vista?
Jóvenes... Bueno, Windows Vista fue un error al igual que Delphi 8 porque se confió demasiado en CLR para la implementación de todo.
Fue un tiempo oscuro para el rendimiento, todos intentando usar únicamente máquinas virtuales.
Pues con esto ya entramos en la última era: la era embarcadero. Aunque esto sucedió en 2008, uno de los hitos más importantes en esta época sucedió en 2011 con la publicación de Delphi XE2 y su nuevo framework multiplataforma llamado FireMonkey o FMX.
Parece que es Esto supuso un nuevo camino para Delphi, abriendo sus opciones para el desarrollo de soluciones no solo para Windows, sino también para OS X, iOS y Android.
Exacto. La línea comenzaba por Delphi XE2, continuó con 10.1 Berlín, que estaba enfocada a proporcionar un desarrollo fácil de aplicaciones de cliente tanto para móviles como para escritorio y herramientas para integrarse bien en servidores a través del uso de REST. Y Jason.
Abandonaron al fin XML, pero yo remarcaría su nuevo enfoque para abordar, esta vez sí, de verdad, el desarrollo de aplicaciones para Linux.
Un enfoque similar a Go o Rust. Tú usas tu entorno de confianza y desde ahí desarrollas para la plataforma que quieras usando un compilador cruzado.
¡Un momento! Hexa me dijo que podía enseñarme a desarrollar en Delphi desde Linux.
No dije eso exactamente.
Puedes tener código ejecutándose en GNU/Linux como servidor, pero ejecutar clientes de interfaz gráfica de usuario en GNU/Linux tiene muchas limitaciones.
Parece que la única forma multiplataforma real para crear aplicaciones usando Pascal sigue siendo Lazarus.
Pues parece que en esta época de embarcadero Delphi sigue siendo bastante utilizado y aunque a día de hoy todo es web Parece que Delphi tiene herramientas que permiten crear servidores y clientes para Windows, Mac, iOS y Android.
Conclusiones.
Delphi fue el paso natural de Borland de llevar Pascal D2 a Windows, y aunque Borland tuvo sus altibajos, Delphi como producto sobrevivió, supo rectificar en algunos de sus fracasos y ha acabado siendo un gran producto para desarrolladores.
Ha habido momentos en los que casi traicionan su compromiso con la compilación nativa, como el caso de Delphi 8 usando CLR, pero afortunadamente Delphi siempre fue un sistema comprometido y con alto rendimiento.
Sin embargo, me quedo con mal sabor de boca. No puedo usarlo en Linux.
Tranquilo Chip, siempre nos quedará Lazarus.
Vale, bueno, en fin. Ahora es el turno para vosotros. Ya sabéis, hay que rellenar esa cajita de comentarios y presionar fuerte el botón de me gusta.
Las preguntas, Chip, que se te olvida.
Cierto. ¿Qué os parece Delphi? ¿Habéis desarrollado aplicaciones de escritorio?
¿Quizás de servidor?
¿Y aplicaciones para Linux?
¿No preferís Lazarus? Déjanos tus comentarios. Estamos a punto de terminar esta tercera temporada. ¿Qué os parece?
Pues... no tan mal como se veía venir, la verdad.
Las valoraciones han sido positivas y la evaluación a Hexa también.
Aunque esta temporada ha tenido cosas buenas y muy buenas, ¿Qué podemos hacer para superarnos en la siguiente?
Pues estaría bien tener ya el curso, ¿no?
Bueno, no nos anticipemos, pensemos en más cosas.
Además del curso, ¿no?
¿Qué tal si les pedimos a los seguidores algunas sugerencias? ¡Una lluvia de ideas!
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








