Parte2: il linguaggio C

2.1 Scopriamo il C

A parere di molte persone, l'utente medio Macintosh non e' interessato alla programmazione. E' parere degli stessi Apple Center, almeno di quelli che ho interpellato per richiedere informazioni su quali compilatori fossero disponibili per la nostra amata macchina. Alla domanda "vorrei un compilatore C" mi hanno passato di ufficio in ufficio, rimbalzandomi da una persona all'altra, per carita' tutte molto gentili, ma altrettanto ignoranti in materia. Alla fine la risposta e' stato un timido: "credo che il C sia un linguaggio di programmazione per PC che si usava qualche anno fa.".
D'accordo che siamo lontani dai tempi del magico Aplle II, con tanto di linguaggio AppleSoft BASIC in ROM, pero'...

Oggi qualcosa sta iniziando a cambiare, anche grazie all'introduzione dell'iMac che ha contribuito a diffondere il Macintosh anche al di fuori dell'ambito ristretto del settore grafico professionale, in cui il Mac è molto diffuso.

Non crediate pero' che sia semplicissimo reperire informazioni utili riguardo alla programmazione con il Mac. Tutto questo lo dico non tanto per scoraggiarvi, quanto per mettervi subito in guardia: se volete programmare con il vostro Mac dovrete dari da fare per recuperare cio' di cui avrete bisogno, a partire dagli strumenti necessari: i compilatori.
Fortunatamente Internet ci viene in contro.
Non crediate che procurarsi un compilatore debba essere necessariamente dispendioso: in rete e' possibile trovare moltissime risorse a poco prezzo, in alcuni casi senza spendere assolutamente nulla.

La conoscenza del C e' quasi obbligatoria: la maggior parte delle applicazioni oggi e scritta in C.
E' anche vero comunque che oggi in commercio esistono strumenti che permettono di programmare secondo un principio molto piu' intuitivo ed immediato, ovvero i cosidetti ambienti di sviluppo visuali. Questi sono disponibili anche per l'ambiente Macintosh, per il quale troviamo pacchetti come "Vip-C", "Vip-BASIC", oppure l'ottimo "RealBASIC".
In ogni caso una volta che si e' appreso il linguaggio C diventa molto piu' semplice produrre codice multipiattaforma, che con qualche modifica possa essere portato su diverse piattaforme. In questo CodeWarrior e' maestro.

 

2.2 CodeWarrior

Per progetti di un certo livello la conoscenza del C diviene praticamente indispensabile. L'ambiente C per eccellenza per la programmazione Mac e' decisamente CodeWarrior della Metrowerks. Si tratta di un ambiente completo, che permette di realizzare codice eseguibile per MacOs, ed addirittura per Windows, Linux ed altri sistemi operativi ancora (si avete capito bene. Potrete realizzare applicazioni Windows 95/98/NT che gireranno su piattaforma Intel con il vostro Mac) ottimizzato per x86, AMD, PowerPC o 68k. Il pacchetto comprende i compilatori C, C++, object C, Java e Pascal, ed i linguaggi possono essere utilizzati tutti assieme grazie all'IDE (ambiente di sviluppo interno) integrato.
Unico neo, per un appassionato, il prezzo un po' alto. Esiste comunque la possibilita' di acquistare la versione Accademic, riservata a studenti ad un prezzo veramente competitivo.
Inoltre in rete all'indirizzo http://www.metrowerks.com/lite si trova la versione Lite, che permette di compilare, modificare e realizzare applicazioni per Mac 68k di progetti esistenti.
E' sufficente procursi CodeWarrior Lite, una manciata si esempi e con una spesa nulla possiamo gia' iniziare a realizzare qualche applicazione. Al sito della rivista MacTech troviamo una serie nutrita di esempi che possiamo modificare a piacimento, salvare e ricompilare con la versione lite di CodeWarrior.

Lo so cosa state pensando. E' necessario procurarsi anche un buon libro, ed avete proprio ragione.
Non disperate pero', almeno se avete un minimo di conoscenza della lingua inglese. Beh, se la vostra conoscenza di base del C ha qualche lacuna vi consiglio il libro di Dave Mark "Learn C on the Macintosh", 2nd Edition, edito dalla AW (prezzo circa 34$, che lievitano a circa 100.000 lire nelle librerie italiane). Si tratta di un libro che vuole insegnare la programmazione in standard C ed e' indirizzato a chi si trova alle prime armi, che non tratta neppure di striscio la programmazione in ambiente Mac. Ha l'unico pregio di essere venduto con allegato un CD contenente proprio CodeWarrior Lite, ma puo' essere sostituito da un qualsiasi altro libro sul linguaggio C ansi, magari in italiano.
Se pero' masticate gia' qualcosa di C, allora il consiglio e' di orientarsi su qualcosa di piu' impegnativo, che si addentri piu' nell'ambiente Macintosh, in modo da permette di sfruttare il supporto dei Macintosh Toolbox. Ad esempio "Programming Starter Kit for Macintosh" di Jim Trudeau, edito dalla Hayden Books (45$, l'ho comprato in Italia a circa 130.000), viene indicato come la soluzione completa, "The Complete Solution", contiene il solito CD con CodeWarrior Lite, e vi accompagna passo passo nella realizzazione di una vera applicazione Mac. Nelle oltre 800 pagine di cui e composto trova spazio anche un'appendice con una introduzione al linguaggio C, molto utile anche come riferimento veloce.

Tutto sommato pero', a mio parere il migliore manuale di riferimento per il programmatore Mac a livello non professionale, e "MACINTOSH C - A Hobbyist's Guide to Programming the Mac OS in C" e, udite udite, e' completamente gratuito.

Lo trovate anche questo a partire dal sito della rivistaMacTech, piu' precisamente nella sezione dedicata alla programmazione C http://www.mactech.com/macintosh-c/

L'ultima versione disponibile riporta indicazioni utili a chi voglia realizzare applicazioni per MacOS 8, ed è (al momento) la numero 2.2.

Si compone di oltre 900 pagine ed è consultabile on line, oppure può essere scaricata gratuitamente nei formati PDF (richiede Acrobat Reader 3 o succ.) e Word (richiede Word98).

Non solo, chi preferisce il Pascal puo' trovare l'attrettanto indispensabile all'indirizzo http://www.mactech.com/macintosh-pascal/ .

Sempre nei tre formati HTML, PDF e Word.

 

2.3 MPW

Un'altra occasione per programmare senza spendere una lira, e' quella offerta dalla Apple, che ha da poco rilasciato gratuitamente una suite che permette di programmare in C su Macintosh. Il pacchetto si chiama MPW (Macintosh Programmer's Workshop) e si tratta di un prodotto completo, con supporto per C, C++ e Assembler per realizzare applicazioni Mac e PowerMac. Inoltre e' estremamente configurabile ed espandibile. Utilizarlo pero' non e' cosi' semplice, e viste le dimensioni in MByte e' quasi improponibile scaricarlo da internet. Speriamo che qualche rivista decida di inserirlo in uno dei tanti CD allegati, spesso pieni zeppi delle solite inutili applicazioni.

 

2.4 (e Java dove lo mettiamo?)

Non dobbiamo dimenticare che un modo gratuito per incominciare a programmare con il nostro Mac e quello di procurarsi un JDK (Java Development Kit), solitamente completamente gratuito, che permette di realizzare le proprie applicazioni Java.
Apple mette a disposizione gratuitamente il proprio SDK, SoftWare Development Kit, e il Mac OS Runtime for Java (MRJ) per poter eseguire le applicazioni Java. Purtroppo ancor oggi (agosto 2000) è disponibile solo la versione compatibile con la versione 1.1.8 del JDK ufficiale della Sun. Nessun supporto per il JDK 1.2 e versioni superiori, ovvero niente da fare per applicazioni scritte in Java 2.
Java puo' essere considerato come un linguaggio di programmazione a meta' tra il C ed il C++, che cerca di unire la semplicita' e versatilità del C con la potenza propria di un linguaggio orientato ad oggetti quale il C++, sollevando il programmatore da molti grattacapi.
Va ricordato che Java nasce come un linguaggio che permette di creare applicazioni totalmente svincolate dall'hardware e dalla piattaforma su cui sono implementate. Il vantaggio principale di tale filosofia risiede nel poter eseguire la propria applicazione Java su qualsiasi macchina, purchè dotata di un'opportuna Java Virtual Machine; il rovescio della medaglia sta nell'impossibilita' di sfruttare a fondo le risorse messe a disposizione dalla piattaforma su cui si sta' sviluppando, con il risultato in diretta conseguenza di applicazioni meno performanti (in Java non esiste alcun riferimento diretto a A.P.I - Application Programming Interfaces - proprie di alcun sistema operativo).
Un qualsisi libro sull'argomento puo' essere un buon punto di partenza: solitamente includono un CDROM contenente il JDK per Windows e per Macintosh.
In rete e' d'obbligo dare uno sguardo al sito ufficale creato appositamente da chi ha introdotto Java: Sun http://java.sun.com
Unica nota decisamente negativa:
il rilasio delle ultime versioni di Java per MacOS avviene spesso in ritardo rispetto a quelle per Windoze & Linux :-(


Parte 1

Torna all'indice

Parte 3