fbpx
Wikipedia

Dartmouth BASIC

El Dartmouth BASIC (BASIC de Dartmouth) es la versión original del lenguaje de programación BASIC. Es llamado así porque fue diseñado e implementado en el Dartmouth College. El lenguaje fue diseñado por John Kemeny y Thomas Kurtz como parte del Dartmouth Time Sharing System (DTSS) (Sistema de tiempo compartido de Dartmouth) y fue uno de los primeros lenguajes de programación previstos para ser usado interactívamente.

Durante años, fueron producidas varias versiones en Dartmouth, todas implementadas como compiladores, a diferencia de muchas de las versiones del lenguaje implementadas en otros lados, que eran interpretadores. El primer compilador fue producido antes de que el sistema de tiempo compartido estuviera listo. Conocido como CardBASIC, fue pensado para el sistema basado en el lector de tarjetas estándar basado en el sistema de procesamiento por lotes. Como todas las versiones siguientes, fue implementado por un equipo de programadores no graduados trabajando bajo la dirección de Kemeny y Kurtz. La primera versión interactiva fue puesta a disposición de los usuarios generales en junio de 1964; la segunda en octubre de 1964; la tercera en 1966; la cuarta en 1969; la quinta en 1970; la sexta en 1971; y la séptima en 1979.

Historia del desarrollo

El trabajo sobre el compilador y el sistema operativo fue hecho concurrentemente, y así los primeros programas BASIC corrieron en modo de procesamiento por lotes como parte del proceso de desarrollo durante principios de 1964. Sin embargo, el 1 de mayo de 1964 a las 4 a.m., John Kemeny y John McGeachie corrieron los primeros programas BASIC ejecutados exitosamente en terminales por el sistema de DTSS.[1]

Estos programas corrían, desde 1964 hasta 1967, en dos ordenadores, un GE-235 para ejecutar programas (como los escritos en BASIC) y un GE DN-30 (Datanet-30) para manejar las comunicaciones (hacia y desde los teletipos) y para programar la ejecución de programas en el GE-235. Este ingenioso diseño usando dos equipos fue ideado por Tom Kurtz y John Kemeny.[1]

No está totalmente claro cuáles fueron los primeros programas. Sin embargo, los programas o consistieron en la simple línea:

PRINT 2 + 2

o eran implementaciones de la criba de Eratóstenes, según una entrevista de 1974 en la cual Kemeny y McGeachie participaron.

La segunda versión del BASIC solamente tuvo cambios mínimos, agregando al operador punto y coma a la sentencia PRINT y el subíndice cero a las matrices.

Para la tercera versión, la sentencia de INPUT fue introducida junto con las poderosas sentencias MAT para la manipulación de matrices y la sentencia del RESTORE para el uso con READ/DATA. El desarrollo continuó con la introducción de la manipulación y variables de texto, también conocidas como variables de string, para la versión 4, y un verdadero manejo de archivos en la versión 5. La versión 6 vio la introducción de procedimientos con parámetros, compilables separadamente; ésta es la versión de la cual la mayoría de los dialectos posteriores del BASIC descienden. En 1976, Steve Garland agregó características de programación estructurada para crear el Dartmouth SBASIC, un precompilador que producía como salida la versión 6 de BASIC (y que formó la base del ANSI BASIC). En 1979 Kemeny y Kurtz lanzaron, un compilador ANSI BASIC, como la séptima y final versión en Dartmouth, antes de salir de la universidad para concentrar el desarrollo posterior del ANSI BASIC bajo la forma de True BASIC.

Las primeras versiones de BASIC fueron usadas y probadas por otros estudiantes de Dartmouth trabajando en los laboratorios de psicología de la universidad a principios de 1964. [citación necesaria] Los departamentos compartieron varias máquinas de tarjeta perforada de IBM que fueron usadas para correr programas de análisis estadístico por lotes.

Los estudiantes trabajando en concesiones del NSF en ambos departamentos vivieron en la misma granja rural de New Hampshire durante el verano de 1964.[cita requerida] Ellos a menudo se reunían para compartir ideas. Una contribución notable de estas sesiones de última hora fue la sentencia GOTO. Las primeras versiones impresas del manual de usuario fueron copiadas con Mimeógrafo (con la impresión típicamente en púrpura de las máquinas Ditto de la era) y una cubierta rosada.

El Dr. Kemeny, inmigrante de Hungría y presidente del departamento de matemáticas en ese entonces, eventualmente fue a servir con gran distinción como presidente de la universidad. Mr. McGeachie, no graduado en ese tiempo, era llamado "Geach" por sus amigos y compañeros de estudio.

El BASIC de Dartmouth es más conocido por dar a la programación de computadoras un rostro humano y hacerla accesible a todo el mundo.

Interfaz de usuario

El DTSS implementó un temprano entorno de desarrollo integrado (IDE): una interfaz de línea de comandos interactiva. No había necesidad de logout. Si los usuarios no respondían, eran loged out después de un corto retardo.

Cualquier línea mecanografiada por el usuario, y que comenzaba por un número de línea, era añadida al programa, reemplazando cualquier línea previamente almacenada en el mismo número; todo lo demás fue asumido que era un comando del DTSS y era ejecutado inmediatamente. Las líneas que solo consistían en un número de línea no eran almacenadas sino que removían cualquier línea previamente almacenada con el mismo número. Este método de editar era necesario debido al uso de los teleimpresoras de teletipo, como las unidades de terminales del Dartmouth timesharing system.

Lista de comandos

  • HELLO — log in en el DTSS
  • BASIC — iniciar el modo BASIC
  • NEW — nombrar y comenzar a escribir un programa
  • OLD — recuperar un previamente nombrado programa desde el almacenamiento permanente
  • LIST — exhibe el programa actual
  • SAVE — guarda el programa actual en el almacenamiento permanente
  • UNSAVE — elimina el programa actual del almacenamiento permanente
  • CATALOG — exhibe los nombres de los programas que están en el almacenamiento permanente
  • SCRATCH — borra el programa actual sin eliminar su nombre
  • RENAME — cambia el nombre del programa actual sin borrarlo
  • RUN — ejecuta elprograma actual
  • STOP — interrumpe al programa actualmente corriendo

Los usuarios frecuentemente creían que los comandos eran parte del lenguaje BASIC, pero, de hecho, eran parte del sistema de tiempo compartido y también eran usados cuando se preparaban programas en ALGOL o FORTRAN vía los terminales del DTSS.

Palabras clave

La primera versión interactiva implementó los siguientes tipos de sentencias, tomando algunos de sus operadores y palabras clave del FORTRAN II y algunos de ALGOL 60.

Lista de sentencias del BASIC

  • DEF — define funciones de una sola línea
  • DIM — define el tamaño de los arreglos
  • END — define el final del programa
  • STOP — detiene un programa antes del final
  • FOR / TO / STEP — define los bucles
  • NEXT — marca el final de los bucles
  • GOSUB — transfiere control a subrutinas simples
  • RETURN — retorna el control desde subrutinas simples
  • GOTO — transfiere el control a otra sentencia
  • IF / THEN — toma de decisiones
  • LET / = — asigna los resultados de las fórmulas a una variable
  • PRINT — salida de resultados
  • DATA — almacena datos estáticos dentro del programa
  • READ — entrada de datos almacenados en sentencias DATA
  • REM — comentario

También implementó variables numéricas y aritmética de punto flotante. Los nombres de variables fueron limitados de A a Z, A0 a A9, B0 a B9, ... , Z0 a Z9, dando un máximo de 286 distintas variables posibles. Los nombres de matrices estaban restringidos a solamente de A a Z. Las matrices no necesitaban ser definidas, pero en ausencia de una declaración DIM tenían por defecto 10 elementos, a los que se accedía con un índice desde 1 a 10.

Lista de operadores

Operadores aritméticosOperadores relacionales/lógicos
-Negación (op. unario)=Igual a
+Adición<>No igual a
-Sustracción (op. binario)<Menor que
*Multiplicación<=Menor o igual a
/División>Mayor que
^Exponenciación>=Mayor o igual a
Operadores de agrupamiento 
( )Agrupamiento 

Lista de funciones

  • ABS -- Valor absoluto
  • INT -- Parte entera de un número
  • RND -- número real al azar entre 0 y 1
  • SIN -- Seno (argumento en radianes)
  • COS -- Coseno (argumento en radianes)
  • TAN -- Tangente (argumento en radianes)
  • ATN -- Arco tangente (resultado en radianes)
  • EXP -- Exponencial (ex)
  • LOG -- Logaritmo natural
  • SQR -- raíz cuadrada

Referencias

  1. (archived 2007)
  • Kemeny, John G. (1985). Back to Basic: The History, Corruption and Future of the Language. Addison-Wesley Longman Inc. ISBN 0-201-13433-0.
  • BASIC version 2 manual. Dartmouth College Computation center, 1964. (PDF)
  • BASIC version 4 manual. Dartmouth College Computation center, 1968. (PDF)
  • Kurtz, Thomas E. (Date unknown but probably 1977). BASIC (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).

Véase también

Enlaces externos

  • (archived 2007)
  • Scans of original documentation and software.
  •   Datos: Q2251017

dartmouth, basic, basic, dartmouth, versión, original, lenguaje, programación, basic, llamado, así, porque, diseñado, implementado, dartmouth, college, lenguaje, diseñado, john, kemeny, thomas, kurtz, como, parte, dartmouth, time, sharing, system, dtss, sistem. El Dartmouth BASIC BASIC de Dartmouth es la version original del lenguaje de programacion BASIC Es llamado asi porque fue disenado e implementado en el Dartmouth College El lenguaje fue disenado por John Kemeny y Thomas Kurtz como parte del Dartmouth Time Sharing System DTSS Sistema de tiempo compartido de Dartmouth y fue uno de los primeros lenguajes de programacion previstos para ser usado interactivamente Durante anos fueron producidas varias versiones en Dartmouth todas implementadas como compiladores a diferencia de muchas de las versiones del lenguaje implementadas en otros lados que eran interpretadores El primer compilador fue producido antes de que el sistema de tiempo compartido estuviera listo Conocido como CardBASIC fue pensado para el sistema basado en el lector de tarjetas estandar basado en el sistema de procesamiento por lotes Como todas las versiones siguientes fue implementado por un equipo de programadores no graduados trabajando bajo la direccion de Kemeny y Kurtz La primera version interactiva fue puesta a disposicion de los usuarios generales en junio de 1964 la segunda en octubre de 1964 la tercera en 1966 la cuarta en 1969 la quinta en 1970 la sexta en 1971 y la septima en 1979 Indice 1 Historia del desarrollo 2 Interfaz de usuario 2 1 Lista de comandos 3 Palabras clave 3 1 Lista de sentencias del BASIC 3 2 Lista de operadores 3 3 Lista de funciones 4 Referencias 5 Vease tambien 6 Enlaces externosHistoria del desarrollo EditarEl trabajo sobre el compilador y el sistema operativo fue hecho concurrentemente y asi los primeros programas BASIC corrieron en modo de procesamiento por lotes como parte del proceso de desarrollo durante principios de 1964 Sin embargo el 1 de mayo de 1964 a las 4 a m John Kemeny y John McGeachie corrieron los primeros programas BASIC ejecutados exitosamente en terminales por el sistema de DTSS 1 Estos programas corrian desde 1964 hasta 1967 en dos ordenadores un GE 235 para ejecutar programas como los escritos en BASIC y un GE DN 30 Datanet 30 para manejar las comunicaciones hacia y desde los teletipos y para programar la ejecucion de programas en el GE 235 Este ingenioso diseno usando dos equipos fue ideado por Tom Kurtz y John Kemeny 1 No esta totalmente claro cuales fueron los primeros programas Sin embargo los programas o consistieron en la simple linea PRINT 2 2o eran implementaciones de la criba de Eratostenes segun una entrevista de 1974 en la cual Kemeny y McGeachie participaron La segunda version del BASIC solamente tuvo cambios minimos agregando al operador punto y coma a la sentencia PRINT y el subindice cero a las matrices Para la tercera version la sentencia de INPUT fue introducida junto con las poderosas sentencias MAT para la manipulacion de matrices y la sentencia del RESTORE para el uso con READ DATA El desarrollo continuo con la introduccion de la manipulacion y variables de texto tambien conocidas como variables de string para la version 4 y un verdadero manejo de archivos en la version 5 La version 6 vio la introduccion de procedimientos con parametros compilables separadamente esta es la version de la cual la mayoria de los dialectos posteriores del BASIC descienden En 1976 Steve Garland agrego caracteristicas de programacion estructurada para crear el Dartmouth SBASIC un precompilador que producia como salida la version 6 de BASIC y que formo la base del ANSI BASIC En 1979 Kemeny y Kurtz lanzaron un compilador ANSI BASIC como la septima y final version en Dartmouth antes de salir de la universidad para concentrar el desarrollo posterior del ANSI BASIC bajo la forma de True BASIC Las primeras versiones de BASIC fueron usadas y probadas por otros estudiantes de Dartmouth trabajando en los laboratorios de psicologia de la universidad a principios de 1964 citacion necesaria Los departamentos compartieron varias maquinas de tarjeta perforada de IBM que fueron usadas para correr programas de analisis estadistico por lotes Los estudiantes trabajando en concesiones del NSF en ambos departamentos vivieron en la misma granja rural de New Hampshire durante el verano de 1964 cita requerida Ellos a menudo se reunian para compartir ideas Una contribucion notable de estas sesiones de ultima hora fue la sentencia GOTO Las primeras versiones impresas del manual de usuario fueron copiadas con Mimeografo con la impresion tipicamente en purpura de las maquinas Ditto de la era y una cubierta rosada El Dr Kemeny inmigrante de Hungria y presidente del departamento de matematicas en ese entonces eventualmente fue a servir con gran distincion como presidente de la universidad Mr McGeachie no graduado en ese tiempo era llamado Geach por sus amigos y companeros de estudio El BASIC de Dartmouth es mas conocido por dar a la programacion de computadoras un rostro humano y hacerla accesible a todo el mundo Interfaz de usuario EditarEl DTSS implemento un temprano entorno de desarrollo integrado IDE una interfaz de linea de comandos interactiva No habia necesidad de logout Si los usuarios no respondian eran loged out despues de un corto retardo Cualquier linea mecanografiada por el usuario y que comenzaba por un numero de linea era anadida al programa reemplazando cualquier linea previamente almacenada en el mismo numero todo lo demas fue asumido que era un comando del DTSS y era ejecutado inmediatamente Las lineas que solo consistian en un numero de linea no eran almacenadas sino que removian cualquier linea previamente almacenada con el mismo numero Este metodo de editar era necesario debido al uso de los teleimpresoras de teletipo como las unidades de terminales del Dartmouth timesharing system Lista de comandos Editar HELLO log in en el DTSS BASIC iniciar el modo BASIC NEW nombrar y comenzar a escribir un programa OLD recuperar un previamente nombrado programa desde el almacenamiento permanente LIST exhibe el programa actual SAVE guarda el programa actual en el almacenamiento permanente UNSAVE elimina el programa actual del almacenamiento permanente CATALOG exhibe los nombres de los programas que estan en el almacenamiento permanente SCRATCH borra el programa actual sin eliminar su nombre RENAME cambia el nombre del programa actual sin borrarlo RUN ejecuta elprograma actual STOP interrumpe al programa actualmente corriendoLos usuarios frecuentemente creian que los comandos eran parte del lenguaje BASIC pero de hecho eran parte del sistema de tiempo compartido y tambien eran usados cuando se preparaban programas en ALGOL o FORTRAN via los terminales del DTSS Palabras clave EditarLa primera version interactiva implemento los siguientes tipos de sentencias tomando algunos de sus operadores y palabras clave del FORTRAN II y algunos de ALGOL 60 Lista de sentencias del BASIC Editar DEF define funciones de una sola linea DIM define el tamano de los arreglos END define el final del programa STOP detiene un programa antes del final a href Bucle for html title Bucle for FOR a b b TO b b STEP define los bucles NEXT marca el final de los bucles a href GOSUB html title GOSUB GOSUB a transfiere control a subrutinas simples RETURN retorna el control desde subrutinas simples a href GOTO html title GOTO GOTO a transfiere el control a otra sentencia a href Sentencia condicional html title Sentencia condicional IF a THEN toma de decisiones LET asigna los resultados de las formulas a una variable PRINT salida de resultados DATA almacena datos estaticos dentro del programa READ entrada de datos almacenados en sentencias DATA REM comentarioTambien implemento variables numericas y aritmetica de punto flotante Los nombres de variables fueron limitados de A a Z A0 a A9 B0 a B9 Z0 a Z9 dando un maximo de 286 distintas variables posibles Los nombres de matrices estaban restringidos a solamente de A a Z Las matrices no necesitaban ser definidas pero en ausencia de una declaracion DIM tenian por defecto 10 elementos a los que se accedia con un indice desde 1 a 10 Lista de operadores Editar Operadores aritmeticosOperadores relacionales logicos Negacion op unario Igual a Adicion lt gt No igual a Sustraccion op binario lt Menor que Multiplicacion lt Menor o igual a Division gt Mayor que Exponenciacion gt Mayor o igual aOperadores de agrupamiento b b Agrupamiento Lista de funciones Editar ABS Valor absoluto INT Parte entera de un numeroRND numero real al azar entre 0 y 1SIN Seno argumento en radianes COS Coseno argumento en radianes TAN Tangente argumento en radianes ATN Arco tangente resultado en radianes EXP Exponencial ex LOG Logaritmo natural SQR raiz cuadradaReferencias Editar a b Dartmouth Time Sharing System DTSS timeline archived 2007 Kemeny John G 1985 Back to Basic The History Corruption and Future of the Language Addison Wesley Longman Inc ISBN 0 201 13433 0 BASIC version 2 manual Dartmouth College Computation center 1964 PDF BASIC version 4 manual Dartmouth College Computation center 1968 PDF Kurtz Thomas E Date unknown but probably 1977 BASIC enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Vease tambien EditarDartmouth Time Sharing System BASIC John George Kemeny Thomas Eugene Kurtz Interprete de Dartmouth BASICEnlaces externos EditarListing of the source code for version 2 of the Dartmouth BASIC compiler circa 1965 archived 2007 Scans of original documentation and software Datos Q2251017Obtenido de https es wikipedia org w index php title Dartmouth BASIC amp oldid 118021278, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos