Sun promette: presto Java sarà open-source

Jonathan Schwartz annuncia che a breve Java verrà distribuito con licenza open-source
di Fabio Boneschi pubblicata il 17 Maggio 2006, alle 18:05 nel canale ProgrammiJonathan Schwartz annuncia che a breve Java verrà distribuito con licenza open-source
di Fabio Boneschi pubblicata il 17 Maggio 2006, alle 18:05 nel canale Programmi
102 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoforse all'atto del rendering nudo&crudo (entrando cmq in gioco le capacità della scheda video) l'overhead dovuto alla VM (sia java ke .NET) è minimo..ma quella è solo la punta dell'iceberg
mi trovo perfettamente daccordo nell'affermare che java e c/c++ assolvano a scopi differenti..per quanto riguarda le prestazioni, beh..nella maggior parte dei casi il calo nei programmi java è dovuto alle SWING (che, ricordiamo, non s'appoggiano direttamente alle widget native del SO)..con le SWT le cose migliorano (e non di poco, devo dire)..e se ql.no dice che eclipse è lento..beh, che mi trovi un altro programma che tramite plugin può permetterti di scrivere codice [linguaggio di programmazione a scelta], chattare, leggere email, disegnare database, [eccecc]..la verità è che la IBM è arrivata dal buon Foley e gli ha detto che cosa doveva fare..lui non l'ha capito è ha progettato un software..per fare tutto
..non ricordo chi ha scritto qui che le prestazioni del c e del c++ sono identiche..beh..lo sono se non usi le classi, l'object oriented introduce sempre (almeno un minimo) di overhead.
(java sarà quasi sempre+lento del c/c++..accidenti, java E' SCRITTO in c/c++! così sul momento l'unica operazione + veloce in java è il new..xkè si gestisce lui la memoria!)
forse all'atto del rendering nudo&crudo (entrando cmq in gioco le capacità della scheda video) l'overhead dovuto alla VM (sia java ke .NET) è minimo..ma quella è solo la punta dell'iceberg
Java è C# non sono interpretati.
ciao
int f(int x, int y)
{
return x + y;
}
void main()
{
int x = 0;
int y = 1;
printf(f(x = x + 1, y == x));
}
[/code]
Potrebbe anche stampare 0, ma la conversione boolean intero genera un warning (forse di livello 4, stupidamente disabilitato di default in vstudio 6) e ignorare i warning non è affatto una buona idea...
Poi vabbè qui c'è gente che paragona il C a Java, senza neanche sapere che uno è un linguaggio a oggetti e l'altro neanche sa cosa siano gli oggetti.
Effettivamente C# può essere un valido concorrente di Java, peccato che sia arrivato un millennio dopo
Vabbè
Non basta se lo vuoi fare con Poseidon, ma io ho un A64 con 1 GB di RAM quindi me ne sbatto
Poi vabbè qui c'è gente che paragona il C a Java, senza neanche sapere che uno è un linguaggio a oggetti e l'altro neanche sa cosa siano gli oggetti.
Effettivamente C# può essere un valido concorrente di Java, peccato che sia arrivato un millennio dopo
falso! java non sostituisce C++, e chi è passato da C++ a java o non stava usando un linguaggio adatto ai suoi scopi oppure ha cambiato scopi.
riguardo al C.. non è esatto che non sa cosa siano gli oggetti... in qualche modo glielo puoi dire anche se il risultato non è così immediato come in java (qualcuno aveva promesso un totorial
C# è un valido concorrente a java, soprattutto per via della sua implementazione opensource e multipiattaforma (MONO)
2)riguardo al C.. non è esatto che non sa cosa siano gli oggetti... in qualche modo glielo puoi dire anche se il risultato non è così immediato come in java (qualcuno aveva promesso un totorial
3)C# è un valido concorrente a java, soprattutto per via della sua implementazione opensource e multipiattaforma (MONO)
1) se scrivevi un gestionale a oggetti, con java hai un sistema a oggetti comprensibile, hai una JVM sicura e stabile, hai un sacco di librerie standard ben supportate e documentate e puoi far girare il tuo gestionale ovunque.
C++ va bene solo nei casi in cui ti devi appoggiare a specifiche librerie su specifici OS, nel caso esempio delle directx per sviluppare videogiochi
2) ripeto che non puoi paragonare un linguaggio NON ad oggetti a uno a oggetti. sono due mondi diversi.
C al giorno d'oggi va bene giusto per scrivere routine a bassissimo livello.
3) multipiattaforma?? ma se mono NON è neanche supportato dalla MS
C# devo ammettere che non ho molto ben chiaro come funzioni xD, l'ho provicchiato un pò, devo dire che cm potenziale espressivo del linguaggio non mi è dispiaciuto (forse trovo eccessivo dover far notare al compilatore che sto overloadando un metodo, ma vabè
Per W4rfoX:
non capisco xkè dovresti mandare "affan.." quello che ti dice che si appoggia al rendere nativo, dato che lo fa
in ogni caso, cm ho già detto, non è in fase di rendering che java si fa sentire (anche se, ti dirò, anche qui potrebbe succedere..immagina che il garbage collector si svegli proprio mentre stai trasferendo la geometria nella scheda video, magari xkè s'è accorto che hai instanziato davvero troppa roba..), quanto per effettuare calcoli fisici, determinazione della geometria visibile (che è uno degli aspetti "stupidi" dei motori che porta via+tempo). Java non è certo un fenomeno per quanto riguarda la computazione matematica.il rendering..beh, quello lo fa opengl
(non fraintendermi, io adoro Java! ci programmo da anni, solo che, per lo meno attualmente, 3D e Java non sn molto amici
Perche' la lista ritornata da foo() e' temporanea e per lo standard C++ e' definita solo fino al ; che segue foo(). Dopo non esiste piu', quindi se ne prendo un iteratore e poi prendo un valore da quello, li' dentro puo' esserci qualunque cosa.
le prestazioni del C/C++ se non in rarissimi casi (certo, se la versione C viene scritta coi
piedi....)
Java va assolutamente benissimo per applicazione CPU intensive
Il risultato generato dipende dall'ordine di valutazione dei due argomenti, quindi dipende dal compilatore ma anche dal momento in cui l'espressione viene valutata. Questo comportamento non e' una svista, e' voluto dallo standard. Insomma, il C++ non e' linguaggio semplice da usare, soprattutto in progetti di grandi dimensioni. E come ho fatto vedere nell'esempio precedente esistono casi in cui Java e C# possono risultate anche piu' performanti.
Java è lento per la grafica?
P.s. il primo spiritoso che mi fà notare che si appoggia al render nativo lo mando affan...
Non userei Java o .NET per fare grafica 3d in tempo reale, ma non per le prestazioni che sono ottime. Il problema e' il controllo sul ciclo di vita degli oggetti, che in Java e .NET non e' sotto controllo del programmatore, ma dipende dal garbage collector, mentre in C++ e' sotto diretto controllo. Per svariati motivi (purtroppo) nella grafica 3d e' necessario avere sotto diretto controllo il ciclo di vita degli oggetti, non sto parlando di oggetti 3d qui, che si stanno manipolando (texture, vertex buffer, shader) ed e' necessario finalizzarli in maniera assolutamente deterministica. Per questo motivo il C++ e' preferibile, ma ormai non si va piu' oltre: il motore 3d di un gioco e' ancora scritto in C++, ma la logica del gioco stesso tende ad essere scritta in linguaggi ad alto livello come Lua e Python.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".