40 aniversario de Turbo Pascal
(blog.marcocantu.com)- Turbo Pascal, presentado por Borland en noviembre de 1983, cumplió oficialmente 40 años en noviembre de 2023
- Turbo Pascal fue el producto que marcó el inicio de Borland y es considerado el primer entorno de desarrollo integrado (IDE) ampliamente usado en la industria
- En su momento dejó una fuerte impresión por la experiencia de desarrollo y el nivel de terminación del producto, lo que derivó en un gran éxito comercial
- Embarcadero sigue desarrollando la línea de compiladores sucesora, y el compilador de línea de comandos Win32 de Delphi 12 Athens usa la versión 36.0
- Como el esquema actual de numeración de versiones se remonta al primer Turbo Pascal, este 40 aniversario también está directamente vinculado con la historia de la línea Delphi
Turbo Pascal, iniciado en noviembre de 1983
- Turbo Pascal fue un producto lanzado por Borland en noviembre de 1983
- Para noviembre de 2023, cumplió oficialmente 40 años
Su lugar en la historia de Borland y de los IDE
- Turbo Pascal es considerado un producto hito de la industria
- Fue el producto que dio origen a la compañía Borland
- Se lo menciona como el primer IDE ampliamente conocido
- Para los estándares de la época, era un producto sobresaliente y su escala de éxito fue enorme
Lecturas adicionales y contexto de Pascal
- Se puede leer más sobre Turbo Pascal en una entrada reciente del blog de David I y en Wikipedia
- Como material relacionado con Pascal, también se presentan una entrada de blog sobre los 50 años de Pascal y la presentación del primer Pascal World Congress en Salamanca
El compilador sucesor que llegó hasta Embarcadero
- Embarcadero sigue desarrollando la línea de compiladores sucesores de Turbo Pascal
- Recientemente lanzó la versión 36 de ese compilador
- El compilador de línea de comandos de Delphi 12 Athens incluye la indicación de versión
Embarcadero Delphi for Win32 compiler version 36.0 - Este número de versión 36 pertenece a un esquema de numeración que se remonta al primer Turbo Pascal
Easter Egg por el 40 aniversario
- Para conmemorar este 40 aniversario, Embarcadero dedicó un Easter Egg del producto al aniversario de Turbo Pascal
- El mensaje termina con “Happy 40th birthday, Turbo Pascal!”
1 comentarios
Comentarios de Hacker News
Uno de mis videojuegos favoritos era ZZT, escrito en Turbo Pascal. Era un extraño juego en modo texto creado por Tim Sweeney, de Epic Megagames, que mezclaba puzzles, disparos y otras cosas; incluso la versión shareware gratuita incluía un editor de juegos y hasta un pequeño lenguaje de programación llamado ZZT-OOP.
El código fuente original de ZZT se perdió, pero años después Adrian Siekierka hizo ingeniería inversa de forma meticulosa al código Pascal original, hasta lograr que al compilarlo con la versión original de Turbo Pascal produjera un ejecutable idéntico byte por byte. Es increíble.
https://blog.asie.pl/2020/08/reconstructing-zzt/
https://news.ycombinator.com/item?id=22609474
https://benhoyt.com/writings/zzt-in-go/
Turbo Pascal me inició en la programación. Recuerdo haber gastado cientos de marcos alemanes en licencias de Borland Pascal 7.0 y, más tarde, de Delphi 1.0 y 2.0, y al final terminé creando mi primer software “comercial” que vendí por dinero.
En la época de DOS, aparte de Basic, Turbo Pascal probablemente era el camino más fácil para entrar a la programación, y en Windows 3.1/95 Delphi fue una herramienta reveladora que mostraba lo fácil que podía ser programar GUIs.
En muchos sentidos siento que incluso hemos retrocedido desde entonces. Los compiladores de Turbo Pascal / Delphi generaban programas GUI completos como binarios pequeños; me pregunto cómo es que hoy el software con un rendimiento similar terminó siendo varios órdenes de magnitud más grande.
Si la causa era un typo, corregirlo, recompilar y ejecutar tomaba un segundo. Muchas herramientas actuales tienen otra filosofía, que exige al desarrollador más acciones innecesarias.
La excepción es SAP, que de alguna manera parece haber logrado combinar la hostilidad hacia el usuario de las interfaces de los 90 con el consumo de recursos de los programas modernos. Después de BASIC, el siguiente lenguaje que usé también fue Turbo Pascal.
Lo que más recuerdo de TP es que cada función tenía ejemplos de código simples y fáciles de entender, y que estaban organizados de forma lógica, así que era fácil encontrarlos y usarlos. Por eso, aunque era un adolescente que apenas entendía BASIC, pude aprender Turbo Pascal por mi cuenta solo con el IDE, sin internet.
En muchos sistemas actuales no hay nada ni remotamente parecido. Me pregunto si era gracias a la naturaleza de los sistemas simples basados en x86 DOS de aquella época, o si hoy se volvió imposible crear algo así por el ritmo acelerado de cambio, los requisitos multiplataforma y la complejidad.
Quisiera agregar que Processing era el único framework de creative coding de esa época con documentación completamente offline. Por ejemplo, OpenFrameworks todavía hoy tiene, en su mayor parte, documentación casi vacía generada automáticamente.
En mi opinión, ese fue uno de los factores que le dio a Processing una ventaja frente a sus alternativas en entornos educativos. Me dio bastante pena que p5.js no continuara del todo esa tradición, que para leer la documentación haya que conectarse a internet y que, en lugar de ser un sitio web estático, el texto se renderice con JavaScript al abrirlo. Aun así, la documentación en sí es completa, incluidos los ejemplos.
https://processing.org/
https://p5js.org/
Eso fue varios años antes de conocer internet en la universidad, así que no había una forma fácil de acceder a materiales de aprendizaje. Antes había intentado aprender C varias veces sin mucho éxito, pero recién después de aprender TP pude trasladar a C lo que había aprendido en Pascal, y aun entonces me ayudó otro gran producto de Borland: C++ Builder.
A fines de los 80, después de pasar por ensamblador 6809E, variantes de BASIC estructurado y batch/shell, el primer lenguaje de programación “real” que aprendí fue Turbo Pascal. Cuando entré a la carrera de informática a principios de los 90, también enseñaban las materias de primer año con Borland Pascal, así que esa experiencia me resultó bastante útil.
Unos años después, gracias a mi base en Pascal, terminé trabajando unos cinco años desarrollando apps a medida con Delphi, y luego eso me llevó a probar los IDE Kylix y C++Builder en Borland. Eran buenos tiempos.
Todavía extraño Delphi. Hoy se da por sentado al punto de que si un IDE no tiene plugins se considera una falla grave, pero en aquel entonces la idea de una biblioteca de componentes y un entorno de desarrollo fácilmente extensibles en su propio lenguaje parecía pura magia. Era realmente divertido meterse con VCL y con el propio IDE.
Es una lástima que Borland, al perseguir el mercado enterprise, dejara atrás a los desarrolladores de base y prácticamente matara el crecimiento de la adopción en la comunidad. Al menos hasta alrededor de Delphi 7 era un conjunto realmente genial.
Mi primer contacto con TP fue en el invierno de 1993, cuando tenía 14 años y lo pirateé de un BBS de warez. A diferencia de simplemente ejecutar archivos .BAS, la fuerza primitiva que sentí al compilar mi propio EXE fue extasiante.
Empecé a modificar Renegade BBS y a crear programas door, e incluso intenté hacer gusanos, troyanos y virus, aunque fracasé. Esa experiencia me cambió la vida y marcó el camino que me llevó a estar hoy en el sector tecnológico. Además, ya superé esas tendencias transgresoras de la adolescencia. Le debo mucho a Borland.
Unos años después, a los 16, desarrollé una pequeña app para gestionar clientes de mi padre y de hecho me pagaron; con parte de ese dinero compré una versión legal de TP6. Eran buenos tiempos.
Free Pascal todavía tiene un modo que se parece al IDE original de TP. Aunque, como ellos mismos reconocen, el código se está deteriorando y todavía depende mucho de las viejas peculiaridades de la plataforma MS-DOS original.
Es una lástima que no exista una versión similar que pueda usarse como editor general en la terminal, al estilo de neovim o emacs, y que a la vez se integre con funciones orientadas a IDE modernos como LSP, parsers tree-sitter y Debug Adapter Protocol. Podría cambiar las reglas del juego al editar código remoto mediante conexiones SSH/terminal.
Es difícil exagerar lo rápido que era Turbo Pascal frente a sus competidores. Era tan rápido que parecía que hacía algún tipo de trampa, y los programas generados también eran más rápidos.
Para su época fue una obra maestra, y los elogios que recibió fueron totalmente merecidos.
Así aprendí que un compilador maduro era mejor que un compilador en versión 1.0.
Recuerdo haber compilado hace unos años una versión de la serie 2.0 de FPC en una PC con Windows y 512 MB de RAM, y no tardó ni 5 minutos.
https://www.tmssoftware.com/site/blogold.asp?post=759
De niño, el amable dueño de una tienda de computadoras me vendió en buenas condiciones una PC semicompatible que corría MS-DOS 1.25. Fue más o menos a cambio de cortar el pasto unas cien veces y cuidar niños.
Ese dueño vendía en disquetes de 8 pulgadas Turbo Pascal para MS-DOS genérico, es decir, una versión que no asumía un BIOS de PC, y me lo transfirió al formato de 5,25 pulgadas y 160 KB que usaba mi semicompatible. Espero haberlo apreciado entonces tanto como lo aprecio ahora. Eso fue lo que puso en marcha mi carrera.
A principios de los 80 usé Apple Pascal en Apple ][+ y //e, es decir, un entorno basado en UCSC p-system Pascal, y luego pasé a Turbo Pascal en DOS. Turbo Pascal era realmente emocionante. La experiencia era excelente gracias a un compilador muy rápido, buena retroalimentación, un editor a color y los atajos de teclado de WordStar, que ya me resultaban familiares.
También recuerdo que, cuando los programas crecían lo suficiente, había que usar la función de overlays. Básicamente permitía cargar en DOS distintas partes del programa como si fueran páginas.
También recuerdo haber conocido en algún momento de los 80, quizá hacia finales de la década, a David Intersimone, un gran embajador de Borland. Fue cuando visitó nuestra universidad invitado por la sección local de ACM.
Curiosamente, Turbo Pascal fue el primer lenguaje de programación de alto nivel que aprendí, y el entorno fue una Macintosh Plus. Solo más tarde supe que Turbo Pascal era más bien algo del mundo PC.
En la universidad compré mi primera computadora Apple, una Macintosh Plus, con un préstamo estudiantil, y por casualidad vi en los clasificados del periódico universitario una copia de Turbo Pascal para Mac. Un profesor la vendía por unos 40 dólares, así que la compré de inmediato.
Por suerte venía con manuales, pero las herramientas de desarrollo para Macintosh eran muy simples. No había ResEdit; en su lugar había una extraña app R-Maker que exigía crear los recursos de Macintosh como archivos de texto y luego pasarlos por la herramienta para generar el resource fork.
Algunas de mis primeras apps fueron implementaciones en Turbo Pascal de algoritmos aparecidos en la columna Computer Recreations de Scientific American. Por suerte casi no necesitaban interfaz de usuario, así que normalmente bastaba con una ventana y algunos botones.
Más adelante descubrí THINK Pascal, un IDE mucho más centrado en Mac, y me pasé a ese; aún más tarde me lancé a THINK C.
Aun así, Turbo Pascal siempre seguirá siendo un recuerdo entrañable. En aquellos tiempos en que entraba a un mundo nuevo y agreste, Turbo Pascal fue lo que me abrió la puerta.