Microsoft QuickBASIC (también QB ) es un entorno de desarrollo integrado (o IDE) y un compilador para el lenguaje de programación BASIC desarrollado por Microsoft . QuickBASIC se ejecuta principalmente en DOS , aunque también hubo una versión de corta duración para el Mac OS clásico . Está vagamente basado en GW-BASIC pero agrega tipos definidos por el usuario, estructuras de programación mejoradas, mejores gráficos y soporte de disco y un compilador además del intérprete . Microsoft comercializó QuickBASIC como el nivel introductorio para su sistema de desarrollo profesional BASIC. [1]Microsoft comercializó otros dos IDE similares para C y Pascal, a saber, QuickC y QuickPascal .
Desarrollador (es) | Microsoft |
---|---|
Versión inicial | 1985 |
Lanzamiento estable | 7/1990 |
Sistema operativo | MS-DOS , Mac OS clásico |
Plataforma | x86 , Motorola 68000 |
Tipo | Microsoft BASIC |
Licencia | Propiedad |
Sitio web | www |
Historia
Microsoft lanzó la primera versión de QuickBASIC el 18 de agosto de 1985, por una sola KB 5,25 pulgadas 360 disquete . QuickBASIC versión 2.0 y posterior contenía un entorno de desarrollo integrado (IDE), lo que permite a los usuarios editar directamente en su editor de texto en pantalla.
Aunque todavía se admite en QuickBASIC, los números de línea se volvieron opcionales. Los saltos de programa también funcionaron con etiquetas con nombre. Las versiones posteriores también agregaron estructuras de control, como declaraciones condicionales multilínea y bloques de bucle.
El "PC BASIC Compiler" de Microsoft se incluyó para compilar programas en ejecutables de DOS. A partir de la versión 4.0, el editor incluía un intérprete que permitía al programador ejecutar el programa sin salir del editor. El intérprete se utilizó para depurar un programa antes de crear un archivo ejecutable. Desafortunadamente, había algunas diferencias sutiles entre el intérprete y el compilador, lo que significaba que los programas grandes que se ejecutaban correctamente en el intérprete podían fallar después de la compilación o no compilarse en absoluto debido a diferencias en las rutinas de administración de memoria. [2]
La última versión de QuickBASIC fue la versión 4.5 (1988), aunque el desarrollo de Microsoft BASIC Professional Development System (PDS) continuó hasta su último lanzamiento de la versión 7.1 en octubre de 1990. [3] Al mismo tiempo, el empaquetado de QuickBASIC se cambió silenciosamente para que los discos usaran la misma compresión que se usó para BASIC PDS 7.1. [4] La versión Basic PDS 7.x del IDE se llamaba QuickBASIC Extended (QBX) y solo se ejecutaba en DOS, a diferencia del resto de Basic PDS 7.x, que también se ejecutaba en OS / 2. El sucesor de QuickBASIC y Basic PDS fue Visual Basic versión 1.0 para MS-DOS, incluido en las versiones Standard y Professional. Las versiones posteriores de Visual Basic no incluían versiones de DOS, ya que Microsoft se concentró en las aplicaciones de Windows.
Un subconjunto de QuickBASIC 4.5, denominado QBasic , se incluyó con MS-DOS 5 y versiones posteriores, reemplazando el GW-BASIC incluido con versiones anteriores de MS-DOS. Comparado con QuickBASIC, QBasic está limitado a un intérprete solamente, carece de algunas funciones, solo puede manejar programas de un tamaño limitado y carece de soporte para módulos de programa separados. Dado que carece de un compilador, no se puede utilizar para producir archivos ejecutables, aunque el código fuente de su programa aún puede ser compilado por un compilador QuickBASIC 4.5, PDS 7.xo VBDOS 1.0, si está disponible.
QuickBASIC 1.00 para el sistema operativo Apple Macintosh se lanzó en 1988. Se admitió oficialmente en máquinas que ejecutaban System 6 con al menos 1 MB de RAM. [5] QuickBASIC también se puede ejecutar en el Sistema 7 , siempre que el direccionamiento de 32 bits esté deshabilitado.
Ejemplo de sintaxis
Hola, mundo , versión más corta:
? "Hola Mundo"
Hola, mundo , versión extendida:
CLS PRINT "Hello, World" END
LET BOTTLES = 99 : LET BOTTLES $ = "99" : LET BOTTLE $ = "botellas" PARA A = 1 A 99 IMPRIMIR BOTELLAS $ ; BOTELLA $ ; "de cerveza en la pared" ; BOTELLAS $ ; BOTELLA $ ; "de cerveza". LET BOTTLES = BOTTLES - 1 IF BOTTLES > 0 THEN LET BOTTLES $ = LTRIM $ ( STR $ ( BOTTLES )) : LET PRONOUN $ = "one" IF BOTTLES = 0 THEN LET BOTTLES $ = "no más" : LET PRONOUN $ = "it" SI BOTELLAS <> 1 ENTONCES DEJAR BOTELLA $ = "botellas" SI BOTELLAS = 1 ENTONCES DEJAR BOTELLA $ = "botella" IMPRIMIR "Tomar" ; PRONOUN $ ; "bajar y pasarlo" ; BOTELLAS $ ; BOTELLA $ ; "de cerveza en la pared". IMPRESIÓN : SIGUIENTE A IMPRESIÓN "No más botellas de cerveza en la pared, no más botellas de cerveza". IMPRIMIR "Ve a la tienda y compra más, 99 botellas de cerveza en la pared".
Ejemplo de gráficos:
PANTALLA 13 DIM a ( 3976 ) AS INTEGER , b ( 3976 ) AS INTEGER , c ( 3976 ) AS INTEGER DIM d ( 3976 ) AS INTEGER , e ( 3976 ) AS INTEGER col % = 16 : col1 % = 16 : col2 % = 16 : col3 % = 16 : col4 % = 16 col5 % = 16 : col6 % = 16 : col7 % = 16 : flag = 1 : flag1 = 1 flag2 = 1 : flag3 = 1 : flag4 = 1 : flag5 = 1 : flag6 = 1 : flag7 = 1 DO GET ( 1 , 38 ) - ( 318 , 62 ), a PUT ( 2 , 38 ), a , PSET LINE ( 1 , 38 ) - ( 1 , 62 ), col % IF flag = 1 THEN col % = col % + 1 : IF col % = 32 THEN flag = 2 IF flag = 2 THEN col % = col % - 1 : IF col % = 16 THEN flag = 1 GET ( 2 , 63 ) - ( 319 , 87 ), b PUT ( 1 , 63 ), b , PSET LINE ( 319 , 63 ) - ( 319 , 87 ), col1 % IF flag1 = 1 THEN col1 % = col1 % + 1 : IF col1 % = 32 THEN flag1 = 2 IF flag1 = 2 THEN col1 % = col1 % - 1 : IF col1 % = 16 THEN flag1 = 1 GET ( 1 , 88 ) - ( 318 , 112 ), c PUT ( 2 , 88 ), c , PSET LINE ( 1 , 88 ) - ( 1 , 112 ), col2 % IF flag2 = 1 THEN col2 % = col2 % + 1 : IF col2 % = 32 THEN flag2 = 2 IF flag2 = 2 THEN col2 % = col2 % - 1 : SI col2 % = 16 ENTONCES flag2 = 1 GET ( 2 , 113 ) - ( 319 , 137 ), d PUT ( 1 , 113 ), d , PSET LINE ( 319 , 113 ) - ( 319 , 137 ), col3 % IF flag3 = 1 THEN col3 % = col3 % + 1 : IF col3 % = 32 THEN flag3 = 2 IF flag3 = 2 THEN col3 % = col3 % - 1 : IF col3 % = 16 THEN flag3 = 1 GET ( 1 , 138 ) - ( 318 , 162 ), e PUT ( 2 , 138 ), e , PSET LINE ( 1 , 138 ) - ( 1 , 162 ), col4 % IF flag4 = 1 THEN col4 % = col4 % + 1 : IF col4 % = 32 ENTONCES flag4 = 2 SI flag4 = 2 ENTONCES col4 % = col4 % - 1 : SI col4 % = 16 ENTONCES flag4 = 1 LOOP HASTA LEN ( INKEY $ )
Muestra REM de clasificación de burbujas N = 10 DIM A ( N ) AS INTEGER FOR L = 1 TO N A ( L ) = INT ( RND * 10 + 1 ) NEXT FOR X = 1 TO N FOR Y = 1 TO N - 1 IF A ( X ) < A ( Y ) LUEGO INTERCAMBIAR A ( X ), A ( Y ) SIGUIENTE SIGUIENTE PARA L = 1 TO N IMPRIMIR A ( L ) SIGUIENTE FIN
Usos actuales
QuickBASIC tiene una comunidad no oficial de programadores aficionados que utilizan el compilador para escribir videojuegos , GUI y utilidades . [6] [7] [8] La comunidad ha dedicado varios sitios web, foros de mensajes y revistas en línea al idioma. [9] [10]
Hoy en día, los programadores a veces usan emuladores de DOS , como DOSBox , para ejecutar QuickBASIC en Linux y en hardware de computadora personal moderno que ya no admite el compilador. [11] [12] Las alternativas a esto incluyen FreeBASIC y QB64 , pero aún no pueden ejecutar todos los programas QBasic / QuickBASIC. [13]
Desde 2008, un conjunto de rutinas TCP / IP para QuickBASIC 4.xy 7.1 ha revitalizado cierto interés en el software. En particular, la comunidad de aficionados a las computadoras antiguas ha podido escribir software para computadoras antiguas que ejecutan DOS, lo que permite que estas máquinas accedan a otras computadoras a través de una LAN o Internet. Esto ha permitido que sistemas tan antiguos como el 8088 sirvan para nuevas funciones, como actuar como servidor web o usar IRC . [14]
Sucesores
Visual Basic de Microsoft fue el sucesor de QuickBASIC. Otros compiladores, como PowerBASIC y FreeBASIC , tienen distintos grados de compatibilidad. QB64 , un traductor multiplataforma de QuickBASIC a C ++, conserva casi el 100% de compatibilidad y se compila de forma nativa para Windows , Linux y macOS . [15]
Ver también
- QBasic
- Turbo básico
- QB64
Referencias
- ^ La primera documentación de Microsoft representaba el nombre exclusivamente como "QuickBASIC", aunque las referencias posteriores en el sitio Web de Microsoft también utilizan "QuickBasic".
- ^ Microsoft Knowledge Base 45850: Administración de memoria en QuickBasic & Basic Compiler
- ^ QuickBASIC 4.5 se entregó en un conjunto de cinco disquetes DSDD de 360 KB de 5,25 pulgadas o tres disquetes DSDD de 720 KB de 3,5 pulgadas. La versión de tres discos también se puede instalar desde discos DSHD de 1,2 MB de 5,25 pulgadas o 1,44 MB de 3,5 pulgadas. Para ahorrar costos, los archivos se comprimieron y las versiones posteriores se enviaron en solo cuatro discos de 5,25 pulgadas o dos discos de 3,5 pulgadas.
- ^ Artículo 65291 de Microsoft Knowledge Base
- ^ QuickBASIC para requisitos del sistema Macintosh
- ^ "Directorio de juegos QBASIC" . 2008-11-29. Archivado desde el original el 4 de septiembre de 2014 . Consultado el 28 de diciembre de 2008 .
- ^ "Reseñas de GUI" . 2008-12-19 . Consultado el 28 de diciembre de 2008 .
- ^ "El blog de GUI (BÁSICO)" . 2011-02-06 . Consultado el 6 de febrero de 2011 .
- ^ "Noticias de Qbasic / Quickbasic" . 2008-12-26 . Consultado el 28 de diciembre de 2008 .
- ^ "QB Express" . Sitio QBASIC / QuickBasic de Pete. 2008 . Consultado el 28 de diciembre de 2008 .
- ^ Pete Trbovich (31 de marzo de 2007). "Cómo jugar con sus programas antiguos de QBasic en Linux" . Consultado el 28 de diciembre de 2008 .
- ^ Kiyote Wolf (10 de mayo de 2008). "Kiyote Wolf sobre una variedad de temas" . QB Express . Consultado el 28 de diciembre de 2008 .
- ^ Por ejemplo, FreeBASIC todavía no admite devolución de llamada "ON PLAY" de QBasic para música de fondo, o el uso de poke a los puertos de E / S .
- ^ Mike Chambers (12 de julio de 2008). "rubbermallet.org: donde QuickBASIC se vuelve mucho más poderoso" . Consultado el 28 de diciembre de 2008 .
- ^ Virtanen, EK (26 de mayo de 2008). "Entrevista con Galeón" . Archivado desde el original el 6 de marzo de 2016 . Consultado el 14 de julio de 2008 .CS1 maint: URL no apta ( enlace )
enlaces externos
- Historial de versiones de Microsoft QuickBasic para MS-DOS