# [OT] Java Open source!

## mambro

http://www.sun.com/software/opensource/java/getinvolved.jsp

 :Very Happy: 

----------

## richard77

Per chi vuole sapere a quando l'ebuild della versione gpl: https://bugs.gentoo.org/show_bug.cgi?id=155052

Io comunque ho la sensazione che Sun arrivi un po' tardi. Se l'avesse fatto qualche anno fa, magari prima di .NET, sarebbe stato più efficace.   (IMHO).

Non vorrei fosse un modo per scaricare/prendere le distanze da un prodotto non più strategico.

----------

## mrfree

Beh se è stato (o verrà rilasciato) su licenza GPL è (sarà) software libero e non semplicemente open source   :Wink: 

----------

## devilheart

quindi anche la java virtual machine sarà rilasciata sotto gpl?

----------

## randomaze

 *devilheart wrote:*   

> quindi anche la java virtual machine sarà rilasciata sotto gpl?

 

Si, la trovi qui.

----------

## mrfree

 *devilheart wrote:*   

> quindi anche la java virtual machine sarà rilasciata sotto gpl?

 

SI. HotSpot, javac e javahelp

----------

## Dece

 *richard77 wrote:*   

> Io comunque ho la sensazione che Sun arrivi un po' tardi. Se l'avesse fatto qualche anno fa, magari prima di .NET, sarebbe stato più efficace.   (IMHO).

 

In questo caso, meglio tardi che mai no?  :Wink: 

 *richard77 wrote:*   

> Non vorrei fosse un modo per scaricare/prendere le distanze da un prodotto non più strategico.

 

Secondo me invece è l'esatto contrario... rilasciando Java sotto la gpl2 probabilmente Sun conta proprio di ricevere maggior appoggio dalla comunità, e quindi allo stesso tempo far "penetrare" maggiormente la sua tecnologia nel mercato e diminuire i costi relativi allo sviluppo di Java stesso. Mi sembra quindi una mossa che rientra più in una gestione strategica piuttosto che un "abbandono" di Java

----------

## darkmanPPT

 :Wink:  secondo me e' stata una grande mossa.

certamente se l'avesse fatta prima sarebbe stato meglio per loro.

cmq, una cosa e' sicura.... ci guadagneranno un casino in fetta di mercato rispetto a .net

cioe', alla fine dico...

java mi pare una gran bella cosa (l'ho usato anche per programmazione di rete).

il fatto di essere "opensorcio"   :Laughing:  lo rendera' molto + sicuro.

(un po' come tutti i software open, vedi firefox per esempio)

visto che la competitivita' tra java e .net sara', a mio avviso, sulla sicurezza e la compatibilita'... nel momento in cui metti un prodott open source sicuramente la sicurezza aumenta e probabilmente anche la compatibilita' (vedi openoffice per fare un esempio di un progetto che e' mega-compatibile)

 :Wink:  ebbravi gli sviluppatori!

----------

## devilheart

 *randomaze wrote:*   

>  *devilheart wrote:*   quindi anche la java virtual machine sarà rilasciata sotto gpl? 
> 
> Si, la trovi qui.

 quindi posso sperare in un plugin java-1.5 per firefox a 64bit?

----------

## federico

Sara' il canto del cigno  :Smile: 

Forse si sono accorti che java e' un legno e che tutte le applicazioni java hanno un look'n'feel pessimo e hanno pensato bene di buttare la palla a noi...

Non penso tuttavia che ci sia molto da temere con .net, alla fine a mio avviso non si sta rivelando questa grandiosa piattaforma che ci volevano spacciare...

F

----------

## randomaze

 *federico wrote:*   

> Forse si sono accorti che java e' un legno e che tutte le applicazioni java hanno un look'n'feel pessimo e hanno pensato bene di buttare la palla a noi...

 

Dici? Lato server la cosa non è esattamente come la descrivi.

Peraltro vedo che su freshmeat ci sono più progetti Java che C++ (ovviamente il C standard batte tutti  :Wink:  )

----------

## mrfree

 *randomaze wrote:*   

> Dici? Lato server la cosa non è esattamente come la descrivi.

 

Beh in effetti però non hanno "liberato" la J2EE ma solo J2SE e J2ME

----------

## randomaze

 *mrfree wrote:*   

>  *randomaze wrote:*   Dici? Lato server la cosa non è esattamente come la descrivi. 
> 
> Beh in effetti però non hanno "liberato" la J2EE ma solo J2SE e J2ME

 

Dovrebbe essere tutto GPL'd entro il prossimo anno. 

A parte una clausola aggiuntiva su JavaSE e JavaEE (la ClassPathException) per evitare che *tutti* i programmi sviluppati con java diventino GPL.

A parte Duke, il logo java che pare sia diventato *BSD.

http://www.sun.com/software/opensource/java/faq.jsp

----------

## Dece

 *federico wrote:*   

> Forse si sono accorti che java e' un legno...

 

Beh considerando che è una macchina virtuale... anche .Net non è che sia poi tutta questa velocità: è il prezzo da pagare per avere la portabilità su diversi sistemi operativi: in certi casi è più conveniente avere un software portabile anche se non velocissimo. Anche se credo che la "pesantezza" fosse un problema più grave qualche anno fa: probabilmente con l'aumentare della potenza, diventerà un problema sempre più marginale

----------

## .:deadhead:.

 *federico wrote:*   

> Sara' il canto del cigno 
> 
> Forse si sono accorti che java e' un legno e che tutte le applicazioni java hanno un look'n'feel pessimo

 Mi dispiace fede ma ciò che dici non è vero. Forse in passato, ma ora di librerie grafiche per java ce ne sono na fraccata la tua critica potrebbe esser tradotta in "chemmerda le motif" se parlassimo di GUI sotto X, quando ora esistono gtk e qt

In termini di prestazioni le cose son molto migliorate. E' sempre una VM, certo è che le cose son migliorate molto.

----------

## ProT-0-TypE

 *.:deadhead:. wrote:*   

> 
> 
> In termini di prestazioni le cose son molto migliorate. E' sempre una VM, certo è che le cose son migliorate molto.

 

Addirittura MOLTO?? Forse è molto migliorato l'hw sottostante..

----------

## .:chrome:.

 *ProT-0-TypE wrote:*   

>  *.:deadhead:. wrote:*   
> 
> In termini di prestazioni le cose son molto migliorate. E' sempre una VM, certo è che le cose son migliorate molto. 
> 
> Addirittura MOLTO?? Forse è molto migliorato l'hw sottostante..

 

personalmente non credo.

già con l'avvento di java 1.5 le novità sono state molte ed importanti, e non solo a livello di linguaggio.

la portata di queste novità è stata tale da indurre a dare un segno chiaro della diversità del linguaggio rispetto alle versioni precedenti: infatti la release non si chiama java 1.5 ma java 5, ed è stata una piccola rivoluzione, al punto che molto bytecode per java 2 non funziona nemmeno più.

fra tre mesi ce ne aspetta un'altra: java 6 e tutto si rimetterà in discussione nuovamente, con una nuova struttura della JVM e un garbage collector nuovo di zecca, che va achiudere quella che era forse la più grande falla del linguaggio fin dal suo avvento

----------

## Ic3M4n

 *.:deadhead:. wrote:*   

>  *federico wrote:*   Sara' il canto del cigno 
> 
> Forse si sono accorti che java e' un legno e che tutte le applicazioni java hanno un look'n'feel pessimo Mi dispiace fede ma ciò che dici non è vero. Forse in passato, ma ora di librerie grafiche per java ce ne sono na fraccata la tua critica potrebbe esser tradotta in "chemmerda le motif" se parlassimo di GUI sotto X, quando ora esistono gtk e qt
> 
> 

 

aggiungo anche che esiste un binding delle gtk per java, utilizzando glade e poco altro si possono avere interfacce grafiche coerenti con il sistema gnome senza molto sforzo. Non so se esiste qualcosa del genere anche per le Qt, però le possibilità per avere interfacce grafiche decenti ci sono.

----------

## ProT-0-TypE

 *.:chrome:. wrote:*   

> *

 

io non vedo tutta sta differenza in termini di prestazioni   :Rolling Eyes: 

----------

## federico

Probabilmente il fatto che ho programmato poco con la grafica mi ha fatto dire una cazzata, peeeeroooo... lento e' lento...

----------

## richard77

Qui un'analisi piuttosto interessante della mossa Sun.

----------

## riverdragon

 *federico wrote:*   

> Non penso tuttavia che ci sia molto da temere con .net, alla fine a mio avviso non si sta rivelando questa grandiosa piattaforma che ci volevano spacciare...

 A me risulta il contrario. Certo non è un sostituto del c ma i programmatori in ambiente "microsoft" che conosco (me escluso, forza python) usano tutti .net, sia ASP o VB o altro.

----------

## !equilibrium

 *richard77 wrote:*   

> Io comunque ho la sensazione che Sun arrivi un po' tardi. Se l'avesse fatto qualche anno fa, magari prima di .NET, sarebbe stato più efficace.   (IMHO).
> 
> Non vorrei fosse un modo per scaricare/prendere le distanze da un prodotto non più strategico.

 

concordo, considera inoltre che il rilascio di tutto il framework non sarà immediato ma molto graduale e diluito nel tempo, per cui Sun arriva con un ulteriore duplice ritardo rispetto alla concorrenza.

----------

## !equilibrium

 *Ic3M4n wrote:*   

> aggiungo anche che esiste un binding delle gtk per java, utilizzando glade e poco altro si possono avere interfacce grafiche coerenti con il sistema gnome senza molto sforzo. Non so se esiste qualcosa del genere anche per le Qt, però le possibilità per avere interfacce grafiche decenti ci sono.

 

sì ci sono, ci sono anche per .NET, objC e altri linguaggi.

non sono molto utilizzati e alcuni di questi binding si trovano solo nel CVS/SVN perchè non sono stati ancora rilasciati ufficialmente al pubblico.

----------

## SilverXXX

Java è lento. Punto. Più del .NET con la macchina virtuale microsoft. MA il prolema è la vm sun, quella ibm ha prestazioni migliori di quel pò.

All'infuori delle prestazioni, trovo c# molto migliore come linguaggio.

----------

## mrfree

 *SilverXXX wrote:*   

> trovo c# molto migliore come linguaggio.

 

Addirittura "molto migliore"? Così per curiosità potresti fornire qualche succulento dettaglio?

Quando gli ho dato uno sguardo (forse lo scorso anno) mi è sembrato più un mix tra c++ e java, l'unica cosa più o meno interessante (almeno così a memoria) era il costrutto specifico per il get e set nient'altro mi ha diciamo stupito, cosa mi sono perso?

----------

## SilverXXX

Diverse cose sono realizzate meglio, tutto quà. Tanti piccoli dettagli, che però tornano comodi. Oltre al get e set, ci sono per esempio gli indexer (accedi a una classe come se faosse un vettore). E trovo l'albero di classi migliore.

----------

## Dece

 *SilverXXX wrote:*   

> trovo c# molto migliore come linguaggio. 
> 
> ...
> 
> Oltre al get e set, ci sono per esempio gli indexer (accedi a una classe come se faosse un vettore). E trovo l'albero di classi migliore

 

Non sono d'accordo... o meglio posso essere d'accordo con java 1.4, che non ha cose come il foreach, i generici: ma dal momento che queste cose Java 1.5 le ha...

C# è una copia di Java, con una infarinata di C++ che gli ha dato "quel qualcosa in più" (poi ripreso a sua volta da Java)

I getter e i setter, gli indexer, sono solo zucchero sintattico: di sotto quello che succede sono sempre chiamate a procedura, come in Java (ammetto che accedere ad una classe come un vettore è comodo, anche se molto fuorviante)

Ovviamente questo è il mio personale parere di studente che ha usato entrambi i linguaggi e preferisce Java, sono pronto ad essere smentito da chi ha utilizzato entrambi in ambiti più professionali o in modo più approfondito  :Wink: 

Ciao

----------

## randomaze

 *Dece wrote:*   

> (ammetto che accedere ad una classe come un vettore è comodo, anche se molto fuorviante)

 

Si può avere un esempio di questa cosa?

----------

## Dece

Ad esempio in un Vector: per estrarre un elemento, anzichè fare una nomeVector.get(5) o nomeVector.elementAt(5), puoi scrivere nomeVector[5]

è molto più compatto, ma l'idea che un "oggetto" sia anche un "array" è a mio avviso fuorviante

----------

## SilverXXX

Direi che accedere ad un oggetto come vettore sia fuorviante è relativo. Per esempio, adesso in un corso di visione artificiale che sto sostenendo, i pixel di un'immagine li possiamo accedere, tramite l'indexer, sia lineramente (img[int pixel]) che bidimensionalmente (img[int x, int y]). Certo, sotto sotto sono sempre chiamate a funzione, ma sotto sotto ogni linguaggio è codice macchina. Dobbiamo usare solo quello quindi?

Poi di java non mi piace molto come è strutturato l'albero delle classi, preferisco il .net (ma ammetto che questo è estremamente relativo).

----------

## randomaze

 *SilverXXX wrote:*   

> Poi di java non mi piace molto come è strutturato l'albero delle classi, preferisco il .net (ma ammetto che questo è estremamente relativo).

 

Trovo ababstanza relativo anche il discorso degli indexer... e concordo con Dece.

----------

## Dece

 *SilverXXX wrote:*   

> .... possiamo accedere, tramite l'indexer, sia lineramente (img[int pixel]) che bidimensionalmente (img[int x, int y]). Certo, sotto sotto sono sempre chiamate a funzione, ma sotto sotto ogni linguaggio è codice macchina. Dobbiamo usare solo quello quindi?

 

Qui si tratta più di polimorfismo di funzioni, è un discorso leggermente diverso... io intendevo fuorviante perchè quando scrivo "nomeArray[3]" sono mentalmente legato a quello che fa il C, ovvero un accesso in memoria di un array tramite puntatori.

In C# scrivere invece "nomeVector[3]" sottintende una semantica completamente diversa, ovvero la chiamata di un getter (o un setter) di un oggetto: considerando poi che io posso anche definire un array normale accedendoci sempre con le "[]" (o se non ricordo male anche con i puntatori come in C), si può creare ambiguità.

In sintesi, io quando vedo le "[]" penso ad un array di qualcosa: in C# non è sempre cosi. Non dico che sia sbagliato, semplicemente preferisco Java perchè è più "restrittivo" e quindi non ambiguo, ma ripeto: non è l'unico via, semplicemente ognuno ha le sue preferenze in fatto di linguaggi  :Smile: 

----------

## SilverXXX

 *Dece wrote:*   

> ...  semplicemente ognuno ha le sue preferenze in fatto di linguaggi 

 

Pienamente d'accordo  :Very Happy: 

ps. i puntatori si possono usare solo dichiarando porzioni di codice unsafe, cosa che non ho mai fatto per cui sto zitto evitando di parlare a sproposito.  :Smile: 

----------

## .:chrome:.

 *ProT-0-TypE wrote:*   

> io non vedo tutta sta differenza in termini di prestazioni  

 

la grandissima differenza dicono che si vedrà con java 6, ma già con java 5 la musica è cambiata un bel po'

----------

