BASIC

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Disambiguazione– Se stai cercando altri significati, vediBasic.
BASIC
linguaggio di programmazione
Unoscreenshotdell'Applesoft BASIC,presente neglihome computerApple II
AutoreJohn George Kemeny
Thomas Eugene Kurtz
Data di origine1964
UtilizzoGenerico
ParadigmiNon strutturato
TipizzazioneForte
Estensionicomuni.BAS
Influenzato daFortran,FORTRAN II, JOSS eALGOL
Ha influenzatoVisual Basic

IlBASICè unlinguaggio di programmazioneadalto livellosviluppato nel1964presso ilDartmouth CollegesulcalcolatoreGE-225dai professoriJohn George KemenyeThomas Eugene Kurtz.

La parola è l'acronimodella frase inlingua ingleseBeginner's All-purpose Symbolic Instruction Code[1]ovvero - initaliano- "codice simbolico di istruzioni adatto a ogni esigenza dei principianti".[2]L'acronimo corrisponde anche all’aggettivo inglesebasic(«semplice»,«fondamentale»). Il primo programma in questo linguaggio venne eseguito il 1º maggio1964alle ore 4:00a.m.[3]

Il contesto storico e il Dartmouth BASIC

[modifica|modifica wikitesto]

Fino aglianni sessantai 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 ilDartmouth Collegeacquistò un proprio computer, unLGP-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 ditimesharingper 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 30terminaliGE 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 ilFORTRANe l'ALGOL,ma Kurtz e Kemeny studiarono un altro linguaggio che fosse più semplice da imparare e di uso generale, sviluppando così ilBASIC.[4]

Negli anni seguenti, con il nascere di diverse versioni del linguaggio, il BASIC sviluppato originariamente da Kemeny e Kurtz fu indicato comeDartmouth BASIC.

L'avvento deglihome computere l'Altair BASIC

[modifica|modifica wikitesto]
L'Altair BASICsunastro 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 la presentazione delMITS Altair 8800(un computer venduto in scatola di montaggio) all'inizio del 1975: 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.[5][6]

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 uneditorper la scrittura del codice, grandi quantitativi di memoria per l'interprete e sistemi dimemorizzazionequalifloppy diskper 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 primidialettiBASIC ad apparire per i computer basati sull'Intel 8080,una delle primeCPUin circolazione, come l'Altair 8800, fu ilTiny BASIC,scritto da Dennis Allison su richiesta diBob Albrecht,un membro dell'Homebrew Computer Clubche successivamente avrebbe fondato la rivistaDr. Dobb's Journal,su cui apparve ilcodice sorgentecompleto del Tiny BASIC nel1976.Fu però con l'introduzione dell'Altair BASICnel1975,un interprete che risiedeva in soli 4 kB di memoria scritto daBill GatesePaul Allen,che questo linguaggio iniziò a diffondersi in maniera marcata, grazie anche alle numerose copiepiratadel software, circa il 90% di quelle in circolazione.[7]

Distribuito inizialmente solo per l'Altair 8800, l'Altair BASIC fu, in seguito alla rescissione del contratto di esclusiva con MITS, commercializzato comeMicrosoft BASICdallaMicrosoft,una società fondata da Gates ed Allen nel 1975, anche per altre piattaforme hardware. Del Microsoft BASIC fu distribuita anche una versione denominataMBASICper ilsistema operativoCP/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 distribuire sempre più versioni del suo interprete.

IlCommodore BASIC2.0, evoluzione del linguaggio scritto per ilCommodore PET.

Nel1977furono presentati tre importantihome computerper i quali i loro costruttori scelsero come linguaggio integrato nelfirmwareil BASIC. Essi erano ilCommodore PET,l'Apple IIe ilRadio Shack TRS-80:il primo contiene unaversione adattataalMOS 6502del Microsoft BASIC; il secondo integra l'Applesoft BASIC,successore dell'Integer BASICe sviluppato con Microsoft; il terzo offre, 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 sono molto simili dato che i primi 50token,usati per memorizzare i comandi in una forma salvaspazio, sono gli stessi. Altre società che entrarono nel mercato degli home computer svilupparono la propria versione del BASIC:Atariper i suoicomputer a 8 bitsviluppò l'Atari BASIC,una versione studiata per risiedere in unacartucciada 8 kB.BBCpubblicò ilBBC BASIC,sviluppato daAcorn Computers,che integra molte istruzioni aggiuntive. Molti home computer degli anni ottanta hanno il BASIC residente nellaROMche viene 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, comeCommodore Computer Club,dedicata ai modelli Commodore, oSinclair Computer,per quelliSinclair.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 daDavid Ahl:BASIC Computer Games[8],More BASIC Computer Games[9]eBig Computer Games.[10]Microsoft realizzò anche l'AmigaBASICper i computer Commodore della serieAmiga,una versione del linguaggio che supporta l'interfaccia graficadi quelle macchine.

L'era deipersonal computer

[modifica|modifica wikitesto]
IlGW-BASIC3.23 distribuito con l'MS-DOS.

Nel1981IBMpresentò ilPCIBM 5150;ilsistema operativoera stato realizzato daMicrosoft,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 sunastri magnetici;IBM Disk BASIC(BASIC D), che supportava invece leunità a dischi;IBM BASICA,oAdvanced BASIC,evoluzione del BASIC D;GW-BASIC,compatibile con il BASICA ma che non richiedeva ilBIOSoriginale IBM per poter funzionare;QuickBASIC,una versione derivata dal GW-BASIC, che non richiedeva i numeri di riga, integrava unaIDEdi 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 fuBorland,famosa per il suoTurbo Pascal,che pubblicò ilTurbo Basiccome 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 dellestringhemigliorata, nuovitipi di dati,supporto per le unità a dischi e, soprattutto, i costrutti per laprogrammazione strutturata,come il supporto allevariabili localie lestrutture di controllo.Le nuove capacità grafiche di questi linguaggi aprirono la strada alla creazione deivideogiochiper PC. Uno dei primi in tal senso si può considerareDonkey(noto anche come DONKEY.BAS dal nome del file), unsimulatore di guidascritto 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.

Dalla fine del XX secolo ad oggi

[modifica|modifica wikitesto]
Tre recenti varianti del Basic:MonoBasic,OpenOffice.orgBasic eGambas

Il BASIC tornò in auge all'inizio deglianni novantaquando Microsoft presentò ilVisual Basicnel1991,anche se questo linguaggio si discostava molto dal BASIC originale, essendo più orientato agli oggetti ed allaprogrammazione ad eventi:l'unico punto di contatto con il BASIC originario era la sintassi simile, che non definisce più il linguaggio stesso dato che una parte dello sviluppo di un'applicazione viene eseguita con la tecnica deldrag and drop,ossia il trascinamento deiwidgetche 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 sistemiWindows 3.1/95su 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 ilTrue BASIC,il diretto discendente del Dartmouth BASIC pubblicato da una società fondata dallo stesso Kurtz, ilREALbasic,un linguaggio multipiattaforma che può compilare eseguibili permacOS,Windows eLinux,Gambas,un dialetto del BASICopen sourceper Linux molto simile al Visual Basic con una IDE che ricalca quella di quest'ultimo, ilFreeBASIC,un progetto opensource compatibile con il QuickBASIC ma che introduce anche nuove funzionalità proprie.

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 programmarealgoritmi.Fu anche progettato per essere un linguaggio facilmente trasportabile sucalcolatoridiversi dal GE-225 su cui giravano le prime versioni. Concepito e realizzato originariamente comelinguaggio compilato,molte delle sue versioni più note fanno tuttavia uso diinterpreti.

Una delle più famose versioni è ilMicrosoft BASIC,sviluppato daBill Gates,Monte DavidoffePaul AllencomeAltair BASICper l'Altair 8800,poi evolutasi nelGW-BASICper il primoMS-DOS.Imicrocomputere glihome computerdeglianni settantaedottanta,come l'Apple II,gliZX80/ZX81/ZX Spectrum,i famosiVIC-20eC-64,gliMSX,integravano nel lorofirmwareun interprete BASIC.

Programmi usati

[modifica|modifica wikitesto]

In ambienteMicrosoft Windowsper programmare in linguaggio BASIC è molto usatoREALbasicche cerca di rispecchiare il più possibile la controparte diMicrosoft. In ambienteGNU/Linuxè senza ombra di dubbio ilsoftware open sourceGambasil migliore per programmare in BASIC. Permette inoltre di sviluppare l'interfaccia di un programma sia utilizzando leGTK,quindi programmi integrati perfettamente nel desktop managerGNOMEsia utilizzando leQtperfette per l'integrazione inKDE.Il programma è distribuito sotto licenzaGNUed è completamente gratuito. Nel 2007 è natoQB64,un compilatore retrocompatibile col QuickBASIC che aggiunge le più moderne funzionalità.

Esempi di codice

[modifica|modifica wikitesto]

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:

1PRINT"Hello World"
2END

BASIC non strutturati

[modifica|modifica wikitesto]

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:

1INPUT"Come ti chiami:",U$
2PRINT"Ciao";U$
3INPUT"Quante stelle vuoi:",N
4S$=""
5FORI=1TON
6S$=S$+"*"
7NEXTI
8PRINTS$
9INPUT"Vuoi altre stelle?",A$
10IFLEN(A$)=0THENGOTO9
11A$=LEFT$(A$,1)
12IFA$="S"ORA$="s"THENGOTO3
13PRINT"Arrivederci";U$
14END

BASIC strutturati

[modifica|modifica wikitesto]

I BASIC di seconda generazione, come ilQuickBASICe ilPowerBASIC,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 istruzioniGOTOper i salti, e le funzioni e lesubroutinesostituite dalle procedure, porzioni di codice richiamabili da altri punti del programma.[11]

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

BASIC orientati agli oggetti

[modifica|modifica wikitesto]

La terza generazione di dialetti BASIC, come ilVisual Basic(di cui è anche disponibile la versione Smallbasic per i principianti), ilREALbasic,l'OpenOffice.org BasiceGambas,ha introdotto il supporto allaprogrammazione orientata agli oggettied ilparadigmadellaprogrammazione ad eventi.Molte procedure e funzioni precostituite sono adesso rappresentate dametodidegli oggetti standard piuttosto che daoperatori.

L'esempio seguente è scritto inGambas:

PUBLICSUBForm_Open()
TextBox1.Clear
END

PUBLICSUBButton1_Click()
DIMNumStars,NameASString
DIMFlagASBoolean
DIMStarsASInteger

IFTextBox1.Text<>""THEN
Name=TextBox1.Text
Message.Info("Ciao"&TextBox1.Text)
Flag=TRUE
WHILEFlag
NumStars=InputBox("Quante stelle vuoi?")
Stars=CInt(NumStars)
IFStars>0THEN
Message.Info(String$(Stars,"*"))
ELSE
Flag=FALSE
ENDIF
WEND
ENDIF
END

Variabili e array

[modifica|modifica wikitesto]

Il Dartmouth BASIC supportava nomi diVariabililunghi 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 4Kconsideravano solo i primi 2 caratteri del nome per cui VARIABILE1, VARIABILE2 e VA facevano riferimento alla stessa variabile.

I primi dialetti del BASIC non supportavano tutti i tipi di dati. Ad esempio, il Dartmouth BASIC e l'Altair BASICsupportavano sia inumeri interiche invirgola mobile,mentre l'Integer BASIC,il primo BASIC offerto con i computerApple IeApple II,supportava solo i numeri interi.

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

Gliarraypossono 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'elementonusiamo la notazioneA(n).

10LETA$=""
20DIMA(9)
30A(2)=1
40PRINTA(2)
50END

Si possono usare variabili a doppio indice:

10DIMA(10,10)
20A(1,2)=20
30PRINTA(1,2)

Elenco di comuni parole chiave del BASIC

[modifica|modifica wikitesto]

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

Manipolazione dei dati

[modifica|modifica wikitesto]
  • 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 wikitesto]
  • 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.
  • 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.
  • REM (daRemark): 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.

Dartmouth BASIC

[modifica|modifica wikitesto]
Lo stesso argomento in dettaglio:Dartmouth BASIC.

Il Dartmouth BASIC nacque come linguaggio compilato[3].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;
  • fosseinterattivo;
  • avesse delle caratteristiche più avanzate per gli utenti più esperti;
  • avesse messaggi di errore chiari;
  • fosse rapido nell'eseguire piccoli programmi;
  • fosseastrattodall'hardware (non richiedesse, cioè, la conoscenza delle specifiche della macchina su cui girava);
  • isolasse l'utente dalsistema 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 diminicomputerquali la seriePDPdiDECed ilNovadiData 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 operativoPick:questi ultimi utilizzi usavano una versione interpretata del linguaggio.

Alcuni anni dopo la sua diffusione, il Dartmouth BASIC fu oggetto di pesanti attacchi da parte di alcuniprogrammatori,in special modoEdsger Dijkstra,che esprimevano una dura presa di posizione contro l'utilizzo incondizionato delleistruzioni di saltodel linguaggio, colpevoli di portare alla scrittura di codice illeggibile e di bassa qualità.[12]La lettera non menzionava nessun linguaggio ma era chiaro il riferimento al Dartmouth BASIC, che del GOTO, non avendo costrutti diprogrammazione strutturata,faceva un abbondante uso.

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

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

10READA1,A2,A3,A4
15LETD=A1*A4-A3*A2
20IFD=0THEN65
30READB1,B2
37LETX1=(B1*A4-B2*A2)/D
42LETX2=(A1*B2-A3*B1)/D
55PRINTX1,X2
60GOTO30
65PRINT"NO UNIQUE SOLUTION"
70DATA1,2,4
80DATA2,-7,5
85DATA1,3,4,-7
90END
  1. ^Si veda ad esempio lavoce «BASIC»delJargon File.
  2. ^BASIC nel Vocabolario Treccani on-line,sutreccani.it.
  3. ^abLettera di Thomas Eugene Kurtz,sucis-alumni.org.URL consultato il 16 dicembre 2010.
  4. ^Biografia di Thomas Eugene Kurtz,subookrags.com.URL consultato il 16 dicembre 2010.
  5. ^William J. Hawkins, Orlando Guerra,Computer add-ons - kits you build for your home unit,inPopular Science,vol. 212, n. 5, Bonnier Corporation, maggio 1978, pp. 64–68, issn 0161-7370.
  6. ^Wayne Green,From the Publisher.. Are they real?,inBYTE,vol. 1, n. 2, Green Publishing, ottobre 1975, pp. 61,81,87.
  7. ^Stephen Manes, Paul Andrews,Gates,New York, Simon and Schuster, 1994, p. 90,ISBN978-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.»

  8. ^David H. Ahl,"BASIC Computer games" - raccolta di giochi in BASIC,David H. Ahl, 1978.
  9. ^David H. Ahl,"More BASIC Computer games" - raccolta di giochi più complessi in BASIC,suatariarchives.org,David H. Ahl, 1979.
  10. ^David H. Ahl,"Big Computer games" - raccolta di giochi in BASIC,David H. Ahl, 1984.
  11. ^Differenze fra il GW-BASIC ed il QBasic,susupport.microsoft.com,12 maggio 2003.URL consultato il 18 dicembre 2010.
  12. ^Edsger Dijkstra,"A Case against the GO TO Statement" - L'attacco di Dijkastra all'uso del GOTO nel BASIC,sucs.utexas.edu,1968.URL consultato il 16 dicembre 2010.
  13. ^Edsger Dijkstra,"How do We Tell Truths that Might Hurt" - Analisi dei linguaggi di programmazione di Dijkstra,sucs.virginia.edu,1975.URL consultato il 16 dicembre 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.»

  14. ^BASIC (1964),p. 3.

Collegamenti esterni

[modifica|modifica wikitesto]
Controllo di autoritàLCCN(EN)sh85012076·GND(DE)4004624-2·BNF(FR)cb11939574k(data)·J9U(EN,HE)987007284639805171
 Portale Informatica:accedi alle voci di Wikipedia che trattano di informatica