Sign in to follow this  

Recommended Posts

Giulio

>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.

Sono d'accordo, facciamo chiarezza. tu dici "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)". Non confondere Java o C con le Api Carbon!

>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.

Sul fatto che se sviluppi in pure java riesci a creare applicazioni che si integrano perfettamente in terminidi gui con il sistema operativo OS X, beh ho dei dubbi. Certamente è facile invece creare applicazione con interfaccia grafica.

>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.

ma tu quando sviluppi con java e cocoa non stai certu usando librerie portabili!

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

non m'interesso di sviluppo su dispositivi come palmari e cell, ma d'altra parte che c'entrano in questo discorso? Stiamo parlando di piccole applicazioni hobbistiche vero?

>Che tempi! Siamo ossessionati dalla velocita'!

beh, sto ancora aspettando jaguar quindi naturalmente non ne conosco le prestazioni, ma già os x è lento di suo, se poi ci metti anche un'applicazione sviluppata in java...

Share this post


Link to post
Share on other sites

Mi spiego meglio sul primo punto:

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)

Qui tu affermi che c'è in giro molto materiale riguardante il linguaggio Java e meno rispetto all'objective C e carbon. Ma il confronto sarebbe Java/ObjectiveC perchè non ha senso dire che è meglio Java perchè c'è più materiale java in giro rispetto a quello su carbon, questo è naturale!

Gennaro:

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!

Qui ribadisco appunto quanto ho appena detto sul confronto Java/altro linguaggio, perchè se confronto Java/Carbon, io capisco che vuoi confrontare Java con un linguaggio che può sfruttare Carbon il cui principale esponente è il C. E naturalmente sul C esiste molta più letteratura rispetto al Java (o almeno per il momento).

Share this post


Link to post
Share on other sites

Inoltre da programmatore Mac (hobbista) mi interesserei piuttosto al fatto che il mio programma giri su quanti più mac possibili (e carbon, opportunamente sfruttato, ti permette di far girare le tue applicazioni su Mac OS 8.6 e superiori) piuttostoche che su cellulari o PDA!

Share this post


Link to post
Share on other sites

<FONT COLOR="ff0000">Gennaro: Non confondere Java con le Api Carbon!</FONT>

Ovviamente non confondo le due cose, si parlava di differenze nella reperibilita' delle informazioni e quindi il confronto e' assolutamente sensato.

<FONT COLOR="ff0000">Sul fatto che se sviluppi in pure java riesci a creare applicazioni che si integrano perfettamente in termini di gui con il sistema operativo OS X, beh ho dei dubbi.</FONT>

Indubbiamente conosci meglio il C e Carbon del java ...

<FONT COLOR="ff0000">ma tu quando sviluppi con java e cocoa non stai certu usando librerie portabili!</FONT>

Ok, ma lo stesso vale per Carbon, con la fondamentale differenza che mentre in quest'ultimo caso fuori dal mondo mac sei nel buio completo, col java puoi liberamente passare a cocoa(chiuso) o rimanere in pure java(aperto) senza dover mettere mano ogni volta a manuali di centinaia e centinaia di pagine.

<FONT COLOR="ff0000">palmari e cell, ma d'altra parte che c'entrano in questo discorso? Stiamo parlando di piccole applicazioni hobbistiche vero?</FONT>

Programmare un gioco su palmare non puo' essere un hobby? Non pensare che tutta l'informatica sia rigida, difficile e noiosa come il C e/o il Carbon (Posted Image). Col java un giochetto per cellulare lo fai in mezza giornata. A me non interessa, ma a molti si e comunque meglio non buttare niente: + strumenti si hanno meglio e'.

<FONT COLOR="ff0000">già os x è lento di suo, se poi ci metti anche un'applicazione sviluppata in java</FONT>

Hai ragione, ma e' tutta colpa della porzione di java che appoggia direttamente su Carbon. Alla Apple ci stanno lavorando.

Share this post


Link to post
Share on other sites
Guest

Per Enrico> non devi necessariamente arrivare al programmino in cocoa, java può già fare tantissime cose!

Share this post


Link to post
Share on other sites

Giulio

>Sul fatto che se sviluppi in pure java riesci a creare applicazioni che si integrano perfettamente in termini di gui con il sistema operativo OS X, beh ho dei dubbi.

Indubbiamente conosci meglio il C e Carbon del java ...

Ok, per favore mi mandi per email un programmino (o per lo meno uno screenshot) che mi sfrutta l'interfaccia di OS X scritto in pure java? Non sto scherzando.

>Programmare un gioco su palmare non puo' essere un hobby? Non pensare che tutta l'informatica sia rigida, difficile e noiosa come il C e/o il Carbon (). Col java un giochetto per cellulare lo fai in mezza giornata. A me non interessa, ma a molti si e comunque meglio non buttare niente: + strumenti si hanno meglio e'.

Può essere un hobby divertentissimo, ma certamente non c'entra niente con la richiesta di un consiglio su quale sia la migliore via per scrivere un programmino per mac (os x).

>Ok, ma lo stesso vale per Carbon, con la fondamentale differenza che mentre in quest'ultimo caso fuori dal mondo mac sei nel buio completo, col java puoi liberamente passare a cocoa(chiuso) o rimanere in pure java(aperto) senza dover mettere mano ogni volta a manuali di centinaia e centinaia di pagine.

e perchè mai non dovrebbe servirti anche il C al di fuori di carbon? in fondo, specialmente in ambiente UNIX il C o il C++ è diffusissimo, così come in ambito scientifico, ormai si tende a convertire tutte le vecchie (ma efficientissime) routines fortran in C e C++.

>già os x è lento di suo, se poi ci metti anche un'applicazione sviluppata in java

Hai ragione, ma e' tutta colpa della porzione di java che appoggia direttamente su Carbon. Alla Apple ci stanno lavorando.

Me la spieghi un pò meglio questa?

Share this post


Link to post
Share on other sites

Giulio

>Ovviamente non confondo le due cose, si parlava di differenze nella reperibilita' delle informazioni e quindi il confronto e' assolutamente sensato.

No, tu confronti la reperibilità delle informazioni sul pure-java rispetto all'uso del C con le API carbon. E questo naturalmente è impari nei confronti del secondo. Al più potresti confrontare la reperibilità del Java+Cocoa rispetto al C+Carbon.

Share this post


Link to post
Share on other sites

<FONT COLOR="ff0000">mi interesserei piuttosto al fatto che il mio programma giri su quanti più mac possibili</FONT>

Come hobbista non ti basta che giri sul tuo mac? Posted Image

C'e' un fondo di verita' in quel che dici in effetti, ma questo aspetto sinceramente mi sembra molto poco influente rispetto alle prospettive offerte dagli strumenti del nuovo OS. Se c'e' da scegliere preferisco perdere la compatibilita' col passato (processo comunque inevitabile, altrimenti per Apple son guai).

<FONT COLOR="ff0000">Olaf: Per Enrico> non devi necessariamente arrivare al programmino in cocoa, java può già fare tantissime cose!</FONT>

E' vero, prima di pensare alla programmazione cocoa, pensa a farti una solida base pratica e teorica sul java. Dopo, tutto sara' + semplice.

<FONT COLOR="ff0000">Ok, per favore mi mandi per email un programmino (o per lo meno uno screenshot)...</FONT> Meglio delle demo del java2 non ce n'e'. Pero' con la vers. 1.4 l'integrazione e' ulteriormente migliorata.

<FONT COLOR="ff0000">Può essere un hobby divertentissimo, ma certamente non c'entra niente con la richiesta di un consiglio</FONT> Dai un'occhiata + sopra e capisci come e' partito il discorso ... puo' terminare qui senza problemi

<FONT COLOR="ff0000">e perchè mai non dovrebbe servirti anche il C al di fuori di carbon?</FONT> Chi ha mai detto una cosa simile? Il C e' utilissimo, e va sicuramente imparato in un secondo momento.

<FONT COLOR="ff0000">No, tu confronti la reperibilità delle informazioni sul pure-java rispetto all'uso del C con le API carbon</FONT> Certo, perche' tali informazioni sono utilissime e fondamentali anche in ambito cocoa. Questo dipende dal modo di operare della PO e dalla liberta' di spostamento tra ambienti di sviluppo diversi che da essa deriva. Come ho gia' detto parlo per esperienza, ma non e' raro trovare ad esempio dei tutorial che dicano le stesse cose.

Share this post


Link to post
Share on other sites

Giulio:

>e perchè mai non dovrebbe servirti anche il C al di fuori di carbon? Chi ha mai detto una cosa simile? Il C e' utilissimo, e va sicuramente imparato in un secondo momento.

>Ok, ma lo stesso vale per Carbon, con la fondamentale differenza che mentre in quest'ultimo caso fuori dal mondo mac sei nel buio completo, col java puoi liberamente passare a cocoa(chiuso) o rimanere in pure java(aperto) senza dover mettere mano ogni volta a manuali di centinaia e centinaia di pagine.

Segui il mio discorse e dimmi dove sbaglio. Enrico non ha esperienze di programmazione e chiede consiglio su quale sia la migliore via per realizzare un semplice programmino per OS X. Io dico che secondo me è meglio imparare C e passare a Carbon, tu Java (o Objective C) e passare a Cocoa. Siamo pacifici, due approcci diversi ma portano allo stesso risultato.

Tu inoltre consigli Java perchè come ho riportato sopra, una volta imparato java sei libero di realizzare applicazioni con cocoa per OS X o rimanere nel java puro e realizzare applicazioni per altri ambienti. Tutto ok.

Ma io che ho consigliato d'utilizzare Carbon e quindi imparare il linguaggio C che può essere tranquillamente essere utilizzato senza problemi su altre piattaforme. Però tu osservi che "...con la fondamentale differenza che mentre in quest'ultimo caso fuori dal mondo mac sei nel buio completo, col java puoi liberamente passare a cocoa(chiuso) o rimanere in pure java(aperto) senza dover mettere mano ogni volta a manuali di centinaia e centinaia di pagine".

Quindi perchè si rimarrebbe tagliati fuori dal mondo al di fuori del mac?

Insomma lo spirito del mio consiglio è: impara il C, linguaggio diffusissimo e poi approda a Carbon.

Puoi osservare che carbon è più difficile da programmare rispetto a cocoa (ma qui siamo sempre in questioni di abitudini, gusti...) però alla fine diciamo ambedue di imparare un linguaggio noto e poi passare ad una particolare API. Soltanto che C e Java hanno "bacini d'attrazione" diversi.

Share this post


Link to post
Share on other sites

vabbe', sarà il mio background culturale non da informatico puro (resto pur sempre un matematico) che mi impedisce di apprezzare pienamente java (anche perché non adatto al mio lavoro)...

Share this post


Link to post
Share on other sites

Forse non hai colto il punto chiave di quello che volevo dire (o forse mi sono spiegato male):

fino ad ora ho cercato di sottolineare come il percorso che ti porta dal C al Carbon sia incredibilmente difficoltoso e lungo rispetto a quello che ti porta da java a cocoa. Il C standard sopravvive certamente anche fuori dal mac, ma e' sempre e solo uno "strato" a cui bisogna aggiungere qualcosa. Per poter realizzare un'applic. appena decente (anche solo aprire una finestra) sei costretto ad imparare Carbon (solo per mac) e per fare questo ti ci vuole 10 volte il tempo che impieghi ad imparare il C o il java. Sono volumi e volumi da leggere senza riuscire a disegnare un solo pixel sullo schermo.

Sono prima di tutto i tempi d'apprendimento a fare la differenza. Il java lo impari decentemente in un mesetto? Facciamo due se te la prendi comoda? Fatto questo sei gia' padrone (in pure-java) di finestre, eventi, suoni, socket ecc... e per iniziare a costruire applicazioni cocoa ti basta (e qui non c'e' confronto con carbon) un tutorial di 2 pagine della apple. Il passaggio java-->cocoa e' brevissimo ed indolore. Insomma, se conosci java sai gia' programmare cocoa, devi solo imparare a smanettare sul maledettissimo Interface Builder. Ricordi la demo fatta alla conferenza degli svilupp. Apple? Con cocoa e ObjC (ma con java e' la stessa identica cosa) in una manciata di minuti hanno costruito un'app. funzionante.

Infine, mentre una volta imparato il C puo' essere difficoltoso passare a java o alla PO in generale (non e' detto ma e' meglio non rischiare), il procedimento inverso e' talmente naturale da essere adottato anche all'Univ. Il java ha una sintassi molto simile al C e all'ObjC (e' la prima cosa che si insegna) ed inoltre ha la fortuna di avviarsi ad essere il liguaggio di progr. dei prossimi anni, M$ permettendo.

Insomma: il percorso C-->Carbon a chi inizia adesso non conviene assolutamente, e' un'inutile perdita di tempo su argomenti di interesse troppo specifico.

Carbon, per chi gia' lo conosce e si porta dietro migliaia o milioni di righe di vecchio codice, rimane sicuramente un validissimo strumento, su questo non si discute.

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