Sign in to follow this  

Recommended Posts

per me e' tutto +o- nuovo perche' ho giusto avuto una infarinatura di pascal e basic, quindi partirei da zero per entrambe le strade.

Qualcuno riesce a sintetizzarmi quali sarebbero i percorsi da intraprendendere prendendo una strada o l'altra?

ancora grazie. Posted Image

Share this post


Link to post
Share on other sites

gennaro, con la programmazione ad oggetti puoi creare in una settimana applicazioni che tempo fa richiedevano mesi e questo proprio perche' hai la possibilita' di riutilizzare, migliorare, estendere oggetti gia' pronti (e ottimizzati, anche se nessuno ti vieta di crearne di nuovi). In questo modo un neo-programmatore puo' riuscire ad aprire una finestra e a disegnarci sopra un bottone in (al massimo) 10/15 giorni. Col C e Carbon per fare la stessa cosa i tempi si allungano a tal punto che molto spesso finisci per annoiarti e lasci perdere (spaventiamo Salomone e parliamo della gestione della memoria in C e Carbon? Posted Image ). Ovviamente anche per quest'ultima strada si possono costruire ottime applicazioni ma visto che si tratta di imparare a programmare da zero perche' tagliarsi le gambe fin dall'inizio? La PO ormai si utilizza ovunque, tanto vale partire aggiornati, non ti pare? Come ti dicevo, molti si trovano in difficolta' quando devono aggiornarsi alla PO, soprattutto chi ha un'ottima conoscenza delle tecniche di prog. tradizionali. Il java viene scelto nelle Universita' proprio perche' richiede zero conoscenze di base, ed e' il miglior trampolino verso qualsiasi altro linguaggio orientato agli oggetti (e non).

Poi scusami, se Apple ha pensato a cocoa qualcosa avra' capito sui vantaggi della PO, o no? Hai mai provato a dare un'occhiata alle demo grafiche di Java2 sui DevTools? Puoi creare un programma di grafica da far quasi invidia a Macromedia nel giro di un mese (se ci sai fare davvero). Quanti anni potresti impiegare per ottenere la stessa cosa con Carbon?

Share this post


Link to post
Share on other sites

Giulio senti con questi "hai mai provato"...certamente che ho provato. Apple si ritrova cocoa perchè l'ha ereditato da NeXTStep, non è che se l'ha inventato così. Inoltre l'uscita di Mac OS X è stata così ritardata anche perchè le software house si rifiutavano di dover imparare un sacco di nuovi strumenti e quindi Apple ha dovuto prendersi un pò di tempo per uscirsene con Carbon.

comunque resto del parere che se devi scrivere per hobby qualche piccola applicazione, carbon + c restano la via migliore. se vuoi sviluppare in java puro è un altro paio di maniche, ma se devi comunque sfruttare cocoa, il tempo d'apprendimento secondo me è troppo alto per i fini hobbistici.

Share this post


Link to post
Share on other sites
Guest

<FONT COLOR="ff0000">Hai studiato prima il C per caso?</FONT>

No, però ho letto qualcosa di Pascal alle scuole superiori (per conto mio) e poi ho usato Javascript, quindi il danno è stato fatto. :-)))

Rinnovo comunque il suggerimento ad iscriversi alle ML Apple, sono utili.

Share this post


Link to post
Share on other sites

<FONT COLOR="ff0000">Gennaro: Apple si ritrova cocoa perchè l'ha ereditato da NeXTStep, non è che se l'ha inventato così</FONT>

Sembra quasi che cocoa si qualcosa di troppo in OS X ... il fatto che carbon e cocoa abbiano le stesse potenzialita' non vuol dire che siano egualmente convenienti. Il primo conviene a chi ha gia' una valanga di vecchio codice e non ha intenzione di riscrivere tutto da zero (vedi soft. house). Il secondo conviene a chi si avvicina per la prima volta alla programmazione di OS X o chi inizia un progetto da zero. Dai un'occhiata ai tutorial che trovi sui vari siti dedicati alla programmazione su OS X: sono al 99% in cocoa.

<FONT COLOR="ff0000">le software house si rifiutavano di dover imparare un sacco di nuovi strumenti</FONT>

Le software house sono obbligate ad imparare l'utilizzo di nuovi strumenti se non vogliono chiudere bottega. Ma sono anche obbligate a valutare i costi di una conversione totale del codice, che spesso non conviene.

<FONT COLOR="ff0000">se devi scrivere per hobby qualche piccola applicazione, carbon + c restano la via migliore</FONT>

mi sembra chiaro: non siamo molto d'accordo Posted Image

<FONT COLOR="ff0000">Enrico S.: non ho capito poi quali sono gli step successivi per arrivare al programmino cocoa</FONT>

Puoi partire con manuale di base sul java. Ce ne sono un'infinita' (e in italiano). Ne esiste uno della McGrawHill molto buono (mi sembra "introduzione a java", di colore giallo, poco + di 200 pagine) che usano al primo anno di Universita': parte dai concetti base fino ad arrivare all'interfaccia grafica, con menu, finestre, font, animazioni ecc..

Comunque se vuoi sentire altri pareri dai un'occhiata al news it.comp.java, trovi moltissima gente disponibile ad aiutarti (e passa anche dell'ottimo codice).

Una volta compreso a fondo il java (se non ti basta creare applicazioni in java puro che girano ovunque), puoi passare a cocoa.

cocoa lo puoi sfruttare sia col java che con l'ObjC, ma attualmente e' consigliabile il secondo (solo xche' e' + veloce). E tu dirai: mi tocca impararlo da zero! E invece no! i 2 linguaggi sono pressoche' identici, cambia solo il modo di scrivere le cose. Se conosci il java il file di documentazione "ObjC.pdf" di Apple non ti dice nulla di nuovo. Te lo leggi in un paio d'ore senza fatica, provare per credere.

A questo punto molti utili (se non fondamentali) sono i tutorial di Apple (e non solo) che ti guidano passo passo nello sviluppo di una vera applicazione. Ne trovi qualcuno con i DevTools e moltissimi altri sui vari siti che trattano l'argomento: sono sia in java che in ObjC, sta a te decidere.

Il consiglio di Olaf e' prezioso, iscriviti alla ML Apple (e dai un'occhiata a it.comp.java).

Ok, sono appena tornato da una festa e muoio dal sonno, buona notte a tutti Posted Image

Share this post


Link to post
Share on other sites

Giulio

>Sembra quasi che cocoa si qualcosa di troppo in OS X ... il fatto che carbon e cocoa abbiano le stesse potenzialita' non vuol dire che siano egualmente convenienti. Il primo conviene a chi ha gia' una valanga di vecchio codice e non ha intenzione di riscrivere tutto da zero (vedi soft. house). Il secondo conviene a chi si avvicina per la prima volta alla programmazione di OS X o chi inizia un progetto da zero. Dai un'occhiata ai tutorial che trovi sui vari siti dedicati alla programmazione su OS X: sono al 99% in cocoa.

No anzi, come ho detto prima è stato carbon ad essere inserito dopo. In secondo luogo, certo si può accedere a cocoa anche con java ma come dici tu stesso è troppo lento per realizzare applicazioni. Oggi la scelta obbligata è l'ObjC, che più che al Java somiglia allo SmallTalk.

utile è il link

http://www.dekorte.com/Objective-C/

In ogni caso ben oltre il 50% delle applicazioni native per OS X sono realizzate sfruttando carbon come ci si può rendere conto dando un'occhiata a:

http://osx.hyperjeff.net/Apps/Total.html

puoi è in ogni caso una questione di gusti e di background culturale.

Share this post


Link to post
Share on other sites
Guest

<FONT COLOR="ff0000">In ogni caso ben oltre il 50% delle applicazioni native per OS X sono realizzate sfruttando carbon </FONT>

Questo non contrasta con quanto detto da Giulio: quei programmatori avevano già del codice e, per far prima, l'hanno riutilizzato.

Se avete poco tempo, java o cocoa sono la soluzione. Se avete già del codice testato e sicuro, usate carbon: vi risparmiate del lavoro (anche se poi alla fine ci metterete di più: carbon è più complesso).

Share this post


Link to post
Share on other sites

<FONT COLOR="ff0000">gennaro: No anzi, come ho detto prima è stato carbon ad essere inserito dopo.</FONT> sono d'accordo con te (e non mi pare di aver mai affermato il contrario).

<FONT COLOR="ff0000">si può accedere a cocoa anche con java ma come dici tu stesso è troppo lento per realizzare applicazioni</FONT>

Non direi assolutamente che e' "troppo lento". Java puo' bastare come unico linguaggio se sei alle prime armi e/o non hai in mente di realizzare applicazioni che stressano pesantemente il mac. Esiste comunque la possibilita' di passare all'ObjC (ok e' + performante) in modo assolutamente indolore e Apple (o Next) ha previsto questo, infatti gli oggetti cocoa, tra il java e l'ObjC, mantengono sempre gli stessi nomi e le stesse modalita' di utilizzo.

<FONT COLOR="ff0000">l'ObjC, che più che al Java somiglia allo SmallTalk</FONT>

Vero, ma consiglieresti a Enrico Salomone di impararsi lo SmallTalk? Comunque ok, java e' il linguaggio + simile all'ObjC dopo lo SmallTalk! Posted Image.

Al di la' di questo riassumo: il java e' la scelta migliore secondo me perche':

- E' molto diffuso (= aiuti on line, codice, esempi, tutorial, tutto in italiano; questo non si puo' dire dell'ObjC e di Carbon)

- Gira ovunque (se un giorno ti stanchi del mac, speriamo di no Posted Image, il tempo speso sui libri e' ancora utile)

- I tool di sviluppo sono gratuiti (anche quelli per programmare i palmari e i telefoni cellulari)

- Ti permette ti sviluppare appl. Cocoa in piena liberta'

- Ti da delle ottime conoscenze per poter migrare in modo indolore verso altri linguaggi OO e non.

- There's no step 6

<FONT COLOR="ff0000">In ogni caso ben oltre il 50% delle applicazioni native per OS X sono realizzate sfruttando carbon</FONT>

Ha gia' risposto Olaf, voglio solo aggiungere che non ha molto senso un confronto adesso. OS X e gli strumenti Cocoa sono appena stati introdotti al grande pubblico (chi badava a Next prima?).

Colgo l'occasione per dire che mi farebbe molto piacere iniziare a scambiare codice (java, ObjC, C/C++, REALbasic ...), risorse e conoscenze sulla programmazione in ambito mac (sia Cocoa che Carbon). So che e' un argomento di cui si discute poco su questo forum, ma forse col nuovo OS le cose cambieranno ...

Share this post


Link to post
Share on other sites

Giulio

>Al di la' di questo riassumo: il java e' la scelta migliore secondo me perche':

>- E' molto diffuso (= aiuti on line, codice, esempi, tutorial, tutto in italiano; questo non si puo' dire dell'ObjC e di Carbon)

stiamo parlando di java e non delle api carbon, perchè se consideri che queste si programmano in C, forse c'è anche più materiale in giro che rispetto al java!

- Gira ovunque (se un giorno ti stanchi del mac, speriamo di no , il tempo speso sui libri e' ancora utile)

Ok se sviluppi in pure java (così come se sviluppi in C), altrimenti è probabilmente più facile fare il porting di una applicazione scritta con carbon che non una scritta con cocoa

- I tool di sviluppo sono gratuiti (anche quelli per programmare i palmari e i telefoni cellulari)

Sono ugualmente gratuiti quelli per il C.

- Ti permette ti sviluppare appl. Cocoa in piena liberta'

Ok, però girano "relativamente" lente.

- Ti da delle ottime conoscenze per poter migrare in modo indolore verso altri linguaggi OO e non.

Vero.

- There's no step 6

PS: bella l'idea di scambiare codice e materiale di sviluppo!

Share this post


Link to post
Share on other sites

<FONT COLOR="ff0000">stiamo parlando di java e non delle api carbon, perchè se consideri che queste si programmano in C, forse c'è anche più materiale in giro che rispetto al java!</FONT>

Facciamo un po' di chiarezza.

Materiale C e materiale Carbon non sono la stessa cosa. Il primo e' sicuramente + abbondante di quello java (per adesso), ma quello Carbon e' quasi introvabile e di gran lunga inferiore a quello java.

Devi tener conto del fatto che col java puro puoi costruire app che si integrano perfettamente con l'OS (gui, eventi ecc...) senza aver bisogno di strumenti esterni, quindi la faccenda e' ben diversa dal C, dove hai bisogno per forza di ricorrere al Carbon per ottenere le stesse cose. In cocoa poi gli oggetti si utilizzano nella stessa maniera che in java, c'e' infatti un'evidente equivalenza del modo di operare nei 2 ambienti, si vede anche dai nomi degli oggetti: Window in java e NSWindow in cocoa (NS = NextStep), tanto per dirne una.

<FONT COLOR="ff0000">sviluppi in pure java (così come se sviluppi in C)</FONT>

il C e' portabile tanto quanto il java solo se si utilizzano esclusivamente librerie standard, cioe' mai. Il java e' nato proprio per risolvere questi problemi, altrimenti non avrebbe motivo di esistere.

<FONT COLOR="ff0000">è probabilmente più facile fare il porting di una applicazione scritta con carbon che non una scritta con cocoa</FONT>

Non saprei. Bisogna valutare caso per caso. Comunque "se devi scrivere per hobby qualche piccola applicazione", come dici tu, non dovresti avere di questi problemi. Ancora meno devi averne se inizi a programmare da zero.

<FONT COLOR="ff0000">Sono ugualmente gratuiti quelli per il C.</FONT>

Anche quelli per programmare su palmari e cell.? Dai un'occhiata sul sito della sun al J2ME

<FONT COLOR="ff0000">Ok, però girano "relativamente" lente.</FONT>

Che tempi! Siamo ossessionati dalla velocita'! Posted Image

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