Discussione: Programmazione
- 23-11-01, 08:48 #1Guru
- Iscritto
- 12-01
- Luogo
- , ,
- Messaggi
- 1.737
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.
- 23-11-01, 09:42 #2Guest
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...
- 23-11-01, 14:13 #3Esperto
- Iscritto
- 10-02
- Luogo
- , ,
- Messaggi
- 413
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
- 23-11-01, 14:19 #4Esperto
- Iscritto
- 10-02
- Luogo
- , ,
- Messaggi
- 413
Aggiungo che il libro di cui chiedevi non lo conosco, pertanto non posso consigliarti.
- 24-11-01, 10:17 #5Guru
- Iscritto
- 12-01
- Luogo
- , ,
- Messaggi
- 1.737
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.
- 24-11-01, 16:51 #6Esperto
- Iscritto
- 10-02
- Luogo
- , ,
- Messaggi
- 413
Di niente Diego!
Credo anch'io che la programmazione ad oggetti, riuscendo a sfruttarla in modo pieno (e io non ci riesco ancora
) sia molto potente e dia belle soddisfazioni.
- 05-12-01, 14:41 #7Esperto
- Iscritto
- 10-03
- Luogo
- , ,
- Messaggi
- 253
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!!!!!!
- 05-12-01, 19:37 #8Guest
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.
- 05-12-01, 19:38 #9Guest
UPS, Ultima frase del precedente:
lascio ai guru....
- 06-12-01, 00:54 #10Guru
- Iscritto
- 12-02
- Luogo
- , ,
- Messaggi
- 1.330
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.
Discussioni simili
-
Programmazione C++
By VintageV in forum Esiste per Mac?Risposte: 2Ultimo messaggio: 03-12-06, 17:00 -
Programmazione C++ su OSX
By superpunk733 in forum Mac OS XRisposte: 5Ultimo messaggio: 03-02-06, 18:18 -
linguaggi di programmazione x mac
By Trinitx in forum ProgrammazioneRisposte: 36Ultimo messaggio: 08-11-05, 12:47 -
Programmazione PIC
By DarwinNE in forum Esiste per Mac?Risposte: 0Ultimo messaggio: 01-05-05, 18:01 -
Programmazione
By in forum SOFTWARE - AggiornaMacRisposte: 0Ultimo messaggio: 01-01-70, 00:00



LinkBack URL
About LinkBacks
Replica con citazione
Sì, è proprio curiosa. Per fare una verifica, poco fa ho chiesto le...
mettere in rete hd esterno