Articulo de referencia

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 e...

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 MS-DOS , aunque también hubo una versión de corta duración para Classic Mac OS . Está vagamente basado en GW-BASIC , pero agrega tipos definidos por el usuario, estructuras de programación mejoradas, mejor soporte gráfico y de disco y un compilador además del intérprete . Microsoft comercializó QuickBASIC como el nivel introductorio para su BASIC Professional Development System. [ 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 . QuickBASIC versión 2.0 y posteriores incluían un Entorno de Desarrollo Integrado (IDE), que permitía a los usuarios editar directamente en su editor de texto en pantalla.

Aunque QuickBASIC seguía admitiendo la numeración de líneas, esta se volvió opcional. Los saltos de programa también funcionaban con etiquetas con nombre. Las versiones posteriores añadieron estructuras de control, como sentencias condicionales multilínea y bloques de bucle.

El compilador "PC BASIC Compiler" de Microsoft se incluía 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 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 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 cambió silenciosamente para que los discos utilizaran la misma compresión que se usaba 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.

QuickBASIC 4.5 fue objeto de numerosos libros, artículos y tutoriales de programación, y llegó casi al punto álgido de la saturación de BASIC en el mercado de las PC. En 1989, Microsoft Press incluyó el intérprete QuickBASIC 1.0 en un sistema de aprendizaje de libro y software llamado Learn BASIC Now . El producto tenía un precio de 39,95 dólares e incluía un prólogo escrito por Bill Gates, quien informó que BASIC era utilizado activamente por más de cuatro millones de usuarios de PC. [ 5 ]

El sucesor de QuickBASIC y Basic PDS fue Visual Basic versión 1.0 para MS-DOS, disponible en versiones Standard y Professional. Las versiones posteriores de Visual Basic no incluyeron versiones para DOS, ya que Microsoft se centró en las aplicaciones para Windows.

Una versión de QuickBASIC 4.5, denominada QBasic , se incluyó en MS-DOS 5 y versiones posteriores, reemplazando a GW-BASIC , que venía con versiones anteriores de MS-DOS. En comparación con QuickBASIC, QBasic se limita a un intérprete, carece de algunas funciones, solo puede manejar programas de tamaño limitado y no admite módulos de programa independientes. Al carecer de compilador, no puede utilizarse para generar archivos ejecutables, aunque su código fuente puede compilarse con un compilador de 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. Era compatible oficialmente con máquinas que ejecutaban System 6 con al menos 1  MB de RAM. [ 6 ] QuickBASIC también podía ejecutarse en System 7 , siempre que se deshabilitara el direccionamiento de 32 bits. La programación en QuickBASIC era significativamente diferente en Macintosh, ya que el sistema ofrecía una interfaz gráfica de usuario y un modelo de programación basado en eventos. [ 7 ]

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 BOTTLES = 99 : LET BOTTLES$ = "99" : LET BOTTLE$ = " botellas" FOR A = 1 TO 99 PRINT BOTTLES$ ; BOTTLE$ ; " de cerveza en la pared, " ; BOTTLES$ ; BOTTLE$ ; " de cerveza." LET BOTTLES = BOTTLES - 1 IF BOTTLES > 0 THEN LET BOTTLES$ = LTRIM$ ( STR$ ( BOTTLES )) : LET PRONOUN$ = "una" IF BOTTLES = 0 THEN LET BOTTLES$ = "no más" : LET PRONOUN$ = "eso" IF BOTTLES <> 1 THEN LET BOTTLE$ = " botellas" IF BOTTLES = 1 THEN LET BOTTLE$ = " botella" PRINT "Toma " ; PRONOUN$ ; " y pásalo, " ; BOTTLES$ ; BOTTLE$ ; " de cerveza en la pared." IMPRIMIR : SIGUIENTE IMPRIMIR "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 ) 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 LÍNEA ( 1 , 38 ) - ( 1 , 62 ), col % SI flag = 1 ENTONCES col % = col % + 1 : SI col % = 32 ENTONCES flag = 2 SI flag = 2 ENTONCES col % = col % - 1 : SI col % = 16 ENTONCES flag = 1 OBTENER ( 2 , 63 ) - ( 319 , 87 ), bPUT ( 1 , 63 ), b , PSET LINE ( ​​319 , 63 ) - ( 319 , 87 ), col1 % SI flag1 = 1 ENTONCES col1 % = col1 % + 1 : SI col1 % = 32 ENTONCES flag1 = 2 SI flag1 = 2 ENTONCES col1 % = col1 % - 1 : SI col1 % = 16 ENTONCES flag1 = 1 GET ( 1 , 88 ) - ( 318 , 112 ), c ​​PUT ( 2 , 88 ), c ​​, PSET LINE ( ​​1 , 88 ) - ( 1 , 112 ), col2 % SI flag2 = 1 ENTONCES col2 % = col2 % + 1 : SI col2 % = 32 ENTONCES flag2 = 2 SI flag2 = 2 ENTONCES col2 % = col2 % - 1 : SI col2 % = 16 ENTONCES flag2 = 1 OBTENER ( 2 , 113 ) - ( 319 , 137 ), d PONER ( 1 , 113 ), d , ESTABLECER LÍNEA ( 319 , 113 ) - ( 319 , 137 ), col3 % SI flag3 = 1 ENTONCES col3 % = col3 % + 1 : SI col3 % =32 ENTONCES flag3 = 2 SI flag3 = 2 ENTONCES col3 % = col3 % - 1 : SI col3 % = 16 ENTONCES flag3 = 1 OBTENER ( 1 , 138 ) - ( 318 , 162 ), e PONER ( 2 , 138 ), e , ESTABLECER LÍNEA ( 1 , 138 ) - ( 1 , 162 ), col4 % SI flag4 = 1 ENTONCES col4 % = col4 % + 1 : SI col4 % = 32 ENTONCES flag4 = 2 SI flag4 = 2 ENTONCES col4 % = col4 % - 1 : SI col4 % = 16 ENTONCES flag4 = 1 BUCLE HASTA LEN ( INKEY$ )

Ordenación de burbuja :

REM muestra de ordenación de burbuja N = 10 DIM A ( 1 TO N ) AS INTEGER FOR L = 1 TO N A ( L ) = INT ( RND * 10 + 1 ) NEXT FOR X = 1 TO N - 1 FOR Y = X + 1 TO N IF A ( X ) < A ( Y ) THEN SWAP A ( X ), A ( Y ) NEXT NEXT FOR L = 1 TO N PRINT A ( L ) NEXT END

Usos actuales

QuickBASIC cuenta con una comunidad de programadores aficionados que utilizan el compilador para escribir videojuegos , interfaces gráficas de usuario (GUI) y utilidades . [ 8 ] [ 9 ] [ 10 ] La comunidad tiene varios sitios web, foros de mensajes y revistas en línea . [ 11 ] [ 12 ]

Hoy en día, los programadores a veces usan emuladores de DOS , como DOSBox , para ejecutar QuickBASIC en Linux y en computadoras personales modernas que ya no son compatibles con el compilador. [ 13 ] [ 14 ] Entre las alternativas se incluyen FreeBASIC y QB64 , pero aún no pueden ejecutar todos los programas de QBasic/QuickBASIC. [ 15 ]

Desde 2008, un conjunto de rutinas TCP/IP para QuickBASIC 4.x y 7.1 ha revitalizado el interés por este software. En particular, la comunidad de aficionados a la informática retro ha podido desarrollar software para ordenadores antiguos con DOS, permitiendo que estas máquinas accedan a otros ordenadores a través de una red local o internet. Esto ha posibilitado que sistemas tan antiguos como el 8088 puedan desempeñar nuevas funciones, como actuar como servidor web o utilizar IRC . [ 16 ]

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 se compila de forma nativa para Windows , Linux y macOS . [ 17 ]

Intérpretes de QuickBASIC

Microsoft Press publicó Learn BASIC Now en 1989, e incluyó el intérprete Microsoft QuickBASIC 1.0 de 1989 (QBI.exe), que era un intérprete derivado directo de QuickBASIC 4.5 de 1988 (QB.exe). El intérprete Microsoft QBasic , incluido con MS-DOS 5.0 y versiones posteriores, era un derivado de QBI 1.0 y, por lo tanto, un derivado de QuickBASIC 4.5. [ 18 ]

Árbol genealógico del intérprete QuickBASIC

QBasic 1.0 1991 ← Intérprete QuickBASIC 1.0 1989 ← QuickBASIC 4.5 1988

Véase también

Referencias

  1. La documentación inicial de Microsoft mostraba el nombre exclusivamente como "QuickBASIC", aunque referencias posteriores en el sitio web de Microsoft también utilizan "QuickBasic".
  2. "Base de conocimientos de Microsoft 45850: Administración de memoria en QuickBasic y Basic Compiler" . Archivado del original el 2 de marzo de 2021. Consultado el 5 de noviembre de 2020 .
  3. QuickBASIC 4.5 se distribuía 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 disquetes también podía instalarse desde de 5,25 pulgadas y 1,2 MB o de 3,5 pulgadas y 1,44 MB. Para ahorrar costes, los archivos se comprimieron y las versiones posteriores se distribuyeron en solo cuatro disquetes de 5,25 pulgadas o dos de 3,5 pulgadas.
  4. Artículo 65291 de la Base de conocimientos de Microsoft
  5. Gates, Bill; Halvorson, Michael; Rygmyr, David (1989). Aprende BASIC ahora . Redmond, WA: Microsoft Press. pág. ix. 
  6. Requisitos del sistema de QuickBASIC para Macintosh
  7. Halvorson, Michael; Rygmyr, David (1990). Aprende BASIC para Apple Macintosh ahora . Redmond, WA: Microsoft Press.
  8. "Directorio de juegos de QBASIC" . 29 de noviembre de 2008. Archivado del original el 4 de septiembre de 2014. Consultado el 28 de diciembre de 2008 .
  9. "Reseñas de GUI" . 19 de diciembre de 2008. Consultado el 28 de diciembre de 2008 .
  10. "El blog de la interfaz gráfica de usuario (BASIC)" . 6 de febrero de 2011. Consultado el 6 de febrero de 2011 .
  11. "Noticias de Qbasic/Quickbasic" . 26 de diciembre de 2008. Consultado el 28 de diciembre de 2008 .
  12. "QB Express" . Sitio web de Pete sobre QBASIC/QuickBasic. 2008. Consultado el 28 de diciembre de 2008 .
  13. Pete Trbovich (31 de marzo de 2007). "Cómo jugar con tus antiguos programas QBasic en Linux" . Archivado del original el 2 de agosto de 2017. Consultado el 28 de diciembre de 2008 .
  14. Kiyote Wolf (10 de mayo de 2008). "Kiyote Wolf sobre diversos temas" . QB Express . Consultado el 28 de diciembre de 2008 .
  15. Por ejemplo, FreeBASIC aún no admite la función de devolución de llamada "ON PLAY" de QBasic para música de fondo, ni el uso de PEEK y POKE para puertos de E/S .
  16. Mike Chambers (12 de julio de 2008). "rubbermallet.org: Donde QuickBASIC se vuelve mucho más potente" . Consultado el 28 de diciembre de 2008 .
  17. Virtanen, EK (26 de mayo de 2008). "Entrevista con Galleon" . Archivado del original el 6 de marzo de 2016. Recuperado el 14 de julio de 2008 .
  18. Halvorson, Michael J. (2020). Code Nation: Personal Computing and the Learn to Program Movement in America . Nueva York, NY: ACM Books. pp. 145–153 . 
  • QuickBasic 4.5