BASIC ( Beginner's All-purpose Symbolic Instruction Code ) [ 1 ] es una familia de lenguajes de programación de alto nivel y propósito general diseñados para facilitar su uso. La versión original fue creada por John G. Kemeny y Thomas E. Kurtz en el Dartmouth College en 1964. Su objetivo era que los estudiantes de campos no científicos pudieran utilizar ordenadores. En aquel entonces, casi todos los ordenadores requerían la escritura de software a medida, algo que solo los científicos y matemáticos solían aprender.
Además del lenguaje de programación, Kemeny y Kurtz desarrollaron el Sistema de Tiempo Compartido de Dartmouth (DTSS), que permitía a varios usuarios editar y ejecutar programas BASIC simultáneamente en terminales remotas. Este modelo general se popularizó en sistemas de minicomputadoras como la PDP-11 y la Data General Nova a finales de la década de 1960 y principios de la de 1970. Hewlett-Packard produjo una línea completa de computadoras para este método de operación, presentando la serie HP2000 a finales de la década de 1960 y continuando sus ventas hasta la década de 1980. Muchos de los primeros videojuegos tienen su origen en una de estas versiones de BASIC .
La aparición de los microordenadores a mediados de la década de 1970 propició el desarrollo de múltiples variantes de BASIC, entre ellas Microsoft BASIC en 1975. Debido a la escasa memoria principal disponible en estas máquinas, a menudo de 4 KB, también se crearon diversas variantes de Tiny BASIC . BASIC estaba disponible para prácticamente cualquier sistema de la época y se convirtió en el lenguaje de programación estándar para los ordenadores domésticos que surgieron a finales de la década de 1970. Estos ordenadores casi siempre incluían un intérprete de BASIC instalado por defecto, generalmente en el firmware o, en ocasiones, en un cartucho ROM .
BASIC perdió popularidad en la década de 1990, a medida que llegaron al mercado microordenadores más potentes y los lenguajes de programación con características avanzadas (como Pascal y C ) se volvieron viables en dichos ordenadores. Para entonces, la mayoría de los usuarios de ordenadores personales sin conocimientos técnicos dependían de aplicaciones preescritas en lugar de escribir sus propios programas. En 1991, Microsoft lanzó Visual Basic , que combinaba una versión actualizada de BASIC con un generador de formularios visuales . Esto revitalizó el uso del lenguaje y "VB" sigue siendo un lenguaje de programación importante [ 2 ] [ 3 ] en la forma de VB.NET , mientras que una comunidad de aficionados a BASIC en general continúa existiendo. [ 4 ] [ 5 ]
Origen
John G. Kemeny fue el director del Departamento de Matemáticas del Dartmouth College. Gracias en gran medida a su reputación como innovador en la enseñanza de las matemáticas, en 1959 la universidad ganó un premio de la Fundación Alfred P. Sloan de 500 000 dólares para construir un nuevo edificio para el departamento. [ 6 ] Thomas E. Kurtz se había unido al departamento en 1956, y desde la década de 1960, Kemeny y Kurtz coincidieron en la necesidad de alfabetización en programación entre los estudiantes fuera de los campos STEM tradicionales . Kemeny señaló más tarde que «Nuestra visión era que cada estudiante del campus tuviera acceso a una computadora , y que cualquier miembro del profesorado pudiera usar una computadora en el aula siempre que fuera apropiado. Era tan simple como eso». [ 7 ]
Kemeny y Kurtz habían realizado dos experimentos previos con lenguajes simplificados, DARSIMCO (Dartmouth Simplified Code) y DOPE (Dartmouth Oversimplified Programming Experiment) . Estos no pasaron de una sola clase de primer año. Posteriormente, realizaron nuevos experimentos con Fortran y ALGOL , pero Kurtz concluyó que estos lenguajes eran demasiado complicados para lo que buscaban. Como señaló Kurtz, Fortran tenía numerosos comandos con una estructura extraña, en particular una "convención casi imposible de memorizar para especificar un bucle: ¿ Es '1, 10, 2' o '1, 2, 10', y es necesaria o no la coma después del número de línea?" [ 7 ]DO 100I=1,10,2
Además, la falta de retroalimentación inmediata era un problema clave; las máquinas de la época utilizaban procesamiento por lotes y tardaban mucho en completar la ejecución de un programa. Durante la visita de Kurtz al MIT , John McCarthy sugirió que el tiempo compartido ofrecía una solución: una sola máquina podía dividir su tiempo de procesamiento entre muchos usuarios, dándoles la ilusión de tener una computadora (lenta) para ellos solos. [ 8 ] Los programas pequeños arrojarían resultados en pocos segundos. Esto generó un creciente interés en un sistema que utilizara tiempo compartido y un nuevo lenguaje específicamente diseñado para estudiantes de áreas no relacionadas con ciencia, tecnología, ingeniería y matemáticas (STEM). [ 7 ]
Kemeny escribió la primera versión de BASIC. El acrónimo BASIC proviene del nombre de un artículo inédito de Thomas Kurtz. [ 9 ] El nuevo lenguaje se basó en gran medida en FORTRAN II; las sentencias eran una por línea, se usaban números para indicar el destino de los bucles y las bifurcaciones, y muchos de los comandos eran similares o idénticos a los de Fortran. Sin embargo, la sintaxis se modificó siempre que fue posible mejorarla. Por ejemplo, el DObucle difícil de recordar se reemplazó por el mucho más fácil de recordar , y el número de línea utilizado en el DO se indicó en su lugar con el . [ a ] Del mismo modo, la críptica sentencia de Fortran, cuya sintaxis coincidía con una instrucción particular de la máquina en la que se escribió originalmente, se convirtió en el más simple . Estos cambios hicieron que el lenguaje fuera mucho menos idiosincrásico, aunque conservaba una estructura general y una sensación similares a las del FORTRAN original. [ 7 ]FORI=1TO10STEP2NEXT IIFIFI=5THENGOTO100
El proyecto recibió una subvención de 300 000 dólares de la Fundación Nacional de Ciencias , que se utilizó para comprar una computadora GE-225 para el procesamiento y un procesador en tiempo real Datanet-30 para manejar las teleimpresoras Teletype Modelo 33 utilizadas para la entrada y salida de datos. Un equipo de una docena de estudiantes de pregrado trabajó en el proyecto durante aproximadamente un año, escribiendo tanto el sistema DTSS como el compilador BASIC . [ 7 ] La primera versión del lenguaje BASIC se publicó el 1 de mayo de 1964. [ 10 ] [ 11 ]
Inicialmente, BASIC se centró en brindar soporte para operaciones matemáticas sencillas, con soporte para aritmética matricial desde su implementación inicial como lenguaje por lotes, y la funcionalidad de cadenas de caracteres se agregó en 1965. Su uso en la universidad se expandió rápidamente, lo que requirió que la CPU principal fuera reemplazada por una GE-235, [ 7 ] y más tarde por una GE-635. A principios de la década de 1970, había cientos de terminales conectadas a las máquinas en Dartmouth, algunas de ellas de forma remota.
Con el objetivo de que el lenguaje se popularizara, sus diseñadores ofrecieron el compilador de forma gratuita. En la década de 1960, el software se convirtió en un producto de pago; hasta entonces, se proporcionaba sin cargo como un servicio con computadoras costosas, generalmente disponibles solo para alquiler. También lo pusieron a disposición de las escuelas secundarias en el área de Hanover, New Hampshire , y en toda la región de Nueva Inglaterra a través de terminales de teletipo Teletype Modelo 33 y Modelo 35 conectadas a Dartmouth mediante líneas telefónicas de acceso telefónico, y dedicaron un esfuerzo considerable a la promoción del lenguaje. En los años siguientes, a medida que aparecieron otros dialectos de BASIC, el dialecto BASIC original de Kemeny y Kurtz pasó a conocerse como Dartmouth BASIC .
Nuevo Hampshire reconoció el logro en 2019 cuando erigió un marcador histórico de carretera en Hanover que describe la creación del "primer lenguaje de programación fácil de usar". [ 12 ]
Estándares
- Norma ANSI/ISO/IEC/ECMA para BASIC mínimo (retirada)
- ANSI X3.60-1978 "Para BASIC mínimo" (retirado [ 13 ] )
- ISO/IEC 6373:1984 "Procesamiento de datos — Lenguajes de programación — BASIC mínimo" (retirada [ 14 ] )
- ECMA -55 "Minimal BASIC" (retirado, [ 15 ] similar a ANSI X3.60-1978)
- ANSI/ISO/IEC/ECMA para BÁSICO completo
- ANSI X3.113-1987 "Lenguajes de programación Full BASIC" (en vigor [ 16 ] [ 17 ] )
- ISO/IEC 10279:1991 (Rev. 2024) "Tecnología de la información – Lenguajes de programación – BASIC completo" (en vigor [ 18 ] )
- ECMA -116 "BASIC" (retirado, [ 19 ] similar a ANSI X3.113-1987)
- Anexo ANSI/ISO/IEC que define los módulos
- Interpretaciones de ANSI X3.113-1992 "Boletín de información técnica básica n.° 1: Interpretaciones de ANSI 03.113-1987"
- ISO/IEC 10279:1991/Amd 1:1994 "Módulos y mejora de la entrada de caracteres únicos" (en vigor [ 20 ] )
Difusión en servicios de tiempo compartido
El surgimiento de BASIC se produjo como parte de un movimiento más amplio hacia los sistemas de tiempo compartido. Conceptualizada por primera vez a finales de la década de 1950, la idea se volvió tan dominante en la industria informática a principios de la década de 1960 que sus defensores hablaban de un futuro en el que los usuarios "comprarían tiempo en la computadora de la misma manera que un hogar promedio compra electricidad y agua a las compañías de servicios públicos". [ 21 ]
General Electric, tras haber trabajado en el proyecto de Dartmouth, desarrolló su propio sistema operativo subyacente y lanzó un sistema de tiempo compartido en línea conocido como Mark I. BASIC era uno de sus principales atractivos. Otras empresas del sector emergente no tardaron en seguir su ejemplo; Tymshare presentó SUPER BASIC en 1968, CompuServe contaba con una versión para el DEC-10 en su lanzamiento en 1969, y a principios de la década de 1970 BASIC era prácticamente universal en los ordenadores centrales de propósito general . Incluso IBM acabó uniéndose a la tendencia con la introducción de VS-BASIC en 1973. [ 22 ]
Aunque los servicios de tiempo compartido con BASIC tuvieron éxito durante un tiempo, el éxito generalizado que se había pronosticado no se materializó. La aparición de las minicomputadoras durante el mismo período, y especialmente de las microcomputadoras de bajo costo a mediados de la década de 1970, permitió que cualquiera pudiera comprar y ejecutar sus propios sistemas en lugar de comprar tiempo en línea, que generalmente se facturaba en dólares por minuto. [ b ] [ 23 ]
Difundido en minicomputadoras

BASIC, por su propia naturaleza de ser pequeño, era naturalmente adecuado para ser adaptado al mercado de las minicomputadoras , que estaba surgiendo al mismo tiempo que los servicios de tiempo compartido. Estas máquinas tenían poca memoria principal , quizás tan solo 4 KB en la terminología moderna, [ c ] y carecían de almacenamiento de alto rendimiento como discos duros que hacen que los compiladores sean prácticos. En estos sistemas, BASIC normalmente se implementaba como un intérprete en lugar de un compilador debido a su menor requerimiento de memoria de trabajo. [ d ]
Un ejemplo particularmente importante fue HP Time-Shared BASIC , que, al igual que el sistema original de Dartmouth, utilizaba dos computadoras que trabajaban juntas para implementar un sistema de tiempo compartido. La primera, una máquina de gama baja de la serie HP 2100 , se utilizaba para controlar la entrada del usuario y guardar y cargar sus programas en cinta o disco. La otra, una versión de gama alta de la misma máquina subyacente, ejecutaba los programas y generaba la salida. Por un costo aproximado de $100,000, se podía tener una máquina capaz de ejecutar entre 16 y 32 usuarios al mismo tiempo. [ 24 ] El sistema, empaquetado como HP 2000, fue la primera miniplataforma en ofrecer tiempo compartido y fue un éxito rotundo inmediato, catapultando a HP al tercer puesto como mayor proveedor en el sector de las minicomputadoras, detrás de DEC y Data General (DG). [ 25 ]
DEC, líder en el sector de las minicomputadoras desde mediados de la década de 1960, inicialmente había ignorado BASIC. Esto se debía a su colaboración con RAND Corporation , que había adquirido una PDP-6 para ejecutar su lenguaje JOSS , conceptualmente muy similar a BASIC. [ 26 ] Esto llevó a DEC a introducir una versión más pequeña y optimizada de JOSS, conocida como FOCAL , que promocionaron intensamente a finales de la década de 1960. Sin embargo, con los sistemas de tiempo compartido ofreciendo BASIC ampliamente, y con toda su competencia en el sector de las minicomputadoras haciendo lo mismo, los clientes de DEC clamaban por BASIC. Tras las reiteradas súplicas de la dirección, David H. Ahl decidió adquirir BASIC para la PDP-8 , que fue un gran éxito en el mercado educativo. A principios de la década de 1970, FOCAL y JOSS habían caído en el olvido y BASIC se había convertido en prácticamente universal en el mercado de las minicomputadoras. [ 27 ] DEC presentaría su versión actualizada, BASIC-PLUS , para su uso en el sistema operativo de tiempo compartido RSTS/E .
Durante este período se escribieron en BASIC varios juegos sencillos basados en texto , entre los que destaca Star Trek de Mike Mayfield . David Ahl los recopiló, algunos adaptados de FOCAL, y los publicó en un boletín educativo que él mismo elaboró. Posteriormente, recopiló varios de ellos en un libro titulado 101 BASIC Computer Games , publicado en 1973. [ 28 ] Durante el mismo período, Ahl participó en la creación de un pequeño ordenador para uso educativo, uno de los primeros ordenadores personales . Cuando la dirección se negó a apoyar el proyecto, Ahl dejó DEC en 1974 para fundar la influyente revista de informática Creative Computing . El libro siguió siendo popular y se reeditó en varias ocasiones. [ 29 ]
Crecimiento explosivo: la era de la computadora doméstica



La introducción de los primeros microordenadores a mediados de la década de 1970 marcó el inicio de un crecimiento explosivo para BASIC. Tenía la ventaja de ser bastante conocido entre los jóvenes diseñadores y aficionados a la informática interesados en los microordenadores, muchos de los cuales habían visto BASIC en miniordenadores o mainframes. A pesar del famoso juicio de Dijkstra en 1975, «Es prácticamente imposible enseñar buena programación a estudiantes que han tenido una exposición previa a BASIC: como programadores potenciales, están mentalmente mutilados sin esperanza de regeneración», [ 30 ] BASIC fue uno de los pocos lenguajes que era lo suficientemente de alto nivel como para ser utilizado por personas sin formación y lo suficientemente pequeño como para caber en los microordenadores de la época, convirtiéndose así en el lenguaje de programación estándar de facto en los primeros microordenadores.
La primera versión de BASIC para microcomputadoras fue coescrita por Bill Gates , Paul Allen y Monte Davidoff para su recién formada compañía, Micro-Soft. [ 31 ] Esta fue lanzada por MITS en formato de cinta perforada para la Altair 8800 poco después de la propia máquina, [ 32 ] consolidando inmediatamente a BASIC como el lenguaje principal de las primeras microcomputadoras. Los miembros del Homebrew Computer Club comenzaron a distribuir copias del programa, lo que llevó a Gates a escribir su Carta Abierta a los Aficionados , quejándose de este ejemplo temprano de piratería de software .
En parte como respuesta a la carta de Gates, y en parte para crear un BASIC aún más pequeño que funcionara de manera útil en máquinas de 4 KB, [ e ] Bob Albrecht instó a Dennis Allison a escribir su propia variación del lenguaje. El diseño e implementación de una versión simplificada de un intérprete para el lenguaje BASIC se trataron en artículos de Allison en los primeros tres números trimestrales del boletín de People's Computer Company publicados en 1975, y las implementaciones con código fuente se publicaron en Dr. Dobb's Journal of Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte . Esto dio lugar a una amplia variedad de Tiny BASIC con características adicionales u otras mejoras, siendo las versiones de Tom Pittman y Li-Chen Wang particularmente conocidas. [ 33 ]
Microsoft, ahora Microsoft , adaptó su intérprete para el MOS 6502 , que rápidamente se convirtió en uno de los microprocesadores más populares de la era de los 8 bits. Cuando comenzaron a aparecer nuevos microordenadores, en particular la "trinidad de 1977" compuesta por el TRS-80 , el Commodore PET y el Apple II , estos incluían una versión del código MS o, rápidamente, lanzaban nuevos modelos con él. Los ordenadores personales de Ohio Scientific también se sumaron a esta tendencia en aquel entonces. Para 1978, MS BASIC era un estándar de facto y prácticamente todos los ordenadores domésticos de la década de 1980 lo incluían en la ROM . Al arrancar, se presentaba un intérprete BASIC en modo directo .
Commodore Business Machines incluye Commodore BASIC , basado en Microsoft BASIC. El Apple II y el TRS-80 tienen cada uno dos versiones de BASIC: una versión introductoria más pequeña con los lanzamientos iniciales de las máquinas y una versión basada en Microsoft introducida a medida que aumentaba el interés en las plataformas. Con la entrada de nuevas empresas al sector, se añadieron versiones adicionales que modificaron sutilmente la familia BASIC. Los ordenadores Atari de 8 bits utilizan Atari BASIC de 8 KB , que no deriva de Microsoft BASIC. Sinclair BASIC se introdujo en 1980 con el Sinclair ZX80 , y posteriormente se amplió para el Sinclair ZX81 y el Sinclair ZX Spectrum . El BBC BASIC , publicado por la BBC y desarrollado por Acorn Computers , incorpora palabras clave de programación estructurada adicionales y características de coma flotante.
A medida que la popularidad de BASIC crecía en este período, las revistas de informática publicaban el código fuente completo en BASIC para videojuegos, utilidades y otros programas. Dada la naturaleza sencilla de BASIC, era muy fácil escribir el código de la revista y ejecutar el programa. Se publicaban diferentes revistas con programas para ordenadores específicos, aunque algunos programas de BASIC se consideraban universales y podían usarse en máquinas que ejecutaran cualquier variante de BASIC (a veces con pequeñas adaptaciones). También había muchos libros de programas para escribir, y en particular, Ahl publicó versiones de los 101 juegos originales de BASIC convertidos al dialecto de Microsoft y los publicó en Creative Computing como BASIC Computer Games . Este libro, y sus secuelas, proporcionaban cientos de programas listos para usar que podían convertirse fácilmente a prácticamente cualquier plataforma que ejecutara BASIC. [ 28 ] [ 34 ] [ 35 ] El libro llegó a las tiendas en 1978, justo cuando el mercado de los ordenadores domésticos estaba empezando, y se convirtió en el primer libro de informática en vender un millón de copias. Paquetes posteriores, como Learn to Program BASIC, también se centrarían en los juegos como introducción. En las computadoras CP/M orientadas a los negocios , que pronto se generalizaron en entornos de pequeñas empresas, Microsoft BASIC ( MBASIC ) fue una de las aplicaciones principales. [ 36 ]
En 1978, David Lien publicó la primera edición de The BASIC Handbook: An Encyclopedia of the BASIC Computer Language , que documentaba palabras clave de más de 78 ordenadores diferentes. En 1981, la segunda edición documentaba palabras clave de más de 250 ordenadores diferentes, lo que demostraba el crecimiento explosivo de la era de los microordenadores. [ 37 ]
IBM PC y compatibles

Cuando IBM diseñó el IBM PC , siguió el paradigma de las computadoras domésticas existentes al tener un intérprete BASIC integrado. Obtuvieron este de Microsoft – IBM Cassette BASIC – pero Microsoft también produjo varias otras versiones de BASIC para MS-DOS / PC DOS incluyendo IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (una versión compatible con BASICA que no necesitaba la ROM de IBM) [ 38 ] y QBasic , todas generalmente incluidas con la máquina. Además, produjeron el compilador Microsoft QuickBASIC (1985) para usuarios avanzados y aficionados, y el sistema de desarrollo profesional Microsoft BASIC (PDS) para programadores profesionales. Borland , editor de Turbo Pascal , publicó Turbo Basic 1.0 en 1985 (las versiones sucesoras se comercializaron bajo el nombre de PowerBASIC ).
En sistemas tipo Unix , se crearon implementaciones especializadas como XBasic y X11-Basic. [ 39 ] XBasic se portó a Microsoft Windows como XBLite , y surgieron variantes multiplataforma como SmallBasic , yabasic , Bywater BASIC , [ 40 ] [ 41 ] nuBasic, [ 42 ] MyBasic, [ 43 ] Logic Basic, [ 44 ] Liberty BASIC y wxBasic . Mientras tanto , FutureBASIC y Chipmunk Basic se dirigieron a Apple Macintosh , mientras que yab es una versión de yabasic optimizada para BeOS , ZETA y Haiku . [ 45 ]
Estas últimas versiones introdujeron muchas extensiones, como una mejor manipulación de cadenas y soporte gráfico, acceso al sistema de archivos y tipos de datos adicionales . Más importantes aún fueron las facilidades para la programación estructurada , incluyendo estructuras de control adicionales y subrutinas adecuadas que soportaban variables locales . [ 46 ] La incorporación de un entorno de desarrollo integrado (IDE) y archivos de ayuda electrónicos facilitó el uso de los productos y sirvió de apoyo a las herramientas de aprendizaje y al currículo escolar.
En 1989, Microsoft Press publicó Learn BASIC Now , un sistema de libro y software diseñado para enseñar programación BASIC a usuarios autodidactas que utilizaban sistemas compatibles con IBM-PC y Apple Macintosh. Learn BASIC Now incluía discos de software con el intérprete Microsoft QuickBASIC y un tutorial de programación escrito por Michael Halvorson y David Rygmyr. Sistemas de aprendizaje como Learn BASIC Now popularizaron el BASIC estructurado y contribuyeron a que QuickBASIC alcanzara una base instalada de cuatro millones de usuarios activos. [ 47 ]
A finales de la década de 1980, muchos usuarios utilizaban aplicaciones prefabricadas escritas por otros en lugar de aprender a programar ellos mismos, y los desarrolladores profesionales disponían de una amplia gama de lenguajes avanzados en ordenadores pequeños. C y, posteriormente, C++ se convirtieron en los lenguajes preferidos para el desarrollo profesional de aplicaciones empaquetadas . [ 48 ] [ 49 ]
Un nicho que BASIC siguió ocupando fue el del desarrollo de videojuegos para aficionados , ya que los sistemas de creación de juegos y los motores de juegos disponibles aún estaban en sus inicios. El Atari ST tenía STOS BASIC, mientras que el Amiga tenía AMOS BASIC para este propósito. Microsoft presentó BASIC por primera vez para el desarrollo de juegos con DONKEY.BAS para GW-BASIC , y más tarde GORILLA.BAS y NIBBLES.BAS para QuickBASIC . QBasic mantuvo una comunidad activa de desarrollo de juegos, [ 50 ] [ 51 ] que ayudó a generar posteriormente las implementaciones QB64 y FreeBASIC . [ 52 ] Un ejemplo temprano de este mercado es el paquete de software QBasic Microsoft Game Shop (1990), un lanzamiento inspirado en los aficionados que incluía seis juegos de "estilo arcade" que eran fácilmente personalizables en QBasic. [ 53 ]
En 2013, se lanzó en Steam un juego escrito en QBasic y compilado con QB64 para ordenadores modernos titulado Black Annex . [ 54 ] [ 55 ] Blitz Basic , Dark Basic , SdlBasic , Super Game System Basic, [ 56 ] PlayBASIC, [ 57 ] CoolBasic, [ 58 ] AllegroBASIC , [ 59 ] ethosBASIC, [ 60 ] GLBasic y Basic4GL cubrieron aún más esta demanda, hasta llegar a los modernos RCBasic, [ 61 ] NaaLaa, [ 62 ] AppGameKit , [ 63 ] Monkey 2 y Cerberus-X. [ 64 ]
Visual Basic
En 1991, Microsoft presentó Visual Basic , una evolución de QuickBASIC . Incluía construcciones de ese lenguaje, como instrucciones de control estructuradas en bloques, subrutinas parametrizadas y tipado estático opcional , así como construcciones orientadas a objetos de otros lenguajes, como "With" y "For Each". El lenguaje conservaba cierta compatibilidad con sus predecesores, como la palabra clave Dim para declaraciones, las instrucciones "Gosub"/Return y los números de línea opcionales que podían usarse para localizar errores. Un factor importante en el desarrollo de Visual Basic fue su incorporación como nuevo lenguaje de macros para Microsoft Excel , un programa de hojas de cálculo . Para sorpresa de muchos en Microsoft, que inicialmente lo comercializaban como un lenguaje para aficionados, el lenguaje se popularizó en pequeñas aplicaciones empresariales personalizadas poco después del lanzamiento de VB versión 3.0, considerada la primera versión relativamente estable. Microsoft también lo lanzó como Visual Basic para Aplicaciones y Visual Basic Integrado .
Aunque muchos programadores avanzados seguían burlándose de su uso, VB satisfacía las necesidades de las pequeñas empresas de manera eficiente, ya que para entonces, los ordenadores con Windows 3.1 eran lo suficientemente rápidos como para que muchos procesos empresariales se completaran "en un abrir y cerrar de ojos", incluso utilizando un lenguaje "lento", siempre que no se manejaran grandes cantidades de datos. Muchos propietarios de pequeñas empresas descubrieron que podían crear sus propias aplicaciones pequeñas pero útiles en unas pocas noches para satisfacer sus necesidades específicas. Finalmente, durante la larga vida útil de VB3, el conocimiento de Visual Basic se convirtió en una habilidad laboral demandada. Microsoft también lanzó VBScript en 1996 y Visual Basic .NET en 2001. Este último tiene esencialmente la misma potencia que C# y Java , pero con una sintaxis que refleja el lenguaje Basic original, y también ofrece cierta capacidad multiplataforma a través de implementaciones como Mono-Basic . [ 65 ] El IDE , con su constructor de GUI basado en eventos , también influyó en otras herramientas de desarrollo rápido de aplicaciones , sobre todo en Delphi para Object Pascal de Borland Software y sus propios descendientes, como Lazarus . [ 66 ] [ 67 ]
El soporte principal para la versión final 6.0 del Visual Basic original terminó el 31 de marzo de 2005, seguido de un soporte extendido en marzo de 2008. [ 68 ] Debido a su persistente popularidad, [ 69 ] existen intentos de terceros para seguir brindándole soporte. [ 70 ] El 2 de febrero de 2017, Microsoft anunció que el desarrollo en VB.NET ya no sería paralelo al de C#, [ 71 ] y el 11 de marzo de 2020, se anunció que la evolución del lenguaje VB.NET también había concluido. [ 72 ] Aun así, el lenguaje todavía recibía soporte. [ 73 ]

Versiones y dialectos posteriores a 1990
También han surgido muchos otros dialectos de BASIC desde 1990, incluidos QB64 y FreeBASIC de código abierto , inspirados en QBasic, y RapidQ , HBasic , Basic For Qt y Gambas , de estilo Visual Basic . [ 4 ] Las versiones comerciales modernas incluyen PureBasic , PowerBASIC , Xojo , Monkey X y True BASIC (el sucesor directo de Dartmouth BASIC de una empresa controlada por Kurtz).
También existen varios intérpretes de BASIC simples basados en la web, incluidos Small Basic de Microsoft y wwwBASIC de Google . [ 74 ] También existen varios compiladores que convierten BASIC en JavaScript , [ 75 ] como NS Basic .

Partiendo de esfuerzos anteriores como Mobile Basic , [ 76 ] [ 77 ] ahora hay muchos dialectos disponibles para teléfonos inteligentes y tabletas.
En las consolas de juegos, una aplicación para Nintendo 3DS y Nintendo DSi llamada Petit Computer permite programar en una versión ligeramente modificada de BASIC con soporte para botones DS. También se ha lanzado una versión para Nintendo Switch , que también ha recibido una versión del Fuze Code System, [ 78 ] una variante de BASIC [ 79 ] implementada por primera vez como una máquina Raspberry Pi personalizada . [ 80 ] Anteriormente, BASIC estuvo disponible en consolas como Family BASIC (para Nintendo Famicom ) y PSX Chipmunk Basic (para la PlayStation original ), mientras que yabasic fue portado a PlayStation 2 y FreeBASIC a Xbox original .
Calculadoras
Existen variantes de BASIC en calculadoras gráficas y otras calculadoras programables fabricadas por Texas Instruments ( TI-BASIC ), HP ( HP BASIC ), Casio ( Casio BASIC ) y otras marcas.
Línea de comandos de Windows
QBasic , una versión de Microsoft QuickBASIC sin el enlazador para crear archivos EXE, está presente en las versiones de Windows NT y DOS- Windows 95 , y se puede obtener para versiones más recientes como Windows 7 , que no lo incluyen. Antes de DOS 5, el intérprete de Basic era GW-Basic . QuickBasic forma parte de una serie de tres lenguajes publicados por Microsoft para usuarios avanzados domésticos y de oficina, así como para el desarrollo profesional a pequeña escala; QuickC y QuickPascal son los otros dos. Para Windows 95 y 98, que no tienen QBasic instalado de forma predeterminada, se puede copiar desde el disco de instalación, que contiene directorios para software antiguo y opcional; otros comandos faltantes, como Exe2Bin, se encuentran en estos mismos directorios.
Otro

Las diversas suites ofimáticas de Microsoft, Lotus y Corel, así como sus productos relacionados, son programables con Visual Basic de una u otra forma, incluyendo LotusScript , muy similar a VBA 6. El emulador de terminal Host Explorer utiliza WWB como lenguaje de macros; o, más recientemente, el programa y la suite en la que se encuentra son programables en una variante propia de Basic conocida como Hummingbird Basic. La variante VBScript se utiliza para programar contenido web, Outlook 97, Internet Explorer y Windows Script Host. WSH también tiene instalado un motor de Visual Basic para Aplicaciones (VBA) como el tercero de los motores predeterminados, junto con VBScript, JScript y los numerosos motores propietarios o de código abierto que se pueden instalar, como PerlScript , un par de motores basados en Rexx, Python, Ruby, Tcl, Delphi, XLNT, PHP y otros; lo que significa que las dos versiones de Basic se pueden usar junto con los demás lenguajes mencionados, así como LotusScript, en un archivo WSF, a través del modelo de objetos de componentes y otras construcciones de WSH y VBA. VBScript es uno de los lenguajes a los que se puede acceder mediante los shells mejorados 4DOS , 4NT y Take Command. SaxBasic y WWB también son muy similares a la línea Visual Basic de implementaciones de Basic. El lenguaje de macros anterior a Office 97 para Microsoft Word se conoce como WordBASIC . Excel 4 y 5 utilizan Visual Basic como lenguaje de macros. Chipmunk Basic , un intérprete similar a los BASIC de la década de 1970, está disponible para Linux , Windows y macOS .
Legado
La omnipresencia de los intérpretes BASIC en las computadoras personales era tal que los libros de texto incluían ejercicios sencillos de "Pruébalo en BASIC" que animaban a los estudiantes a experimentar con conceptos matemáticos y computacionales en las computadoras del aula o de casa. Las revistas informáticas populares de la época solían incluir programas para escribir .
El futurista y escritor de ciencia ficción David Brin lamentó la pérdida del omnipresente BASIC en un artículo de Salon de 2006 [ 81 ] , al igual que otros que utilizaron ordenadores por primera vez durante esta época. A su vez, el artículo impulsó a Microsoft a desarrollar y lanzar Small Basic ; [ 82 ] también inspiró proyectos similares como Basic-256 [ 83 ] [ 84 ] y Quite Basic, basado en la web. [ 85 ] Dartmouth celebró el 50 aniversario de BASIC el 1 de mayo de 2014. [ 86 ] El uso pedagógico de BASIC ha sido seguido por otros lenguajes, como Pascal , Java y, en particular, Python . [ 87 ]
El Dartmouth College celebró el 50 aniversario del lenguaje BASIC con un día de eventos [ 88 ] el 30 de abril de 2014. Se produjo un cortometraje documental para el evento. [ 89 ]
Sintaxis
Palabras clave BÁSICAS típicas
Manipulación de datos
LET- asigna un valor (que puede ser el resultado de una expresión ) a una variable. En la mayoría de los dialectos de BASIC,
LETes opcional, y una línea sin otra palabra clave identificable asumirá que la palabra clave esLET. DATA- Contiene una lista de valores que se asignan secuencialmente mediante el comando READ.
READ- Lee un valor de una
DATAinstrucción y lo asigna a una variable. Un puntero interno mantiene un registro del últimoDATAelemento leído y lo mueve una posición hacia adelante con cada lecturaREAD. La mayoría de los dialectos permiten múltiples variables como parámetros, leyendo varios valores en una sola operación. RESTORE- Restablece el puntero interno a la primera
DATAinstrucción, lo que permite que el programa comienceREADdesde el primer valor. Muchos dialectos permiten un número de línea o un valor ordinal opcional para permitir que el puntero se restablezca a una ubicación seleccionada. DIM- Configura una matriz.
Control de flujo del programa
IF ... THEN ... {ELSE}- Se utilizaba para realizar comparaciones o tomar decisiones. Los primeros dialectos solo permitían un número de línea después de
THEN, pero las versiones posteriores permitían cualquier instrucción válida a continuación.ELSEno era ampliamente compatible, especialmente en las versiones anteriores. FOR ... TO ... {STEP} ... NEXT- Repetir una sección de código un número determinado de veces. Dentro del bucle se encuentra disponible una variable que actúa como contador, el "índice" .
WHILE ... WENDyREPEAT ... UNTIL- Repite una sección de código mientras se cumpla la condición especificada. La condición puede evaluarse antes o después de cada iteración del bucle. Ambos comandos se encuentran principalmente en dialectos más recientes.
DO ... LOOP {WHILE}o{UNTIL}- Repite una sección de código indefinidamente o mientras/hasta que se cumpla la condición especificada. La condición puede evaluarse antes o después de cada iteración del bucle. Al igual que
WHILE, estas palabras clave se encuentran principalmente en dialectos más recientes. GOTO- Salta a una línea numerada o etiquetada en el programa. La mayoría de los dialectos también permitían la forma
GO TO. GOSUB ... RETURN- Salta a una línea numerada o etiquetada, ejecuta el código que encuentra allí hasta que llega a un
RETURNcomando, en el cual salta de nuevo a la instrucción que sigue alGOSUB, ya sea después de dos puntos o en la siguiente línea. Esto se utiliza para implementar subrutinas . ON ... GOTO/GOSUB- Elige dónde saltar en función de las condiciones especificadas. Consulta la instrucción Switch para ver otras formas.
DEF FN- Un par de palabras clave introducidas a principios de la década de 1960 para definir funciones. Las funciones BASIC originales se basaron en las funciones de una sola línea de FORTRAN. Las funciones BASIC eran una expresión con argumentos variables, en lugar de subrutinas , con una sintaxis similar a la
DEF FND(x) = x*xdel inicio de un programa. Los nombres de las funciones originalmente se limitaban a FN, más una letra, por ejemplo , FNA, FNB ...
Entrada y salida
LIST- Muestra el código fuente completo del programa actual.
PRINT- Muestra un mensaje en la pantalla u otro dispositivo de salida.
INPUT- Solicita al usuario que introduzca el valor de una variable. La instrucción puede incluir un mensaje de aviso.
TAB- Se utiliza
PRINTpara establecer la posición donde se mostrará el siguiente carácter en la pantalla o se imprimirá en papel.ATEs una forma alternativa. SPC- Imprime varios caracteres de espacio. Similar en concepto a
TABpero se mueve varios espacios adicionales desde la columna actual en lugar de moverse a una columna específica.
Funciones matemáticas
ABS- Valor absoluto
ATN- Arcotangente (resultado en radianes )
COS- Coseno (argumento en radianes )
EXP- Función exponencial
INT- Parte entera (normalmente función piso )
LOG- logaritmo natural
RND- generación de números aleatorios
SIN- Seno (argumento en radianes )
SQR- Raíz cuadrada
TAN- Tangente (argumento en radianes )
Misceláneas
REM- Contiene un comentario del programador o una REMark; a menudo se utiliza para dar un título al programa y para ayudar a identificar el propósito de una sección determinada del código.
USR("Rutina que el usuario puede reparar")- Transfiere el control del programa a una subrutina en lenguaje máquina , que normalmente se introduce como una cadena alfanumérica o en una lista de instrucciones DATA.
CALL- forma alternativa que
USRse encuentra en algunos dialectos. No requiere un parámetro artificial para completar la sintaxis de tipo función deUSR, y tiene un método claramente definido para llamar a diferentes rutinas en memoria. TRON/TROFF- Activa la visualización del número de línea durante la ejecución ("Trace ON"). Esto resultaba útil para depurar o corregir problemas en un programa. TROFF la desactiva de nuevo.
ASM- Algunos compiladores como Freebasic, [ 90 ] Purebasic, [ 91 ] y Powerbasic [ 92 ] también admiten lenguaje ensamblador en línea , lo que permite al programador mezclar código de alto y bajo nivel, normalmente precedido por las instrucciones "ASM" o "!".
Tipos de datos y variables
Las versiones mínimas de BASIC solo admitían variables enteras y nombres de variables de una o dos letras, lo que minimizaba los requisitos de memoria (RAM), que era limitada y costosa. Las versiones más potentes contaban con aritmética de punto flotante y las variables podían tener nombres de seis o más caracteres. Las primeras implementaciones presentaban algunos problemas y restricciones; por ejemplo, Applesoft BASIC permitía nombres de variables de varios caracteres, pero solo los dos primeros eran relevantes, por lo que era posible escribir inadvertidamente un programa con las variables "LOSS" y "LOAN", que se tratarían como si fueran la misma; asignar un valor a "LOAN" sobrescribía silenciosamente el valor destinado a "LOSS". En muchas versiones antiguas de BASIC, no se podían usar palabras clave en las variables; "SCORE" se interpretaba como "SC" o "E", donde "OR" era una palabra clave. En muchos dialectos de microcomputadoras, las variables de cadena se distinguen generalmente por tener el símbolo $ añadido a su nombre , y los valores suelen identificarse como cadenas delimitados por comillas dobles. En BASIC, los arreglos podían contener variables enteras, de punto flotante o de cadena de caracteres.
Algunos dialectos de BASIC admitían matrices y operaciones matriciales , que podían utilizarse para resolver sistemas de ecuaciones algebraicas lineales simultáneas. Estos dialectos admitían directamente operaciones matriciales como la asignación, la suma, la multiplicación (de tipos de matriz compatibles) y la evaluación de un determinante. Muchos BASIC para microordenadores no admitían este tipo de datos; las operaciones matriciales seguían siendo posibles, pero debían programarse explícitamente sobre los elementos de la matriz.
Ejemplos

BÁSICO no estructurado
Los nuevos programadores de BASIC en una computadora doméstica podrían comenzar con un programa simple, tal vez utilizando la instrucción PRINT del lenguaje para mostrar un mensaje en la pantalla; un ejemplo bien conocido y frecuentemente replicado es el programa "¡Hola, mundo!" de Kernighan y Ritchie :
10 IMPRIMIR "¡Hola, mundo!" 20 FINSe podría utilizar un bucle infinito para llenar la pantalla con el mensaje:
10 IMPRIMIR "¡Hola, mundo!" 20 IR A 10Tenga en cuenta que la ENDinstrucción es opcional y no tiene ninguna acción en la mayoría de los dialectos de BASIC. No siempre se incluía, como ocurre en este ejemplo. Este mismo programa se puede modificar para imprimir un número fijo de mensajes utilizando la FOR...NEXTinstrucción común:
10 SEA N = 10 20 PARA I = 1 HASTA N 30 IMPRIMIR "¡Hola, mundo!" 40 SIGUIENTE ILa mayoría de las versiones de BASIC para ordenadores domésticos, como MSX BASIC y GW-BASIC , admitían tipos de datos simples, bucles y matrices. El siguiente ejemplo está escrito para GW-BASIC, pero funcionará en la mayoría de las versiones de BASIC con cambios mínimos:
10 ENTRADA "¿Cuál es tu nombre? " ; U$ 20 IMPRIMIR "Hola " ; U$ 30 ENTRADA "¿Cuántas estrellas quieres? " ; N 40 S$ = "" 50 PARA I = 1 HASTA N 60 S$ = S$ + "*" 70 SIGUIENTE I 80 IMPRIMIR S$ 90 ENTRADA "¿Quieres más estrellas? " ; A$ 100 SI LEN ( A$ ) = 0 ENTONCES IR A 90 110 A$ = LEFT$ ( A$ , 1 ) 120 SI A$ = "Y" O A$ = "y" ENTONCES IR A 30 130 IMPRIMIR "Adiós " ; U$ 140 FINEl diálogo resultante podría ser similar a:
¿Cuál es tu nombre?: Mike Hola Mike ¿Cuántas estrellas quieres?: 7 ******* ¿Quieres más estrellas? Sí ¿Cuántas estrellas quieres?: 3 *** ¿Quieres más estrellas? No Adiós Mike
El Dartmouth Basic original era inusual por tener una palabra clave de matriz, MAT. [ f ] Aunque no fue implementada por la mayoría de los derivados de microprocesadores posteriores, se utiliza en este ejemplo del manual de 1968 [ 93 ] que promedia los números que se ingresan:
5 SEA S = 0 10 ENTRADA MAT V 20 SEA N = NUM 30 SI N = 0 ENTONCES 99 40 PARA I = 1 HASTA N 45 SEA S = S + V ( I ) 50 SIGUIENTE I 60 IMPRIMIR S / N 70 IR A 5 99 FINBÁSICO estructurado
Los BASIC de segunda generación (por ejemplo, VAX Basic , SuperBASIC , True BASIC , QuickBASIC , BBC BASIC , Pick BASIC , PowerBASIC , Liberty BASIC , QB64 y (posiblemente) COMAL ) introdujeron una serie de características en el lenguaje, principalmente relacionadas con la programación estructurada y orientada a procedimientos. Por lo general, se omite la numeración de líneas del lenguaje y se reemplaza con etiquetas (para GOTO ) y procedimientos para fomentar un diseño más fácil y flexible. [ 46 ] Además, se introdujeron palabras clave y estructuras para admitir la repetición, la selección y los procedimientos con variables locales.
El siguiente ejemplo está escrito en Microsoft QuickBASIC:
Ejemplo de REM QuickBASICREM Declaración anticipada: permite que el código principal llame a una subrutina REM que se define más adelante en el código fuente DECLARE SUB PrintSomeStars ( StarCount! )REM El programa principal continúa INPUT "¿Cuál es tu nombre?: " , UserName$ PRINT "Hola " ; UserName$ DO INPUT "¿Cuántas estrellas quieres?: " , NumStars CALL PrintSomeStars ( NumStars ) DO INPUT "¿Quieres más estrellas? " , Answer$ LOOP UNTIL Answer$ <> "" Answer$ = LEFT$ ( Answer$ , 1 ) LOOP WHILE UCASE$ ( Answer$ ) = "Y" PRINT "Adiós " ; UserName$ ENDREM definición de subrutina SUB ImprimirAlgunasEstrellas ( StarCount ) REM Este procedimiento utiliza una variable local llamada Estrellas$ Estrellas$ = CADENA$ ( StarCount , "*" ) IMPRIMIR Estrellas$ FIN SUBBASIC orientado a objetos
Las variantes de BASIC de tercera generación, como Visual Basic , Xojo , Gambas , StarOffice Basic , BlitzMax y PureBasic, introdujeron características para dar soporte a los paradigmas de programación orientada a objetos y basada en eventos . La mayoría de los procedimientos y funciones integrados ahora se representan como métodos de objetos estándar en lugar de operadores . Además, el sistema operativo se volvió cada vez más accesible al lenguaje BASIC.
El siguiente ejemplo está escrito en Visual Basic .NET :
Módulo público StarsProgram Función privada Ask ( prompt As String ) As String Console . Write ( prompt ) Return Console . ReadLine () End FunctionPublic Sub Main () Dim userName = Ask ( "¿Cuál es tu nombre?: " ) Console . WriteLine ( "Hola {0}" , userName )Dim respuesta como cadenaDim numStars = CInt ( Ask ( "Cuántas estrellas quieres: " )) Dim stars As New String ( "*" c , numStars ) Console . WriteLine ( stars )Hacer respuesta = Preguntar ( "¿Quieres más estrellas?" ) Bucle Hasta que respuesta <> "" Bucle Mientras respuesta . ComienzaCon ( "Y" , StringComparison . OrdinalIgnoreCase )Console.WriteLine ( "Adiós {0} " , userName ) End Sub End ModuleCompiladores e intérpretes
Véase también
Notas
- ↑ El DO de Fortran tenía una función
continuepara este propósito, pero aún así requería que se ingresara el número de línea. - ↑ Tymshare cobraba alrededor de US$10 por hora (equivalente a US$83en 2025) por acceder a sus sistemas.
- ↑ Considerado ampliamente como el primer miniordenador "verdadero", el espacio de memoria de 12 bits del PDP-8 permitía 4.096 direcciones de 12 bits cada una, o 6.144 bytes.
- Los intérpretes son, en última instancia , similares a los compiladores en las tareas que realizan (convertir el código fuente en código máquina), pero se diferencian en el momento en que lo hacen. Los compiladores convierten el programa completo de una sola vez y generan un programa ejecutable independiente. Los intérpretes, por lo general, convierten solo una línea a la vez (o incluso solo una parte de ella) y liberan ese código inmediatamente después de que la línea se haya ejecutado. Esto significa que solo requieren la memoria suficiente para ejecutar una sola línea y no necesitan ningún tipo de memoria secundaria de alto rendimiento, como un disco duro.
- ↑ Microsoft BASIC dejaba 780 bytes libres para el código del programa de usuario y los valores de las variables en una máquina de 4K, y eso que se trataba de una versión reducida que carecía de variables de cadena y otras funcionalidades.
- ↑ A partir de la versión 3.
Referencias
- ↑ Kemeny, John G.; Kurtz, Thomas E. (1963). Basic: un manual para BASIC, el lenguaje algebraico elemental diseñado para su uso con el sistema de tiempo compartido de Dartmouth (PDF) (1.ª ed.). Hanover, NH: Centro de Computación de Dartmouth College. Archivado (PDF) del original el 9 de octubre de 2022.
- ↑ Ramel, David (12 de febrero de 2019). "La popularidad de VB.NET sigue en aumento" . Visual Studio Magazine . Consultado el 28 de marzo de 2023 .
- ↑ Swersky, David (25 de enero de 2023). "Los 40 lenguajes de programación más populares de 2023: cuándo y cómo usarlos" . Raygun . Consultado el 25 de marzo de 2023 .
- 1 2 Proven, Liam (28 de marzo de 2023). "¿Nostalgia por VB? BASIC está lejos de estar muerto" . The Register . Recuperado el 27 de septiembre de 2023 .
- ↑ Boss, Chris (15 de noviembre de 2022). "BASIC no está muerto. Es hora de borrar los mitos sobre Basic" . Code Project . Consultado el 31 de enero de 2024 .
- ↑ "Matemáticas avanzadas en Hanover" . Time . 23 de febrero de 1959.
- 1 2 3 4 5 6 Tiempo 2014 .
- ↑ Rankin, Joy Lisi (2018), A People's History of Computing in the United States , Cambridge, Massachusetts: Harvard University Press, ISBN 9780674970977pág. 23
- ↑ "BASIC" . Archivo de jerga . Consultado el 13 de junio de 2017 .
- ↑ "Thomas E. Kurtz – Historia de los lenguajes de programación informática" . cis-alumni.org . Consultado el 13 de junio de 2017 .
- ↑ Alfred, Randy (5 de enero de 2008). "1 de mayo de 1964: Se ejecuta el primer programa en BASIC" . Wired . Consultado el 13 de junio de 2017 .
- ↑ Brooks, David (11 de junio de 2019). "Por fin, una placa histórica que habla de algo importante" . Concord Monitor . Archivado del original el 11 de junio de 2019. Consultado el 11 de agosto de 2019 .
- ↑ Consejo de la Industria de Tecnologías de la Información (2013). "ANSI INCITS 60:1978 — Lenguaje de programación BASIC mínimo" . Intertek Inform . Consultado el 16 de mayo de 2025 .
- ↑ Organización Internacional de Normalización (1984). "ISO 6373:1984 — Procesamiento de datos — Lenguajes de programación — BASIC mínimo" . ISO . Consultado el 16 de mayo de 2025 .
- ↑ Ecma International (1978). "ECMA-55: Minimal BASIC" . Ecma International . Consultado el 16 de mayo de 2025 .
- ↑ Consejo de la Industria de Tecnologías de la Información (2003). "ANSI INCITS 113:1987 — Sistemas de información – Lenguaje de programación – BASIC completo" . Intertek Inform . Consultado el 16 de mayo de 2025 .
- ↑ ANSI X3.113-1987 (PDF, Archivo de Internet)
- ↑ Organización Internacional de Normalización (1991). "ISO/IEC 10279:1991 — Tecnología de la información — Lenguajes de programación — Full BASIC" . ISO . Consultado el 16 de mayo de 2025 .
- ↑ Ecma International (1986). "ECMA-116: BASIC" . Ecma International . Consultado el 16 de mayo de 2025 .
- ↑ Organización Internacional de Normalización (1994). "ISO/IEC 10279:1991/Amd 1:1994 — Tecnología de la información — Lenguajes de programación — Full BASIC — Enmienda 1: Módulos y mejora de la entrada de caracteres individuales" . ISO . Consultado el 16 de mayo de 2025 .
- ↑ Bauer, WF, Diseño de computadoras desde el punto de vista del programador Archivado el 23 de julio de 2016 en Wayback Machine (Eastern Joint Computer Conference, diciembre de 1958) Una de las primeras descripciones del tiempo compartido de computadoras.
- ↑ "IBM contra el mundo: así son las cosas" . Computerworld . 5 de diciembre de 1973.
- ↑ Bourne, Charles; Hahn, Trudi Bellardo (agosto de 2003). Historia de los servicios de información en línea, 1963-1976 . MIT Press. pág. 387. ISBN 9780262261753.
- ↑ "Sistema de tiempo compartido 2000" .
- ↑ "Superando los 10 años" . Revista MEASURE . Hewlett Packard. Octubre de 1976.
- ↑ Marks, Shirley (diciembre de 1971). Los años de JOSS: Reflexiones sobre un experimento (PDF) (Informe técnico). Rand. Archivado (PDF) del original el 9 de octubre de 2022.
- ↑ Savetz, Kevin (abril de 2013). "Dave Ahl y Betsy Ahl" (Entrevista).
- 1 2 Ahl, David H. (1973). 101 juegos básicos de computadora . Morristown, NJ: Creative Computing Press. OCLC 896774158 .
- ↑ Ahl, David H. (11 de mayo de 1981). "Juegos de computadora" . InfoWorld . Vol. 3, n.° 9. pág. 44. ISSN 0199-6649 .
- ↑ Dijkstra, Edsger W. (18 de junio de 1975). "¿Cómo decimos verdades que podrían doler?" (PDF) . Escritos selectos sobre informática: una perspectiva personal . Springer-Verlag (publicado en 1982). págs. 129-131 . ISBN 978-0387906522. OCLC 693424350 . Archivado (PDF) del original el 9 de octubre de 2022.
- ↑ Johnson, Phil (21 de enero de 2015). "Se revela el código fuente de Microsoft BASIC para 6502" . Computerworld . Consultado el 24 de octubre de 2022 .
- ↑ "Tenemos un BASIC" . Museo de Historia Natural y Ciencia de Nuevo México . Archivado del original el 30 de noviembre de 2012. Recuperado el 18 de abril de 2007 .
- ↑ Pittman, Tom. "Tenías que pagar 5 dólares por adelantado para conseguirlo..." . www.ittybittycomputers.com . Consultado el 14 de junio de 2017 .
- ↑ Ahl, David H. (1979). Juegos de ordenador más básicos . Morristown: Creative Computing Press. ISBN 978-0894801372. OCLC 839377789 .
- ↑ Ahl, David H. (1984). Grandes juegos de ordenador . Morris Plains, NJ: Creative Computing Press. ISBN 978-0916688400OCLC 872675092
- ↑ "Osborne 1" . oldcomputers.net . Consultado el 14 de junio de 2017 .
- ↑ Lien, David (1981). The BASIC Handbook (Segunda edición). San Diego, CA: Compusoft Publishing. p. contraportada. ISBN 0-932760-00-7.
- ↑ "Volver a lo BÁSICO" . peyre.sqweebs.com . Archivado del original el 26 de octubre de 2009. Consultado el 25 de febrero de 2023 .
- ↑ Perr, John (1 de enero de 2003). "Programación BASIC con Unix" . LinuxFocus . Consultado el 26 de septiembre de 2023 .
- ↑ "bwBASIC: El intérprete de Bywater BASIC" . Blog de OSS . 25 de agosto de 2018. Consultado el 30 de septiembre de 2023 .
- ↑ Hall, Jim (23 de junio de 2021). "Programa en FreeDOS con Bywater BASIC" . Opensource.com . Consultado el 30 de septiembre de 2023 .
- ↑ Calderone, Antonia. "Por qué nuBASIC" . Archivado del original el 24 de septiembre de 2023. Recuperado el 30 de septiembre de 2023 .
- ↑ Song, Liu Xue (12 de octubre de 2003). "MyBasic: un intérprete de lenguaje Custom-BASIC escrito en C++" . Code Project . Consultado el 30 de septiembre de 2023 .
- ↑ "LOGIC BASIC - Lenguaje de programación gratuito" . Consultado el 7 de octubre de 2023 .
- ↑ Albrecht, Christian (2 de octubre de 2022). "Tutorial para principiantes de yab" . BeSly - BeOS, Haiku y Zeta . Traducción de Luc Schrijvers (Begasus). Archivado del original el 24 de febrero de 2024. Consultado el 25 de febrero de 2024 .
- 1 2 "Diferencias entre GW-BASIC y QBasic" . 12 de mayo de 2003. Archivado del original el 19 de octubre de 2013. Recuperado el 28 de junio de 2008 .
- ↑ Halvorson, Michael J. (2020). Code Nation: Personal Computing and the Learn to Program Movement in America . Nueva York, NY: ACM Books. pág. 146. ISBN 978-1-4503-7757-7.
- ↑ Pravin, Jain (2011). The Class Of Java . Pearson Education India. ISBN 9788131755440.
- ↑ "GNE: el lenguaje de programación C" . fysh.org . Consultado el 14 de junio de 2017.
Durante la década de 1980, los compiladores de C se extendieron ampliamente y C se convirtió en un lenguaje extremadamente popular.
- ↑ Dance, Michael. "Es fácil crear juegos con Qbasic" . Techwalla . Consultado el 30 de septiembre de 2023 .
- ↑ "Directorio de juegos QBasic" . Phatcode . Consultado el 30 de septiembre de 2023 .
- ↑ "Directorio de juegos de FreeBASIC" . FreeBASIC . Consultado el 30 de septiembre de 2023 .
- ↑ Halvorson, Michael J. (2020). Code Nation: Personal Computing and the Learn to Program Movement in America . Nueva York, NY: ACM Books. pp. 153–156 . ISBN 978-1-4503-7757-7.
- ↑ Cocilova, Alex (16 de abril de 2013). "Black Annex es el mejor juego de QBASIC que jamás hayas visto" . PC World . Consultado el 30 de septiembre de 2023 .
- ↑ Serrels, Mark (24 de junio de 2013). "El australiano que creó un videojuego usando QBASIC" . Kotaku . Archivado del original el 24 de junio de 2013. Consultado el 30 de septiembre de 2023 .
- ↑ "Super Game System Basic" . IndieDB . 21 de noviembre de 2017. Consultado el 30 de septiembre de 2023 .
- ↑ "PlayBasic" . itch.io. Consultado el 30 de septiembre de 2023 .
- ↑ "CoolBasic" . IndieDB . 6 de diciembre de 2005. Consultado el 30 de septiembre de 2023 .
- ↑ "Página principal de AllegroBASIC" . AllegroBASIC . Archivado del original el 15 de noviembre de 2018. Consultado el 7 de octubre de 2023 .
- ↑ "Ethos Game Basic 1.3" . shareApp . Consultado el 30 de septiembre de 2023 .
- ↑ "RC Basic" . ModDB . 18 de agosto de 2015. Consultado el 30 de septiembre de 2023 .
- ↑ Fercalo, Andrei (8 de agosto de 2014). "NaaLaa" . Softpedia . Consultado el 1 de octubre de 2023 .
- ↑ "Un vistazo más de cerca a AppGameKit 2" . GameFromScratch . 12 de junio de 2015. Consultado el 30 de septiembre de 2023 .
- ↑ "Cerberus X 2018-08-10 Released" . GameFromScratch . 10 de agosto de 2018. Consultado el 30 de septiembre de 2023 .
- ↑ Clarke, Gavin (21 de febrero de 2007). "Linux: un gran avance para los desarrolladores de Visual Basic" . The Register . Consultado el 1 de octubre de 2023 .
- ↑ Anderson, Tim (14 de febrero de 2020). "25 años de Delphi y ni rastro de Oracle: no es un asesino de Visual Basic, pero es difícil de matar" . The Register . Recuperado el 25 de marzo de 2023. Llega
Borland Delphi, que combinaba Object Pascal con un constructor de formularios visuales similar a VB. Object Pascal era el lenguaje propio de Borland, con soporte completo para la herencia. No distingue entre mayúsculas y minúsculas y no es mucho más difícil que VB para programar, una vez que te acostumbras a escribir begin y end con frecuencia (equivalente a las llaves en C). A diferencia de VB, tiene operadores distintos para la asignación (:=) y la comparación (=).
- ↑ Speed, Richard (6 de mayo de 2022). "RAD Basic – el Visual Basic 7 que nunca fue – lanza su tercera versión alfa" . The Register . Consultado el 26 de marzo de 2023. Como
alternativa, se puede revivir la rivalidad entre BASIC y Pascal con Lazarus, compatible con Delphi.
- ↑ "Directrices del ciclo de vida de la familia de productos para Visual Basic 6.0" . Msdn2.microsoft.com. 31 de marzo de 2005. Consultado el 16 de junio de 2009 .
- ↑ Ramel, David (7 de julio de 2020). "Índice de popularidad: Visual Basic clásico se mantiene vigente" . Visual Studio Magazine . Consultado el 28 de marzo de 2023 .
- ↑ Ramel, David (28 de febrero de 2020). "¿Resurgimiento de Visual Basic? ¡Un proyecto busca 'traer VBE al siglo XXI'!"" . Visual Studio Magazine . Consultado el 28 de marzo de 2023 .
- ↑ Domingo, Michael (13 de junio de 2017). "¡Viva Visual Basic! ¿O tiene futuro VB?" . Visual Studio Magazine . Consultado el 26 de marzo de 2023 .
- ↑ Ramel, David (12 de marzo de 2020). "Microsoft: 'No tenemos previsto evolucionar Visual Basic como lenguaje'"" . Visual Studio Magazine . Consultado el 26 de marzo de 2023 .
- ↑ Ramel, David (8 de febrero de 2023). "Microsoft reafirma el destino de Visual Basic" . Visual Studio Magazine . Consultado el 25 de marzo de 2023 .
- ↑ Williams, Al (17 de septiembre de 2018). "Es la web, básicamente" . Hackaday . Recuperado el 28 de septiembre de 2023 .
- ↑ Veteanu, Marian (14 de febrero de 2017). "Compiladores de JavaScript. Parte II: Lenguajes que se compilan a JavaScript" . Code Avenger .
- ↑ "Java: ¿Qué lenguajes de programación utilizan J2ME?" . iTecNote . Archivado del original el 7 de octubre de 2023. Consultado el 30 de septiembre de 2023. Ahora
he oído hablar de otros lenguajes que supuestamente permiten el desarrollo sin recurrir a Java, lenguajes como CellularBASIC (que se parece un poco a QBASIC) y Hecl (que parece estar basado en Tcl).
- ↑ Tello, Guillaume (15 de diciembre de 2007). "LG KS 360" . Archivado del original el 28 de octubre de 2010. Recuperado el 30 de septiembre de 2023. Tras
investigar en la red, encontré este sitio sobre CellularBASIC. Se trata de un intérprete BASIC completo escrito en JAVA.
- ↑ Miller, Paul (19 de junio de 2017). "Fuze Code Studio permitirá a los niños usar la Switch para programar sus propios juegos para Switch" . The Verge . Consultado el 30 de septiembre de 2023 .
- ↑ Porter, Matt (18 de diciembre de 2015). "Ahora los niños pueden volver a lo básico con Fuze" . The Gadget Man . Consultado el 30 de septiembre de 2023 .
- ↑ Bedford, Mike (21 de octubre de 2015). "Reseña de FUZE con tecnología Raspberry Pi V2" . The Gadget Man . Consultado el 30 de septiembre de 2023 .
- ↑ Brin, David (14 de septiembre de 2006). "Por qué Johnny no sabe programar" . Salon . Archivado del original el 18 de septiembre de 2013. Consultado el 19 de junio de 2017 .
- ↑ "Small Basic" . Microsoft Developer Network . Archivado del original el 17 de marzo de 2014. Consultado el 19 de junio de 2017 .
- ↑ "Página principal de BASIC-256" .
Consulta "Por qué Johnny no sabe programar", el artículo que inspiró BASIC-256.
- ↑ Ratliff Sr., Gary L. (octubre de 2008). "Un alfabeto de lenguajes informáticos: BASIC" . Revista PCLinuxOS . Consultado el 25 de febrero de 2024 .
- ↑ Koster, Raph (21 de noviembre de 2006). "Quite BASIC — Programación en Web BASIC" . Recuperado el 25 de febrero de 2024 .
- ↑ "Dartmouth planea una celebración por el 50 aniversario del lenguaje de programación BASIC" . New Hampshire Union Leader . 28 de abril de 2014. Archivado del original el 20 de junio de 2017. Consultado el 14 de junio de 2017 .
- ↑ Wood, Lamont (23 de junio de 2011). "¿Cómo aprenden los estudiantes a programar en un mundo post-Basic?" . Computerworld . Recuperado el 26 de febrero de 2024 .
- ↑ "BASIC a los 50 años: Calendario de eventos" . Dartmouth College . Consultado el 14 de junio de 2017 .
- ↑ "BASIC a los 50" . Dartmouth College . Consultado el 14 de junio de 2017 .
- ↑ "KeyPgAsm" . Wiki de FreeBasic . Consultado el 2 de agosto de 2017 .
- ↑ "Inline x86 ASM" . Pure Basic . Consultado el 2 de agosto de 2017 .
- ↑ "Uso del lenguaje ensamblador en el código" . Power Basic . Archivado del original el 2 de agosto de 2017. Consultado el 2 de agosto de 2017 .
- ↑ Kemeny, John G.; Kurtz, Thomas E. (enero de 1968). Basic: un manual para BASIC, el lenguaje algebraico elemental diseñado para su uso con el sistema de tiempo compartido de Dartmouth (PDF) (4.ª ed.). Hanover, NH: Centro de Computación de Dartmouth College. pág. 53. Archivado (PDF) del original el 3 de enero de 2014.
- ↑ Ham, John Gatewood (2014). "Un compilador BASIC mínimo ECMA-55 para Linux® x86-64" . Computers . 3 (3): 69– 116. doi : 10.3390/computers3030069 . S2CID 40383760 .
- ↑ angros47 (29 de julio de 2013). "ANSI Basic: ¿cumple FreeBasic con el estándar?" . FreeBasic . Archivado del original el 28 de septiembre de 2023.
- ↑ Bantchev, Boyko (2008). "El verdadero 'True BASIC'"Instituto de Matemáticas e Informática . Archivado del original el 13 de marzo de 2011 .
Referencias generales
- Sammet, Jean E. (1969). Lenguajes de programación: historia y fundamentos . Englewood Cliffs, NJ: Prentice-Hall. ISBN 978-0-13-729988-1LCCN 68-028110 . OCLC 819683527 .
- Kurtz, Thomas E. (1981). "BASIC" . En Wexelblat, Richard (ed.). Historia de los lenguajes de programación . Historia de los lenguajes de programación I. Nueva York: ACM . págs. 515–537 . doi : 10.1145/800025.1198404 . ISBN 978-0127450407.
- Kemeny, John G.; Kurtz, Thomas E. (1985). Back to BASIC: The History, Corruption, and Future of the Language . Addison-Wesley. p. 141. ISBN 9780201134339OCLC 11399298
- Lien, David A. (1986). The Basic Handbook: Encyclopedia of the BASIC Computer Language (3.ª ed.). Compusoft Publishing. ISBN 9780932760333OCLC 12548310 .
- «Cincuenta años de BASIC, el lenguaje de programación que personalizó las computadoras» . Time . 29 de abril de 2014. Archivado del original el 2 de junio de 2023. Consultado el 17 de noviembre de 2024 .
Enlaces externos
- El nacimiento de Basic en YouTube
- gotBASIC.com —Para todas las personas interesadas en el uso continuado y la evolución del lenguaje de programación BASIC.
- Awesome Basic : una lista seleccionada de excelentes dialectos, entornos de desarrollo integrados (IDE) y tutoriales de BASIC.
- Página de conceptos básicos (desde 2001) Archivada el 20 de marzo de 2008 en Wayback Machine : listado completo de dialectos.
- Familia de lenguajes de programación BASIC
- Inventos estadounidenses
- Lenguajes de programación
- Lenguajes de programación creados en 1964
- Lenguajes de programación con un estándar ISO