2. I primi IDE a finestre e la convergenza degli ambienti

Microsoft è da sempre prim'attore nel mondo dello sviluppo e in questo articolo scopriremo i 40anni di linguaggi di sviluppo made in Redmond

Avatar di Tom's Hardware

a cura di Tom's Hardware

I primi IDE a finestre e la convergenza degli ambienti

image13

Gli anni '90 si caratterizzano per l'esplosione di Windows e del "mondo a finestre". L'ottica MS cambia con una visione a più lungo respiro e arrivano i primi e veri IDE (Integrated Development Environment), ovvero i primi ambienti integrati di sviluppo. Si inaugura così l'era "VISUAL" e il portabandiera non poteva non essere che Visual Basic. Il "papà" di VB è Alan Cooper, che, il 6 marzo del 1988, si presenta da Bill Gates per mostrargli un prototipo di shell drag-and-drop chiamata Tripod (scritto interamente in C), in grado di trascinare dei widget su un'area applicativa e gestirli attraverso un modesto linguaggio di sviluppo. Gates ne intuisce subito le potenzialità e Microsoft acquista il concept, rinominandolo in Ruby.

Cooper racconta così l'incontro con Gates:

AlanCooper

Because I was in the business of inventing programs and selling them to publishers, I began to show Tripod around the industry. Many companies in Silicon Valley saw it, but few expressed serious interest. However, in March of 1988, I showed this prototype to Bill Gates, and he immediately saw its potential. He declared that it was "cool" and that it would have significant impact across their entire product line. Bill said he wanted to buy it, and over the next few months we hammered out a deal. Because the name Tripod had had so much exposure, we promptly changed it to "Ruby." Meanwhile, I put together a team of skilled programmers to build a release-quality program.

[Poiché ero nel business di chi creava programmi per poi cercare una software house che lo vendesse, cominciai a far visionare Tripod alle industrie di settore. Molte compagnie della Silicon Valley videro il sistema, ma poche espressero un reale interesse. Nel marzo del 1988 mostrai il prototipo a Bill Gates che immediatamente ne vide le potenzialità. Da subito dichiarò che Tripod era "cool" e che poteva avere un impatto significativo su tutta la loro linea di prodotti. Bill disse di volerlo acquistare,  e nei mesi successivi raggiungemmo un accordo. Poiché il nome Tripod era stato molto esposto, rinominammo il sistema in "Ruby". Nel frattempo misi insieme un team esperto per realizzare una build di qualità del programma]

Tre anni dopo (20 Marzo 1991), dal matrimonio tra Quick Basic (che sostituì l'iniziale linguaggio di scripting) e Ruby, nasce Thunder, rilasciato ufficialmente come Visual Basic 1.0 a Maggio del 1991, durante il Comdex/Windows World Trade Show in Atlanta, Georgia. Si tratta di un linguaggio di terza generazione di tipo event-driven, dotato di un ambiente che permette lo sviluppo rapido e semplificato di applicazioni Windows, con tanto di accesso al DB point-and-click, sulla falsa riga di PowerSoft Powerbuilder.

Una curiosità che ricorda le origini di VB: i controlli creati dal runtime di VB hanno avuto per molto tempo il nome interno che iniziava con il prefisso Thunder (ad esempio i bottoni, internamente, erano conosciuti come ThunderCommandButton).

image14

Visual Basic 1.0 (fronte)

image15
Visual Basic 1.0 (retro)

Nella seconda metà del 1992 (settembre) viene rilasciato Visual Basic per DOS. Al di là del nome, questa versione non ha nulla a che fare con quella Windows, essendo più che altro un'evoluzione del QuickBasic. Inoltre il linguaggio stesso è incompatibile con quello di VB per Windows.

image16
Visual Basic per DOS

A Visual Basic bastano un paio d'anni per raggiungere la prima versione matura di VB, ovvero la 3.0, rilasciata a giugno del 1993. Passando per la versione 2, VB si arricchisce di alcuni tool prodotti da terzi (come lo Sheridan Software's VBAssist Debuts), nonché della prima implementazione di ODBC, delle FORM MDI e diverse migliorie al linguaggio in sé. Sicuramente, però, il grande valore aggiunto è l'integrazione del motore JET 1.1 di Access e la capacità di supportare pienamente OLE (Object Linking and Embedding) 2.0.

image17
L'IDE di VB 3.0

Nella scala temporale, il secondo ambiente con cui veniamo a contatto è FoxPro (1993, ancora non "visual"). Originariamente pubblicato dalla Fox Software (1984) per DOS, Windows, Macintosh e UNIX, entra nella sfera Microsoft nel 1992, quando il big di Redmond decide di acquistare l'intera società.

image18

Si tratta di un linguaggio di programmazione procedurale orientato alla gestione dei dati relazionali e basato su un potente engine DBMS (Database Management System) senza funzionalità transazionali e quindi non adatto ad ambienti Enterprise.

Microsoft ne decide l'acquisizione per entrare in modo deciso nel mondo xBase, considerando il proprio "Ciruss" (al secolo: Access) una soluzione da integrare nella suite Office, ideale per lo sviluppo di applicazioni DESK, sulla falsa riga di Borland Paradox, ma non sufficiente per il mondo professional. In particolare l'acquisto di Fox porta a Redmond la tecnologia "Rushmore", un sistema di ottimizzazione delle interrogazioni SQL di cui beneficerà anche lo stesso motore Jet di Access.  A differenza dei pasticci combinati da Borland nella gestione parallela di Paradox e dBase (divenuto di Borland in seguito all'acquisizione di Ashton-Tate), Microsoft riesce a gestire brillantemente i due sistemi, anche se le attività di marketing e promozione sono tutte concentrate su Access.

image19 JPG
FoxPro diventa "Microsoft"

A febbraio del 1993 arriva anche Visual C++, successore della serie dei compilatori C/C++, QuickC. Inizialmente rilasciato solo nell'edizione a 16bit, viene subito affiancato da quella a 32bit, e riunito in un unico package "16/32 bit", anche se le versioni sono differenti: 1.5 (rilasciata a dicembre del 1993) per quella a 16bit, 1.0 per quella a 32bit.  C'è da precisare che la prima versione a 32bit non ha il supporto a OLE 2.0 e ODBC, cosa che favorisce, ancora per un po', l'utilizzo di quella a 16bit.

image20
Visual C++ 1.5

La versione 1.5 è l'ultima release a 16-bit, anche se non mancheranno dei fix update che porteranno la 1.5 alla 1.52c, incluse in Visual C++ 2.x, disponibile solo nella versione a 32bit e dotato delle MFC 3.0.

Nel 1994 la partnership tra le Microsoft e Sybase, in relazione ai database, si dissolve, soprattutto per volontà della prima che decide di concentrarsi sui prodotti per NT ed ha la necessità di essere libera nelle scelte delle modifiche relative alla propria soluzione RDBMS. Così BigM prende il pieno controllo dello sviluppo di SQL Server, con l'accordo di riservare a Sybase una corsia preferenziale per il rilascio delle proprie soluzioni su OS/2 e Windows NT.

Nel giro di 18mesi vengono rilasciati SQL Server 6.0 e SQL SERVER 6.5, interessati da una completa riscrittura e significativamente differenti dalla versione 4.2 per OS/2. Ma queste non sono le uniche novità. Infatti Microsoft decide di investire in maniera capillare sui sistemi di data management, assumendo diversi GURU del settore e pianificando una release rivoluzionaria chiamata Sphinx, alias SQL Server 7, che faccia dell'espandibilità la propria arma vincente e che verrà rilasciata nel 1998.

La seconda metà degli anni '90 si apre, per il settore DEV di Microsoft, con Visual C++ 4.0 (1995, la versione 3 viene saltata, probabilmente per allineare l'ambiente al numero di release di Windows 95 -4.0- e del futuro NT 4, essendo disegnato proprio per tali sistemi) che porta in dote le nuove MFC 4.0 e segna il progressivo abbandono per le Win32s (le api di Win 3.1x), che avviene definitivamente con la minor release 4.2.

image21

Anche FoxPro si evolve e si trasforma in Visual FoxPro (3.0, 1995), facendo proprio un IDE similare a quello degli altri prodotti di sviluppo Microsoft.  A differenza della maggior parte dei sistemi di gestione di database, Visual FoxPro si presenta come un linguaggio di programmazione completo e dinamico che non richiede l'uso di un ambiente di programmazione supplementare (ad esempio Management Studio per SQL Server), utilizzabile per scrivere applicazioni tradizionali "Fat Client" così come middleware e Web Application. Da notare che con l'arrivo della versione "visual", scompare il supporto al DOS a UNIX e, progressivamente, a Mac OS.

Il destino di Visual FoxPro è però segnato: infatti Microsoft ha da poco ridisegnato la propria strategia nel settore dei DB con Access ed SQL Server tanto che nel 1996, a solo un anno di distanza dalla prima versione Visual e poco prima della nuova versione 5 (inizio 1997, la 4 viene saltata) presenta il vademecum "Choosing the Appropriate Database Development Tool" [scegliere l'ambiente di sviluppo database appropriato] dove Visual FoxPro viene completamente sminuito, soprattutto a causa delle sue scarse performance e del mancato supporto alla transazioni, relegandolo, di fatto, alle micro applicazioni. In sostanza il big di Redmond consiglia di usare Access per le applicazioni desktop e SQL Server per le applicazioni client/server.

Nel frattempo lo sviluppo di Visual Basic continua senza sosta, visto anche l'incredibile successo che l'ambiente ha riscosso, soprattutto in ambiti semi-professionali. Dopo l'arrivo di Visual Basic for Application (VBA, presentato il 29 giugno del 1993 da Bill Gates in persona), pensato per realizzare macro per le applicazioni Office (inizialmente solo Excel e Project), si passa rapidamente a Visual Basic 4 (14 novembre del 1994), che permette di creare i propri add-on e introduce nel linguaggio le classi, ma non la programmazione object oriented (manca assolutamente il supporto all'ereditarietà). Si tratta, inoltre, della prima versione a permette la creazione di applicazioni a 32-bit oltre che quelle a 16-bit, grazie agli OCX (32 bit) che vanno ad affiancarsi ai classici VBX (16 bit) delle versioni precedenti. Qualche mese dopo viene rilasciato l'NT Option Pack 4 che porta in dote IIS 3.0, ASP e VB Script.

Prima dell'uscita di VB4, al Windows World conference di Atlanta GA del 1994, Bill Gates premia Alan Cooper con uno dei sette "Windows Pioneer Awards", per il grande impatto che VB ha avuto nella diffusione di Windows.

A febbraio del 1997 arriva Visual Basic 5.0 che incorpora, finalmente, un compilatore nativo, un accesso ottimizzato ai dati e il supporto ai famigerati controlli ActiveX oltre a un sensibile miglioramento dell'IDE.

image22
Visual Basic 5 Splash Screen

Ma Microsoft, si sa, è sempre stata attenta ai trend di mercato e il suo settore Dev non poteva di certo non capire l'importanza di Java. Così nel 1996 nasce Visual J++, ovvero un IDE targato Redmond per il linguaggio di SUN, creato, ovviamente, per il sistema operativo Windows ed abbinato alla MSJVM (Microsoft Virtual Machine for Java).

image23
Microsoft Visual J++

La sintassi di Visual J++ rispetta le convenzioni grammaticali previste da Java, ma Microsoft non implementa tutte le funzionalità presenti nella versione SUN (ad esempio, Java Remote Methods Invocation e Java Native Interface), mentre estende il linguaggio con caratteristiche proprietarie come callback e delegate per la gestione degli eventi.

Con il finire del decennio si chiude l'era pre-dotNet. Siamo nel 1998 e Microsoft presenta: Visual Basic 6 , Visual C++ 6 e Visual J++ 6. VB 6 porta in dote una serie impressionante di migliorie: WebClass, Controlli Windowless, un DataDesigner, un Reporting Designer, la possibilità di creare DataSource personalizzati e molto altro. Con la nuova versione arriva anche il supporto allo sviluppo di applicazioni (D)HTML based, il tutto integrato in un IDE decisamente più funzionale e maturo, grazie anche ai numerosissimi feedback degli sviluppatori.

Al contrario, VC6 delude un po' le aspettative, presentandosi con MFC 6 non all'altezza delle aspettative e un debugger non particolarmente efficiente, soprattutto con una serie di bug in ambiente Windows XP, risolti solo in seguito con la patch denominata "Visual C++ 6.0 Processor Pack".  Questa versione include, inoltre, una serie di tool identificati come eMbedded Visual C++ (vers. 4) che permettono lo sviluppo per la piattaforma Windows CE.

image24
Embedded Visual C++ 4 (contenuto in VC6)

VJ6 (terza versione dopo la 1.0 e la 1.1) segna la fine dell'avventura Java targata Microsoft, visto che per le differenze sopra citate, SUN decide di citare legalmente il big di Redmond (con cui inizialmente era in accordo per l'implementazione di Visual J++), costringendolo, in sintesi, a ritirare Visual J++.

image25
Visual Basic 6.0

image26
Visual C++ 6.0

image27
Visual J++ 6.0