di  -  venerdì 7 ottobre 2011

Nel primo post di questa serie abbiamo parlato esclusivamente del BASIC, rappresentando un elemento portante della nascita stessa di Microsoft.

Ma già nei primi anni di attività, la società di Gates ed Allen non lesina interesse verso altri linguaggi.

Ambienti di sviluppo MS dalla fine anni ’70 a tutti gli anni ‘80

Come è evidenziato dalla figura sopra, praticamente tutti i linguaggi di programmazione più popolari entrano nell’orbita del big di Redmond. Cronologicamente parlando è il Fortran il “secondo amore” di Microsoft, rilasciato nel 1977.

In realtà il Fortran è anche il primo linguaggio con cui Gates è venuto a contatto. Infatti durante i suoi studi liceali gli viene assegnato il compito di scrivere un programma per organizzare la composizione delle classi (“class scheduling”), compito che il giovane Bill porta brillantemente a termine. Si racconta, inoltre, che Gates scrive anche una versione speciale dello scheduler che lo posiziona in classi composte solo da lui e da tutte le ragazze che lo ritengono carino.

Il compilatore realizzato da Microsoft, in parte scritto proprio da Gates e pensato per i sistemi CP/M, si impone sul mercato per l’alta qualità, rafforzata anche dall’ottima documentazione a corredo.

Microsoft Fortran

Nel 1981 è la volta di MASM ovvero il Microsoft Macro Assembler, il compilatore Assembler targato Microsoft per la piattaforma x86. MASM è lo strumento di più basso livello dell’ecosistema MS e il preferito dagli utenti esperti che devono “spremere” al massimo i propri sistemi. Inoltre MASM diventa velocemente il leader del settore incontrando nell’omologo Intel l’unico vero antagonista.

Del Macro Assembler vengono realizzate anche delle versioni spurie con suffisso “-80”, pensate per le CPU 8080 e Z80 e aventi come target il sistema operativo CP/M.

Microsoft Assembler

Nel 1983 per rafforzare lo standard MSX e l’MSX-DOS, Microsoft rilascia versioni specifiche del BASIC (80), del FORTRAN (80) e addirittura una specifica versione del COBOL (80).  In realtà la casa di Gates aveva già inserito nella propria offerta il COBOL, particolarmente rilevante per le applicazioni finanziarie e per gli istituti bancari. L’MS COBOL viene sviluppato durante tutti gli anni ’80 e raggiunge la veneranda versione 4.5 all’inizio del decennio successivo, con il COBOL 4.5 per DOS, WINDOWS e OS/2.

Microsoft COBOL 4.5

Anche il Fortran si evolve negli anni fino ad arrivare al FORTRAN PowerStation 4.0 (1994), con il supporto agli standard Fortran 66, Fortran 77 e Fortran 90, e ai sistemi operativi Windows NT e Windows 95. Ufficialmente Microsoft sospenderà il supporto a questo linguaggio a partire dal 1 Aprile del 1997.

Sempre nei primi anni ’80 arriva il compilatore Microsoft Pascal, pensato per offrire una versione made in Redmond del linguaggio principe per scopi didattici. Qui, tra l’altro, incontriamo Tandy Trower, responsabile dello sviluppo di parte dei linguaggi di BigM, ma, soprattutto, uomo chiave per le prime due release di Windows (Da Interface Manager a Windows 8). Come per il Basic, anche in questo caso arriva rapidamente il QuickPascal con l’IDE integrato stile Turbo Pascal.

Microsoft QuickPascal 1.0

Il matrimonio tra Microsoft ed il Pascal è, comunque, di breve durata e termina (1988) proprio con il QuickPascal, incapace di contrastare Borland, anche e soprattutto sul fronte dei prezzi: 400$  contro meno di 100$ del secondo.

Il 1983 è l’anno del C targato Redmond: Microsoft C 1.0, basato sul Lattice C (il primo compilatore C per PC IBM, nato per Amiga, e disponibile per un numero decisamente ampio di sistemi). La versione per DOS è particolarmente importante poiché grazie ad essa viene effettuato il porting di una serie rilevante di applicativi da CP/M, scritti in BDS C. Lo step di rilievo successivo è il rilascio (1985) della versione MS C 3.0, la prima interamente sviluppata da Microsoft ed utilizzata per lo sviluppo di Windows.

Le next release aggiungono il debugger CodeView (C 4.0), il primo compilatore a 32bit per processori i80386 (C 5.0), un primo supporto al C++ (C 6.0, 1989) fino ad arrivare all’ultima versione non “visual”, la C/C++ 7.0 (1992), che supporta nativamente il C++ e introduce le MFC 1.0 (Microsoft Foundation Classes) per lo sviluppo di interfacce grafiche.

Parallelamente nasce QuickC (1987) che porta con se l’IDE ormai standard della serie “Quick”, compatibile con lo standard ANSI C e la versione 5 del Microsoft C. Neanche a dirlo, il diretto competitor è ancora una volta Borland con il proprio Turbo C (omologo del Tubo Pascal) cosa che spinge Microsoft ad offrire la propria soluzione per 99$. Questa versione è comunque più limitata rispetto al fratello Microsoft C, soprattutto nella massima memoria utilizzabile, nella velocità del compilatore e nelle feauture di ottimizzazione del codice.

Nel complesso le tre versioni “Quick” (Basic, Pascal e C) dimostrano che già nella seconda metà degli anni ’80 il big di Redmond intuisce la necessità di uniformare i propri ambienti che, anche restando separati tra loro, cercano di assomigliarsi quanto più possibile per permettere agli sviluppatori cross-language di lavorare con ambienti familiari.

Chiudiamo questo secondo post preparandoci all’avvento degli ambienti di sviluppo per Windows e dedicando un ultimo pensiero al grande Steve Jobs che si è spento nella mattinata del 6 ottobre. Per questo riportiamo la frase del suo più grande antagonista, ovvero Bill Gates, che di Steve ha detto:

The world rarely sees someone who has had the profound impact Steve has had, the effects of which will be felt for many generations to come. For those of us lucky enough to get to work with him, it’s been an insanely great honor. I will miss Steve immensely.

“Il mondo raramente ha conosciuto qualcuno capace di avere sul mondo stesso un impatto profondo come quello di Steve, il cui effetto si sentirà ancora per generazioni. Per quanti tra noi sono stati così fortunati da lavorare con lui è stato un onore incredibilmente grande.

[Bill Gates]

Ciao Steve!

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
    Massimo M
     scrive: 

    Ho usato .. molti lustri fa sial il C di MS che il turboC.
    Nella sua versione 3.x era qualcosa di impareggiabile. Non ricordo i test dell’epoca, ma sempre il sistema era più stabile, garantiva una interfaccia grafica subito disponibile per qualsiasi applicazione. Debugger veramente all’altezza della situazione, che spinsero Borland al vertice dei sistemi IDE ed integrati del tempo.
    Come ho detto non ricordo gli articoli del tempo che fu e non posso dire se il codice era più ottimizzato e meglio sfruttato con Borland o con MS. Ma il primo è rimasto nel cuore degli sviluppatori MOLTO a lungo .. io ancora oggi uso il BCBuilder e su alcuni sistemi MS-DOS per controllo industriale ancora il compilatore Turtbo è presente per modifiche al codice “al volo”.

  • # 2
    Cesare Di Mauro
     scrive: 

    Non mi è chiaro questo passaggio:

    “Il 1983 è l’anno del C targato Redmond: Microsoft C 1.0, basato sul Lattice C (il primo compilatore C per PC IBM, nato per Amiga, e disponibile per un numero decisamente ampio di sistemi).”

    L’Amiga è nato (commercialmente) nel 1985.

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

    @Cesare, verissimo. “Commercialmente” l’Amiga è nato nel 1985 ma la sua prima apparizione avviene (in forma prototipale) già alcuni anni prima (Storia Amiga).
    :-)

  • # 4
    Cesare Di Mauro
     scrive: 

    Sì, la storia la conosco (ed è sempre un piacere rispolverarla, anche se scappa una lacrimuccia).

    Quel che mi colpisce è, sempre se non ho capito male, che dal compilatore Lattice C per Amiga sia poi nato quello per PC, nel 1983.

    Solo che l’Amiga, anche se nell’82 era già in lavorazione, era tutt’altro che pronto a livello di s.o. (molte parti furono aggiunte verso la fine) e, peraltro, si lavora quasi esclusivamente in assembly.

    Quindi il Lattice C dovrebbe essere arrivato penso ben dopo l’83. Tutto qui.

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

    @Cesare… si si sei assolutamente più ferrato di me sulla materia (infatti seguo sempre i tuoi approfondimenti).

    Il link è solo per i lettori.

    Per la data… cercherò di fare qualche ulteriore verifica ma il Lattice C è proprio datato 83 “thinking for Amiga”.

    Un suggerimento: perchè in parallelo non prepari un qualcosa di similare relativamente ai compilatori Amiga? (spero di non essermelo perso io).

    A presto e grazie come sempre per le puntualizzazioni.

    F.

  • # 6
    Cesare Di Mauro
     scrive: 

    Purtroppo ho avuto poca esperienza coi compilatori Amiga, perché ero sostanzialmente “appiattito” sull’utilizzo dell’assembly e relativi IDE (DevPac su tutti), a causa del tipo di progetti a cui ho lavorato (giochi, smanettamenti con l’hardware).

    Ho usato il Lattice C, ma per qualche progetto universitario (quindi siamo già ai primi anni ’90). So che c’era qualche altro compilatore quotato, come il Manx C e l’Aztec C, ma non ho mai approfondito.

    In verità, non digerendo il C, ho sempre cercato qualche compilatore di matrice pascaliana (ero anche molto attirato dal Modula-2, di cui c’era qualche prodotto per Amiga, con tanto di sorgenti) da usare per realizzare qualcosa non in assembly, ma c’era poca roba.

    Per sui se ho già difficoltà nel ricordare quali altri compilatori ho usato, figurati a pensare al periodo storico di riferimento. :D

    Comunque se davvero fosse confermata quella data per il Lattice C, beh, tanto di cappello all’azienda, soprattutto per la lungimiranza (Amiga, infatti, sarebbe “esplosa” commercialmente).

  • # 7
    Michele
     scrive: 

    Manca la traduzione all’ultima frase di Gates: “Steve mi manchera’ immensamente.”

  • # 8
    Giovanni
     scrive: 

    Volevo dire:

    1. E’ vero che il primo C di MS è proprio il Lattice… ma si tratta di quello originario per cpu intel e non del compilatore per Amiga, che tra l’altro è successivo e che esisteva anche per altre delle “mitiche” piattaforme “sorelle” tra cui l’ST.
    D’altra parte si trattava di una implementazione del linguaggio estremamente coerente con lo standard: dal mondo MS-DOS era stato escluso dopo l’acquisizione MS e quindi veniva fornito a prezzi molto interessanti per altre macchine di basa categoria e insieme ad un discreto pacchetto di “facilities” e strumenti per il debug che lo rendevano piuttosto pratico da usare… almeno per quei tempi!

    2. Per il resto, per quanto riguarda le mie abitudini di lavoro e quella che è stata la mia esperienza al tempo, l’interfaccia dei prodotti Quick di MS era decisamente la migliore. Anche e soprattutto nei confronti della diretta concorrente Borland seppure, ovviamente, questa fosse ben più economica! E per quanto riguarda gli ambienti di sviluppo, direi che ancor oggi Visual Studio sia qualcosa di decisamente eccellente.

    buon RC a tutti con http://www.jurassicnews.com … ciao

  • # 9
    Fulvio
     scrive: 

    bellissimo articolo
    spero che prosegua con le varie versioni visual

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.