stringtranslate.com

Microsoft BASIC

Microsoft BASIC es el producto de software base de la empresa Microsoft y evolucionó hasta convertirse en una línea de intérpretes y compiladores BASIC adaptados a muchos microordenadores diferentes . Apareció por primera vez en 1975 como Altair BASIC , que fue la primera versión de BASIC publicada por Microsoft, así como el primer lenguaje de programación de alto nivel disponible para el microordenador Altair 8800 .

Durante la locura de los ordenadores domésticos de finales de los años 1970 y principios de los años 1980, BASIC se adaptó a muchos diseños de ordenadores domésticos y se incluyó en ellos. Las ligeras variaciones para añadir compatibilidad con funciones específicas de la máquina, especialmente gráficos, dieron lugar a una profusión de diseños relacionados, como Commodore BASIC y Atari Microsoft BASIC .

A medida que las primeras computadoras hogareñas dieron paso a diseños más nuevos, como la IBM Personal Computer y la Macintosh , BASIC dejó de usarse tan ampliamente, aunque mantuvo un gran número de seguidores. El lanzamiento de Visual Basic revitalizó su popularidad y sigue usándose ampliamente en las plataformas Microsoft Windows en su versión más reciente, Visual Basic .NET .

Altair BASIC y los primeros microordenadores

Un kit para armar una computadora Altair 8800 con el popular teletipo ASR (envío y recepción automáticos) modelo 33 como terminal, lector de cinta de papel y perforador de cinta de papel.

El intérprete BASIC de Altair fue desarrollado por los fundadores de Microsoft, Paul Allen y Bill Gates, utilizando un emulador Intel 8080 escrito por ellos mismos que se ejecutaba en una minicomputadora PDP-10 . [1] El dialecto MS está basado en el BASIC-PLUS de Digital Equipment Corporation en la PDP-11 , que Gates había utilizado en la escuela secundaria . [2] Las primeras versiones solo admitían matemáticas de números enteros, pero Monte Davidoff los convenció de que era posible la aritmética de punto flotante y escribió una biblioteca que se convirtió en el formato binario de Microsoft .

Altair BASIC se entregaba en cinta de papel y en su versión original ocupaba 4  KB de memoria. Estaban disponibles las siguientes funciones y sentencias:

LIST, NEW, PRINT, INPUT, IF...THEN, FOR...NEXT, SQR, RND, SIN, , , , , , , , , , , , LET, , , , y .USRDATAREADREMCLEARSTOPTABRESTOREABSENDINTRETURNSTEPGOTOGOSUB

En el BASIC 4K no había variables de cadena y el único tipo numérico admitido era el de punto flotante de 32 bits de precisión simple. Los nombres de las variables consistían en una letra (A–Z) o una letra seguida de un dígito (0–9), lo que permitía hasta 286 variables numéricas.

Para las máquinas con más memoria, la versión de 8 KB agregó 31 instrucciones adicionales y soporte para variables de cadena y sus operaciones relacionadas como MID$ y concatenación de cadenas . Las variables de cadena se denotaban con un sufijo $, que permaneció en versiones posteriores del lenguaje. Más tarde, Microsoft lanzó el BASIC extendido de 12K, que incluía variables de 64 bits de doble precisión, IF... THEN... ELSEestructuras, funciones definidas por el usuario, comandos de edición de programas más avanzados y mensajes de error descriptivos en lugar de números de error. Las variables numéricas ahora tenían tres tipos básicos, % denotaba números enteros de 16 bits, # denotaba dobles de 64 bits y ! denotaba simples de 32 bits, pero este era el formato predeterminado, por lo que el ! rara vez se ve en los programas.

La versión extendida de 8 KB se generalizó luego en BASIC-80 (8080/85, Z80 ), y se adaptó a BASIC-68 ( 6800 ), BASIC-69 ( 6809 ) y 6502 -BASIC. El 6502 tenía un código ensamblador algo menos denso y se expandió en tamaño a poco menos de 8K para la versión de precisión simple, o 9K para una versión que usaba un formato de punto flotante intermedio de 40 bits en lugar de la versión original de 32 bits. Este nuevo formato de 40 bits se convirtió en el más común, ya que se usó en la mayoría de las máquinas basadas en 6502 de la época. También se adaptó al BASIC-86 de 16 bits ( 8086/88 ).

La última versión importante de BASIC-80 fue la 5.x, que apareció en 1981 y agregó compatibilidad con nombres de variables de 40 caracteres, WHILEbucles WEND, asignación dinámica de cadenas y varias otras funciones. BASIC 5.x eliminó la capacidad de procesar líneas de programa.

El conjunto de comandos principales y la sintaxis son los mismos en todas las implementaciones de Microsoft BASIC y, en términos generales, un programa puede ejecutarse en cualquier versión si no utiliza características específicas del hardware o números de doble precisión (no admitidos en algunas implementaciones).

Licencias para fabricantes de ordenadores domésticos

Tras el éxito inicial de Altair BASIC, Microsoft BASIC se convirtió en la base de un lucrativo negocio de licencias de software, que fue adaptado a la mayoría de los numerosos ordenadores domésticos y personales de los años 70 y, especialmente, de los 80, y se fue ampliando a lo largo del camino. A diferencia del Altair BASIC original, la mayoría de los BASIC de ordenadores domésticos residen en la memoria ROM y, por tanto, están disponibles en los equipos al encenderlos en forma del característico mensaje " " . Por tanto, las variantes de Microsoft y otras de BASIC constituyen una parte significativa y visible de la interfaz de usuario de los sistemas operativos rudimentarios de muchos ordenadores domésticos .READY

En 1981, Microsoft BASIC era tan popular que incluso las empresas que ya tenían un BASIC licenciaron el lenguaje, como IBM para su computadora personal , [3] y Atari , que vendió tanto Atari Microsoft BASIC como su propio Atari BASIC . [4] Don Estridge de IBM dijo: "Microsoft BASIC tenía cientos de miles de usuarios en todo el mundo. ¿Cómo vas a discutir eso?" [3] Microsoft licenció versiones similares a empresas que competían entre sí. Después de licenciar IBM Advanced BASIC (BASICA) a IBM, por ejemplo, Microsoft licenció el GW-BASIC compatible a los fabricantes de clones de PC y vendió copias a clientes minoristas. [5] La empresa licenció de manera similar un BASIC compatible con Applesoft a VTech para su clon Laser 128. [6]

BASIC-80 extendido

Variantes conocidas:

Disco BASIC-80

MBASIC está disponible para CP/M-80 e ISIS-II . También disponible para TEKDOS .

MBASIC es una versión simplificada de BASIC-80 con funciones independientes del hardware. Sin embargo, debido a la popularidad de CP/M, la gran mayoría de las máquinas Z80 ejecutaban MBASIC, en lugar de una versión personalizada para hardware específico (TRS-80 BASIC fue una de las pocas excepciones). La tarjeta CP/M de Microsoft para Apple II incluía una versión modificada de MBASIC que incorporaba algunos de los comandos gráficos de Applesoft BASIC, como HPLOT, pero no se admite el conjunto completo de comandos.

Disco independiente BASIC-80

La primera implementación que utilizó una variante de 8 bits de la Tabla de asignación de archivos (FAT) fue una adaptación de BASIC [nb 1] para una terminal de ingreso de datos NCR 7200 , [nb 1] 7520 , [nb 1] o 7530 [nb 1] basada en Intel 8080 con disquetes de 8 pulgadas en 1977/1978.

Compilador BASIC

Microsoft ofreció un compilador BASIC para BASIC-80 bajo CP/M, en 1980 o antes. El ejecutable del compilador se llamaba BASCOM o BASCOM32. [8]

TRS-80 Nivel II/III BÁSICO

El ordenador TRS-80 se ofreció inicialmente con una adaptación del Tiny BASIC de Li-Chen Wang ( Basic de nivel I ); en pocos meses, este fue reemplazado por una versión del BASIC-80 que incorporaba algunos de los comandos del BASIC de nivel I, en particular los comandos para configurar caracteres gráficos. El BASIC de nivel II contenía algunas de las características del BASIC extendido, aunque debido a la necesidad de incluir comandos de nivel I como SETy PSET, otras características como los mensajes de error descriptivos aún tuvieron que dejarse de lado; estos se agregaron posteriormente al TRS-80 Disk BASIC.

El modelo 4 de la TRS-80 tenía un BASIC basado en disco más nuevo que utilizaba el núcleo BASIC-80 5.x, que incluía soporte para nombres de variables de 40 caracteres. Por lo tanto, la capacidad de procesar líneas de programa (sin espacios entre palabras clave y argumentos) ya no era posible como lo había sido en el Nivel II. Ya no era necesario reservar espacio para cadenas. Las nuevas características incluían funciones definidas por el usuario ( DEF FN) y acceso a funciones del sistema TRSDOS 6 mediante una SYSTEMpalabra clave. Una versión modificada publicada más tarde por el proveedor de SO Logical Systems, en la actualización LS-DOS Versión 6.3, agregó acceso de una sola letra a funciones de control BASIC (como LISTy EDIT) y acceso directo a llamadas de supervisor de LS-DOS. El entorno de edición de programas todavía estaba orientado a líneas. La función disponible en el Nivel II para ordenar matrices ( CMD"O") no estaba disponible; los programadores y usuarios tuvieron que idear sus propias soluciones alternativas.

BASICO-86

La primera implementación como sistema de lenguaje independiente basado en disco fue para la tarjeta CPU S-100 bus 8086 de Seattle Computer Products en 1979. Utilizaba un sistema de archivos FAT de 8 bits .

Microsoft también ofreció una versión de Standalone BASIC-86 para SBC-86/12 para la plataforma de computadora de placa única 8086 de Intel en 1980.

Texas Instruments BÁSICO

Esta es la versión de BASIC utilizada en la computadora hogareña TI-99/4A . Aunque es muy similar a Microsoft BASIC, no fue escrita por Microsoft como se rumoreaba ampliamente. Según el ingeniero de TI H. Schuurman, "ellos (en la forma de Bob Greenberg de Microsoft) fueron contratados para desarrollar BASIC para el SR-70 (que también se conoce a veces como 99/7), pero el BASIC para el 99/4 fue desarrollado internamente". El BASIC TI-99/4 se basó en Dartmouth BASIC y cumple con el Estándar Nacional Americano para BASIC mínimo (ANSI X3.60-1978).

6502 BÁSICO

Microsoft portó BASIC-80 al 6502 durante el verano de 1976; fue principalmente un puerto directo de la versión 8K de BASIC-80 e incluía los mismos mensajes que preguntaban por el tamaño de la memoria y si el usuario quería funciones de punto flotante habilitadas o no (tenerlas activas usaba 135 bytes adicionales de memoria). Las primeras máquinas en usar BASIC 6502 fueron Ohio Scientific Model 500 y KIM-1 en 1977. [9] 6502 BASIC incluía ciertas características de Extended BASIC como funciones definidas por el usuario y mensajes de error descriptivos, pero omitió otras características como variables de doble precisión y la PRINT USINGdeclaración. Como compensación por no tener variables de doble precisión, Microsoft incluyó soporte de punto flotante de 40 bits en lugar del punto flotante de 32 bits de BASIC-80 y la asignación de cadenas era dinámica (por lo tanto, el usuario no tenía que reservar espacio de cadena como en BASIC-80). Sin embargo, los proveedores aún podían solicitar BASIC con punto flotante de 32 bits para una huella de memoria ligeramente menor ; Por ejemplo, Disk BASIC para Atari de 8 bits utilizaba un sistema de punto flotante de 32 bits en lugar de 40 bits. [ cita requerida ]

Las características estándar de la versión 9K de Microsoft 6502 BASIC incluían:

El BASIC 6502 carecía de un conjunto estandarizado de comandos para la salida de disco e impresora; el proveedor debía agregarlos y variaban ampliamente con cada implementación.

Las implementaciones posteriores de 6502 Basic (1983–) tuvieron muchas mejoras específicas del proveedor; por ejemplo, las versiones posteriores de Commodore BASIC tenían lo siguiente:

BASIC-68 y BASIC-69

Los catálogos de Microsoft de la década de 1980 también mostraban la disponibilidad de BASIC-68 y BASIC-69 para los microprocesadores Motorola 6800 y 6809 respectivamente, que ejecutaban los sistemas operativos FLEX , y también mencionaban versiones OEM para sistemas Perkin-Elmer , Ohio Nuclear , Pertec y Societe Occitane d'Electronique. [10] Parece probable que esto sea también la base del BASIC de Microsoft/Epson en la computadora portátil Epson HX-20 , que tiene dos CPU Hitachi 6301, que son esencialmente un 6801 "trucado". La mayoría de las características principales de BASIC-68 y BASIC-69 se copiaron directamente de BASIC-80. [ ¿ Investigación original? ]

BASIC-69 también fue licenciado a Tandy, donde formó el núcleo de Color BASIC en la computadora en color TRS-80 . [ cita requerida ] No debe confundirse con BASIC09 , un BASIC muy diferente creado por Microware como el lenguaje principal para su OS-9 , el otro sistema operativo disponible en la computadora en color (Microware también escribió la versión 2.0 de Extended Color BASIC cuando Microsoft se negó a hacerlo). Microsoft BASIC también se incluyó en las computadoras Dragon 32 / 64 que se construyeron en Gales y disfrutaron de un éxito limitado en el mercado de computadoras domésticas del Reino Unido a principios de la década de 1980. Las computadoras Dragon eran algo compatibles con la Tandy TRS-80, ya que estaban construidas en hardware muy similar.

MSX

Microsoft produjo un MSX BASIC basado en ROM para su uso en ordenadores domésticos MSX , que utilizaban un procesador Z80. Esta versión admitía los sistemas de gráficos y sonido de los ordenadores MSX; algunas variantes también admitían unidades de disco.

Descendientes modernos

Actualmente no se distribuye ninguna versión de Microsoft BASIC ( BASICA , GW-BASIC , QuickBasic , QBasic ) con Microsoft Windows o DOS . Sin embargo, se pueden descargar versiones que aún funcionan en máquinas modernas desde varios sitios de Internet o se pueden encontrar en discos DOS antiguos.

La última encarnación de Microsoft BASIC es Visual Basic .NET , que incorpora algunas características de C++ y C# y se puede utilizar para desarrollar formularios web, formularios de Windows, aplicaciones de consola y aplicaciones basadas en servidor. La mayoría de los ejemplos de código .NET se presentan en VB.NET y en C#, y VB.NET sigue siendo el preferido por los antiguos programadores de Visual Basic .

En octubre de 2008, Microsoft lanzó Small Basic . [11] El lenguaje tiene solo 14 palabras clave. [12] La versión 1.0 de Small Basic (12 de junio de 2011) [13] se lanzó con un sitio web Microsoft MSDN actualizado que incluía un plan de estudios completo para docentes, [14] una Guía de introducción, [15] y varios libros electrónicos. [16] Small Basic existe para ayudar a estudiantes de tan solo ocho años [17] a aprender los fundamentos de la programación informática y luego graduarse a Visual Basic a través del software descargable, Visual Studio Express , donde pueden continuar desarrollando la base aprendiendo Visual C# , VB.NET y Visual C++ . [18]

Variantes y derivados de Microsoft BASIC

Véase también

Notas

  1. ^ abcd Las fuentes difieren en lo que respecta al primer terminal de entrada de datos NCR que integraba soporte para el sistema de archivos FAT . Según Stephen Manes y Paul Andrews, "Gates", el desarrollo fue para un NCR 8200 a finales de 1977, clasificado incorrectamente como una actualización basada en disquete del NCR 7200 , que había sido lanzado en 1975-11 y estaba construido alrededor de un procesador Intel 8080 de 8 bits, pero estaba basado únicamente en casete. Sin embargo, el NCR Century 8200 era un miniordenador de 16 bits, al que se podían conectar varios terminales de entrada de datos. Marc McDonald incluso recordaba un NCR 8500 , un mainframe de la serie Criterion, lo que también se puede descartar. Otras fuentes indican que el propio NCR 7200 o su sucesor eran la plataforma de destino real. La serie NCR 7500 se lanzó en 1978, basada en un hardware 8080 similar, pero ahora incluyendo modelos NCR 7520 y 7530 con disquetes de 8 pulgadas. NCR Basic +6 , un precursor o adaptación de Microsoft Standalone Disk BASIC-80 estaba disponible para ellos al menos desde 1979. Una fuente afirma que existía una variante especial del modelo NCR 7200 con dos disquetes de 8 pulgadas y Microsoft BASIC y que fue importada por NCR Sydney a Australia.

Referencias

  1. ^ Martin S. Fridson, Cómo ser multimillonario: estrategias probadas de los titanes de la riqueza , John Wiley and Sons, 1999 ISBN  0-471-33202-X páginas 116-120
  2. ^ Manes, Stephen (1993). Gates. Doubleday. pág. 61. ISBN 9780385420754.
  3. ^ ab Curran, Lawrence J.; Shuford, Richard S. (noviembre de 1983). "IBM's Estridge". BYTE . págs. 88–97 . Consultado el 19 de marzo de 2016 .
  4. ^ Cherry, Charles (junio de 1987). "Basic Bonanza". Antic . Consultado el 4 de agosto de 2019 .
  5. ^ "PC Tutor". PC . 1987-01-13. p. 325 . Consultado el 18 de enero de 2015 .
  6. ^ Grevstad, Eric (diciembre de 1986). "Laser 128 / An Affordable Compatible". inCider . pág. 58 . Consultado el 29 de junio de 2014 .
  7. ^ "NCR Mini y Micro entre los debuts realizados en el recinto de la convención NRMA". Computerworld . 1977-01-17 . Consultado el 2014-06-04 .(Menciona un modelo NCR 7200 VI basado en casete 8080 con NCR Basic Plus 6 (BASIC extendido) que se entregaría en el primer trimestre de 1977. El modelo NCR 7200 I y el modelo IV ya se habían lanzado entre 1975 y 1971, pero no venían con BASIC).
  8. ^ Compilador BASIC de Microsoft 1980
  9. ^ ab Steil, Michael (30 de septiembre de 2008). "Bill Gates' Personal Easter Eggs in 8 Bit BASIC". pagetable.com . Consultado el 4 de febrero de 2015 .
  10. ^ "Catálogo de software de MICROSOFT", c1980, Museo de Historia de la Computación
  11. ^ Pequeño blog básico: Hola mundo
  12. ^¿ Cuáles son las 14 palabras clave de Small Basic?
  13. ^ ¡ Small Basic 1.0 ya está aquí!
  14. ^ Pequeño plan de estudios básico
  15. ^ Pequeña guía básica de inicio
  16. ^ Pequeños libros electrónicos básicos
  17. ^ Testimonios de alumnos de primaria y secundaria de Small Basic
  18. ^ Graduación de la escuela básica pequeña

Enlaces externos