Potete leggere gratuitamente le prime due pagine del mio nuovo libro
Wikileaks: chi sono, come lavorano, perché lo fanno, chi li paga. Visto che la cronaca incalza, ho deciso di rendere universalmente consultabile il mio recentissimo articolo in merito.
Meglio tardi che mai, Microsoft annuncia il venturo Explorer 9. Potrebbe colmare un gap tecnologico colossale che si aprì con l'uscita di Firefox 1
DOVE MI TROVI
In libreria la mia ultima fatica, anche ePub
In libreria come ePub dal 19 luglio e come libro cartaceo dal 24 agosto: è la grande guida che Lucio Bragagnolo ed io abbiamo dedicato ad OS X 10.7 Lion
Piccola domanda, probabilmente molto stupida.
Ora come ora, sviluppare per Mac OS X, a quanto ho capito, mette di fronte
ad una scelta: Carbon oppure Cocoa. Cocoa dovrebbe essere l'ambiente di
sviluppo nativo per X, mentre carbon dovrebbe velocizzare il porting delle
applicazioni classic verso in nuovo system. Ma per sviluppare in Cocoa ho
solo la scelta tra Objective C e Java? No perché risulterebbe sicuramente
scomodo. Objective C non è un linguaggio di programmazione tra i più usati,
i più utilizzati sono C e C++, possibile che apple abbia scelto di limitare
in tal modo gli sviluppatori? Oppure sono io che non ho capito assolutamente
nulla?
Inoltre quali sono i vantaggi e gli svantaggi dei due ambienti?
Tutto questo perché sono uno studente di informatica al primo anno e vorrei
iniziare ad interessarmi un po' di più dello sviluppo sotto Mac e vorrei
sapere dove indirizzare i miei sforzi.
Filippo Trocca
Per la cronaca, c'è una terza alternativa: Java 2. Ma vediamo di discutere caratteristiche, vantaggi e svantaggi relativi delle due architetture citate. Dal punto di vista del programmatore: chi fa un altro mestiere probabilmente troverà il resto di questa pagina incomprensibile.
Come forse saprai, in C++ c'è un limite stabilito a compile time sul numero di metodi di cui si dota un oggetto, e questo rende assai limitate le possibilità di far crescere un framework complesso a livello di sistema operativo con il meccanismo dello override. Non era possibile integrare C++ con l'architettuta OpenStep, su cui si basa Cocoa.
Per un confronto puoi studiare il truccaccio scelto per aggirare il problema in BeOS. Ogni oggetto di sistema è dotato dalla nascita di una serie di metodi che non fanno nulla. Man mano che viene ampliato, quegli slot vengono riempiti di puntatori al codice. Ovviamente, se tutti gli slot di un oggetto vebissero riempiti sarebbero guai grossi...
Cocoa è interamente orientato all'oggetto, è un rapid application development system, sullo sviluppo di applicazioni verticali offre un tempo di realizzazione anche inferiore del 90% rispetto a soluzioni tradizionali.
Carbon è una raccolta delle API classiche di Macintosh, leggermente aggiornate per renderlo protetto, buon cittadino di un sistema multiutente multiprocessore multitasking. È conosciutissimo e gode di montagne di codice pronto.
abbreviazioni registrazione nome di dominio versioni stealth jpeg progressive pppoa iphone pinhole bootstrap disco rigido dominio di terzo livello quicktime broadcaster validazione furto mela-opzione-esc comandi nic handle posta dei lettori mclink opener installazione os x register trojan macworld ieee 1394 simulatore filtro linea collabra vignette