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!