stringtranslate.com

QuickBASIC

Microsoft QuickBASIC (también QB ) es un entorno de desarrollo integrado (o IDE) y 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 clásico Mac OS . Se basa libremente 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 .

Historia

Microsoft lanzó la primera versión de QuickBASIC el 18 de agosto de 1985 en un único disquete de 5,25 pulgadas y 360 KB . La versión 2.0 de QuickBASIC y las posteriores contenían un entorno de desarrollo integrado (IDE), que permitía a los usuarios editar directamente en su editor de texto en pantalla.

Aunque todavía se admitían en QuickBASIC, los números de línea se volvieron opcionales. Los saltos de programa también funcionaban con etiquetas con nombre. Las versiones posteriores también añadieron estructuras de control, como sentencias condicionales multilínea y bloques de bucle.

El "compilador PC BASIC" de Microsoft se incluyó para compilar programas en ejecutables DOS. A partir de la versión 4.0, el editor incluyó un intérprete que permitía al programador ejecutar el programa sin salir del editor. El intérprete se utilizaba para depurar un programa antes de crear un archivo ejecutable. Desafortunadamente, existían 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 las diferencias en las rutinas de gestión de memoria. [2]

La última versión de QuickBASIC fue la versión 4.5 (1988), aunque el desarrollo del 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 modificó silenciosamente para que los discos utilizaran la misma compresión utilizada para BASIC PDS 7.1. [4] La versión Basic PDS 7.x del IDE se llamó 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, distribuido en versiones Standard y Professional. Las versiones posteriores de Visual Basic no incluyeron versiones DOS, ya que Microsoft se concentró en aplicaciones de Windows.

Un subconjunto de QuickBASIC 4.5, llamado QBasic , se incluyó con MS-DOS 5 y versiones posteriores, reemplazando al GW-BASIC incluido con versiones anteriores de MS-DOS. Comparado con QuickBASIC, QBasic está limitado a un solo intérprete, 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 su código fuente del programa aún se puede compilar con un compilador QuickBASIC 4.5, PDS 7.x o VBDOS 1.0, si está disponible.

QuickBASIC 1.00 para el sistema operativo Apple Macintosh se lanzó en 1988. Fue oficialmente compatible con máquinas que ejecutaban System 6 con al menos 1 MB de RAM. [5] QuickBASIC también podía ejecutarse en System 7 , siempre que el direccionamiento de 32 bits estuviera deshabilitado.

Ejemplo de sintaxis

Hola mundo , versión más corta:

? "Hola Mundo"

Hola mundo , versión extendida:

CLS PRINT "Hola, mundo" FIN 

99 botellas de cerveza :

LET BOTELLAS = 99 : LET BOTELLAS$ = "99" : LET BOTELLA$ = " botellas" PARA A = 1 A 99 PRINT BOTELLAS$ ; BOTELLA$ ; " de cerveza en la pared, " ; BOTELLAS$ ; BOTELLA$ ; " de cerveza." LET BOTELLAS = BOTELLAS - 1 SI BOTELLAS > 0 ENTONCES LET BOTELLAS$ = LTRIM$ ( STR$ ( BOTELLAS )) : LET PRONOUN$ = "uno" SI BOTELLAS = 0 ENTONCES LET BOTELLAS$ = "no más" : LET PRONOUN$ = "eso" SI BOTELLAS <> 1 ENTONCES LET BOTELLA$ = " botellas" SI BOTELLAS = 1 ENTONCES LET BOTELLA$ = " botella" PRINT "Toma " ; PRONOUN$ ; " y pásalo, " ; BOTELLAS$ ; BOTELLA$ ; "de cerveza en la pared". IMPRIMIR : SIGUIENTE UNA 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 gráfico:

PANTALLA 13 DIM a ( 3976 ) COMO ENTERO , b ( 3976 ) COMO ENTERO , c ( 3976 ) COMO ENTERO DIM d ( 3976 ) COMO ENTERO , e ( 3976 ) COMO ENTERO col % = 16 : col1 % = 16 : col2 % = 16 : col3 % = 16 : col4 % = 16 col5 % = 16 : col6 % = 16 : col7 % = 16 : bandera = 1 : bandera1 = 1 bandera2 = 1 : bandera3 = 1 : bandera4 = 1 : bandera5 = 1 : bandera6 = 1 : bandera7 = 1 OBTENER ( 1 , 38 ) - ( 318 , 62 ), a PONER ( 2 , 38 ) , a , PSET LINE ( ​​1 , 38 ) - ( 1 , 62 ), col % SI bandera = 1 ENTONCES col % = col % + 1 : SI col % = 32 ENTONCES bandera = 2 SI bandera = 2 ENTONCES col % = col % - 1 : SI col % = 16 ENTONCES bandera = 1 GET ( 2 , 63 ) - ( 319 , 87 ), b                                                                                                                     PONER ( 1 , 63 ), b , PSET LINEA ( 319 , 63 ) - ( 319 , 87 ), col1 % SI bandera1 = 1 ENTONCES col1 % = col1 % + 1 : SI col1 % = 32 ENTONCES bandera1 = 2 SI bandera1 = 2 ENTONCES col1 % = col1 % - 1 : SI col1 % = 16 ENTONCES bandera1 = 1 OBTENER ( 1 , 88 ) - ( 318 , 112 ), c ​​PONER ( 2 , 88 ), c ​​, PSET LINEA ( 1 , 88 ) - ( 1 , 112 ), col2 % SI bandera2 = 1 ENTONCES col2 % = col2 % + 1 : SI col2 % = 32 ENTONCES bandera2 = 2 SI bandera2 = 2 ENTONCES col2 % = col2 % - 1 : SI col2 % = 16 ENTONCES bandera2 = 1 OBTENER ( 2 , 113 ) - ( 319 , 137 ), d PONER ( 1 , 113 ), d , PSET LINEA ( 319 , 113 ) - ( 319 , 137 ), col3 % SI bandera3 = 1 ENTONCES col3 % = col3 % + 1 : SI col3 % =                                                                                                                             32 ENTONCES bandera3 = 2 SI bandera3 = 2 ENTONCES col3 % = col3 % - 1 : SI col3 % = 16 ENTONCES bandera3 = 1 OBTENER ( 1 , 138 ) - ( 318 , 162 ), e PONER ( 2 , 138 ), e , PSET LINEA ( 1 , 138 ) - ( 1 , 162 ), col4 % SI bandera4 = 1 ENTONCES col4 % = col4 % + 1 : SI col4 % = 32 ENTONCES bandera4 = 2 SI bandera4 = 2 ENTONCES col4 % = col4 % - 1 : SI col4 % = 16 ENTONCES bandera4 = 1 BUCLE HASTA LEN ( INKEY$ )                                                                           

Ordenamiento de burbuja :

Muestra REM de ordenamiento de burbuja N = 10 DIM A ( N ) COMO ENTERO PARA L = 1 A N A ( L ) = INT ( RND * 10 + 1 ) SIGUIENTE PARA X = 1 A N PARA Y = 1 A N - 1 SI A ( X ) < A ( Y ) ENTONCES INTERCAMBIAR A ( X ), A ( Y ) SIGUIENTE SIGUIENTE PARA L = 1 A 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 lenguaje. [9] [10]

Hoy en día, los programadores a veces usan emuladores DOS , como DOSBox , para ejecutar QuickBASIC en Linux y en computadoras personales modernas que ya no admiten 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.x y 7.1 ha revitalizado el interés por 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 un 8088 cumplan 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++, mantiene una compatibilidad cercana al 100 % y compila de forma nativa para Windows , Linux y macOS . [15]

Véase también

Referencias

  1. ^ La documentación inicial de Microsoft traducía el nombre exclusivamente como "QuickBASIC", aunque las referencias posteriores en el sitio web de Microsoft también utilizan "QuickBasic".
  2. ^ Base de conocimiento de Microsoft 45850: Administración de memoria en QuickBasic y Basic Compiler
  3. ^ QuickBASIC 4.5 se entregó en un conjunto de cinco disquetes DSDD de 5,25 pulgadas y 360 KB o tres disquetes DSDD de 3,5 pulgadas y 720 KB. La versión de tres discos también se podía instalar desde discos DSHD de 5,25 pulgadas y 1,2 MB o de 3,5 pulgadas y 1,44 MB. Para ahorrar costos, los archivos se comprimieron y las versiones posteriores se entregaron en solo cuatro discos de 5,25 pulgadas o dos de 3,5 pulgadas.
  4. ^ Artículo 65291 de Microsoft Knowledge Base
  5. ^ Requisitos del sistema de QuickBASIC para Macintosh
  6. ^ "Directorio de juegos QBASIC". 29 de noviembre de 2008. Archivado desde el original el 4 de septiembre de 2014. Consultado el 28 de diciembre de 2008 .
  7. ^ "Reseñas de GUI". 19 de diciembre de 2008. Consultado el 28 de diciembre de 2008 .
  8. ^ "El blog de la GUI (BÁSICA)". 2011-02-06 . Consultado el 2011-02-06 .
  9. ^ "Noticias de Qbasic/Quickbasic". 26 de diciembre de 2008. Consultado el 28 de diciembre de 2008 .
  10. ^ "QB Express". Sitio de Pete sobre QBASIC/QuickBasic. 2008. Consultado el 28 de diciembre de 2008 .
  11. ^ Pete Trbovich (31 de marzo de 2007). "CÓMO jugar con tus viejos programas QBasic en Linux" . Consultado el 28 de diciembre de 2008 .
  12. ^ Kiyote Wolf (10 de mayo de 2008). "Kiyote Wolf sobre una variedad de temas". QB Express . Consultado el 28 de diciembre de 2008 .
  13. ^ Por ejemplo, FreeBASIC aún no admite la devolución de llamada "ON PLAY" de QBasic para música de fondo, o el uso de PEEK y POKE en los puertos de E/S .
  14. ^ Mike Chambers (12 de julio de 2008). "rubbermallet.org: donde QuickBASIC se vuelve mucho más poderoso" . Consultado el 28 de diciembre de 2008 .
  15. ^ Virtanen, EK (26 de mayo de 2008). "Entrevista con Galleon". Archivado desde el original el 6 de marzo de 2016. Consultado el 14 de julio de 2008 .{{cite web}}: CS1 maint: URL no apta ( enlace )

Enlaces externos