Sign in to follow this  

Recommended Posts

Aprofitto del thread gia' aperto.

E' da un bel pezzo che non programmo piu'.

Ma MacOS X me ne ha fatto ritornare una gran voglia.

Visto che devo riprendere in mano i libri e studiare, mi so chiedendo se non sia il caso di passare una buona volta agli oggetti.

Potrei cosi' saltare direttamente Carbon e sviluppare in Cocoa che, da quel poco che ho capito, dovrebbe offrirmi dei vantaggi (quali siano di preciso lo ignoro).

Faccio bene a saltare Carbon?

Progammare in Cocoa e' piu' "facile"?

Gia' la scelta del linguaggio e' per me un bella decisione.

L'objective C neanche sapevo esistesse e mi chiedevo se non sia meglio imparare piuttosto il Java.

Che mi dite di quest linguaggio?

E' possibile compilare un sorgente Java come fosse scritto in un normale linguaggio compilato (perdendo cosi' l'eseguibilita' interpiattaforma ma guadagnando in prestazioni)?

O si puo' solo generare bytecode?

In libreria ho visto un librone a 98.000 lire (ma perche' *tutti* i libroni di informatica costano esattamente 98.000 lire?!) dal titolo:

Java2 SDK1.3 di Horstmann e Cornell, MacGraw Hill.

Sulla copertina c'era scritto "versione ufficiale approvata da Sun Microsistem".

Qualcuno lo conosce?

E' un buon libro?

E' aggiornato?

Mi spiegera' la programmazione a oggetti di cui non so nulla?

Vi ringrazio anticipatamente.

Share this post


Link to post
Share on other sites
Guest

diego, perche` non frughi in rete in cerca di un tutorial, prima di acquistare alcunche'? almeno per i primi giorni-settimane, le risorse che trovi dovrebbero bastare... dovrai accontentarti dell'inglese, ma se sei fortunato trovi qualcosa in italiano tipo dispende universitarie...

Share this post


Link to post
Share on other sites

Ciao Diego,

Carbon e Cocoa sono due ambienti distinti e indipendenti: il primo è legato all'ambiente Classic anche se è dotato di nuove librerie che lo rendono adatto e nativo anche a OSX, il secondo è invece una peculiarità di OSX.

Circa la facilità, direi che non c'è un ambiente che prevale sull'altro: ciò che conta è se eventualmente conosci già un linguaggio ed in tal caso forse ti può convenire utilizzare il framework (Carbon o Cocoa) che supporta il tuo linguaggio.

Carbon infatti supporta C e C++, invece Cocoa supporta Objective-C e Java.

Circa Java ti posso dire che è un linguaggio a oggetti relativamente semplice e contemporaneamente potente. Tuttavia se da un lato Java è caratterizzato dalla possibilità di portare il codice compilato (bytecode) su qualunque piattaforma (abbia installata una VM) dall'altro esso è assai più lento degli altri linguaggi.

Altro svantaggio è la difficoltà o impossibilità di pilotare l'hardware o caratteristiche peculiari del proprio OS: per esempio la scrittura di un driver di una periferica USb su Mac è un problema perché le librerie sulle porte credo non girino (e cmq non ci sono per tutti gli OS).

Chiedevi Diego se è possibile compilare delle parti native in Java: la risposta è sì (attraverso le librerie di classi JNI) tuttavia perdi anche il vantaggio della portatilità del codice e può in tal caso essere conveniente rivolgerti ad un altro linguaggio direttamente.

Bisogna però distinguere tra Java e Java per Cocoa: nel secondo caso Java è un linguaggio nativo, che usa librerie proprietarie di OSX e che sono veloci tanto quanto quelle per l'Objective-C o per il C e C++ dell'ambiente Carbon. Tuttavia a quel pto il programma sviluppato girerà solo su OSX.

Altro problema di Java per Cocoa è che certi aspetti intrinseci di Java (come la gestione automatica della memoria o l'assenza dei puntatori) sono snaturati dalle librerie Cocoa che cercano di rendere il più simile possibile le librerie per Java (inteso come linguaggio, come sintassi e non come librerie della Sun) e quelle per Objective-C.

Io ho cercato qualche testo che parlasse di programmazione di Cocoa in Java, ma per ora non ne ho trovato: tutti, a cominciare da Learning Cocoa utilizzano solo Objective-C.

E d'altra parte le librerie di Cocoa sembrano essere (per gli aspetti che descrivevo prima) pensate per l'Objective-C.

Quindi se ti interessa imparare un linguaggio di programmazione su Mac, allo stato attuale, quello più in voga sembrerebbe essere l'Objective C. Se ti interessa impararne uno in generale e che sfrutti la portabilità Java è ovviamente quello giusto.

Altrimenti ti puoi rivolgere agli intramontabili C e C++ che non solo hanno librerie apposite su OSX e su OS9 ma anche su piattafoma Unix sono comunemente usati (salvo le già citate esigenze di portabilità).

Ti posto il link di un sito da dove puoi scaricare un manuale Java gratuito in formato pdf che non ho mai letto interamente, ma che parrebbe essere fatto bene: www.mokabyte.it

Share this post


Link to post
Share on other sites

Grazie Edoardo, ho le idee piu' chiare.

Credo che, conoscendo gia' il C, studiero' l'ObjC.

Della portabilita' su altre piattaforme ho un interesse relativo.

Il mio primo obiettivo e' portare un mio programma sotto MacOS X.

Ho provato a studiare un po' di Carbon, ma la nuova gestione degli eventi non mi e' risultata facile.

Poi e' molto che non tocco la programmazione.

Dovendo rimettermi a studiare ho pensato che la programmazione a oggetti potrebbe darmi vantaggi.

In futuro mi piacerebbe scrivere plug-in per Lightwave 3D, e mi pare siano in C++.

Fare pratica con l'OOP mi sara' di aiuto.

Share this post


Link to post
Share on other sites

Sto facendo un catalogo su CD rom per far si che si possa vedere sia da MAC che da PC.

Il catalogo, se messo in rete funziona benissimo per entrambe le piattaforme.

Se guardo il catalogo da CD con il mio MAC non da errori, ma se lo guardo con il PC mi da continuamente errore di DEBUG o qualcosa del genere.

All'interno c'è qualche Script ma, ripeto, in rete non da problemi ne con PC ne con MAC.

Per quale motivo il PC mi da errore di DEBUG e, pur non accettando la correzzione che effettuerebbe il sistema operativo, esegue ugualmente lo script?

AIUTO!!!!!!

Share this post


Link to post
Share on other sites
Guest

Non sono un guru in questo campo ma sembra che la piattaforma piu' bella che esista (stando alle cifre di vendita) abbia qualche problema nel capire il nome delle cartelle se arrivano da Mac.

Mi e' capitato una volta chiamando una cartella "X Luigi" che il cretino mi ha interpretato come "xcarattere vietato Luigi" ed era diventata inaccessibile.

CD buttato!

Lascia ai guru i commenti piu' professionali.

Share this post


Link to post
Share on other sites

In quale formato hai masterizzato il CD?

e con quale software.

Voglio dire che se lo hai masterizzato in iso 9660 con nomi brevi 'DOS' Toast cambia automaticamente nome ai file (che non vengono piu' trovati dallo script HTML).

Se, invece, hai usato 'Joliet' per mantenere i nomi lunghi Toast ti salva un report dei simboli speciali che non sono compatibili ma spetta a te di rinominarli. Meglio: non usare i caratteri fuori standard.

G.

Share this post


Link to post
Share on other sites

Il problema della masterizzazione mi si è verificato all'inizio. Pensavo che masterizzare con l'opzione file&folder fosse solo per mac e in ISO 9660 + Joliet fosse per il PC.

Ho scoperto in seguito che se si masterizza in ISO 9660+joliet i caratteri del file vengono portati ad 8 + l'estensione.

Se si utilizza l'opzione D-A-O allora il pc legge il nome del file senza problemi (sebbene il mac fa vedere file di 8 lettere).

Per errore poi ho scoperto che se si masterizza con file&folder da MAC, il PC legge perfettamente i file senza troncare i nomi.

Quindi la domanda è: perché utilizzare iso 9660 + joliet per PC quando va benissimo l'opzione file&folder?

Mah!!!

Share this post


Link to post
Share on other sites

Ho provato a vedere il CD su PC.

Inserito il disco l'ho testato con Explorer e mi da errore di DEBUG sulla riga 146.

Ho provato a farlo riparare dal sistema (visto che mi chiedeva se volevo riparare l'errore) ma senza alcun risultato.

Ho copiato allora il catalogo sull'hard disk del PC ma la situazione non è cambiata.

Da sempre quel maledettissimo errore.

Ho controllato da PC la fonte HTML e gli URL sono rimasti relativi (es. ../pagine/catalogo.html).

Penso sia un problema degli script.

Ma perché se si guarda il sito che ho messo su internet (che è lo stesso del catalogo che intendo fare su CD) gli script non danno problemi?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this