Qual è il linguaggio di programmazione BASIC?

Logo BASIC

Il BASIC è 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.

Storia

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 (Beginner's All-purpose Symbolic Instruction Code).

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

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.

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.

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 distribuita 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 distribuire sempre più versioni del suo interprete.

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, More BASIC Computer Games e Big Computer Games. 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

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 pubblicò 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

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

RITORNO

  • 18 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?

Articoli Correlati

Che cosa è un dominio Internet?

A domain name is an identification string that defines a realm of administrative autonomy,...

Che cosa è un social media?

Social media, in italiano media sociali , è un termine generico che indica tecnologie e...

Che cos'è il DNS?

Il sistema dei nomi di dominio (in inglese: Domain Name System, DNS), è un sistema utilizzato...

Qual è la nuvola informatica?

Con il termine inglese cloud computing (in italiano nuvola informatica) si indica un paradigma...

Qual è il protocollo Internet IPv6?

IPv6 è la versione dell'Internet Protocol designata come successore dell'IPv4. Tale protocollo...

Powered by WHMCompleteSolution