Developer Assistant

------------------------------------------

Compilatori C/C++

Dedichiamoci quindi ai compilatori che ho avuto modo di provare:

Il Watcom è un prodotto professionale che rende possibile lo sviluppo di applicazioni per molti sistemi operativi 16 e 32 bit senza dover aggiungere niente. Le piattaforme supportate sono: DOS, Extended DOS, Windows 3.x, Windows NT, Windows 95, Win32s, Novell NLM, AutoCad, OS/2 1.x, OS/2 2.x e OS/2 Warp. La qualità del codice è eccellente e l'utilizzo sotto OS/2 è molto agevole anche se non sono disponibili tutte le utility disponibili in Windows. Il compilatore C++, tipicamente il più esigente di risorse, richiede almeno 12Mb di memoria, mentre il C si accontenta di 8Mb. Un grande miglioramento rispetto alla versione precedente è la disponibilità di un'interfaccia IDE anche per OS/2. Il prodotto è completo di tutti i toolkit necessari per i vari sistemi supportati, ma su questo punto trovo necessario sottolineare che il toolkit fornito per OS/2 è relativo alla versione 2.1 del sistema operativo e quindi non supporta tutte le innovazioni di OS/2 Warp (questo è un grosso problema per noi ossoduisti, che ci obbliga a procurarci almeno un numero della Developer Connection per aggiornare il toolkit). Insieme al compilatore vengono fornite diverse utility piuttosto comuni: assemblatore, linker, library manager e debugger. A proposito del debugger va sottolineato che ne esistono due versioni una per PM e una in modalità testo ed entrambi permettono il debugging di applicazioni DOS, WIN-OS/2 e OS/2 utilizzando anche una modalità remota assai interessante in quanto rende possibile il debugging di applicazioni in sessioni diverse dal debugger (caratteristica che vi posso garantire può risultare molto utile). Il più grosso difetto, se si vuol considerare tale, è che questo prodotto è rivolto ai professionisti esperti e quindi la documentazione non è molto abbondante e l'utilizzo è tutt'altro che semplificato, anche se la presenza dell'IDE rende la cosa affrontabile anche da parte di un principiante. Comunque non ritengo che questa maggior difficoltà sia un difetto in quanto è meglio impiegare più tempo per imparare, ma imparare nel modo giusto, che ottenere risultati più veloci, ma di qualità inferiore perché legati ad ambienti di sviluppo troppo semplificati. Per gli studenti come me vorrei sottolineare che è possibile procurarsi questo compilatore con agevolazioni educational. Per ulteriori informazioni su questo compilatore vi rimando al sito della Powersoft.

Il compilatore VisualAge è l'ultimo nato di casa IBM e devo dire che con questo prodotto IBM è riuscita veramente a rivoluzionare la programmazione. Prima di tutto il compilatore C/C++ è stato molto migliorato specialmente dal punto di vista delle ottimizzazioni del codice generato, senza considerare l'aggiunta dell'utile Direct-to-SOM che rende più veloce la programmazione di parti SOM. Devo però sottolineare che questo compilatore ha il difetto di divorare un po' troppa memoria; infatti il compilatore C++ richiede 16 MB di RAM, mentre il Visual Builder ne richiede almeno 16MB (meglio se da 24MB a 32MB). Il prodotto è corredato della WorkFrame che permette una gestione dei progetti completamente integrata con la WPS, al prezzo però di un discreto appesantimento della WPS. La vera miniera del Visual Age è la nuova versione dell'IBM Open Class, un insieme di classi C++ sia per la gestione di tipi di dati comuni e classi contentore, che per la generazione di applicazioni PM in C++. L'Open Class è veramente una miniera per il programmatore che abbia la pazienza di impararne l'uso, senza considerare il fatto che queste classi sono state realizzate in modo da rimanere coerenti su diverse piattaforme: AIX, OS/2 Warp, OS/2 per PowerPC e Windows. Un altro strumento di notevole pregio è il Visual Builder che permette una vera e propria programmazione per parti sfruttando una struttura a messaggi delle Open Class. Nell'ambinente di sviluppo del Visual Builder si ha a che fare solo con parti (presenti nelle Open Class o da esse derivate) e si possono far interagire le une con le altre semplicemente tirando delle linee di collegamento tra un oggetto e l'altro. Una parola va spesa anche per il debugger che presenta delle interessanti caratteristiche anche se non è esageratamente maneggevole. Per chi volesse ulteriori informazoni basta rivolgersi al sito IBM.

Attenzione: Ultimamente ho avuto modo di utilizzare questo compilatore per creare un piccolo programma in PM ed ho scoperto che la versione base di questo compilatore ha un notevole bug nell'ottimizzazione per ridurre le dimensioni del programma (Opzione /Oc). Per risolvere questo problema basta procurarsi la fix che è disponibile su internet all'indirizzo ftp.software.ibm.com

Purtroppo la versione del compilatore Borland C++ che ho avuto modo di usare non è la più recente. Il principale pregio di questo prodotto è proprio la sua semplicità d'uso e l'IDE realizzato con una grafica molto simile alla versione per DOS/Windows. Chiunque abbia già lavorato in ambiente DOS/Windows avrà quindi pochi problemi a familiarizzare con questo strumento (ci sono anche il mitico Turbo Debugger e il Turbo Assembler per OS/2). Il difetto principale di questo prodotto è il toolkit fornito che risale alla versione 2.11 di OS/2 ed è quindi necessario ricorrere alla Developer Connection per aggiornarlo. Questo compilatore purtroppo si porta dietro il problema del suo fratello per DOS cioè un codice prodotto scarsamente ottimizzato e in alcuni casi, cosa nuova, con veri e propri errori ! Prima di concludere devo dire che gli esempi forniti insieme al compilatore sono assai validi. Per avere informazioni sulla versione più recente di questo compilatore chi meglio della Borland stessa.

Il compilatore EMX è senza dubbio il prodotto con il miglior rapporto qualità prezzo; infatti è completamente gratis ! La base di partenza di questo prodotto è il compilatore GNU GCC che pur essendo un prodotto multipiattaforma (anche se nato per Unix) riesce a realizzare ottimizzazioni quasi al livello del Watcom (risultato sorprendente se si considera che l'essere multipiattaforma comporta avere una struttura che si adatti a diversi tipi di CPU). per i più coraggiosi, come prescritto dalla licenza GNU, viene fornito anche il sorgente del compilatore e quindi, in teoria, si potrebbe rielaborare il compilatore stesso. Purtroppo EMX ha il grosso problema di non avere la docmentazione sulle API di OS/2 e quindi per poterlo usare efficientemente si è costretti a procurarsi la documentazione dal toolkit IBM. Questo compilatore è uno strumento veramente efficace, ma il suo utilizzo è riservato ai programmatori esperti capaci di fronteggiare gli ostacoli legati ad uno strumento completamente command line oriented. Come sempre però considero lodevole lo sforzo di un qualziasi principiante che decida di affrontare subito le difficoltà di questo strumento, perché questo tipo di esperienza può tornare molto utile se si decide di lavorare sotto Unix. EMX può essere reperito sul sito Hobbes.

---------------------------------------------------

Torna alla nostra HomePage - Pagina a cura di: Giovanni Pagni
Last modified 8-1-97