Articulo de referencia

Turbo Pascal

Turbo Pascal es un sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, compatible con...

Turbo Pascal es un sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, compatible con los sistemas operativos CP/M , CP/M-86 y MS-DOS . Fue desarrollado originalmente por Anders Hejlsberg en Borland y destacó por su gran velocidad de compilación . Turbo Pascal, junto con el posterior pero similar Turbo C , convirtió a Borland en líder en herramientas de desarrollo para PC.

Para las versiones 6 y 7 (las dos últimas), se produjeron tanto Turbo Pascal, de menor precio, como Borland Pascal , de mayor precio. Borland Pascal estaba más orientado al desarrollo de software profesional, con más bibliotecas y código fuente de la biblioteca estándar . El nombre Borland Pascal también se usa de forma más genérica para referirse al dialecto de Borland del lenguaje Pascal, que difiere significativamente del Pascal estándar.

Borland ha publicado tres versiones antiguas de Turbo Pascal de forma gratuita debido a su interés histórico: el Turbo Pascal original (ahora conocido como 1.0), y las versiones 3.02 y 5.5 para DOS, mientras que la oficina francesa de Borland publicó la versión 7.01 en su FTP. [ 3 ] [ 4 ] [ 5 ]

Historia

Philippe Kahn vislumbró una oportunidad para Borland, su recién creada empresa de software, en el campo de las herramientas de programación. Históricamente, la gran mayoría de los programadores concebían su flujo de trabajo en términos del ciclo de edición, compilación y enlace, con herramientas independientes dedicadas a cada tarea. Los programadores escribían el código fuente utilizando un editor de texto ; este código se compilaba en código objeto (a menudo requiriendo varias pasadas), y un enlazador combinaba el código objeto con las bibliotecas de tiempo de ejecución para producir un programa ejecutable.

En los inicios del mercado de la PC de IBM (1981-1983), los principales proveedores de herramientas de programación fabricaban compiladores que funcionaban de manera similar. Por ejemplo, el sistema Microsoft Pascal constaba de dos pasadas de compilación y una pasada de enlace final (que podía tardar minutos en sistemas con solo disquetes como almacenamiento secundario, a pesar de que los programas eran mucho más pequeños que en la actualidad). Este proceso requería menos recursos que el entorno de desarrollo integrado (IDE) posterior. Los proveedores de herramientas de desarrollo de software dirigían sus productos a desarrolladores profesionales, y el precio de estas herramientas básicas, junto con herramientas auxiliares como los analizadores de rendimiento, ascendía a cientos de dólares.

La idea de Kahn era agrupar todas estas funciones en un kit de herramientas de programación integrado, diseñado para ofrecer un rendimiento y una utilización de recursos mucho mejores que las herramientas de desarrollo profesionales habituales, y ofrecer a un precio bajo un paquete que integraba un editor de texto personalizado, un compilador y toda la funcionalidad necesaria para producir programas ejecutables. El programa se vendía por correo directo a un precio de 49,95 dólares estadounidenses , sin pasar por los canales de venta establecidos (minoristas o revendedores). [ 6 ]

El compilador Turbo Pascal se basó en el compilador Blue Label Pascal, producido originalmente en 1981 por Anders Hejlsberg para el sistema operativo NasSys, basado en casetes, del microordenador Nascom . Borland obtuvo la licencia del núcleo del compilador "PolyPascal" de Hejlsberg ( Poly Data era el nombre de la empresa de Hejlsberg en Dinamarca) y añadió la interfaz de usuario y el editor. Anders Hejlsberg se unió a la empresa como empleado y fue el arquitecto de todas las versiones del compilador Turbo Pascal y de las tres primeras versiones de Borland Delphi . [ 3 ]

El compilador se lanzó inicialmente como Compas Pascal para CP/M , y posteriormente, el 20 de noviembre de 1983 [ 2 ], se lanzó como Turbo Pascal para CP/M (incluyendo el Apple II equipado con una SoftCard Z-80 , que convertía efectivamente el Apple basado en el 6502 en una máquina CP/M, el Commodore 64 con cartucho CP/M y el posterior DEC Rainbow ), CP/M-86 y máquinas DOS. En su lanzamiento en el mercado estadounidense , Turbo Pascal se vendía a 49,99 dólares estadounidenses , un precio muy bajo para un compilador en aquel entonces. El compilador Pascal integrado era de buena calidad en comparación con otros productos Pascal de la época. [ 7 ]

El nombre Turbo aludía a la velocidad de compilación y de los ejecutables generados. El ciclo de edición/compilación/ejecución era rápido en comparación con otras implementaciones de Pascal porque todo lo relacionado con la construcción del programa se almacenaba en la RAM y porque era un compilador de una sola pasada escrito en lenguaje ensamblador . La compilación era mucho más rápida que la de compiladores para otros lenguajes (incluso los compiladores posteriores de Borland para C) y otros compiladores de Pascal, y también se ahorraba tiempo al programador, ya que el programa podía compilarse y ejecutarse desde el IDE. La velocidad de ejecución de estos programas en formato COM fue toda una revelación para los desarrolladores cuya única experiencia previa en la programación de microordenadores era con BASIC interpretado o UCSD Pascal , que compilaba a código p que luego se interpretaba en tiempo de ejecución.

A diferencia de otras herramientas de desarrollo, los discos de Turbo Pascal no tenían protección contra copia . Turbo Pascal venía con la "Licencia de Libro": "Debe tratar este software como un libro ... [puede] ser utilizado por cualquier número de personas... puede ser movido libremente de una ubicación de computadora a otra, siempre que no exista la posibilidad de que se utilice en una ubicación mientras se está utilizando en otra". [ 8 ]

Recepción

Borland vendió alrededor de 250.000 copias de Turbo Pascal en dos años, lo que Bruce F. Webster de Byte describió como "una cifra asombrosa para un lenguaje de programación". [ 9 ] Seis meses después, informó que la cifra había aumentado a "más de 400.000 copias en un mercado que se estimaba que tenía solo 30.000 compradores potenciales". [ 10 ]

Jerry Pournelle escribió en la revista en febrero de 1984 que Turbo Pascal "se acerca a lo que creo que la industria informática está buscando: bien documentado, estándar, muchas buenas características y un precio razonable". No le gustó el requisito de comprar otra licencia para distribuir binarios, pero señaló que "resulta que no es mucho más. Borland solo pide otros $100 " además del precio base de $49.95 , y que "mi primera impresión de Turbo es que probablemente vale $149.95 . Parece hacer todo lo que hace MT+ con el Speed ​​Programming Package , y tal vez incluso hacerlo más rápido y mejor". [ 11 ] Pournelle informó en julio que las superposiciones de Turbo 2.0 "[permiten] escribir grandes programas". Según Kahn, IBM se había negado a revender Turbo Pascal a menos que el precio fuera de al menos $200 ; Pournelle señaló que "Turbo es mucho mejor que el Pascal que vende IBM", y a diferencia de este último era compatible con el IBM PCjr . [ 12 ] Tres revisores de Byte elogiaron Turbo Pascal en el mismo número. Un revisor dijo que debido a las diferencias dialectales "Turbo no es realmente Pascal. Pero es muy útil". Si bien advirtió que no era adecuado para desarrollar aplicaciones muy grandes, concluyó que Turbo Pascal "está bien escrito, es divertido de usar a veces y lo suficientemente rápido como para compensar sus pocas deficiencias... es una ganga que no debería dejarse pasar". Un segundo calificó la versión de DOS como "sin duda, el software con la mejor relación calidad-precio que he comprado", mientras que un tercero dijo que Borland "merece elogios por" la versión de CP/M de "alto valor". [ 13 ]

También en julio de 1984, Creative Computing comparó favorablemente Turbo Pascal con lo que el crítico describió como Pascal mediocres y caros de UCSD, IBM y Microsoft. Informó que convertía código escrito en IBM Pascal en menos de 30 minutos, y que "con IBM Pascal, el programa promedio tardaba dos semanas en escribirse. Con Turbo Pascal, el promedio ahora es de dos días". Si bien señaló las limitaciones de .COM y 64 KB, el crítico aprobó la estricta adhesión de Turbo al estándar de lenguaje Jensen y Wirth. La documentación era, escribió, de "legibilidad superior al promedio" y superior a la de IBM Pascal. "Mi único temor", concluyó la reseña, era que "tiene un precio excesivamente bajo, y me preocupa que la gente no lo tome en serio". [ 14 ] "Turbo Pascal es el Pascal que hay que adquirir", dijo Computer Language en septiembre sobre la versión 2.0. Elogiando su velocidad, extensiones que incluyen gráficos y sonido para PC, documentación, facilidad de uso de superposiciones y "sintaxis altamente estándar", la revista recomendó Turbo tanto a programadores principiantes como experimentados. [ 15 ] PC Magazine fue igualmente elogiosa en noviembre, afirmando que "nunca antes había existido nada como Turbo Pascal para PC-DOS". Elogió el bajo precio de la versión 2.0, su velocidad, estabilidad, facilidad de implementación de superposiciones y una documentación inusualmente buena para un compilador, y señaló la existencia de muchas utilidades para Turbo Pascal de otras compañías. La reseña afirmó que el IDE que simplificaba el ciclo de edición-compilación-ejecución-depuración hacía que Turbo Pascal fuera accesible, como BASIC, para los nuevos programadores. [ 16 ]

En agosto de 1985, Pournelle calificó la versión 3.0 como "una clara mejora respecto a la ya impresionante versión 2" y afirmó que la nueva licencia del libro "me parecía bastante justa". Añadió que "Turbo Pascal es sin duda la mejor opción en lenguajes de programación del mercado actual" y que Borland lideraba el sector al "ofrecer excelentes productos a precios razonables". [ 17 ] Webster también elogió la versión 3.0, declarando en agosto de 1985 que Turbo Pascal "es conocido principalmente por su pequeño tamaño, su increíble velocidad de compilación y sus rápidos tiempos de ejecución". Señaló que la calidad y el bajo precio del software resultaban especialmente sorprendentes tras el " fiasco de JRT Pascal " y afirmó que, incluso al nuevo precio más elevado de 69,95 dólares , "probablemente seguía siendo la mejor oferta de software del mercado". [ 9 ] A pesar de encontrar lo que la revista llamó "un error grave" en la versión 3.0 y una compatibilidad reducida con clones de PC , Byte afirmó en febrero de 1986 que "es difícil no recomendar Turbo a cualquiera que quiera programar en Pascal", citando la mejora en la velocidad y las rutinas gráficas. [ 18 ] Al revisar otros cuatro compiladores de Pascal en diciembre de 1986, la revista describió Turbo Pascal 3.0 como "práctico y atractivo para programadores de todos los niveles de experiencia". [ 19 ]

Además de permitir aplicaciones de más de 64 KB, Byte informó en 1988 que la compilación y ejecución de la versión 4.0 eran sustancialmente más rápidas, y que, si bien no mantenía la compatibilidad retroactiva "casi total" de las versiones anteriores, la conversión era rápida y sencilla. El crítico concluyó: "Recomiendo ampliamente Turbo Pascal 4.0 como una adición al repertorio de software de cualquier programador". [ 20 ]

En 1989, Byte incluyó a Turbo C y Turbo Pascal entre los ganadores de la "Distinción" de los Premios Byte. Citando su interfaz de usuario y su continuo énfasis en la velocidad, la revista afirmó que "para la creación rápida de prototipos no hay mucho mejor". [ 21 ] En el mismo número, Pournelle volvió a elogiar las versiones 4.0 y 5.0 de Turbo Pascal. Citando a Anacreon como "un buen ejemplo de la complejidad de un programa que se puede escribir en Pascal", y las numerosas bibliotecas de Borland y otros desarrolladores, escribió: "Creo que bien podría ser el lenguaje para el resto de nosotros". [ 22 ]

En 1991, InfoWorld afirmó que Turbo Pascal para Windows 1.0, a un precio de 249 dólares, "seguía ofreciendo potencia, velocidad, simplicidad y una relación precio/rendimiento que era una de las mejores del sector". La revista declaró que Turbo "estaba definitivamente más orientado a Windows que Borland C++ ", que mejoraba el ya excelente IDE de este último e "incluía una de las mejores documentaciones que habíamos visto", con "el tiempo de respuesta más rápido desde el código hasta las pruebas que habíamos visto en un entorno de programación de bajo nivel para Windows". InfoWorld lo recomendaba a "cualquier programador de Windows". [ 23 ]

Scott MacGregor, de Microsoft, dijo que Bill Gates "no entendía por qué nuestro software era tan lento" en comparación con Turbo Pascal. "Traía al pobre Greg Whitten [director de programación de lenguajes de Microsoft] y le gritaba durante media hora" porque su empresa era incapaz de superar a la pequeña startup de Kahn, recordó MacGregor. [ 24 ]

Sucesores

En 1995, Borland abandonó Turbo/Borland Pascal y lo reemplazó con el entorno de desarrollo rápido de aplicaciones (RAD) Borland Delphi , basado en Object Pascal. Las versiones de Delphi de 32 y 64 bits aún admiten las mejoras de Pascal más portátiles de los productos anteriores (es decir, las que no son específicas para código de 16 bits ), incluido el modelo de objetos estático anterior. Esta retrocompatibilidad del lenguaje significa que gran parte del código antiguo de Turbo Pascal todavía se puede compilar y ejecutar en un entorno moderno.

En 2006, Borland revivió la marca Turbo para una nueva línea de IDE de un solo lenguaje basados ​​en Borland Developer Studio 2006, que incluían Turbo Delphi , Turbo C++ y Turbo C# . [ 25 ] Estos productos se descontinuaron en octubre de 2009.

Otros proveedores han producido herramientas de desarrollo de software compatibles con Turbo Pascal. Las más conocidas son Free Pascal y Virtual Pascal .

Características

lenguaje ensamblador

Si bien todas las versiones de Turbo Pascal podían incluir código máquina en línea , a partir de la versión 6 fue posible integrar lenguaje ensamblador dentro del código fuente de Pascal. [ 26 ]

La compatibilidad con los distintos modelos de memoria x86 se proporcionaba mediante ensamblador en línea, opciones del compilador y extensiones de lenguaje como la palabra clave "absolute". El Turbo Assembler (TASM), un ensamblador x86 estándar independiente de TP y compatible a nivel de código fuente con el ampliamente utilizado Microsoft Macro Assembler (MASM), se incluía con las versiones mejoradas de "Borland Pascal".

Depuración y análisis de rendimiento

El IDE proporcionaba varias herramientas de depuración, incluyendo el paso a paso , el examen y la modificación de variables, y los puntos de interrupción condicionales. En versiones posteriores, se podían ejecutar paso a paso bloques de lenguaje ensamblador. El usuario podía añadir puntos de interrupción en variables y registros en una ventana del IDE. Los programas que utilizaban el modo gráfico de IBM PC podían alternar entre el modo gráfico y el de texto de forma automática o manual, o mostrar ambos en dos pantallas. Para los casos en que las herramientas de depuración relativamente sencillas del IDE resultaban insuficientes, Turbopower Software produjo un depurador más potente, T-Debug. [ 27 ] La misma compañía produjo Turbo Analyst y Overlay Manager para Turbo Pascal. T-Debug se actualizó posteriormente para Turbo Pascal 4, pero se descontinuó con el lanzamiento de Turbo Debugger (TD) de Borland, que también permitía cierta intervención de hardware en ordenadores equipados con el nuevo procesador 80386 .

TD se suministraba habitualmente junto con Turbo Assembler y Turbo Profiler, un analizador de código que informaba del tiempo empleado en cada parte del programa para facilitar su optimización mediante la detección de cuellos de botella. [ 28 ] Los libros incluidos con Borland Pascal contenían descripciones detalladas del lenguaje ensamblador de Intel , incluyendo el número de ciclos de reloj requeridos por cada instrucción. El desarrollo y la depuración podían llevarse a cabo completamente dentro del IDE, a menos que se requirieran las funciones avanzadas de depuración de Turbopower T-Debug y, posteriormente, de TD.

Las versiones posteriores también admitían la depuración remota a través de un cable de comunicación RS-232 . [ 29 ]

Unidades

Con el paso de los años, Borland mejoró no solo el IDE, sino que también amplió el lenguaje de programación. Un sistema de desarrollo basado en el estándar ISO Pascal requiere extensiones específicas de la implementación para el desarrollo de aplicaciones reales en las plataformas a las que se dirigen. El estándar Pascal está diseñado para ser independiente de la plataforma, por lo que no prescribe el acceso de bajo nivel a las funciones dependientes del hardware o del sistema operativo. El estándar Pascal tampoco prescribe cómo debe dividirse un programa grande en unidades de compilación separadas. A partir de la versión 4, Turbo Pascal adoptó el concepto de unidades de UCSD Pascal . Las unidades se utilizaban como bibliotecas de funciones externas, como los archivos objeto utilizados en otros lenguajes como FORTRAN o C.

Por ejemplo, la línea uses crt;en un programa incluía la unidad llamada crt; es usesel mecanismo para usar otras unidades de compilación. interfacey implementationeran las palabras clave utilizadas para especificar, dentro de la unidad, qué era (y qué no era) visible fuera de la unidad. Esto es similar a las palabras clave publicy privateen otros lenguajes como C++ y Java .

Las unidades en Pascal de Borland eran similares al sistema de compilación independiente de Modula-2 . En 1987, cuando se lanzó Turbo Pascal 4, Modula-2 estaba ganando terreno como lenguaje educativo que podía reemplazar a Pascal. De hecho, Borland tenía un compilador Turbo Modula-2, pero solo lo lanzó para CP/M (su interfaz de usuario era casi idéntica a la de Turbo Pascal 1-3) con poca publicidad. Se desarrolló una versión para DOS mucho mejorada, pero como Borland no estaba dispuesto a publicar los resultados, los autores, incluido Niels Jensen, compraron los derechos y formaron Jensen & Partners International para publicarlo como JPI TopSpeed ​​Modula-2. En cambio, Borland optó por implementar la compilación independiente en su producto Pascal ya establecido.

La compilación separada no formaba parte del lenguaje Pascal estándar, pero ya estaba disponible en UCSD Pascal , que era muy popular en máquinas de 8 bits. La sintaxis de Turbo Pascal para unidades parece haber sido tomada prestada de UCSD Pascal. [ 30 ] Las versiones anteriores de Turbo Pascal, diseñadas para computadoras con recursos limitados, admitían un sistema de enlace dinámico de "encadenamiento y ejecución" para objetos compilados por separado, similar al sistema ampliamente utilizado en BASIC. Además, el lenguaje tenía una instrucción para incluir código fuente separado en un programa cuando fuera necesario, y la superposición era compatible desde TP3, pero, al igual que con las superposiciones, los objetos encadenados tenían que caber en el espacio de memoria del programa original (limitado). A medida que avanzaron las instalaciones de computación y almacenamiento, se agregó a Turbo Pascal la capacidad de generar archivos EXE grandes, con la capacidad de enlazar estáticamente y cargar colectivamente objetos compilados por separado.

Los archivos .TPU generados al compilar una unidad de Turbo Pascal están estrechamente vinculados a las estructuras internas del compilador, en lugar de ser archivos .OBJ estándar. Esto mejoró los tiempos de compilación y vinculación, pero implicó que los archivos .TPU no pudieran vincularse con la salida de otros lenguajes ni utilizarse con diferentes versiones de Turbo Pascal, a menos que se recompilaran desde el código fuente.

Programación orientada a objetos

A partir de la versión 5.5 se introdujeron algunas características de programación orientada a objetos : clases , herencia , constructores y destructores . [ 5 ] El IDE ya estaba ampliado con una interfaz de explorador de objetos que mostraba las relaciones entre objetos y métodos y permitía a los programadores navegar por los módulos fácilmente. Borland llamó a su lenguaje Object Pascal , que se extendió enormemente hasta convertirse en el lenguaje subyacente de Delphi (que tiene dos sistemas OOP separados). El nombre "Object Pascal" se originó con las extensiones de Pascal desarrolladas por Apple Computer para programar sus computadoras Lisa y Macintosh . El creador de Pascal, Niklaus Wirth, colaboró ​​en el desarrollo de estas extensiones, que se basaban en el tipo de registro ya presente en Pascal.

Problema con la unidad CRT en procesadores rápidos.

Varias versiones de Turbo Pascal, incluida la última versión 7, incluyen una unidad llamada CRT, que era utilizada por muchas aplicaciones de texto en pantalla completa en un monitor CRT . Esta unidad contiene código en su sección de inicialización para determinar la velocidad de la CPU y calibrar los bucles de retardo. Este código falla en procesadores con una velocidad superior a unos 200  MHz y se interrumpe inmediatamente con un mensaje de "Error de tiempo de ejecución 200". [ 31 ] (el código de error 200 no tenía nada que ver con la velocidad de la CPU de 200 MHz). Esto se debe a que un bucle se ejecuta para contar el número de veces que puede iterar en un tiempo fijo, medido por el reloj en tiempo real . Cuando se desarrolló Turbo Pascal, se ejecutaba en máquinas con CPU que funcionaban a 2,5 a 8 MHz, y no se consideró la posibilidad de velocidades mucho mayores, por lo que a partir de unos 200 MHz se pueden ejecutar suficientes iteraciones como para desbordar el contador de 16 bits. [ 32 ] Se produjo un parche cuando las máquinas se volvieron demasiado rápidas para el método original, pero falló a medida que las velocidades de los procesadores aumentaron aún más, y fue reemplazado por otros.

Los programas que presentan este error pueden recompilarse a partir del código fuente con un compilador parcheado para eliminar el error (utilizando un TURBO.TPL compilado con una unidad CRT corregida) o, si el código fuente no está disponible, los ejecutables pueden parchearse con una herramienta llamada TPPATCH o equivalente, [ 33 ] [ 34 ] o cargando un programa de terminación y permanencia residente antes de ejecutar el programa defectuoso. [ 35 ]

También existen parches para el compilador TP7, [ 36 ] por lo que, si el código fuente de Pascal está disponible, el código de una nueva compilación funcionará sin necesidad de aplicar un parche. Si el código fuente está disponible, la portabilidad a bibliotecas sin dependencia de la velocidad del reloj de la CPU también es una solución. [ 37 ]

Aritmética de punto flotante

Había varios tipos de punto flotante , incluyendo single(la representación de 4 bytes [IEEE 754]) double(la representación de 8 bytes IEEE 754), extended(una representación de 10 bytes IEEE 754 utilizada principalmente internamente por coprocesadores numéricos ) y Real(una representación de 6 bytes).

En sus inicios, Realera el más popular. La mayoría de las PC de la época no contaban con un coprocesador de punto flotante , por lo que toda la aritmética de punto flotante debía realizarse mediante software. Los algoritmos de punto flotante propios de Borland Realeran más rápidos que los de otros tipos, aunque su biblioteca también emulaba estos últimos mediante software.

Versiones

Versiones de CP/M y DOS

Versión 1

Portada del manual del Turbo Pascal 3.0

La versión 1, publicada el 20 de noviembre de 1983, era un sistema básico todo en uno que funcionaba en memoria y generaba archivos ejecutables .COM para DOS y CP/M, y ejecutables .CMD equivalentes para CP/M-86 (distintos de los archivos por lotes .CMD utilizados posteriormente en Microsoft Windows de 32 bits). Los archivos de código fuente estaban limitados a 64 KB para simplificar el IDE, y los archivos .COM de DOS estaban limitados a 64 KB cada uno para el código, la pila y las variables globales (estáticas). El código fuente del programa podía ampliarse mediante la función include si superaba el límite de memoria del editor.

Existían diferentes versiones de Turbo Pascal para ordenadores con DOS, CP/M o CP/M-86, con 64 KB de memoria y al menos una unidad de disquete. La versión para CP/M podía ejecutarse en los numerosos ordenadores con procesadores Z80 de la época , o en un Apple II con tarjeta Z80. Las versiones para DOS y CP/M-86 funcionaban en los numerosos ordenadores con procesadores 8086 y 8088 que se comercializaron, incluido el IBM PC. El instalador, el compilador y el compilador con su IDE, junto con el código fuente de una sencilla hoja de cálculo llamada MicroCalc, escrita por Philippe Kahn a modo de demostración, cabían en un solo disquete. Una copia en disquete sin MicroCalc permitía almacenar el código fuente y el ejecutable compilado de un programa de tamaño razonable; dado que en aquella época era común que los usuarios solo dispusieran de una unidad de disquete como almacenamiento masivo , resultaba muy práctico poder incluir tanto el compilador como el programa en un solo disquete, evitando así el constante cambio de discos.

La arquitectura de las distintas máquinas que ejecutaban MS-DOS limitaba además la memoria máxima de usuario a menos de 1 MB (por ejemplo, las máquinas compatibles con el hardware del IBM PC estaban limitadas a 640 KB).

El IDE Turbo Pascal era avanzado para su época. Era capaz de funcionar bien y compilar rápidamente con la cantidad de RAM de un ordenador doméstico típico. El IDE era sencillo e intuitivo, y contaba con un sistema de menús bien organizado. Las primeras versiones del editor utilizaban las funciones de teclado de WordStar , que era el estándar de facto en aquel momento. Las versiones posteriores del IDE, diseñadas para PC con más espacio en disco y memoria, podían mostrar las definiciones de las palabras clave del lenguaje colocando el cursor sobre una palabra clave y pulsando la tecla F1 (utilizada habitualmente para mostrar la ayuda). Muchas definiciones incluían código de ejemplo.

Además de los programas ejecutables estándar, el compilador podía generar programas residentes en memoria (TSR), pequeñas utilidades que permanecían en la memoria y permitían al ordenador realizar otras tareas; la ejecución simultánea de varios programas, es decir, la multitarea , no estaba disponible de otra manera. Borland creó un pequeño conjunto de aplicaciones llamado Sidekick, que era un programa TSR que permitía al usuario llevar un diario, tomar notas, etc.

Versión 2

La versión 2, publicada unos meses después, el 17 de abril de 1984, fue una mejora incremental del Turbo Pascal original, hasta el punto de que el manual de referencia era inicialmente idéntico al de la versión 1, incluso con la fecha de copyright de 1983 en algunos de los ejemplos de salida del compilador, pero tenía un manual separado "Apéndice al manual de referencia: versión 2.0 y suplemento 8087" con numeración de página independiente. [ 38 ] Las adiciones incluían un sistema de superposición , donde los procedimientos de superposición separados se intercambiaban automáticamente del disco a un espacio reservado en la memoria. Esta memoria era parte de los 64 kB de RAM utilizados por el código del programa, y ​​era automáticamente del tamaño del procedimiento de superposición más grande. [ 38 ] Los procedimientos de superposición podían incluir secciones de superposición en sí mismos, pero a menos que se utilizara un disco RAM, el intercambio de disco resultante podía ser lento. 2.0 también agregó el procedimiento Dispose para administrar el montón , permitiendo liberar variables dinámicas individuales, como una alternativa al sistema más primitivo 'Marcar/Liberar' y aumentó la compatibilidad con los comandos de WordStar además del uso del teclado numérico en IBM PC y compatibles. [ 38 ] Dichas PC también tenían nuevos comandos de ventana de texto y modo gráfico CGA , así como la capacidad de usar el altavoz de la PC para tonos. Finalmente, las máquinas DOS y CP/M-86 con un coprocesador matemático 8087 (o posterior compatible) tenían un compilador TURBO-87 alternativo disponible para comprar. [ 38 ] Admitía los tipos de datos reales largos del 8087 con un rango de 1.67E-307 a 1.67E+308 a 14 cifras significativas de precisión pero con una velocidad de procesamiento mucho mayor. El manual señala que, si bien el código fuente de los tipos de datos reales del software Turbo Pascal ofrecía un rango de 1E-63 a 1E+63 con 11 cifras significativas, estos eran incompatibles a nivel binario: además de tener un rango mucho mayor, los reales del software ocupaban seis bytes en la memoria, mientras que los del 8087 ocupaban ocho.

La versión 2 para CP/M-80 solo se ejecuta en máquinas CP/M basadas en Z80 . [ 15 ]

Versión 3

La versión 3 se publicó el 17 de septiembre de 1986. [ 4 ] Turbo Pascal 3 admitía gráficos de tortuga . [ 39 ] Además de los números reales de software predeterminados y la edición 8087 del compilador, Borland también ofreció una versión decimal codificada en binario (BCD) (TURBOBCD) que ofrecía el mismo rango numérico que los tipos de datos reales, pero con 18 cifras significativas. [ 4 ]

versiones de DOS

Versión 4

Lanzada el 20 de noviembre de 1987, [ 40 ] la versión 4 fue una reescritura completa, con cambios significativos tanto en la apariencia como en el funcionamiento interno. El compilador generaba ejecutables en formato .EXE bajo DOS, en lugar de los ejecutables .COM, más simples pero más restringidos. Las versiones de los sistemas operativos CP/M y CP/M-86, ya obsoletas, se eliminaron al reescribir Turbo Pascal. La versión 4 introdujo unidades y una interfaz de usuario de texto a pantalla completa con menús desplegables; las versiones anteriores tenían una pantalla de menú basada en texto y un editor independiente a pantalla completa. ( Microsoft Windows aún era muy experimental cuando se lanzó la primera versión, e incluso los ratones eran poco comunes). Un paquete adicional, Turbo Pascal Graphix Toolbox, estaba disponible para Turbo Pascal V4. [ 41 ]

Versión 5.0

Las pantallas a color estaban reemplazando a las monocromáticas; Turbo Pascal versión 5.0, lanzado el 24 de agosto de 1988, [ 40 ] introdujo el azul como color de fondo predeterminado del editor, utilizado por los compiladores de DOS de Borland hasta el final de esta línea de productos a mediados de la década de 1990. También agregó soporte para depuradores con puntos de interrupción y monitores.

Versión 5.5

Esta versión, publicada el 2 de mayo de 1989, [ 40 ] introdujo características de programación orientada a objetos para el lenguaje Pascal, incluyendo el concepto de clases, objetos estáticos y dinámicos, constructores y destructores, y herencia, que se convertirían en la base de Object Pascal presente en Borland Delphi. El IDE utiliza el esquema de color azul predeterminado que también se usaría en productos Borland Turbo posteriores. Otros cambios en el IDE incluyen la adición de ayuda contextual con descripción de todas las funciones integradas y la capacidad de copiar fragmentos de código de la ayuda a la ventana de edición. [ 42 ]

Versión 6.0

La versión 6 se publicó el 23 de octubre de 1990. [ 40 ] Los cambios con respecto a la versión 5.5 incluyen: la adición de ensamblador en línea, la adición de la biblioteca Turbo Vision , compatibilidad con el ratón, portapapeles para manipulación de texto, interfaz de múltiples documentos que admite hasta nueve ventanas de edición. [ 43 ]

Versión 7.0

La versión 7 se publicó el 27 de octubre de 1992. [ 40 ] Los cambios con respecto a la versión 6.0 incluyen soporte para la creación de ejecutables de DOS y Windows y DLL de Windows, y resaltado de sintaxis. [ 44 ] Para la versión 7, Borland lanzó una versión profesional de Turbo Pascal, llamada Borland Pascal.

Turbo Pascal para Windows

Se lanzaron dos versiones llamadas "Turbo Pascal para Windows" (TPW), para Windows 3.x : TPW 1.0, basada en Turbo Pascal 6 pero lanzada aproximadamente 2 años después, y 1.5, lanzada después de Turbo Pascal 7; fueron sucedidas por Borland Pascal 7, que tenía soporte para Windows. El compilador de Windows en Pascal 7 se denominó Borland Pascal para Windows .

Ambas versiones generaban programas compatibles con Windows y contaban con un IDE basado en Windows, a diferencia del IDE basado en DOS de Turbo Pascal. El IDE y los comandos del editor se ajustaban a las directrices de la interfaz de usuario de Microsoft Windows en lugar de la interfaz de usuario clásica de TP. La compatibilidad con programas de Windows requería la Biblioteca de Objetos de Windows (OWL), similar pero no idéntica a la de la primera versión de Borland C++ , y radicalmente diferente del entorno Turbo Vision de DOS anterior . Turbo Pascal fue reemplazado en la plataforma Windows por Delphi ; el compilador de Delphi puede generar programas de consola y aplicaciones con interfaz gráfica de usuario (GUI), por lo que el uso de Turbo y Borland Pascal se volvió innecesario.

Turbo Pascal para Macintosh

Borland lanzó Turbo Pascal para Macintosh en 1986. [ 45 ] [ 46 ] Al igual que las versiones 1 a 3 para otros sistemas operativos, estaba escrito en lenguaje ensamblador compacto y tenía un IDE muy potente, pero no un buen depurador. Borland no brindó un buen soporte para este producto, aunque publicó una versión 1.1, parcheada para ejecutarse en el Macintosh II de 32 bits . El soporte para Macintosh se abandonó poco después.

Lanzamientos de software gratuito

Borland lanzó varias versiones de Turbo Pascal como software gratuito después de que se convirtieran en "software antiguo", [ 47 ] con la versión 1.0 para DOS el 1 de febrero de 2000, la 3.02 el 10 de febrero de 2000, la 5.5 el 21 de febrero de 2002 y la versión francesa Turbo Pascal 7.01 en el año 2000. [ 48 ] La mayoría de las descargas todavía están disponibles en el sitio web sucesor de Embarcadero Technologies . [ 3 ] [ 4 ] [ 5 ]

Véase también

Referencias

  1. ^ Gajic, Zarko (17 de marzo de 2017). "Historia de Delphi: de Pascal a Embarcadero Delphi XE 2" . ThoughtCo . Dotdash. Archivado del original el 7 de julio de 2011. Recuperado el 18 de febrero de 2021 .
  2. ^ a b "Turbo Pascal versión 1.0 - las fechas de lanzamiento de Turbo Pascal" . Archivado del original el 24-04-2017 . Recuperado el 09-09-2020 .
  3. ^ a b c Intersimone, David (2000-02-01). "Antique Software: Turbo Pascal v1.0" . Embarcadero Technologies. Archivado del original el 21-12-2010 . Recuperado el 09-11-2010 .
  4. ^ a b c d Intersimone, David (10 de febrero de 2000). "Software antiguo: Turbo Pascal v3.02" . Embarcadero Technologies. Archivado del original el 24 de noviembre de 2010. Recuperado el 9 de noviembre de 2010 .
  5. ^ a b c Intersimone, David (21-02-2002). "Antique Software: Turbo Pascal v5.5" . Embarcadero Technologies. Archivado del original el 24-11-2010 . Recuperado el 09-11-2010 .
  6. ^ "Micro Cornucopia (diciembre de 1984)" . Diciembre de 1984.
  7. ^ Chapman, Merrill R. (2006). En busca de la estupidez: Más de 20 años de desastres de marketing en el sector de la alta tecnología . Springer-Verlag. pág. 118. ISBN 978-1-59059-721-7Archivado del original el 23/06/2016 . Consultado el 13/12/2015 . Borland hizo su debut en la industria a lo grande con el lanzamiento de Turbo Pascal en noviembre de 1983. Turbo Pascal era una adaptación para DOS y CP/M de COMPAS Pascal de Anders Hejlsberg, y fue lanzado por Borland a un precio que parecía increíble en ese momento: 49,95 dólares, aproximadamente una décima parte del precio de productos similares.
  8. ^ "La licencia sin tonterías" . groups.google.com .
  9. ^ a b Webster, Bruce F. (agosto de 1985). "Saludos y agitaciones" . Byte . pág. 355. Recuperado el 27 de octubre de 2013 .
  10. ^ Webster, Bruce (febrero de 1986). "Herramienta de programación y el Atari ST" . Byte . pág. 331. Recuperado el 9 de mayo de 2015 .
  11. ^ Pournelle, Jerry (febrero de 1984). "Chaos Manor consigue su tan esperado IBM PC" . Byte . pág. 113. Consultado el 8 de febrero de 2015 .
  12. ^ Pournelle, Jerry (julio de 1984). "The West Coast Faire" . Byte . pág. 136. Archivado del original el 28 de enero de 2012. Recuperado el 8 de noviembre de 2011 .
  13. ^ Wadlow, Tom; Pierce, Al; Bridger, Mark (julio de 1984). "Turbo Pascal" . Byte (reseña). págs.  263–278 . Recuperado el 23 de octubre de 2013 .
  14. ^ Blank, George (julio de 1984). "Turbo Pascal; lo mejor cuesta menos" . Creative Computing . Vol. 10, n.º 7, pág. 53. Consultado el 15 de marzo de 2025 .
  15. ^ a b Rodman, Richard (1984). "Turbo Pascal v2.0" . Computer Language . Vol. 1, no. 1. pp.  78–79 . Recuperado el 6 de abril de 2025 .
  16. ^ Duntemann, Jeff (13 de noviembre de 1984). "Supercharged Turbo Pascal" . PC Magazine . pág. 276. Consultado el 25 de octubre de 2013 .
  17. ^ Pournelle, Jerry (agosto de 1985). "The West Coast Computer Faire" . Byte . págs.  293–326 . Recuperado el 5 de noviembre de 2023 .
  18. ^ Bridger, Mark (febrero de 1986). "Turbo Pascal 3.0" . Byte . pág. 281. Consultado el 9 de mayo de 2015 .
  19. ^ Shammas, Namir Clement (diciembre de 1986). "Pascal para IBM PC" . Byte . pág. 265. Consultado el 9 de mayo de 2015 .
  20. ^ Banks, Walter (febrero de 1988). "Turbo Pascal 4.0" . Byte . págs.  153–156 . Recuperado el 1 de octubre de 2023 .
  21. ^ "Los premios Byte" . Byte . Enero de 1989. pág. 327.
  22. ^ Pournelle, Jerry (enero de 1989). "A las estrellas" . Byte . pág. 109.
  23. ^ Petreley, Nicholas (1991-06-03). "Turbo Pascal establece el estándar para la programación de Windows" . InfoWorld . Vol. 13, n.º 22, págs.  85–86 . Consultado el 2026-03-09 .
  24. ^ Wallace, James; Erickson, Jim (1992). "Problemas de crecimiento" . Disco duro: Bill Gates y la creación del imperio Microsoft . John Wiley & Sons . pág  . 277. ISBN 0-471-56886-4.
  25. ^ Krill, Paul (2006-08-08). "Borland revive 'Turbo' para herramientas de desarrollo" . InfoWorld . Recuperado el 2026-02-05 .
  26. ^ "Capítulo 14: Combinando Pascal con lenguaje ensamblador" . Archivado del original el 20 de octubre de 2016. Consultado el 19 de octubre de 2016 .
  27. ^ "InfoWorld 21 Mar 1988: Anuncio de Turbopower T-Debug 4" . 21-03-1988. Archivado del original el 25-04-2016 . Recuperado el 13-12-2015 .
  28. ^ "Manual de Turbo Profiler 1.0" (PDF) . Archivado del original (PDF) el 2 de abril de 2012. Consultado el 3 de noviembre de 2011 .
  29. ^ "Marco Cantų's Delphi Power Book: Debugging Delphi Programs" (PDF) . Archivado del original (PDF) el 31 de marzo de 2012. Consultado el 31 de octubre de 2011 .
  30. ^ "3.3.2. Enlace a rutinas compiladas y ensambladas externamente – Reconstrucción del manual de usuario del sistema Pascal II.0 de la UCSD – Versión I.5, septiembre de 1978" . Archivado del original el 3 de septiembre de 2007.
  31. ^ "Soporte para desarrolladores de Borland Pascal" . Archivado del original el 23 de octubre de 2010. Consultado el 25 de abril de 2011 .
  32. ^ "Error de tiempo de ejecución de inicio 200 (división por cero) de la versión 7 de Pascal de Borland" . Archivado del original el 7 de septiembre de 2015. Consultado el 16 de noviembre de 2015 .Página web que analiza la causa del error y diversas soluciones.
  33. ^ "PatchCRT – corrige errores de tiempo de ejecución en algunas aplicaciones" . kennedysoftware.ie. 2003. Archivado del original el 21/07/2011 . Consultado el 28/09/2010 .
  34. ^ "Nicht schon wieder: Error de tiempo de ejecución 200" . 2000-04-08.
  35. ^ "Cómo solucionar un error de tiempo de ejecución 200" . pcmicro.com. 2006. Archivado del original el 15 de julio de 2011. Consultado el 28 de septiembre de 2010 .
  36. ^ "Error de tiempo de ejecución 200" (en alemán). blume-programm.de. 13 de marzo de 2003. Archivado del original el 17 de noviembre de 2015. Consultado el 16 de noviembre de 2015 .
  37. ^ Cheng, Allen (1997). "SuperDelay v1.1a" . blume-programm.de . Consultado el 28 de septiembre de 2010 .
  38. ^ a b c d Turbo Pascal versión 2.0 (PDF) .
  39. ^ Hull, Nathan. "Uso de gráficos Turtle bajo Turbo Pascal" .
  40. ^ a b c d e "Turbo Pascal versión 1.0 - Las fechas de lanzamiento de Turbo Pascal" . Embarcadero Technologies . 17 de noviembre de 2008. Archivado del original el 24 de febrero de 2020. Consultado el 13 de abril de 2021 .
  41. ^ Manual de Borland Graphics Toolbox (PDF) .
  42. ^ "Turbo Pascal 5.5: versión del lenguaje de programación Pascal" . progopedia.com .
  43. ^ "Turbo Pascal 6.0: versión del lenguaje de programación Pascal" . progopedia.com .
  44. ^ "Turbo Pascal 7.0: versión del lenguaje de programación Pascal" . progopedia.com .
  45. ^ "Borland Turbo Pascal 1.x (Mac)" .
  46. ^ Cohen, Denis (abril de 1987). "Llega Turbo Pascal" . Macworld . Vol. 4, n.º 4, págs.  162-163 .
  47. ^ "Software antiguo: Turbo Pascal v5.5" . CDN » Museo . Borland Software Corporation. Archivado del original el 3 de febrero de 2004. Consultado el 1 de abril de 2013 .
  48. ^ "Descargas gratuitas: Compiladores Delphi, Pascal y C/C++" . Borland Software Corporation. Archivado del original el 24/06/2004. Nota para usuarios internacionales: Esta versión gratuita de Turbo Pascal 7 solo está disponible en francés. La versión estadounidense de Turbo Pascal 7 aún no está disponible para su descarga gratuita. Para la versión estadounidense, descargue Turbo Pascal 5.5 US a continuación. Gracias.
  • Página de Turbo Pascal de Borland International, Inc.: DOS 7.0 , Windows 1.5
  • Página de Inspire Corporation sobre Turbo Pascal: DOS 7.0 , Windows 1.5
  • Página de Turbo Pascal de Borland Software Corporation: DOS 7.0
  • Generación de código Turbo Pascal 3 , una descripción del compilador Turbo Pascal 3.0
  • Código fuente completo de un compilador compatible con Turbo Pascal 7.0, archivado el 27/04/2011 en Wayback Machine .
  • Versiones de Borland/Inprise Pascal
Obtenido de " https://en.wikipedia.org/w/index.php?title=Turbo_Pascal&oldid=1361745057 "