Diferencia entre revisiones de «Dartmouth BASIC»

Contenido eliminado Contenido añadido
Drinibot (discusión · contribs.)
m Bot: Cambiada la la plantilla: Citation needed; cambios triviales
Línea 1:
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ñada 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 [[compilador|compiladores]]es, a diferencia de muchas de las versiones del lenguaje implementadas en otros lados, que eran [[intérprete (informática)|interpretadores]]. El primer compilador fue producido antes de que el sistema de [[tiempo compartido (informática)|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 ==
Línea 7:
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 [[terminal de computadora|terminales]] por el sistema de DTSS.<ref>[http://web.archive.org/web/20070808230138/http://www.dtss.org/timeline.php Dartmouth Time Sharing System (DTSS) timeline] (archived 2007)</ref> 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.
Línea 17:
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.{{CitationCita neededrequerida|date=April 2007}} 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áquina Ditto|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.
Línea 31:
=== Lista de comandos ===
 
* <code>HELLO</code>&nbsp;&mdash; log in en el DTSS
* <code>BASIC</code>&nbsp;&mdash; iniciar el modo BASIC
* <code>NEW</code>&nbsp;&mdash; nombrar y comenzar a escribir un programa
* <code>OLD</code>&nbsp;&mdash; recuperar un previamente nombrado programa desde el almacenamiento permanente
* <code>LIST</code>&nbsp;&mdash; exhibe el programa actual
* <code>SAVE</code>&nbsp;&mdash; guarda el programa actual en el almacenamiento permanente
* <code>UNSAVE</code>&nbsp;&mdash; elimina el programa actual del almacenamiento permanente
* <code>CATALOG</code>&nbsp;&mdash; exhibe los nombres de los programas que están en el almacenamiento permanente
* <code>SCRATCH</code>&nbsp;&mdash; borra el programa actual sin eliminar su nombre
* <code>RENAME</code>&nbsp;&mdash; cambia el nombre del programa actual sin borrarlo
* <code>RUN</code>&nbsp;&mdash; ejecuta elprograma actual
* <code>STOP</code>&nbsp;&mdash; 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.
Línea 52:
=== Lista de sentencias del BASIC ===
 
* <code>DEF</code> &mdash; define funciones de una sola línea
* <code>DIM</code> &mdash; define el tamaño de los arreglos
* <code>END</code> &mdash; define el final del programa
* <code>STOP</code> &mdash; detiene un programa antes del final
* <code>[[Bucle for|FOR]]''' / '''TO''' / '''STEP</code> &mdash; define los bucles
* <code>NEXT</code> &mdash; marca el final de los bucles
* <code>[[GOSUB]]</code> &mdash; transfiere control a subrutinas simples
* <code>RETURN</code> &mdash; retorna el control desde subrutinas simples
* <code>[[GOTO]]</code> &mdash; transfiere el control a otra sentencia
* <code>[[Sentencia condicional|IF]] / THEN</code> &mdash; toma de decisiones
* <code>LET / =</code> &mdash; asigna los resultados de las fórmulas a una variable
* <code>PRINT</code> &mdash; salida de resultados
* <code>DATA</code> &mdash; almacena datos estáticos dentro del programa
* <code>READ</code> &mdash; entrada de datos almacenados en sentencias DATA
* <code>REM</code> &mdash; 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.
Línea 110:
* ''[http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf BASIC version 2 manual]''. Dartmouth College Computation center, 1964. ([[Portable Document Format|PDF]])
* ''[http://www.bitsavers.org/pdf/dartmouth/BASIC_4th_Edition_Jan68.pdf BASIC version 4 manual]''. Dartmouth College Computation center, 1968. ([[Portable Document Format|PDF]])
* Kurtz, Thomas E. (Date unknown but probably 1977). ''[http://delivery.acm.org/10.1145/810000/808376/p103-kurtz.pdf?key1=808376&key2=4039224611&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 BASIC]''
 
== Véase también ==