Sign in to follow this  

Recommended Posts

hai provato "Programmare Mac OS X", quello che t'avevo consigliato io?

beh diciamo che se impari anche solo a programmare con le api carbon ti puoi togliere parecchie soddisfazioni. comunque se proprio vuoi imparare l'objective c tieni presente che dovrai imparare la programmazione ad oggetti che richiede degli sforzi intellettuali un pò più grossi di quelli richiesti per la programmazione di tipo procedurale...

in ogni caso il passo decisivo sarà dettato dalle tue ambizioni! Posted Image

Share this post


Link to post
Share on other sites
Guest

Vale la pena ormai di imparare Obj C quando si può compilare java in modo nativo, così che va quanto un programma in C++?

Con il vantaggio che il codice è unico per più piattaforme!

http://gcc.gnu.org/java/

Share this post


Link to post
Share on other sites

x Enrico Salomone: ti consiglio vivamente di imparare il java.

E' completo, semplice, intuitivo ed OS X è forse la miglior piattaforma per sviluppare con questo linguaggio.

Molte persone esperte di C/C++ trovano parecchie difficolta' una volta messe le mani sul java, perche' si portano dietro un modo di concepire il codice non adatto alla programmaz. ad oggetti.

Il java si scopre a piccoli semplici passi, ti da grandi soddisfazioni (con poca fatica) e quando lo hai compreso a fondo, il C ti sembra quasi banale e l'ObjC solo un modo diverso di scrivere la stessa cosa.

Tieni presente poi la caratteristica unica del java: scrivi il codice una volta e funziona ovunque (mac, win, linux ecc...).

Share this post


Link to post
Share on other sites

Intanto grazie a tutti per le risposte.

Dai vostri interventi ho capito di trovarmi a una scelta prima di tutto tra java e c.

La mia momentanea scelta del c e' arrivata dopo essermi letto un po' di documentazione su cocoa e la programmazione object oriented. Bella cosa, ma mi pare di aver capito che almeno per quello bisogna saperlo il c. Su quel sostrato si innestera' l'objective c.

Del java non so nulla, se non che lo utilizzano i browser e "dovrebbe" essere meno potente dell'alternativa c.

Grazie a chi cerchera' ancora di chiarirmi le idee.

Share this post


Link to post
Share on other sites

a, beninteso, i programmi che girano ovunque non sfruttano affatto cocoa, quindi non saranno delle vere e proprie applicazioni per mac os x.

cocoa è programmabile anche in java, ma naturalmente, è diverso che scrivere un'applicazione in java standard.

Share this post


Link to post
Share on other sites
Guest

<FONT COLOR="ff0000">E' completo, semplice, intuitivo ed OS X è forse la miglior piattaforma per sviluppare con questo linguaggio.</FONT>

È, a detta di molti e di me che provai a impararlo spesso controintuitivo. Non mi dire che il "creatore" ed altre cosette sono semplici.

<FONT COLOR="ff0000">Tieni presente poi la caratteristica unica del java: scrivi il codice una volta e funziona ovunque (mac, win, linux ecc...).</FONT>

Se lo scrivi bene.

In ogni modo, sappi che devi farti una testa così: se vuoi fare un lavoro fatto bene (non ti basta che il programma parta, ma lo vuoi anche bello) devi scrivere una interfaccia per ogni OS (non è lungo, ma è da fare ed è un qualcosa in più da mantenere).

Sappi che Java non è solo "applet". Ci sono interi programmi scritti in Java. Il suo punto debole (attualmente) è la lentezza: 3-4 volte più lento di C++. Però presto la cosa cambierà (vedi link suggerito da me prima).

Consiglio caldamente l'iscrizione al servizio ADC della Apple e poi alle Mailing list javadev e cocoadev. Anche prima di aver deciso il linguaggio.

Share this post


Link to post
Share on other sites

Enrico: Del java non so nulla, <FONT COLOR="ff0000">se non che lo utilizzano i browser e "dovrebbe" essere meno potente dell'alternativa c.</FONT>

meno male che questo forum e' poco o per nulla frequentato da programmatori java altrimenti te ne avrebbero dette 4!!! Scherzo Posted Image

Allora: i browser utilizzano JavaScript che non ha nulla a che vedere con java. Al massimo un browser puo' visualizzare un'applet java ma questo e' solo un piccolo (importante) aspetto di questo linguaggio.

Sulla questione potenza c'e' molto da dire, ma se parliamo solo di velocita' di elaborazione pura ormai le differenze sono quasi impercettibili (vedi anche il post di olaf). Con java puoi fare dal giochino su internet, allo sparatutto in 3D, al sistema operativo, all'utility per il tuo telefono cellulare. No limits insomma.

Credo che, se ho ben capito, partire dal C per poi passare all'ObjC sarebbe sbagliato nel tuo caso. Molti si fanno fregare dalla lettera "C" e arrivano alla conclusione che "C" e Obj"C" sono + o meno simili, ma in realta' l'ObjC e' molto + simile al java. Il C non e' un passo intermedio verso l'ObjC, questi linguaggi si scrivono solo in modo simile, ma sono concettualmente molto diversi. A te servono appunto i concetti della prog. ad oggetti e una volta acquisiti java o ObjC non fa alcuna differenza. Risparmiare tempo sulla sintassi C/ObjC non serve, perche' passare dal java all'ObjC richiede al massimo un paio di giorni.

Se noti anche all'Universita' si insegna prima il java e poi si passa al vecchio C (anche se per ambiti diversi).

Gennaro: <FONT COLOR="ff0000">i programmi che girano ovunque non sfruttano affatto cocoa, quindi non saranno delle vere e proprie applicazioni per mac os x.</FONT>

Non sono molto d'accordo. Hai mai provato a sviluppare un pure java application con i Dev Tools e a farci doppio clic sopra?

Programmare Cocoa in java in effetti non conviene, ma e' comunque il modo migliore per passare al Cocoa in ObjC.

Olaf: <FONT COLOR="ff0000">È, a detta di molti e di me che provai a impararlo spesso controintuitivo. Non mi dire che il "creatore" ed altre cosette sono semplici.</FONT>

Hai studiato prima il C per caso? Posted Image Io ho studiato prima il java e mi e' sembrato semplice quanto il C se non di +.

Share this post


Link to post
Share on other sites

Giulio, appunto se scrivi applicazioni in pure java, ma mi sembra che quello che vuole enrico è sviluppare applicazioni "native" per os x, quindi che hanno la necessità di scegliere se imparare a programmare secondo carbon o cocoa.

Share this post


Link to post
Share on other sites

Come dicevo prima: "... Programmare Cocoa in java in effetti non conviene, ma e' comunque il modo migliore per passare al Cocoa in ObjC.". Parlo per esperienza personale comunque, non so bene in generale. So in ogni caso che molti insegnanti di informatica sostengono che e' meglio imparare SUBITO la prog. ad oggetti (PO) e poi la progr. classica ... questo perche' la prima aiuta a ragionare in modo + flessibile, mentre il C ad esempio abitua a schemi molto rigidi, + difficili da abbandonare quando si vuole passare alla PO in un secondo momento.

Share this post


Link to post
Share on other sites

in linea di principio sono d'accordo. però se uno non deve diventare un programmatore professionista, può tranquillamente imparare il c ed usare carbon, risparmiando un pò di tempo!

Share this post


Link to post
Share on other sites

magari risparmi qualche ora in fase di apprendimento, ma in fase di sviluppo i limiti del Carbon li senti eccome. Uno dei vantaggi della OP (e quindi di Cocoa) infatti e' proprio la maggior velocita' di sviluppo. Vuoi una finestra? NSWindow finestra = new NSWindow(); Fatto. Vuoi un timer? NSTimer tempo = new NSTimer(); vuoi una finestra particolare? LaMiaNSWindow extends NSWindow; apriamo una connessione via Socket? Socket tuutuu = new Socket(6789); ... una riga di codice e smanetti gli oggetti (gia' pronti) come ti pare. Puoi anche mescolare pure java con cocoa java e cocoa objc (pensa che bel casino! Posted Image). Se ci pensi il REALBasic e' cosi' immediato proprio perche' si basa sulla OP.

Share this post


Link to post
Share on other sites

mah, limiti di carbon...a pensare le applicazioni che ci fanno Posted Image è che si tratta di due modi di programmare completamente diversi, in ogni caso se ha già programmato alla vecchia maniera (procedurale), ti conviene secondo me usare carbon.

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