Open JDK: Oracle e Apple assieme per Java su Mac OS X

Open JDK: Oracle e Apple assieme per Java su Mac OS X

Oracle e Apple annunciano congiuntamente il progetto Open JDK che permetterà di portare Java SE7 su Mac OS X

di pubblicata il , alle 15:57 nel canale Sistemi Operativi
Apple
 
52 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
marczxc15 Novembre 2010, 18:55 #41
Originariamente inviato da: FabryHw
Quindi alla fine (nei casi in cui Java o altro va bene) una società con i soldi di sviluppo che risparmia (o con i soldi dei maggiori incassi dovuti all'arrivare magari un mese prima sul mercato con il proprio prodotto) si compra HW che va al doppio e compensa le deficienze di Java vs C++ e probabilmente avanzando anche dei soldi.


FabryHw15 Novembre 2010, 19:15 #42
Originariamente inviato da: marczxc


Non vedo cosa ci trovi di strano.
E' sempre andato così e probabilmente tranne nei mercati di nicchia andrà sempre così.

Già negli anni 90, io che sono un estimatore delle prestazioni max possibili, venivo ribatutto con argomenti del tipo "ma chi se ne frega se la tua implementazione gira 5 volte più veloce e va bene anche sul 386. Se poi ci metti 6 mesi a finirla. Scusa ma prefisco l'altra implementazione pronta in un mese ed al più mi compro un 486 pompato o i nuovi pentium. Ricordati che quello che costa davvero nel mondo informatico è il costo del programmatore non il costo dell'HW"

Basta vedere che linguaggi come Python (che sinceramente a me piace molto), Ruby, ...ecc prendono sempre più piede.
Questo nonostante spesso siano da 20 a 50 volte più lenti del già lento per voi Java.

Solo che se raggiungono la velocità minima che serve (o al più esiste HW su cui poterli far girare abbast. velocemente) e ti permettono di essere più produttivi (leggi fare in 2 mesi quello che in java ce ne impiegheresti 6) all'azienda spesso va bene così
WillianG8315 Novembre 2010, 19:24 #43
Originariamente inviato da: FabryHw
Quindi alla fine (nei casi in cui Java o altro va bene) una società con i soldi di sviluppo che risparmia (o con i soldi dei maggiori incassi dovuti all'arrivare magari un mese prima sul mercato con il proprio prodotto) si compra HW che va al doppio e compensa le deficienze di Java vs C++ e probabilmente avanzando anche dei soldi.


Avevi anche iniziato bene il tuo intervento dicendo che si deve fare un’analisi e se è necessario avere performance allora si scegli un linguaggio come c/c++ o meglio ancora supportare il tutto con delle librerie scritte direttamente in assembly, invece dove la performance non è un must allora si preferisce il linguaggio che abbassa i costi e velocizza lo sviluppo (che ribadisco in alcune aziende NON ITALIANE iniziano a preferire il c# sul java visto il vasto campo che lo coinvolge).

Però questa frase tua non è per niente bella, è una delle filosofie fortemente criticate dagli ingegneri di software e analisti. Si deve far spendere il giusto al cliente e quindi fornirgli il software giusto che deve girare sulle macchine giuste o peggio ancora in quelle già presenti che spesso, anche nelle aziende più moderne, sono macchine vecchie e lente o secondo te le aziende si mettono ad aggiornare i calcolatori così come farebbe un smanettone col computer di casa?!

Diciamo che hai parlato esattamente come un programmatore puro, che sa solo buttare codici e basta, senza un minimo di conoscenza di analisi ed ingegneria (lascio chiaro che non ti sto dando dell’incompetente ma sottolineo soltanto il tono del tuo intervento) e spesso legato a quel linguaggio che lo conosce benissimo e quindi non tantissimo bravo a programmare a prescindere dal linguaggio scelto.
FabryHw15 Novembre 2010, 19:40 #44
Originariamente inviato da: WillianG83
Avevi anche iniziato bene il tuo intervento dicendo che si deve fare un’analisi e se è necessario avere performance allora si scegli un linguaggio come c/c++ o meglio ancora supportare il tutto con delle librerie scritte direttamente in assembly, invece dove la performance non è un must allora si preferisce il linguaggio che abbassa i costi e velocizza lo sviluppo (che ribadisco in alcune aziende NON ITALIANE iniziano a preferire il c# sul java visto il vasto campo che lo coinvolge).

Però questa frase tua non è per niente bella, è una delle filosofie fortemente criticate dagli ingegneri di software e analisti. Si deve far spendere il giusto al cliente e quindi fornirgli il software giusto che deve girare sulle macchine giuste o peggio ancora in quelle già presenti che spesso, anche nelle aziende più moderne, sono macchine vecchie e lente o secondo te le aziende si mettono ad aggiornare i calcolatori così come farebbe un smanettone col computer di casa?!

Diciamo che hai parlato esattamente come un programmatore puro, che sa solo buttare codici e basta, senza un minimo di conoscenza di analisi ed ingegneria (lascio chiaro che non ti sto dando dell’incompetente ma sottolineo soltanto il tono del tuo intervento) e spesso legato a quel linguaggio che lo conosce benissimo e quindi non tantissimo bravo a programmare a prescindere dal linguaggio scelto.


Si spendere il giusto ma devi fare anche i conti giusti però.

Se tu gli fai spendere 100.000E senza cambiare le macchine (che magari hanno già 3 anni) ed un'altra ditta gli fa spendere 80.000E (divisi in 50.000E di sviluppo e 30.000E di nuove macchine) chi è che gli ha fatto spendere il giusto ?
E secondo te a chi commissionano il progetto ?

E' ovvio che io non intedevo con il mio esempio casi in cui risparmi 30.000E di sviluppo ma poi hai bisogno di 50.000E di HW o di altri costi nascosti.

E cmq nessuno ti obbliga a cambiare l'HW magari per la tua applicazione anche le prestazioni più lente (diciamo 3 volte più lente) di Java sono sufficienti.

Se riesci (per ipotesi) a fare un gioco in Java che tiene 70 fps come minimo sull'hw esistente, sai cosa gliene frega alla software house che se lo fai in C++ ti fa 300 fps.
Quando nel primo caso ti paga 6 mesi e nel secondo 1 anno di lavoro.
WillianG8315 Novembre 2010, 19:47 #45
Originariamente inviato da: FabryHw
Già negli anni 90, io che sono un estimatore delle prestazioni max possibili, venivo ribatutto con argomenti del tipo "ma chi se ne frega se la tua implementazione gira 5 volte più veloce e va bene anche sul 386. Se poi ci metti 6 mesi a finirla. Scusa ma prefisco l'altra implementazione pronta in un mese ed al più mi compro un 486 pompato o i nuovi pentium. Ricordati che quello che costa davvero nel mondo informatico è il costo del programmatore non il costo dell'HW"


Anche per questo esiste l'ingegneria per evitare che il programmatore inizia a comportarsi come se stesse facendo un programma per se stesso nel proprio "garage". Vale per tutti i campi, mio cognato che fa l'ingegnere civile e ha grosse costruzione ha sempre da ridire con gli architetti che fosse per loro farebbero sempre cose impossibili e improponibile nel nome del chic e della simmetria, ignorando i tempi e i costi.
FabryHw15 Novembre 2010, 19:48 #46
Originariamente inviato da: FabryHw
Si spendere il giusto ma devi fare anche i conti giusti però.

Se tu gli fai spendere 100.000E senza cambiare le macchine (che magari hanno già 3 anni) ed un'altra ditta gli fa spendere 80.000E (divisi in 50.000E di sviluppo e 30.000E di nuove macchine) chi è che gli ha fatto spendere il giusto ?
E secondo te a chi commissionano il progetto ?

E' ovvio che io non intedevo con il mio esempio casi in cui risparmi 30.000E di sviluppo ma poi hai bisogno di 50.000E di HW o di altri costi nascosti.

E cmq nessuno ti obbliga a cambiare l'HW magari per la tua applicazione anche le prestazioni più lente (diciamo 3 volte più lente) di Java sono sufficienti.


Senza contare che anche il time to market è un costo (forse occulto per i più di una azienda.

Anche ammesso di costare solo poco di più come costi di sviluppo (perché magari fai buoni prezzi) e di non richiedere cambi di HW, ma in compenso consegnare a Dicembre un progetto commissionato a Gennaio, mentre il concorrente glielo fornisce a Giugno.

All'azienda magari quei 6 mesi di NON utilizzo del nuovo sw costano molto di più che cambiarsi l'intero HW.

Poi certo che se facendo un'analisi completa viene fuori che C++ è meglio COME COSTI di una implementazione Java.
Allora dico, se hai le conoscenze per farlo vai di C++
WillianG8315 Novembre 2010, 20:00 #47
ops
WillianG8315 Novembre 2010, 20:02 #48
Originariamente inviato da: FabryHw
Se riesci (per ipotesi) a fare un gioco in Java che tiene 70 fps come minimo sull'hw esistente, sai cosa gliene frega alla software house che se lo fai in C++ ti fa 300 fps.
Quando nel primo caso ti paga 6 mesi e nel secondo 1 anno di lavoro.


Un gioco come dici tu deve sempre rappresentare il meglio della resa grafica e fisica e questo non vuol dire niente meno che enorme quantità di calcoli che continua sempre a crescere, difatti i giochi hanno sempre fatto fatica a mantenere anche i 60fps costanti figurati 300fps come dici tu (ovvio che se provi un gioco di 5 anni fa con una macchina attuale quello va fortissimo, ma un prodotto vecchio di 5 anni interessa soltanto ad una fetta di mercato inutile da considerare).
E se cerchi di fare altri esempi ti ricordo che man mano che la tecnologia è andata avanti sono migliorati anche i software portando con loro un incremento dei calcoli (ovviamente non ai livelli dei giochi) quindi il discorso è dinamico.


PS: non puoi voler tirare fuori adesso il discorso "ah ma facevo una ipotesi" perchè sarebbe troppo facile sparala grossa per poi ritrattare
FabryHw15 Novembre 2010, 20:13 #49
Originariamente inviato da: WillianG83
Un gioco come dici tu deve sempre rappresentare il meglio della resa grafica e fisica e questo non vuol dire niente meno che enorme quantità di calcoli che continua sempre a crescere, difatti i giochi hanno sempre fatto fatica a mantenere anche i 60fps costanti figurati 300fps come dici tu (ovvio che se provi un gioco di 5 anni fa con una macchina attuale quello va fortissimo, ma un prodotto vecchio di 5 anni interessa soltanto ad una fetta di mercato inutile da considerare).
E se cerchi di fare altri esempi ti ricordo che man mano che la tecnologia è andata avanti sono migliorati anche i software portando con loro un incremento dei calcoli (ovviamente non ai livelli dei giochi) quindi il discorso è dinamico.


PS: non puoi voler tirare fuori adesso il discorso "ah ma facevo una ipotesi" perchè sarebbe troppo facile sparala grossa per poi ritrattare


Che un gioco deve essere per forza lo stato dell'arte ed innovare a tutti i costi è solo una tua considerazione.

Penso che alle software house interessi più il profitto che la fama in sé (anche se quella aiuta).
Ed in alcuni casi 4Milioni di copie vendute di un gioco di medio livello (e prezzo budget), a volte possono fare più profitto di 3Milioni di copie vendute di un gioco costoso sia come prezzo di vendita che come costi di sviluppo (e quindi meno ricavi per copia), salvo veri best seller che vengono comprati a tutti i costi nonostante il prezzo iniziale.

Io ho detto che se Java mi permette per il mio target di gioco di tenere 70 fps MINIMI (e facendo tutto quindi anche il resto oltre la grafica, alias fisica, AI, ...ecc), perdere più tempo a farlo in C++ per avere prestazioni maggiori (ma poi di quanto ? sognamoci i 10 o 20x, perché non è sempre così NON SERVE ed è controproducente causa costi di sviluppo maggiori (che la sw house non è interessata a sostenere di solito).

Poi se tu parti dal presupposto che un gioco per essere vendibile (e molto profittevole per la società deve avere X caratteristiche (ma alla fine non fai anche tu come gli architetti che cercano lo chic a tutti i costi ?) e quelle X caratteristiche le puoi avere solo in C++ è un altro discorso.
Ma siamo sicuri che sia del tutto vero ?

Magari hai fatto l'analisi corretta o magari parti anche tu tal presupposto "C++ è enormemente più veloce o ha altre mille fantastiche possibilità che Java non ha".
E quindi sei fan C++ come altri sono fan Java.

PS
"Ingegneria del software"
WarDuck15 Novembre 2010, 20:30 #50
Originariamente inviato da: WillianG83
Non mi pare proprio, c'è gente che ha detto di tutto per cercare di affermare che ormai java non ha niente in meno rispetto a c/c++ nel campo della performance e questa è una prova evidente dell'incompetenza come analista, programmatore, ingegnere, ecc....


Prima di dare dell'incompetente a qualcuno direi di contare fino a 10.

Anche perché qualsiasi analista, programmatore, ingegnere di medio livello ti farebbe notare che le prestazioni non sono tutto, anzi in alcuni contesti sono l'ultima cosa (a meno di non avere vincoli di progetto particolari).

L'obiettività passa anche nell'analizzare pregi e difetti delle varie soluzioni e un qualsiasi analista, programmatore, ingegnere di medio livello ti farebbe notare che C++ non è di certo esente da difetti, anzi (il mio giudizio al riguardo è pessimo, in particolare vedo il C++ come un male di cui purtroppo non possiamo fare a meno).

E' chiaro che la lentezza dello sviluppo di Java possa rappresentare un problema, ma non mi sembra che lo standard C++ stia evolvendo così rapidamente, anzi.

D'altro canto non è detto che debba essere necessariamente un difetto, anche perché ad ogni nuova revisione di un linguaggio bisogna tenere conto dei tempi di apprendimento.

Per fare un esempio, credo che la maggior parte del software scritto in .NET sfrutti in maniera nulla o parziale le ultime features della piattaforma, probabilmente la maggior parte di esso è scritto tenendo a mente la versione 2.0 del framework anche e soprattutto per motivi di compatibilità.

L'ingegneria è l'arte del compromesso, tuttavia mi sento di lanciare uno spunto di riflessione: possibile che nel 2010 dobbiamo affidarci a linguaggi e compilatori vetusti e loro evoluzioni francamente poco convincenti?

Possibile che non riusciamo a fare di meglio? Ecco direi che il caso di riflettere su questo.

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

La discussione è consultabile anche qui, sul forum.
 
^