BASIC

De Viquipèdia
Dreceres ràpides: navegació, cerca
Programa Hola, món! escrit en un BASIC de la primera generació: l'Atari BASIC.

BASIC és una família de llenguatges de programació d'alt nivell. Concebut, en principi, com un llenguatge fàcil d'usar, es va implantar al sector dels ordinadors personals en els anys 80 i roman avui en dia amb variants bastant evolucionades. El nom "BASIC" prové de l'acrònim anglès Beginner's All-purpose Symbolic Instruction Code (Codi Simbòlic d'Instruccions Multipropòsit per a Principiants).

Història[modifica | modifica el codi]

Funció escrita en un BASIC de la tercera generació: el Visual Basic.

El llenguatge BASIC original fou inventat l'any 1964 per John George Kemeny (1926-1993) i Thomas Eugene Kurtz (1928-) en el Dartmouth College. En els anys següents el BASIC original de Kemeny y Kurtz fou conegut com a BASIC Dartmouth.

BASIC fou dissenyat per permetre als estudiants escriure programes emprant terminals d'ordinadors de temps compartit. Estava pensat per reduir en gran mesura la complexitat dels llenguatges del moment, amb un nou disseny pensat per a usuaris a qui no els interessava tant la velocitat, sinó el fet de ser capaços de programar i usar la màquina sense masses complicacions. Els dissenyadors del llenguatge volien que fos de domini públic, el que contribuí a que es disseminés ràpidament.

Els vuit principis de disseny de BASIC foren:

  1. Ser fàcil d'usar pels principiants
  2. Ser un llenguatge de propòsit general (no orientat)
  3. Permetre als experts afegir característiques avançades, conservant simple el llenguatge per als principiants
  4. Ser interactiu
  5. Proveir missatges d'error clars i amigables
  6. Respondre ràpid als programes petits
  7. No requerir un coneixement del maquinari de l'ordinador
  8. Protegir a l'usuari del sistema operatiu

Fou amb la introducció del Microordinador Altair 8800 l'any 1975 que BASIC es va expandir àmpliament. La majoria dels llenguatges de programació eren massa grans per ser allotjats a les petites memòries que la majoria de màquines de l'època tenien i amb el lent emmagatzemament que suposava la cinta de paper, i més tard, la cinta de casset (els discos magnètics encara no eren viables per a microordinadors) i la falta d'editors de text adequats, un llenguatge petit com BASIC era una bona opció. Una de les primeres versions a sortir fou Tiny BASIC, una implementació simple de BASIC escrita originalment pel Dr. Li-Chen Wang i portada més tard a la màquina Altair per Dennis Allison, a petició de Bob Albrecht, qui després fundà el Dr. Dobbs Journal (DDJ). El disseny de Tiny BASIC i el codi font complet foren publicats l'any 1976 al DDJ.

L'any 1975 Microsoft (llavors formada per dues persones: Bill Gates i Paul Allen) llançà Altair BASIC. Aleshores, van començar a aparèixer sota llicència, versions per a altres plataformes i milions de còpies i variants ràpidament estarien en ús. Es convertí en un dels llenguatges estàndard per l'Apple II. Pel 1979 Microsoft estava negociant amb diversos venedors de microordinadors, incloent-hi a IBM, a fi de llicenciar un intèrpret de BASIC per als seus ordinadors. Una versió es va incloure en els xips ROM dels PCs IBM, per PCs sense disquet; i en els que sí tenien disquetera, el BASIC era iniciat automàticament si no es ficava cap disquet d'arrancada amb sistema operatiu.

El BASIC fou també el llenguatge preferit en els microordinadors europeus de la dècada dels vuitanta amb el ZX Spectrum, Amstrad CPC, MSX o el Commodore 64 i 128 amb la versió "Simon BASIC", fent a la vegada la funció d'intèrpret i de sistema operatiu primitiu, ja que venien implementats els dos en la ROM.

Posteriorment es va introduir el Visual Basic de Microsoft. Malgrat que aquest llenguatge utilitza pràcticament totes les paraules clau (sentencies, estructures de control i funcions intrínseques) de BASIC, Visual Basic és més potent i evolucionat i s'ha convertit en un dels llenguatges més utilitzats en la plataforma Windows. S'estima que entre el 70 i el 80% del total d'aplicacions comercials són programades en Visual Basic. Visual Basic utilitza un paradigma anomenat "orientació a esdeveniments" (no és orientat a objectes). Visual Basic for Applications (VBA) fou afegit a Microsoft Excel 5.0 l'any 1993 i a Microsoft Office l'any 1997. Windows 98 va incloure un intèrpret de VBScript. La versió més recent de Visual Basic s'anomena VB.NET. Per altra banda, la suite OpenOffice.org inclou una variant de BASIC.

Programa d'exemple[modifica | modifica el codi]

Aquest programa escriu "Hola, món!" al dispositiu de sortida per defecte (habitualment el monitor).

NEW
10 PRINT "Hola, món!"
RUN

La instrucció "NEW" buida la memòria. Qualsevol línia que comenci amb un número es guarda com a part d'un programa i s'executarà segons l'ordre relatiu que marqui el número. "RUN" executa el programa que hi ha en aquell moment a la memòria.

BASIC executa les línies de codi per ordre. Escrivint això:

NEW
10 PRINT "Jo"
3 PRINT "Tu"
RUN

El resultat serà:

TuJo
Ok

BASIC pot acceptar comandaments directes llevant la numeració de qualsevol línia de codi. El mateix programa Hola, món! es pot passar directament de la següent forma:

PRINT "Hola, món!"
Hola, món
Ok

L'execució és immediata sense necessitat de l'ordre "RUN", però el programa no queda desat en memòria.

Es pot passar una sèrie d'ordres en la mateixa línia separant-les per dos punts:

NEW
10 PRINT "Hola, món! ": PRINT "Adéu, món!"
RUN
Hola, món! Adéu, món!
Ok

Comandaments més usats[modifica | modifica el codi]

LET[modifica | modifica el codi]

Fa que la seqüència de l'esquerra agafi el valor de l'operació de la dreta.

Exemple:
1 LET A=2+3

Això fa que "A" agafi el valor "5". El comandament LET ben aviat va passar a ser implícit en moltes versions de BASIC i per tant la instrucció anterior va poder introduir-se així:

Exemple:
1 A=2+3


PRINT[modifica | modifica el codi]

Mostra al monitor un valor o una cadena.

Exemple:
2 PRINT "2+3="; A

Això mostra al monitor: 2+3=5

INPUT[modifica | modifica el codi]

Introdueix dades.

Exemple:
3 INPUT B
4 PRINT A; "+"; B; "="; A+B

Demana un valor i el suma en pantalla amb "A".

IF/THEN[modifica | modifica el codi]

Si la condició definida després de la comanda IF és certa fa l'acció especificada a continuació del mot THEN.

Exemple:
5 IF A+B=9 THEN END

Si es compleix la igualtat el programa acaba, si no, continua.

GOTO[modifica | modifica el codi]

Salta a la línia indicada

Exemple:
6 GOTO 3

Torna a demanar un número.

Programa exemple sencer i sortida[modifica | modifica el codi]

NEW
1 LET A=2+3
2 PRINT "2+3="; A
3 INPUT B
4 PRINT A; "+"; B; "="; A+B
5 IF A+B=9 THEN END
6 GOTO 3
RUN
2+3=5
? 6
5+6=11
? 4
5+4=9
Ok

Vegeu també[modifica | modifica el codi]