di  -  venerdì 30 settembre 2011

In uno dei post precedenti (Konrad Zuse, dai calcolatori all’Helix-Tower)  abbiamo parlato, anche se non in un contesto specifico, del primo linguaggio di programmazione, ovvero il Plankalkül.

In realtà da allora di strada ne è stata fatta e oggi ci troviamo difronte ad una miriade di linguaggi, più o meno potenti, tra cui scegliere. Inoltre, se durante gli anni ’90 la sfida tra i vari produttori è decisamente agguerrita (basti pensare a Borland), oggi il ruolo da primo attore tocca a Microsoft con il proprio dotNet e la suite Visual Studio.

Sulla scia di quanto raccontato da Massimo Bonanni (MVP Microsoft) durante il Tech Day dell’Evento “Comunicando” di Avellino, ci occuperemo proprio dell’evoluzione degli ambienti di sviluppo Microsoft.

Temporalmente possiamo suddividere l’evoluzione degli strumenti di sviluppo di BigM in 4 fasi:

  • Le origini: il Basic!
  • Anni ‘70-’80 : poco più che compilatori a riga di comando ed editor di base;
  • Anni ’90 : primi IDE a finestre (grazie all’arrivo di Windows);
  • Dal 2000 ad oggi: l’ambiente di sviluppo si trasforma in una vera piattaforma di sviluppo con l’ambiente di sviluppo multi-linguaggio Visual Studio .NET.

Microsoft Development Evo: Le origini targate Basic

Nel 1975 l’Altair di Ed Roberts presenta l’Altair 8800, il primo microcalcolatore disponile al grande pubblico. Si tratta di una vera e propria rivoluzione tanto che il numero di gennaio della rivista Popular Electronics con esso da ufficialmente inizia all’era dell’informatica per tutti presentandolo in copertina.

La copertina del numero di Popular Electronics dedicata all’Altair 8800

Su questo sistema Bill Gates e Paul Allen sviluppano una versione specifica del linguaggio Basic che servirà da traino per la fondazione della Micro-Soft (notare il trattino) focalizzata, nei primi anni, proprio sulla sua commercializzazione ad una serie eterogenea di clienti, tra cui General Electric.

L’MS Basic è decisamente diverso dalla concezione odierna di compilatore/interprete ed inoltre è possibile averlo in modalità stand-alone, ovvero con capacità di boot del sistema. Nello specifico la versione per l’Altair occupa circa 4 KB di memoria ed è riversato su nastro perforato, l’unico supporto di input accettato dal sistema. Una delle cose che hanno fatto storia è la scrittura del programma di boot dell’interprete che viene scritto da Paul Allen sul volo per Albuquerque per la consegna dell’interprete stesso.

 

L’Altari 8800 Basic

Lo step evolutivo successivo è BASIC-A (Basic Advance) il BASIC per DOS, ancora interpretato e, ovviamente, a riga di comando. Questa versione può essere eseguito solo su PC IBM originali (non cloni), andando a leggere una particolare configurazione nel BIOS, spingendo Microsoft, decisa a vendere il proprio DOS anche a produttori terzi (Compaq in primis), a iniziare lo sviluppo di un BASIC cross-partner da includere nell’MS DOS e che acquista il prefisso GW. Sul significato di questo prefisso, che non è mai stato spiegato ufficialmente, ancora oggi restano in piedi due possibili ipotesi:

  • Graphics and Windows BASIC o Gee Whiz (“diamine”, “perbacco”) per il grande numero di istruzioni grafiche in 2D contenute nel linguaggio
  • GW sarebbero le iniziali di Greg Whitten, dipendente Microsoft, che contribuì agli standard BASIC;

Il GW Basic diventa il complemento standard dell’MS-DOS tanto che come il sistema operativo, anch’esso viene personalizzato dal vendor specifico.

Manuale GW Basic Olivetti Branded

Il GW Basic si evolve velocemente, trasformandosi in QuickBASIC e aggiungendo il supporto ai tipi definiti dall’utente, alle strutture avanzate, ad una grafica migliore, un supporto al disco avanzato e, soprattutto, un compilatore che consente di distribuire direttamente l’applicazione e non il sorgente. Siamo nel 1985 e l’intero ambiente viene distribuito esclusivamente su floppy da 5,25”, mentre per la disponibilità sui supporti da 3,5” bisognerà aspettare la release 2.0 rilasciata l’anno successivo.  La versione 2.0 porta in dote la tipica interfaccia utente che accompagnerà il prodotto per il suo intero ciclo di produzione/vendita.

 

Microsoft Quick Basic

Il 1988 segna il rilascio dell’ultima versione di QuickBasic, la 4.5, messo in secondo piano dallo sviluppo del nuovo (e per certi versi rivoluzionario) Visual Basic, disponibile nella versione 1.0 anche per DOS. In realtà il supporto da parte di Microsoft continuerà per diversi anni tant’è che nel 1990 viene rilasciata una nuova versione 4.5 proposta in un package completamente rivisto, così come rivista risulta la manualistica. Curiosità è che anche in questa nuova veste, l’ambiente viene reso disponibile sia su floppy da 3,5” che sugli ormai obsoleti dischi da 5,25”.

Dal QuickBasic 4.5 viene “estratta” una versione light denominata QBasic e fornita con l’MS-DOS dalla versione 5.0 (il PC DOS 5.0 include QBasic ma viene rimosso nella prima versione di fix  5.00.1, in seguito alla completa rottura di IBM con Microsoft). Rispetto al fratello maggiore, QBasic dispone del solo interprete, manca di alcune funzioni e moduli e può eseguire applicazioni di dimensioni modeste.

Insieme a QBasic, Microsoft fornisce il codice di due giochi di esempio: l’onnipresente Snake(Nibbles) e Gorillas, anche se quest’ultimo, ad essere precisi, è scritto da IBM e non dalla casa di Gates.

Gorillas

QBasic ha una vita più longeva del QuickBasic, tanto da essere presente addirittura in Windows 95 e Windows NT e alcune versioni di OS/2, anche se resta sostanzialmente immutato nel tempo. Solo dal 2000 Microsoft annuncia ufficialmente che non includerà più l’interprete nei suoi sistemi operativi, creando così un ecosistema di interpreti/compilatori QBasic like, come ad esempio FreeBasic disponibile per DOS, Windows e Linux.

Free Basic

Chiudiamo con un post nostalgico che lo stesso Gates ha inviato a GIZMODO nel 2009, relativo ad uno serie di post che celebravano il 1979:

“I read those 1979 stories all last week, and it put me in a nostalgic mood, so wanted to offer my own memory to add to the collection.

In 1979, Microsoft had 13 employees, most of whom appear in that famous picture that provides indisputable proof that your average computer geek from the late 1970s was not exactly on the cutting edge of fashion. We started the year by moving from Albuquerque back to Bellevue, just across the lake from Seattle. By the end of the year we’d doubled in size to 28 employees. Even though we were doing pretty well, I was still kind of terrified by the rapid pace of hiring and worried that the bottom could fall out at any time.

What made me feel a little more confident was that 1979 was the year we began to sense that BASIC was right on the verge of becoming the standard language for microcomputers. We knew this could be the catalyst that would unlock the potential of the PC to democratize computing and create the right conditions for an explosion in programs and applications that would lead to really rapid growth of the PC market.

By the middle of 1979, BASIC was running on more than 200,000 Z-80 and 8080 machines and we were just releasing a new version for the 8086 16-bit microprocessor. As the numbers grew, we were starting to think beyond programming languages, too, and about the possibility of creating applications that would have real mass appeal to consumers. That led to the creation of the Consumer Products Division in 1979. One of our first consumer products was called Microsoft Adventure, which was a home version of the first mainframe adventure game. It didn’t have all the bells and whistles of, say, Halo, but it was pretty interesting for its time.

Back in the 1970s, there was a publication called the International Computer Programs Directory that handed out what was known as the ICP Million Dollar Award for applications that had more than $1 million in annual sales. In the late 1970s the list included more than 100 different products, but they were all for mainframes. In April, the 8080 version of BASIC became the first software product built to run on microprocessors to win an ICP Million Dollar Award. That was a pretty good sign that a significant shift was underway.

Today, I would be surprised if the number of million-dollar applications isn’t in the millions itself, and they range from apps and games created by a single developer working at home that you can download to your cell phone to massive solutions built by huge development teams that run the operations of huge corporations.

More important, of course, is the fact that more than a billion people around the world use computers and digital technology as an integral part of their day-to-day lives. That’s something that really started to take shape in 1979.” [Bill Gates]

QBASIC Gorillas

9 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Fabrizio
     scrive: 

    Bella questa nuova serie di articoli!

    Un paio di sviste:

    > la versione per l’Altair occupa circa KB di memoria e…

    > manca di alcune funzioni e moduli e può eseguire di dimensioni modeste…

    Ciao!

  • # 2
    Felice Pescatore (Autore del post)
     scrive: 

    @Fabrizio: grazie della segnalazione :-)

  • # 3
    iva
     scrive: 

    Interessante, al piu’ presto il prossimo articolo, mi raccomando!

  • # 4
    Mauro
     scrive: 

    Gorillas!!! Lo avevo scordato completamente!
    Che ricordi!

  • # 5
    Fabrizio
     scrive: 

    Dimenticavo, sulle origini del nome GWBasic non girava anche la leggenda relativa a Gates William?

    Ciao e ancora complimenti per gli articoli
    ed il tuo sito!

  • # 6
    Giovanni
     scrive: 

    Certo interessante anche se un po’ troppo frettoloso, anche a fronte della necessaria brevità dell’intervento, il passaggio dall’ Altair Basic al BASICA… nel mezzo ci sono tantissime implementazioni dell’ MS-BASIC che hanno popolato centinaia di microcomputer (compreso Apple II e tutti i Commodore compreso Amiga!) e ancora più macchine CP/M.
    Verso la fine degli anni ’70 il Basic, e quello MS nella fattispecie, poteva costituiva realmente un motivo di unificazione tra macchine diversissime ed esistevano interessanti diffusioni di sorgenti (ricordo benissimo quelli per MS-Basic su CP/M co alcuni programmi di utilità, alcuni assolutamente inutili e parecchi giochini attualmente impoponibili come adventure testuali quali Zork).

    Qualche tempo fa ho scritto una breve ricerca a proposito del basic
    http://www.gbnetwork.it/retrocomputer/special.php?cont=indice&right=01&art=3
    che dovrebbero iniziare a pubblicare da questo mese su http://www.jurassicnews.com
    …per chi fosse incuriosito dalla cosa…

    buon retrocomputing a tutti… ciao ciao

  • # 7
    Cesare Di Mauro
     scrive: 

    Già. C’era il mitico AmigaBasic, in dotazione all’Amiga 1000 (quindi parliamo del 1985), che fu il primo interprete Basic… senza numeri di linea!

  • # 8
    Antonio CHESSA
     scrive: 

    Ciao leggo questa rubrica da diverso tempo e la trovo interessantissima non solo ma a volte ho appreso diverse cose che non conoscevo r quindi non posso che essere content. Tuttavia avrei un piccolo, non so proprio come definirlo, se problema o esigenza. Putroppo quello che ho rilevato nella vs. rubrica l’ho rilevato in quasi tutte le pubblicazioni di informatica e sinceramente non ne so dare una spiegazione. Arrivo al problema e cioè trovo gli articoli ben scritti ma che tuttavia abbondano di termini diciamo tecnici Scritti in Inglese. ASwmbra quasi che gli articoli siano scritti per pochi intimi ai quali si parla in italiano solamente per ricordare che viviamo in italia ma potreste dialogare tranquillamente in Inglese perchè non ci sarebbero problemi di comprensione. Ora pero visto che forse vi fa piacere sapere che siete seguiti da moltissima gente che magari non conosce tutti i termini tecnici in inglese, Vi chiederei di esaminare la possibilità ogni qualvolta che desiderate inserire un termine inglese, che sia tecnico o meno poco importa,provaste a metterne l’equivalente in italiano o nel caso non esista la traduzione almeno una locuzione che ne faccia capire il significato. Attenzione non vi sto chiedendo di tradurre alcuni termini ormai già noti e forse anche già acquisiti nel discorso di moltissimi italianio, come esempio porto “file” che potrebbe essere tradotto “contenitore” ma che poi creerebbe confusione o come l’espressione “directory” tradotto a suo tempo come direttorio e non come io ritengo migliore “indirizzario” e oggi molto usato scheda. Per esempio il messaggio di Gates inserito in questo articolo va benissino riportato integrale per dare piacere a chi ama leggere l’origibalke per poterne compendere tutte le sfumature dell’autore piuttosto che quelle del traduttore,io comunque avrei avuto piacere che ci fosse la traduzione. Non conosco bene l’inglese ma credo che come me c’è ne siano parecchi.
    Comunque ringrazio per l’attenzione e complimenti per tutti gli articoli

  • # 9
    Felice Pescatore (Autore del post)
     scrive: 

    @Antonio. Ti ringrazio moltissimo del tuo commento. In realtà quello che hai evidenziato è fondamentale per questa rubrica che non vuole essere asslutamente pensata per pochi, ma inquadrata nell’ottica di raccontare la storia informatica nel modo più semplice e chiaro possibile. Questo perchè stiamo parlando di un settore che ha completamente rivoluzionato il nostro modo di vivere e lavore e quindi parliamo di “Cultura” dell’informatica.
    Nei prossimi articoli ti prometto che tutti i contenuti in inglese saranno puntualmente accompagnati dalla relativa traduzione.
    Se non dovessi riuscire nell’intento di essere chiaro anche ad una persona per la quale il computer è null’altro che un oggetto che occupa la scriva… beh… non potrei sentirmi soddisfatto e non protrei dire di aver centrato l’obiettivo di questi articoli.

    Rimedierò e mi raccomando… non mancare di evidenziare eventuali dimenticanze.

    Grazie

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.