BASIC

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi Basic.
BASIC
Applesoft BASIC.png
Uno screenshot dell'Applesoft BASIC, presente negli home computer Apple II
Autore John George Kemeny
Thomas Eugene Kurtz
Data di origine 1964
Utilizzo Generico
Paradigmi Non strutturato
Tipizzazione Forte
Estensioni comuni .BAS

Il BASIC, in informatica,[1] è un linguaggio di programmazione ad alto livello sviluppato nel 1964 presso l'Università di Dartmouth sul calcolatore GE-225. Ne furono coinventori i professori John George Kemeny e Thomas Eugene Kurtz. Il primo programma in BASIC "girò" il 1º maggio 1964 alle ore 4:00.[2]

Storia[modifica | modifica sorgente]

Fino agli anni sessanta del XX secolo i computer erano ingombranti, estremamente costosi e difficili da programmare. Erano acquistati da industrie, istituti governativi o università. Data la loro scarsa potenza elaborativa, i linguaggi di programmazione erano orientati alla massima efficienza sacrificando la facilità di scrittura del codice e la sua leggibilità. Questi fattori, uniti alla difficoltà di poter accedere ad un computer, relegavano l'uso di queste macchine a poche persone e per particolari compiti. Nel 1959 anche l'università di Dartmouth acquistò un proprio computer, un LGP-30, affidato al reparto informatico sotto la direzione di Kurtz. Gli utenti non potevano avere un accesso libero alla macchina ma dovevano inserire i loro programmi nel sistema che li eseguiva poi nell'ordine in cui li aveva ricevuti. Dall'inserimento all'ottenimento dei risultati poteva quindi passare un discreto lasso di tempo (ore ma anche giorni). Per ovviare a questo problema Kemeny e Kurtz iniziarono a sviluppare un sistema di timesharing per poter consentire l'accesso a più utenti contemporaneamente e l'esecuzione di più programmi simultaneamente. Per permettere ciò l'università acquistò anche un nuovo computer, un GE-235, e 30 terminali GE Datanet-30 che furono dislocati in vari ambienti di Dartmouth grazie ai quali gli studenti potevano inserire i loro programmi nell'unità centrale in modo rapido e semplificato. Il sistema supportava inizialmente anche altri linguaggi come il FORTRAN e l'ALGOL ma Kurtz e Kemeny studiarono un altro linguaggio che fosse più semplice da imparare e di uso generale sviluppando così il BASIC.[3]

Negli anni seguenti, con il nascere di diverse versioni del linguaggio, il BASIC sviluppato originariamente da Kemeny e Kurtz fu indicato come Dartmouth BASIC. Con gli anni il BASIC ha subito notevoli evoluzioni e cambiamenti, diventando un linguaggio strutturato con potenzialità molto simili a quelle di altri linguaggi più evoluti. Le numerose versioni attuali del BASIC affiancano ai concetti originari nuovi concetti, quali la gestione degli oggetti, la ricorsività, la strutturazione: vedi ad esempio il Visual Basic o il REALbasic.Oggi è stato quasi completamente soppiantato a favore del più efficiente linguaggio assembly, ma viene ancora utilizzato per le applicazioni lente, di fatto sin dal momento della nascita ha avuto da sempre un problema: la scarsa velocità di sistema.

L'avvento degli home computer[modifica | modifica sorgente]

L'Altair BASIC su nastro perforato, il primo BASIC a grossa diffusione.

Nonostante il linguaggio fosse già usato su diversi minicomputer, la sua diffusione era limitata dall'elevato costo dei computer che li rendeva oggetti da professionisti. La situazione cambiò con l'introduzione del primo personal computer della storia, il MITS Altair 8800 all'inizio del 1975: venduto sotto forma di computer da autocostruire, i 439$ necessari per acquistarlo erano un prezzo alla portata di molti, tanto che ad agosto di quell'anno MITS ne aveva già venduti 5.000.[4][5]

La diffusione del computer fece crescere la richiesta di un linguaggio di programmazione alla portata di molti. Il BASIC, grazie all'opera di divulgazione che avevano condotto i suoi autori negli anni passati, si era ritagliato un posto su diverse riviste del settore, dove i lettori pubblicavano i propri listati. Inoltre molti linguaggi dell'epoca richiedevano un editor per la scrittura del codice, grandi quantitativi di memoria per l'interprete e sistemi di memorizzazione quali floppy disk per i programmi. Il BASIC richiedeva piccoli quantitativi di memoria, aveva un editor integrato per la scrittura del codice e semplici istruzioni, risultando quindi adatto a macchine con limitate risorse quali l'Altair 8800.

Uno dei primi dialetti BASIC ad apparire per i computer basati sull'Intel 8080, una delle prime CPU in circolazione, come l'Altair 8800, fu il Tiny BASIC, scritto da Dennis Allison su richiesta di Bob Albrecht, un membro dell'Homebrew Computer Club che successivamente avrebbe fondato la rivista Dr. Dobb's Journal, su cui apparve il codice sorgente completo del Tiny BASIC nel 1976.

Fu però con l'introduzione dell'Altair BASIC nel 1975, un interprete che risiedeva in soli 4 kB di memoria scritto da Bill Gates e Paul Allen, che questo linguaggio iniziò a diffondersi in maniera marcata, grazie anche alle numerose copie pirata del software, circa il 90% di quelle in circolazione.[6]

Distribuito inizialmente solo per l'Altair 8800, l'Altair BASIC fu, in seguito alla rescissione del contratto di esclusiva con MITS, commercializzato come Microsoft BASIC dalla Microsoft, una società fondata da Gates ed Allen nel 1975, anche per altre piattaforme hardware. Del Microsoft BASIC fu rilasciata anche una versione denominata MBASIC per il sistema operativo CP/M, uno dei più diffusi dell'epoca. Grazie alla popolarità di questo sistema, usato su macchine di successo quali l'Osborne 1, anche la popolarità del Microsoft BASIC crebbe e Microsoft iniziò a rilasciare sempre più versioni del suo interprete.

Il Commodore BASIC 2.0, evoluzione del linguaggio scritto per il Commodore PET.

Nel 1977 furono presentati 3 importanti home computer per i quali i loro costruttori scelsero come linguaggio integrato nel firmware il BASIC. Essi erano il Commodore PET, l'Apple II ed il Radio Shack TRS-80: il primo conteneva una versione adattata al MOS 6502 del Microsoft BASIC; il secondo integrava l'Applesoft BASIC, successore dell'Integer BASIC e sviluppato con Microsoft; il terzo offriva, a seconda dei modelli, un BASIC derivato dal Tiny BASIC oppure un interprete derivato dall'Altair Extended BASIC, una versione con più funzionalità dell'Altair BASIC di Microsoft. Questi BASIC erano molto simili dato che i primi 50 token, usati per memorizzare i comandi in una forma salvaspazio, erano gli stessi. Altre società che entrarono nel mercato degli home computer svilupparono la propria versione del BASIC: Atari per i suoi computer ad 8 bit sviluppò l'Atari BASIC, una versione studiata per risiedere in una cartuccia da 8 kB. BBC pubblicò il BBC BASIC, sviluppato da Acorn Computers, che integrava molte istruzioni aggiuntive. Molti home computer degli anni ottanta avevano il BASIC residente nella ROM che veniva eseguito direttamente all'avvio della macchina.

Con il crescere della sua popolarità molte riviste iniziarono a pubblicare listati di programmi in BASIC che gli utenti potevano riscrivere a casa sui propri computer, come Commodore Computer Club, dedicata ai modelli Commodore, o Sinclair Computer, per quelli Sinclair. Furono editi anche libri di listati in Microsoft BASIC, essendo questo dialetto il più diffuso e quindi il più adattabile da una macchina all'altra. Alcuni famosi libri di listati sono quelli pubblicati da David Ahl: BASIC Computer Games[7], More BASIC Computer Games[8] e Big Computer Games.[9] Microsoft realizzò anche l'AmigaBASIC per i computer Commodore della serie Amiga, una versione del linguaggio che supportava l'interfaccia grafica di quelle macchine.

L'era dei personal computer[modifica | modifica sorgente]

Il GW-BASIC 3.23 distribuito con l'MS-DOS.

Nel 1981 IBM presentò il suo Personal Computer (PC). Il sistema operativo era stato realizzato da Microsoft, che fornì anche diversi interpreti BASIC: IBM Cassette BASIC (BASIC C), residente in ROM, così detto perché capace di supportare le operazioni di lettura/scrittura su nastri magnetici; IBM Disk BASIC (BASIC D), che supportava invece le unità a dischi; IBM BASICA, o Advanced BASIC, evoluzione del BASIC D; GW-BASIC, compatibile con il BASICA ma che non richiedeva il BIOS originale IBM per poter funzionare; QuickBASIC, una versione derivata dal GW-BASIC, che non richiedeva i numeri di riga, integrava una IDE di sviluppo e poteva compilare i programmi; QBasic, derivato dal QuickBASIC ma senza compilatore. Anche altre società produssero delle versioni del BASIC per i PC IBM. Una di esse fu Borland, famosa per il suo Turbo Pascal, che rilasciò il Turbo Basic come versione compilata del linguaggio (il suo autore pubblica ancora il Turbo Basic sotto il nome di PowerBASIC).

Questi linguaggi introducevano molte estensioni ai BASIC sviluppati per gli home computer, come il supporto per la grafica, la manipolazione delle stringhe migliorata, nuovi tipi di dati, supporto per le unità a dischi e, soprattutto, i costrutti per la programmazione strutturata, come il supporto alle variabili locali e le strutture di controllo.

Le nuove capacità grafiche di questi linguaggi aprirono la strada alla creazione dei videogiochi per PC. Uno dei primi in tal senso si può considerare Donkey (noto anche come DONKEY.BAS dal nome del file), un simulatore di guida scritto da Neil Konzen, un dipendente Microsoft, e Bill Gates per mostrare ciò che il linguaggio ed un PC potevano fare.

Con il continuo aumento della diffusione dei PC crebbero anche i programmi offerti da altri per cui gli utenti lentamente passarono dallo stato di amatori che si autoscrivevano il software di cui avevano necessità a quello di utilizzatori di applicazioni reperibili normalmente in commercio. Con il diminuire dell'interesse degli utenti nella programmazione diminuì anche l'uso dei linguaggi di programmazione: a questa tendenza non sfuggì neanche il BASIC, la cui diffusione iniziò a calare nonostante le numerose versioni in circolazione.

Fine del XX secolo ad oggi[modifica | modifica sorgente]

Tre recenti varianti del Basic: Mono Basic, OpenOffice.org Basic e Gambas

Il BASIC tornò in auge negli anni novanta del XX secolo quando Microsoft presentò il Visual Basic (1991), anche se questo linguaggio si discostava molto dal BASIC originale, essendo più orientato agli oggetti ed alla programmazione ad eventi: l'unico punto di contatto con il vecchio BASIC era la sintassi simile. Sintassi che non definisce più il linguaggio stesso dato che una parte dello sviluppo di un'applicazione viene eseguita con la tecnica del drag and drop, ossia il trascinamento dei widget che andranno a comporre l'interfaccia grafica direttamente sulla finestra dell'applicazione. Il codice serve solo a gestire gli eventi generati ad esempio dalla pressione di un pulsante grafico e non più a scrivere il gestore stesso di tale evento, preimpostato nell'ambiente di sviluppo.

Nonostante il Visual Basic possa essere considerato come una evoluzione del linguaggio, rimangono pochi dei segni distintivi del primo Dartmouth BASIC, come la numerazione delle righe, adesso opzionale. Ed anche se indicato dal suo stesso nome come un linguaggio per "principianti", il Visual Basic permetteva la scrittura di applicativi anche complessi, come programmi per l'ufficio e piccoli giochi, che non risentivano della lentezza derivante dall'essere un linguaggio interpretato, dato che i computer che potevano eseguire i sistemi Windows 3.1/95 su cui giravano le prime versioni del Visual Basic erano sufficientemente potenti per eseguire anche programmi con una maggiore richiesta di risorse.

Nel corso degli anni sono comparsi diversi dialetti BASIC, tra cui il True BASIC, il diretto discendente del Dartmouth BASIC pubblicato da una società fondata dallo stesso Kurtz, il REALbasic, un linguaggio multipiattaforma che può compilare eseguibili per Mac OS X, Windows e Linux, Gambas, un dialetto del BASIC opensource per Linux molto simile al Visual Basic con una IDE che ricalca quella di quest'ultimo, il FreeBASIC, un progetto opensource compatibile con il QuickBASIC ma che introduce anche nuove funzionalità proprie

Caratteristiche[modifica | modifica sorgente]

Il BASIC, almeno nelle versioni di Kemeny e Kurtz che costituiscono il cosiddetto "Dartmouth BASIC", fu progettato per essere un linguaggio semplice da imparare. Per questo si differenziò dalla maggior parte dei linguaggi suoi coetanei enfatizzando la semplicità d'uso piuttosto che la potenza espressiva. Nacque infatti, come dice il suo nome, per poter essere usato anche da principianti (il 75% degli studenti dell'Università di Dartmouth era iscritto a facoltà umanistiche). Le istruzioni erano poche e non complesse. Il BASIC offriva inoltre (non per scelta degli autori, ma solo perché era figlio del suo tempo) pochi costrutti strutturati, quindi orientati alla creazione di programmi chiari e comprensibili. Fu pensato inoltre come un linguaggio algoritmico, adatto cioè a programmare algoritmi. Fu anche progettato per essere un linguaggio facilmente trasportabile su calcolatori diversi dal GE-225 su cui giravano le prime versioni. Concepito e realizzato originariamente come linguaggio compilato, molte delle sue versioni più note fanno tuttavia uso di interpreti.

Una delle più famose versioni è il Microsoft BASIC, sviluppato da Bill Gates, Monte Davidoff e Paul Allen come Altair BASIC per l'Altair 8800, poi evolutasi nel GW-BASIC per il primo MS-DOS. I microcomputer e gli home computer degli anni settanta ed ottanta, come l'Apple II, gli ZX80/ZX81/ZX Spectrum, i famosi VIC-20 e C-64, gli MSX, integravano nel loro firmware un interprete BASIC.

Programmi usati[modifica | modifica sorgente]

In ambiente Microsoft Windows per programmare in linguaggio BASIC è molto usato REALbasic che cerca di rispecchiare il più possibile la controparte di Microsoft. In ambiente GNU/Linux è senza ombra di dubbio il software open source Gambas il migliore per programmare in BASIC.Permette inoltre di sviluppare l'interfaccia di un programma sia utilizzando le GTK, quindi programmi integrati perfettamente nel desktop manager Gnome sia utilizzando le Qt perfette per l'integrazione in KDE. Il programma è distribuito sotto licenza GNU ed è completamente gratuito. Nel 2007 è nato QB64, un compilatore retrocompatibile col QuickBASIC che aggiunge le più moderne funzionalità.

Esempi di codice[modifica | modifica sorgente]

Hello world[modifica | modifica sorgente]

Il seguente esempio stampa il famoso testo "Hello world", uno dei più semplici programmi che chi impara un nuovo linguaggio di programmazione, generalmente scrive come primo passo verso il suo apprendimento:

10 PRINT "Hello World"
20 END

BASIC non strutturati[modifica | modifica sorgente]

Il seguente è un esempio di un programma in BASIC scritto senza l'utilizzo dei costrutti della programmazione strutturata. Il linguaggio utilizzato è il GW-BASIC, ma il codice si può convertire anche per altri dialetti con minime modifiche:

10 INPUT "Come ti chiami: ", U$
20 PRINT "Ciao "; U$
30 INPUT "Quante stelle vuoi: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Vuoi altre stelle? ", A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "S" OR A$ = "s" THEN GOTO 30
130 PRINT "Arrivederci "; U$
140 END

BASIC strutturati[modifica | modifica sorgente]

I BASIC di seconda generazione, come il QuickBASIC e il PowerBASIC, introdussero una serie di nuove caratteristiche nel linguaggio, primo fra tutti il supporto alla programmazione strutturata ed orientata alle procedure: i numeri di riga erano omessi e rimpiazzati dalle "etichette", dei segnalibri usati dalle istruzioni GOTO per i salti, e le funzioni e le subroutine sostituite dalle procedure, porzioni di codice richiamabili da altri punti del programma.[10]

INPUT "Come ti chiami: ", UserName$
PRINT "Ciao "; UserName$
DO
  INPUT "Quante stelle vuoi: ", NumStars
  Stars$ = STRING$(NumStars, "*") 
  PRINT Stars$
  DO
    INPUT "Vuoi altre stelle? ", Answer$
  LOOP UNTIL Answer$ <> ""
  Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "S"
PRINT "Arrivederci "; UserName$

BASIC orientati agli oggetti[modifica | modifica sorgente]

La terza generazione di dialetti BASIC, come il Visual Basic(di cui è anche disponibile la versione Smallbasic per i principianti), il REALbasic, l'OpenOffice.org Basic e Gambas, ha introdotto il supporto alla programmazione orientata agli oggetti ed il paradigma della programmazione ad eventi. Molte procedure e funzioni precostituite sono adesso rappresentate da metodi degli oggetti standard piuttosto che da operatori.

L'esempio seguente è scritto in Gambas:

PUBLIC SUB Form_Open()
  TextBox1.Clear
END
 
PUBLIC SUB Button1_Click()
DIM NumStars, Name AS String
DIM Flag AS Boolean
DIM Stars AS Integer
 
  IF TextBox1.Text <> "" THEN 
    Name = TextBox1.Text
    Message.Info("Ciao " & TextBox1.Text)
    Flag = TRUE
    WHILE Flag
      NumStars = InputBox("Quante stelle vuoi?")
      Stars = CInt(NumStars)
      IF Stars > 0 THEN 
        Message.Info(String$(Stars, "*"))
      ELSE 
        Flag = FALSE
      ENDIF 
    WEND 
  ENDIF 
END

BASIC avanzato[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi QB64.

Nel 2007 è nato un nuovo linguaggio appartenente alla famiglia BASIC, chiamato QB64: esso ha come scopo da una parte la piena compatibilità con il predecessore QuickBASIC, dall'altra la creazione di nuove funzioni grafiche, sonore e di compatibilità con i vari sistemi operativi avanzate, anche grazie alla capacità di supportare le più recenti librerie.

Variabili ed array[modifica | modifica sorgente]

Il Dartmouth BASIC supportava nomi di Variabili lunghi 1 sola lettera, eventualmente seguita da una sola cifra numerica. Nomi validi erano perciò A e A1 ma non AA. Altri dialetti, come l'Altair BASIC 4K consideravano solo i primi 2 caratteri del nome per cui VARIABILE1, VARIABILE2 e VA facevano riferimento allo stessa variabile.

I primi dialetti del BASIC non supportavano tutti i tipi di dati. Ad esempio, il Dartmouth BASIC e l'Altair BASIC supportavano sia i numeri interi che in virgola mobile, mentre l'Integer BASIC, il primo BASIC offerto con i computer Apple I e Apple II, supportava solo i numeri interi.

Le stringhe sono indicate con il suffisso "$" posto dopo il nome della variabile e sono racchiuse all'interno di una coppia di virgolette.

Gli array possono contenere numeri interi, in virgola mobile o stringhe ed avere più dimensioni.

Il seguente esempio crea una variabile stringa ed un array di 10 elementi (l'indice parte da 0). Per accedere poi all'elemento n usiamo la notazione A(n).

10 LET A$=""
20 DIM A(9)
30 A(2)=1
40 PRINT A(2)
50 END

Si possono usare variabili a doppio indice:

10 DIM A(10,10)
20 A(1,2)=20
30 PRINT A(1,2)

Elenco di comuni parole chiave del BASIC[modifica | modifica sorgente]

L'elenco che segue riporta alcune comuni parole chiave utilizzate nel BASIC:

Manipolazione dei dati[modifica | modifica sorgente]

  • LET (comando): assegna un valore (che può essere anche il risultato di un'espressione) ad una variabile
  • DATA (istruzione): introduce un elenco di valori che possono essere assegnati sequenzialmente dal comando READ.

Controllo del flusso[modifica | modifica sorgente]

  • IF..THEN..ELSE (istruzione): usate per eseguire confronti o prendere decisioni.
  • FOR..NEXT (istruzione): ripete una porzione di codice per un certo numero di volte. Nel ciclo viene usata una variabile che agisce da contatore.
  • WHILE..WEND e REPEAT..UNTIL (comandi): ripete una porzione di codice mentre la condizione di controllo è vera (ciclo WHILE..WEND) o finché non diventa vera (ciclo REPEAT..UNTIL). La condizione viene verificata all'inizio del ciclo (WHILE..WEND) oppure alla fine (REPEAT.UNTIL).
  • GOTO (comando): salta nel programma ad un determinato numero di riga o ad una specifica etichetta.
  • GOSUB (comando): salta ad eseguire una determinata porzione di codice, continuando ad eseguire il programma dall'istruzione successiva il GOSUB non appena viene incontrato il comando RETURN. Il GOSUB era usato per implementare le subroutine.
  • ON..GOTO/GOSUB (comando): esegue un salto in base al verificarsi di una determinata condizione.

Input/output[modifica | modifica sorgente]

  • PRINT (istruzione): visualizza un messaggio sullo schermo o su un altro dispositivo di output.
  • INPUT (istruzione): chiede all'utente di inserire un valore che sarà memorizzato in una variabile. Può includere un messaggio di testo.
  • TAB o AT (funzione): imposta la posizione dove stampare il prossimo carattere.

Vari[modifica | modifica sorgente]

  • REM (da Remark): introduce un commento del programmatore (il nome del programma, la spiegazione delle variabili utilizzate, le istruzioni d'uso del software). Tutto ciò che compare dopo il REM è ignorato dall'interprete o dal compilatore.

Varianti[modifica | modifica sorgente]

Dartmouth BASIC[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Dartmouth BASIC.

Il Dartmouth BASIC nacque come linguaggio compilato[2]. Era basato su elementi ripresi dall'Algol-6 e dal FORTRAN II con nuove aggiunte scritte per favorire la programmazione da parte dei nuovi utenti del sistema di timesharing, utenti iscritti a facoltà non matematiche con limitate conoscenze di programmazione.

Il Dartmouth BASIC fu scritto seguendo alcuni principi:

  • fosse facile da usare dai principianti;
  • fosse un linguaggio di uso generale;
  • fosse interattivo;
  • avesse delle caratteristiche più avanzate per gli utenti più esperti;
  • avesse messaggi di errore chiari;
  • fosse rapido nell'eseguire piccoli programmi;
  • fosse astratto dall'hardware (non richiedesse, cioè, la conoscenza delle specifiche della macchina su cui girava);
  • isolasse l'utente dal sistema operativo.

Kemeny e Kurtz non registrarono il linguaggio distribuendolo liberamente ma lo presentarono anche ad altri istituti scolastici favorendone la conoscenza. In questo modo il BASIC si diffuse rapidamente finendo per essere adottato da diversi costruttori di minicomputer quali la serie PDP di DEC ed il Nova di Data General. Il Dartmouth BASIC fu usato anche nell'HP Time-Shared BASIC, venduto tra la fine degli anni sessanta e l'inizio degli anni settanta, e nel sistema operativo Pick: questi ultimi utilizzi usavano una versione interpretata del linguaggio.

Alcuni anni dopo il suo rilascio, il Darthmouth BASIC fu oggetto di pesanti attacchi da parte di alcuni programmatori, in special modo Edsger Dijkstra, che esprimevano una dura presa di posizione contro l'utilizzo incondizionato delle istruzioni di salto del linguaggio, colpevoli di portare alla scrittura di codice illeggibile e di bassa qualità.[11] La lettera non menzionava nessun linguaggio ma era chiaro il riferimento al Dartmouth BASIC, che del GOTO, non avendo costrutti di programmazione strutturata, faceva un abbondante uso.

In un altro suo scritto del 1975 Dijkstra puntava nuovamente il dito contro l'uso del GOTO citando però esplicitamente il linguaggio BASIC.[12]

Quello che segue è un esempio di Dartmouth BASIC preso dal manuale di riferimento redatto nel 1964[13] che risolve 2 equazioni lineari a 2 incognite:

10 READ A1, A2, A3, A4
15 LET D = A1 * A4 - A3 * A2
20 IF D = 0 THEN 65
30 READ B1, B2
37 LET X1 = (B1 * A4 - B2 * A2)
42 LET X2 = (A1 * B2 - A3 * B1) / D
55 PRINT X1, X2
60 GO TO 30
65 PRINT "NO UNIQUE SOLUTION"
70 DATA 1, 2, 4
80 DATA 2, -7, 5
85 DATA 1, 3, 4, -7
90 END

Note[modifica | modifica sorgente]

  1. ^ "BASIC" è l'acronimo dell'inglese "beginner's all-purpose symbolic instruction code" (in italiano "codice di istruzione simbolica di uso generale per principiante"). Si veda ad esempio la voce «BASIC» del Jargon File.
  2. ^ a b Lettera di Thomas Eugene Kurtz, CIS-Alumni.org. URL consultato il 16/12/2010.
  3. ^ Biografia di Thomas Eugene Kurtz, BookRags.com. URL consultato il 16/12/2010.
  4. ^ William J. Hawkins, Orlando Guerra, Computer add-ons - kits you build for your home unit in Popular Science, vol. 212, nº 5, Bonnier Corporation, maggio 1978, pp. 64–68, issn 0161-7370.
  5. ^ Wayne Green, From the Publisher .. Are they real? in BYTE, vol. 1, nº 2, Green Publishing, ottobre 1975, pp. 61,81,87.
  6. ^ Stephen Manes, Paul Andrews, Gates, New York, Simon and Schuster, 1994, p. 90, ISBN 978-0-671-88074-3.
    (EN)
    « Roughly 900 copies had been accounted for between July and year's end. (...) MITS was shipping maybe a thousand machines a month, yet BASIC was selling in the low hundreds. »
    (IT)
    « Da giugno alla fine dell'anno ne furono registrate le vendite di circa 900 copie. (...) MITS spediva circa un migliaio di macchine al mese, mentre di BASIC ne vendeva meno di un centinaio. »
  7. ^ David H. Ahl, "BASIC Computer games" - raccolta di giochi in BASIC, David H. Ahl, 1978.
  8. ^ David H. Ahl, "More BASIC Computer games" - raccolta di giochi più complessi in BASIC, David H. Ahl, 1979.
  9. ^ David H. Ahl, "Big Computer games" - raccolta di giochi in BASIC, David H. Ahl, 1984.
  10. ^ Differenze fra il GW-BASIC ed il QBasic, 12/05/2003. URL consultato il 18/12/2010.
  11. ^ Edsger Dijkstra, "A Case against the GO TO Statement" - L'attacco di Dijkastra all'uso del GOTO nel BASIC, 1968. URL consultato il 16/12/2010.
  12. ^ Edsger Dijkstra, "How do We Tell Truths that Might Hurt" - Analisi dei linguaggi di programmazione di Dijkstra, 1975. URL consultato il 16/12/2010.
    (EN)
    « It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration »
    (IT)
    « È praticamente impossibile insegnare una buona programmazione agli studenti che hanno avuto delle precedenti esperienze con il BASIC: come potenziali programmatori essi sono mentalmente mutilati oltre ogni speranza di rigenerazione. »
  13. ^ Manuale di riferimento del Dartmouth BASIC, Dartmouth College Computational Center, 1964, p. 9.

Bibliografia[modifica | modifica sorgente]

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica