stringtranslate.com

BBC BÁSICO

BBC BASIC es una versión interpretada del lenguaje de programación BASIC . Fue desarrollado por Acorn Computers Ltd cuando fueron seleccionados por la BBC para suministrar la computadora para su Proyecto de Alfabetización de la BBC en 1981.

Originalmente se suministraba en una ROM instalada para el microordenador BBC que utilizaba un microprocesador 6502 . Cuando Acorn produjo la computadora Arquímedes que usaba su procesador ARM , se produjeron más versiones de BBC BASIC. Acorn incluyó un ensamblador integrado , primero para el procesador 6502 y luego para el procesador ARM2 .

Inicialmente la BBC especificó compatibilidad con Microsoft BASIC . Acorn ya estaba ampliando su anterior Atom BASIC para incluir construcciones de programación estructuradas . Particularmente en las computadoras Arquímedes posteriores, a medida que se redujeron las limitaciones de memoria, BBC BASIC incorporó un conjunto más completo de construcciones de programación estructuradas que se encuentran comúnmente en el grupo de lenguajes informáticos ALGOL 60 .

Además de la versión de Acorn de BBC BASIC sobre Arquímedes, otras empresas produjeron versiones compiladas del lenguaje. El desarrollo y el soporte continuaron después de la desaparición de Acorn Computers Ltd para las computadoras más nuevas basadas en ARM. BBC BASIC ahora está disponible en otras plataformas, ya sea para emuladores como MS Windows o de forma nativa.


Historia

Lenguas precursoras

Antes de 1957, la programación se realizaba mediante código máquina o código ensamblador . Estos eran específicos de un procesador y no portátiles.

Luego se desarrollaron lenguajes de programación de alto nivel para permitir que los programas se transfirieran más fácilmente entre computadoras:

Durante el período 1960-1980 se desarrollaron muchos más lenguajes informáticos. Son pocos los que se utilizan actualmente con regularidad. Los más conocidos fueron ALGOL W [6] en la Universidad de Stanford , Pascal [7] [8] más POP-2 [9] en la Universidad de Edimburgo .

K&R C [10] fue diseñado como lenguaje para escribir el sistema operativo UNIX . Esto se formalizó como ANSI C [11] [12] del cual posteriormente se derivaron C++ y JAVA .

En Dartmouth College, dos profesores de matemáticas [13] querían que todos los estudiantes pudieran programar en su nueva computadora universitaria. Los profesionales utilizaron los lenguajes de alto nivel existentes. En 1964 crearon Dartmouth BASIC [14] (abreviatura de Código de instrucción simbólica multiusos para principiantes ) para que fuera un lenguaje informático que cualquiera pudiera utilizar . Al tener una estructura sintáctica basada en fórmulas , es un FORTRAN simplificado.

Juntos, Paul Allen y Bill Gates desarrollaron BASIC para el Altair 8800 . El desarrollo continuó hasta convertirse en BASIC A de IBM y BASIC de Microsoft . [15]

La participación de la BBC

Durante la década de 1970, el Departamento de Educación Continua de la BBC estaba considerando cómo los avances en la tecnología informática afectarían a la sociedad británica. Su Informe de Microelectrónica [16] de 1979 a la Comisión de Servicios de Mano de Obra describe formalmente sus preocupaciones sobre la creciente polarización y alienación en el lugar de trabajo que 43 años antes Charles Chaplin había mostrado con efecto cómico en Tiempos modernos .

La BBC necesitaba una microcomputadora que pudiera utilizarse para demostraciones en su programación y que pudiera ser comprada por el público en general para permitir al espectador experimentar por sí mismo. Decidieron que dicha microcomputadora debía ser robusta, tener capacidades de expansión y una implementación de BASIC compatible con Microsoft BASIC VN5 . [17]

El gobierno y la BBC establecieron conjuntamente una campaña de educación y concientización pública. Este proyecto de alfabetización informática (1980-1989) [18] utilizó la elección de la BBC del microordenador BBC producido por Acorn Computers Ltd. BBC BASIC fue fundamental para la experiencia de programación del usuario.

La participación de Bellota

Acorn desarrolló por primera vez System BASIC y Atom BASIC para sus primeras computadoras con microprocesador 6502 [19] que se vendieron a clientes de kits. Con el desarrollo del Proton como procesador frontal , Acorn estaba diseñando para una informática más potente.

Para producir una computadora que cumpliera con las especificaciones de la BBC, el Proton se convirtió en la microcomputadora de la BBC, utilizable como computadora independiente. Al conservar la capacidad de conectarse a una computadora Z80 , Acorn pudo cumplir con el requisito de una computadora compatible con CP/M . [20]

Sophie Wilson desarrolló las implementaciones de BASIC en Acorn. El dialecto del BBC Microcomputer se volvió compatible con Microsoft BASIC y, por lo tanto, fue aceptable para la BBC. Ya tenía características del grupo de lenguajes informáticos ALGOL 60 que Wilson agregó para permitir el uso de alguna metodología de programación estructurada.


Plataformas y versiones

BBC Micro

Aviso BÁSICO en el BBC Micro después del encendido o reinicio completo

La lista de versiones completa está disponible aquí: [21]

BASIC I, la versión original, se envió en los primeros BBC Micros .

BASIC II se usó en Acorn Electron y BBC Micros enviados después de 1982, incluido el Modelo B. Agregó las palabras clave OPENUPy OSCLI, junto con ensamblaje compensado y corrección de errores.

BASIC III se produjo tanto en una versión del Reino Unido como en una versión del mercado de los Estados Unidos para el intento fallido de Acorn de ingresar al mercado de computadoras transatlántico. Aparte de algunas correcciones de errores, el único cambio con respecto a BASIC II fue que el COLOURcomando también se podía escribir COLOR: independientemente de lo que se ingresara, la versión del Reino Unido siempre lo enumeraba como COLOUR, y la versión de EE. UU. como COLOR. El lugar principal donde se puede encontrar BASIC III es como versión HI-BASIC para el segundo procesador externo.

BASIC IV, también conocido como CMOS BASIC, disponible en las máquinas BBC Master , fue modificado para utilizar las nuevas instrucciones disponibles en el procesador 65SC12, reduciendo el tamaño del código y permitiendo así la inclusión de LIST IF, EXT#a modo de declaración, EDIT, TIME$, ON PROC, | en VDUdeclaraciones y punto flotante más rápido. Se incluyeron nuevamente correcciones de errores.

BASIC IV (1986) fue una mejora adicional de BASIC IV y se incluyó en la máquina Master Compact. La versión de BASIC en el Compact incluía rutinas matemáticas recodificadas, que se decía que proporcionaban un aumento de velocidad del 30% con respecto a la versión incluida en el resto de la serie Master. [22]

HI-BASIC estaba disponible en dos versiones, la primera basada en BASIC III y la segunda basada en BASIC IV. Ambos fueron construidos para ejecutarse desde una dirección más alta (&B800) en el segundo procesador, en lugar de la dirección &8000 habitual en la BBC B. Esto permitió que hubiera más espacio para programas disponible en los procesadores de 6502 segundos externos o internos. Se introdujo una versión para admitir un segundo procesador Zilog Z80 . [23]

Otra versión de BBC BASIC, llamada BAS128, se proporcionó en cinta y disco con BBC Master y Master Compact; se cargó en la RAM principal y utilizó los 64 kB de RAM lateral para los programas de usuario. Esto proporcionó soporte para programas mucho más grandes a costa de ser mucho más lento que la versión normal basada en ROM.

El intérprete puede manejar lenguaje ensamblador tanto BASIC como 6502, que puede incluirse entre los caracteres [y]. Esto contribuyó a la popularidad del sistema entre los ingenieros industriales y de investigación. [24]

Más detalles/determinación de la versión BASIC

Como BBC MOS y RISC OS generalmente se suministraban en ROM, se puede suponer que una versión específica del sistema operativo contenía una versión específica de BASIC. Como tal, no existe una forma sencilla de determinar qué versión de BASIC se está ejecutando realmente, excepto consultando la identidad del sistema operativo y, por lo tanto, haciendo una suposición.

Tenga en cuenta que todos los Electrons, y posteriormente las microcomputadoras BBC, tienen BASIC2: las microcomputadoras BBC anteriores tienen BASIC1. Si no está seguro de qué versión de BASIC hay en su máquina, al escribir INFORME después de que BASIC se haya iniciado (después de BREAK o *BASIC), se imprimirá el mensaje de copyright. Si la fecha es 1981, se instala BASIC1; si es 1982, tienes BASIC2. Las máquinas americanas, o con segundo procesador, podrán tener US BASIC o HIBASIC: las rutinas ROM no estarán en el mismo lugar para estas ROMS.
— GUÍA DE USUARIO DE ROM BÁSICA

Véase también la entrada de BeebWiki para INKEY.

En la familia BBC, es posible ejecutar tanto el BASIC estándar como un HIBASIC mejorado en el procesador de 6502 segundos. Se puede determinar si el programa se está ejecutando en el segundo procesador examinando el valor inicial de PÁGINA; será &800 si se usa el segundo procesador. Para distinguir entre BASIC e HIBASIC, se debe examinar el valor inicial de HIMEM. Será &8000 para BASIC ejecutándose en el segundo procesador y &B800 para HIBASIC en el segundo procesador.

Existe una situación similar en RISC OS donde puede haber el BASIC normal o BASIC64 (que ofrece matemáticas de mayor precisión). El BASIC normal se identifica como "BASIC V" y el BASIC64 se identifica como "BASIC VI", por lo tanto lo siguiente (usado antes de que ocurra cualquier error) distinguirá uno del otro:

SI INSTR ( REPORT$ , "VI" ) ENTONCES IMPRIMIR "BASIC64" DE LO CONTRARIO IMPRIMIR "BASIC"       

Hay mejores formas de hacer esto. [¿ según quién? ] Consulte BeebWiki. En casi todos los casos, no debería necesitar probar en qué BASIC o plataforma se está ejecutando su programa, simplemente haga la llamada y lea los datos devueltos y ocúpese de ellos. [ ¿ investigacion original? ]

Bellota Arquímedes (RISC OS)

Con el cambio a la CPU ARM de 32 bits y la eliminación del límite de 16 KB en el tamaño del código BÁSICO, se agregaron muchas características nuevas. [25] BASIC V versión 1.04 tenía 61 KB de largo. Actual [ ¿cuándo? ] Las versiones de RISC OS todavía contienen un intérprete BBC BASIC V. El código fuente de la versión RISC OS 5 de BBC BASIC V ha sido publicado bajo la licencia Apache 2.0 por RISC OS Open .

Entre los nuevos comandos y funciones admitidas se encuentran:

Los comandos gráficos eran totalmente compatibles con versiones anteriores , el sonido no tanto; por ejemplo, la ENVELOPEpalabra clave de BASIC V en adelante es un comando que toma catorce parámetros numéricos y efectivamente no hace nada; como en versiones anteriores, llama a OS_Word 8, pero no hace nada en RISC OS. [26] El ensamblador 6502 en línea fue reemplazado por un ensamblador ARM . Acorn dijo que BASIC V era "sin duda el BASIC interpretado más rápido del mundo" y "probablemente el BASIC más potente encontrado en cualquier computadora".

BASIC VI es una versión de BASIC V que admite números reales en formato IEEE 754 de 8 bytes, a diferencia del formato estándar de 5 bytes introducido en BASIC I.

BBC BASIC V y VI se entregaron de serie en Acorn Archimedes y RiscPC . También estaba disponible una versión de BBC BASIC V para ejecutarse en el segundo procesador ARM de BBC Micro.

Paul Fellows, líder del equipo de desarrollo de Arthur OS, produjo un compilador para BBC BASIC V, llamado Archimedes BASIC Compiler y publicado inicialmente por DABS Press. [ cita necesaria ] ABC pudo implementar casi todo el lenguaje, con la excepción obvia de la función EVAL, que inevitablemente requería interpretación programática en tiempo de ejecución. Como prueba de su integridad, era capaz de soportar la sintaxis ensambladora en línea. El compilador fue escrito en BBC BASIC V. El compilador (que se ejecuta bajo el intérprete en las primeras etapas de desarrollo) pudo compilarse a sí mismo y las versiones que se distribuyeron eran código objeto autocompilado. [ ¿ investigacion original? ] Muchas aplicaciones inicialmente escritas para ejecutarse bajo el intérprete se beneficiaron del aumento de rendimiento que esto proporcionó, poniendo a BBC BASIC V a la par con otros lenguajes para el desarrollo de aplicaciones serias.

Otras plataformas

BBC BASIC también se ha portado a muchas otras plataformas. [27]

Se suministró una versión NS32016 de BBC BASIC con el coprocesador Acorn 32016 y Acorn ABC.

Además de la versión de BBC BASIC suministrada con el segundo procesador Zilog Z80 de BBC Micro , también existe una versión de BBC BASIC basada en Z80 para sistemas basados ​​en CP/M . También se utilizó una versión Zilog Z80 de BBC BASIC en la computadora de escritorio Tiki 100 , la portátil Cambridge Z88 y las computadoras portátiles Amstrad NC100 Notepad y Amstrad NC200 . Esta versión se ha implementado en las calculadoras gráficas de las series TI-83 Plus y TI-84 Plus . Gracias a los esfuerzos de J. G. Harston (también responsable de una versión de PDP-11 [28] ) , en enero de 2002 se lanzó una versión de BBC BASIC para ZX Spectrum , con muchas mejoras realizadas en versiones posteriores.

Para los sistemas basados ​​en PC , BBC BASIC también se implementó para DOS como BBCBASIC (86) , que buscaba la máxima compatibilidad con BBC Micro, y BBasic , que se concentraba en el lenguaje BASIC, con sus propias mejoras basadas en BASIC II.

En 2001 se lanzó una versión de BBC BASIC integrada con la interfaz gráfica de usuario de Microsoft Windows , BBC BASIC para Windows creada por Richard Russell , desarrollador de las versiones Z80 y x86 . Esta versión aún se encuentra en desarrollo activo y actualmente se utiliza mucho en la industria. Si bien admite casi por completo la especificación BBC BASIC original (BASIC IV), la versión de Windows admite gran parte de la sintaxis BASIC V/VI, así como algunas características avanzadas propias. Las características exclusivas de BBC BASIC para Windows incluyen soporte de intérprete para tipos de registros/estructuras y la capacidad de llamar a rutinas API de Windows o aquellas en una DLL externa . Las versiones recientes han incluido características avanzadas comparables con lenguajes como C , y una biblioteca externa recientemente agregó soporte para objetos.

BBC BASIC para SDL también fue desarrollado por Richard T. Russell, compatible con Windows, Linux y varios dispositivos móviles compatibles con la biblioteca SDL, así como una versión que permite ejecutar programas BBC BASIC como subprogramas en una página web a través de Marco de ensamblaje web [ plazo? ] trabajo electrónico.

También está disponible un clon GPL de BBC BASIC llamado Brandy , escrito en C portátil . [29] [30] Una bifurcación de esto, Matrix Brandy , permanece en desarrollo activo. [31]

Ariadne Software produjo un emulador de BBC Micro para Commodore Amiga para CBM (Reino Unido). Si bien era extremadamente rápido, no emulaba el 6502 a toda velocidad, por lo que el código ensamblador se ejecutaría más lento que un BBC real, mientras que los programas BÁSICOS se ejecutarían mucho más rápido. Debido a la forma en que interactuaban el BASIC optimizado y la emulación 6502, casi ningún juego comercial se ejecutaba, pero el código de buen comportamiento y el software educativo generalmente funcionaban. Además, utilizó un formato numérico de punto flotante ligeramente menos preciso . Durante un tiempo se incluyó con un paquete académico especial del Amiga 500 , con la esperanza de que las escuelas reemplazaran sus envejecidos BBC B por Amiga 500.

Benjamin Ryves también ha creado una versión de BBC BASIC V (Z80) para las familias de calculadoras TI-83/84+ Texas Instruments .

Una pequeña empresa de software, Aztec Software, produjo una versión Shado de Commodore 64 a principios de la década de 1980. [32] También se han ejecutado experimentalmente versiones parcheadas del HI-BASIC basado en 6502 de Acorn en C64, con una interfaz para el kernel C64, reemplazando las llamadas MOS de Acorn realizadas de otro modo.

También se han realizado esfuerzos para que la versión basada en 6502 de BBC BASIC esté disponible en la serie de computadoras Apple II . Applecorn es uno de esos esfuerzos.

BBC BASIC es el lenguaje de programación utilizado en Agon Light, una computadora y microcontrolador de placa única basado en Z80 de 8 bits de código abierto diseñado por Bernardo Kastrup y lanzado en 2022. [33]

Notas

Ver también

Referencias

  1. ^ "Fortran (una historia)". IBM . Consultado el 7 de enero de 2024 .
  2. ^ "John McCarthy". Museo MIT . Consultado el 7 de enero de 2024 .
  3. ^ "Introducción a LISP". Geeks para Geeks . Consultado el 7 de enero de 2024 .
  4. ^ "Nacimiento de COBOL". Universidad de Pennsylvania . Consultado el 7 de enero de 2024 .
  5. ^ "Informe revisado sobre el lenguaje algorítmico ALGOL 60". Asociación de Maquinaria de Computación (ACM) . Consultado el 7 de enero de 2024 .
  6. ^ "Descripción del lenguaje Algol W" (PDF) . Consultado el 7 de enero de 2024 .
  7. ^ "Pascal (lenguaje de programación)" . Consultado el 7 de enero de 2024 .
  8. ^ Michael afeitado (1975). Estructuras de datos . McGraw-Hill. págs. 132-136. ISBN 0-07-084059-8.
  9. ^ RM Burstall; JS Collins; RJ Popplestone. "Los documentos POP-2" (PDF) . Oliver & Boyd Ltd. Consultado el 7 de enero de 2024 .
  10. ^ Kernighan, Brian W.; Ritchie, Dennis M. (1978). El lenguaje de programación C (1ª ed.). Englewood Cliffs, Nueva Jersey: Prentice-Hall. ISBN 0-13-110163-3.
  11. ^ Brian W. Kernighan; Dennis M. Ritchie (1988). El lenguaje de programación C (2ª ed.). Prentice Hall. ISBN 0-13-110362-8.
  12. ^ Ritchie, Dennis M. "El desarrollo del lenguaje C". Asociación de Maquinaria de Computación, Inc. Consultado el 7 de enero de 2024 .
  13. ^ "Historial de eventos". Universidad de Dartmouth . Consultado el 7 de enero de 2024 .
  14. ^ "Manual de instrucciones BÁSICO de Dartmouth College" (PDF) . Universidad de Dartmouth . Consultado el 7 de enero de 2024 .
  15. ^ McCracken, Harry (29 de abril de 2014). «Cincuenta años de BASIC, el lenguaje de programación que hizo personales las computadoras» . Consultado el 7 de enero de 2024 .
  16. ^ "Informe de microelectrónica" (PDF) . Departamento de Educación Continua de la BBC . Consultado el 14 de enero de 2024 .
  17. ^ "Especificación de microcomputadora de la BBC". BBC . Consultado el 14 de enero de 2024 .
  18. ^ "Proyecto de alfabetización informática". BBC . Consultado el 14 de enero de 2024 .
  19. ^ Ian Sinclair (abril de 1981). "Investigación atómica" (PDF) . Computación hoy. Págs. P21-24 . Consultado el 21 de enero de 2024 .
  20. ^ "BBC Micro enciende recuerdos de revolución". Noticias de la BBC. 21 de marzo de 2008 . Consultado el 21 de enero de 2024 .
  21. ^ Lista de versiones BÁSICA de BBC
  22. ^ Usuario de Acorn, octubre de 1986 - página 17{ - Revisión del Master Compact
  23. ^ Smith, Bruce (noviembre de 1984). Computación A y B. Londres: Publicaciones especializadas de Argus. pag. 6.
  24. ^ Marsh, David (5 de diciembre de 2005). "ARM apunta al dominio industrial y automotriz". EDN Europa . Consultado el 1 de agosto de 2012 .
  25. ^ Roger Wilson (3 de julio de 1989). "Cambios de BASIC V 1.02 frente a 1.04 (¡para Richard LLoyd!)". Grupo de noticias : eunet.micro.acorn. Usenet:  [email protected] . Consultado el 14 de junio de 2011 .
  26. ^ "Asunto: Comando envolvente en Basic V".
  27. ^ BBC BASIC - MDFS::Software.$.BBCBasic
  28. ^ BBC BÁSICO para PDP-11
  29. ^ "Brandy". Archivado desde el original el 17 de julio de 2011 . Consultado el 6 de julio de 2011 .
  30. ^ "Intérprete de Brandy Basic V" . Consultado el 6 de julio de 2011 .
  31. «Matriz Brandy BÁSICO VI» . Consultado el 21 de agosto de 2023 .
  32. ^ "Commodore 64 BBC BASIC - MDFS :: Software.BBCBasic.C64".
  33. ^ "Olimex Forks Agon Light de Bernardo Kastrup, ofrece un diseño de computadora de placa única Z80 modificado". Hackster.io . Consultado el 24 de diciembre de 2022 .

enlaces externos