Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Cosa ne pensate del linguaggio JAVA?

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

2
voti

[41] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtenteDarwinNE » 16 gen 2014, 0:57

Ni, nel senso che spesso il codice gira già su una JVM di origine Oracle. Questa è di solito piuttosto veloce (grazie anche alla tecnologia HotSpot di cui parlava Foto Utentexyz). Java non è un linguaggio interpretato e una macchina virtuale può addirittura fare ottimizzazioni che un compilatore statico non può fare. L'efficienza della JVM è aumentata di versione in versione.

Quello che capita è che la JVM non è installata correttamente e quindi ha prestazioni subottimali. Da quanto ho visto, capita più spesso con Linux, con certe versioni di OpenJDK e soprattutto in quei casi in cui per incompatibilità varie (driver etc.) le accelerazioni varie non sono disponibili. In certi casi, si possono ottenere risultati catastrofici che non sono da imputare a Java.

Certo è che se Java fosse un po' meglio integrato nei sistemi operativi se ne avrebbero solo benefici per i programmi che lo utilizzano.

Più di frequente, accade di scrivere codice non molto efficiente se non si conoscono bene i meccanismi che stanno dietro le librerie di base. Per esempio, manipolare le stringhe con la classe String può in certi casi rivelarsi inefficiente. Però quello è un problema del programmatore (che esiste in ogni linguaggio moderno con una libreria standard complessa).

Un ottimo amico di chi vuole scrivere codice rapido ed efficiente è un profiler, oppure cose meravigliose come VisualVM:
http://visualvm.java.net

Molto spesso i problemi non sono là dove li si aspetta.

P.S. Foto Utentec1b8 che macchina virtuale hai usato? OpenJDK?
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[42] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto Utentec1b8 » 16 gen 2014, 1:01

DarwinNE ha scritto:P.S. c1b8 che macchina virtuale hai usato? OpenJDK?

E' stata utilizzata sia la OpenJDK sia la IBM, scelta finale poi ricaduta su quest'ultima.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

1
voti

[43] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtenteDarwinNE » 16 gen 2014, 1:04

Bisognerebbe vedere che tipo di software sia e dove si trovi il collo di bottiglia, ma hai provato a giocare con le varie opzioni del runtime? Per esempio, con FidoCadJ in certe installazioni con Linux sun.java2d.opengl attivato porta benefici, con altre porta ad un disastro.

Ci sono un bel po' di flag con cui giocare:

http://docs.oracle.com/javase/7/docs/te ... flags.html
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[44] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto Utentec1b8 » 16 gen 2014, 1:15

E' stato provato un po' di tutto, alla fine riuscendo ad ottimizzare qualcosina, ma comunque rimane molto al di sotto delle prestazioni che mi sarei aspettato da una macchina simile.
Da notare che l'applicazione non è dotata di interfaccia utente ma si tratta di un servizio richiamabile da altre applicazioni in rete. Alcune applicazioni girano sulla stessa macchina, in una partizione IBM i con 1 core dedicato (le licenze per IBM i costicchiano...), altre su sistemi esterni. Se le stesse applicazioni, sia IBM i che esterne, richiamano il servizio installato in un PC (non un server dedicato ma un banale PC) con win 7 ottengono risposte in tempi minori.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[45] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtenteDarwinNE » 16 gen 2014, 1:18

Strano, però. Avete visto dove ci sono i problemi? Accesso alla rete? Accesso ai dischi? Etc...

Se c'è un problema con l'accesso alla rete che viene da un driver inefficiente, Java non c'entra nulla. Proverei a fare un po' di profiling sul PC e sul server per vedere da dove vengono le differenze. Non è detto che sia tutta la JVM ad essere più lenta, né che sia un problema che viene dalla JVM.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[46] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto Utentec1b8 » 16 gen 2014, 1:40

No, non credo sia ne un problema di rete ne un problema di accesso ai dischi.
Purtroppo abbiamo avuto pochi giorni per trovare una soluzione, il problema è emerso all'ultimo quando il cliente doveva andare in produzione con la macchina.

Dicevo che non credo i problemi siano imputabili alla rete o ai dischi per questi motivi:
- L'applicazione riceve in input un dcumento xml, esegue elaborazione dei dati del documento, accedendo ad un db MySql per completare le informazioni, e ritorna un documento xml con i risultati.
Dato un elenco di prodotti/qtà determina quanti e quali tipologie di contenitori (scatole), quali pallet e quali mezzi di trasporto (camion/container) convenga utilizzare effettuare il trasporto della merce, ottimizza il caricamento dei prodotto nelle scatole, delle scatole nei pallet e dei pallet nei mezzi di trasporto. Il tutto per contenere i costi di trasporto al minimo. Calcola poi i costo dell'intera spedizione richiesto dai maggiori corrieri nazionali.
A parte quindi una minima parte di lettura db per completare le anagrafiche articoli e reperire le informazioni sui contenitori/pallet/mezzi di trasporto è tutta elaborazione pura eseguita in memoria.
Mi rendo conto che una applicazione di questo tipo sarebbe stato più conveniente svilupparla in C, ma per vari motivi non solo legati a nostre scelte è stato scelto ed abbiamo sviluppato tutto in Java.
- Il DB è installato sulla macchina IBM, nella stessa partizione linux dell'applicazione.
- Le chiamate al servizio avvengono da macchine di tipo diverso, sia connesse in rete sia eseguite sulla stessa partizione linux del servizio.

Quando il servizio viene spostato sul PC con win7, il quale poi accede al db sulla macchina IBM (quindi accesso dischi e rete sono gli stessi) risponde più velocemente.
In pratica di tutte le componente si è provato a spostare solo il servizio, non il db o applicazioni chiamanti, e questo spostamento ha dato i risultati che dicevo.
Possa essere un problema della JVM utilizzata? o della distribuzione linux impiegata (è passato quasi un anno e non ricordo quale alla fine sia stata impiegata, ma se serve domani lo verifico)? Non sono riuscito a capirlo...
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

1
voti

[47] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtenteTardoFreak » 25 gen 2014, 1:41

Comunque più lo uso e più mi piace.
Effettivamente swing è un po' lenta ma accettabile direi.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[48] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtenteTardoFreak » 13 feb 2014, 8:45

Riprendo questa discussione dopo aver visitato visual studio ed aver giochicchiato con C#, C++ e VB.
Effettivamente C# è un linguaggio molto bello, molto pulita è la sintassi e l' organizzazione del sorgente. Tra l' altro assomiglia molto al Java. C++ è un discreto casino, almeno per quanto riguarda la realizzazione di GUI.
Però tutto l' insieme non è niente male, quello che però non riesco a digerire è la politica di Microsoft per una serie di motivi:
- Sono troppo attaccati ai soldi. E' assurdo che io, dopo aver pagato licenze per il sistema operativo in almeno una decina di PC mi trovi oggi a dover sborsare soldi per realizzare programmi specifici per questo sistema operativo. E' una cosa che proprio mi urta. In passato ho comprato un mac-mini e la prima cosa che ho notato è un potente sistema di sviluppo in C++ venduto insieme al computer ed a tanti altri applicativi. L' idea di spendere soldi per poter sviluppare programmi che poi gireranno solo su winzozz mi fa lo stesso effetto che mi farebbe un gatto attaccato ai maroni.
- Da quando ho acquistato VS-6 (un bel po' di anni fa) spendendo bei soldi hanno praticamente cambiato tutto! Ora non so voi, ma l' idea di imparare e specializzarmi su un linguaggio o sistema che dopo un paio di anni mi viene cambiato, o peggio sparisce, non mi alletta affatto. Non ha senso spendere energie e tempo per poi dover buttare tutto nel cesso.
- La versione di valutazione che sto utilizzando la devo rinnovare ogni due mesi. Questa cosa non ha nessun senso!
- Ho dato anche uno sguardo a Ultimate++ che usa il compilatore C++ della microsoft. A livello di prodotto e di utilizzo è decisamente migliore, è free e se proprio avrò bisogno di scrivere un programma per winfuck userò questo.

Oggi come oggi penso "Java fino alla morte" accettando una velocità inferiore, sorgenti più complessi del C# ma più semplici del C++ microsoft e con il vantaggio di avere un prodotto che continua ad essere aggiornato e che gira anche su linux (con la versione 5 anche su mac).
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

1
voti

[49] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto Utentesimo85 » 13 feb 2014, 22:18

TardoFreak ha scritto:non riesco a digerire è la politica di Microsoft per una serie di motivi (...)

Io digerisco meglio i peperoni con cipolla ed aglio alle sette di mattina che Microsoft*.

:mrgreen:
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

1
voti

[50] Re: Cosa ne pensate del linguaggio JAVA?

Messaggioda Foto UtentePietroBaima » 13 feb 2014, 22:34

simo85 ha scritto:Io digerisco meglio i peperoni con cipolla ed aglio alle sette di mattina che Microsoft*.


Microsoft, where do you want to be clogged today?

8-)
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

PrecedenteProssimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 43 ospiti