Newsgroup: it.comp.java
Titolo: Java?

Ciao a tutti
E' la prima volta che scrivo in questo NG, quindi perdonatemi se vi chiedo 
le solite cose.
Ho comunque dato un'occhiata ai post e mi pare che di recente non ne avete 
parlato.
Sto pensando di svecchiare un po' le mie conoscenze e sto valutando se sia 
meglio buttarmi su Java o C#.
Non vi chiedo quale sia meglio, tanto so quale sarebbe la vostra risposta 
:-)
Vorrei invece chiedervi quali siano a tutt'oggi i vantaggi (e gli svantaggi, 
se ce ne sono :-) ) di Java rispetto C#, ammesso che ne sappiate abbastanza 
di C# per esprimere un giudizio.
In altre parole, quali sono i motivi (tecnici) per cui continuate ad usare 
Java?
Alcune domande più specifiche...
Le librerie sono sufficientemente dotate, in particolare per 
l'interfacciamento con i database MySQL, SQLServer, Access?
L'interfacciamento con i browser (IE e Firefox) è buono per far funzionare 
le applet senza grattacapi di installazione e compatibilità?
Esiste la possibilità di compilare i programmi (fissata la piattaforma di 
riferimento, cioè Windows per quanto mi riguarda)? In alternativa esistono 
dei validi offuscatori gratuiti?
Grazie

 di C# per esprimere un giudizio.
Io per lavoro sono passato a C# da circa un anno.
Credo che a livello di potenzialità i sue linguaggi si equivalgano. Java 
da parte sua ha il fatto di essere OpenSource e questo è assai utile 
(studiare i sorgenti della JVM come pure quelli del framework .NET può 
essere un'ottima cosa dal punto di vista "didattico"), di metterti a 
disposizione un'ottimo IDE (NetBeans, ma anche Eclipse non è male) che è 
amche esso assolutamente free, ed hai "dietro" il nome Sun (community, 
didattica, forum, risorse e IMHO una vera e propria "garanzia di 
quallità"). Se poi devi scrivere software che abbia a che fare con 
l'audio e la multimedialità - per quanto riguarda la mia limitata 
esperienza - credo che Java sia meglio di C#.
Dal canto suo C# però ha una community altrettanto attiva dietro e 
altrettante risorse (anche se la documentazione ufficiale è meno 
leggibile di quella di Java). L'IDE professionale non è freeware (ma 
puoi iniziare con la express edition che è freeware). C# ha un metodo di 
gestione degli eventi molto più "smart" di quello implementato in Java. 
Inoltre - e non è poco - le librerie "di sistema" del FW sono *di più* 
di quelle di Java, ergo scrivi meno codice, ergo devi debuggare meno.
Tutto rigorosamente IMHO.
Ciao,
Giulio

 In alternativa esistono dei validi offuscatori gratuiti?
Si, ma in ogni caso se qualcuno vuole "rubarti" il soft lo puo' fare :)
Io ho adottato la soluzione codice ofuscato + key per l'attivazione.

 Ciao a tutti

Java c'è da molti anni e tutto quello che si può fare, Java ti
consente di farlo!
Quindi connessioni a tutti i tipi di db, framework free ( come esempio
basta: Hibernate , Strut, Tomcat ....)....
Lo ritengo un linguaggio estremamente efficiente e pensato veramente
bene, in più hai molta documentazione comprensibiile e facilmente
accessibile.
Il codice è compilabile (anche se è una soluzione poco usata) e
funziona perfettamente su tutte le piattaforme.
Ritengo invece C#, come altri prodotti MS, magari ben commercializzati,
ma di valore scadente e poco o niente innovativi.
Personalmente credo molto nelle possibilità OpenSource

>>>>> "Luca" == Luca M 201 <nos...@nospam.nospam> writes:
Luca> In altre parole, quali sono i motivi (tecnici) per
Luca> cui continuate ad usare Java?
Lo chiedono molti grossi clienti. Ad esempio, se hai un mainframe puoi
dedicare  una partizione  ad  eseguire un  application server  (magari
sotto Linux per S390) Java. Teoricamente ci sarebbe Mono, ma non penso
che abbia a disposizione tutto l'equivalente di J2EE.
Luca> L'interfacciamento con i browser (IE e Firefox) č buono per far
Luca> funzionare le applet senza grattacapi di installazione e
Luca> compatibilitą? 
Applet? Molto meglio Java Web Start.
Luca> In alternativa esistono dei validi offuscatori
Luca> gratuiti?
Niente che non possa essere sconfitto...
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software

 Personalmente credo molto nelle possibilità OpenSource
Idem.
Per questo continuo a sviluppare in MonoDevelop, in C#, e in Eclipse, in
Java. :)
Saluti,
David
-- 
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<

 Giulio
Cheers,


 a VisualStudio (o quel che è). E per di più è free! (as in "freedom")
Si, anche io lo uso qualche volta, e rispetto a VS2003 l'ho trovato 
*decisamente* meglio. Ma il VS2005 non è affatto male... ;-)
Ciao,
Giulio

 dei validi offuscatori gratuiti?
Si, è possibile, ma è una via poco praticata, dato che uno dei
vantaggi di java è proprio quello di non doversi impelagare con la
compilazione nativa del codice.
Inoltre, solitamente java viene usato per applicativi serverside, per i
quali la protezione del codice sorgente non è praticamente mai un
problema (il cliente paga profumatamente quel codice, difficile che lo
rilasci tanto facilmente...).
Esistono comunque sia compilatori nativi che offuscatori di bytecode.
Questi ultimi ovviamente sono lungi dall'essere inattaccabili.
Raffaele

 writes:
David> abituato, anche se, devo dire, la sintassi è _MOLTO_
David> simile. 
Non  solo  la  sintassi.   Quando  M$ presentò  Dot  Niet  durante  la
presentazione continuavo a ripetermi  'copia di java'. Anche guardando
il bytecode. Ah, Dot Niet _è_  un prodotto di MS, anche se ha ottenuto
che sia uno standard ECMA, ma visto come M$ tratta gli standard ISO la
cosa per me vale zero.
David> L'unico vantaggio che ho trovato in Java, rispetto a
David> C#, al momento, è il fatto di essere cross-platform. Su
David> GNU/Linux c'è mono, ma non è allo stesso livello (purtroppo)
David> del .net framework su Win*.
Peggio, non sono compatibili. Dot Niet è imbullonato nel sistema in
maniera impressionante.


 maniera impressionante.
No, aspetta, i due framework _sono_compatibili, dato che mono nasce da
un "reverse engineering" (chiamiamolo così) del .net framework.
Dipende comunque da quali namespace utilizzi. Grazie che se utilizzi
System.Windows, che non c'è in GNU/Linux, ti attacchi. Ma se utilizzi un
qualsiasi namespace presente in entrambi, intendo _completamente_
presente, l'applicazione funzionerà. Senza ricompilare, semplicemente
portandosi dietro il .exe.
Sto parlando per esperienza personale: sono riuscito a far andare
applicazioni console scritte e compilate su GNU/Linux su macchine Win*.
Il problema sta nelle GUI: Win* utilizza Windows.Forms, per GNU/Linux,
invece, le più utilizzate sono le GTK. Ora, esistono le GTK+ runtime per
Win*, ma, personalmente, non sono riuscito a farle andare :)
Sul fatto comunque che il framework sia "imbullonato" in Win* in
"maniera impressionante", non posso che darti ragione. :)
Cheers,


 writes:
David> Il bello dello standard è che non è solo la Microsoft ad
David> implementare lo c#... (vedi Mono)
Sono  le stesse  storie che  mi diceva  Molaro (Ximian  -  Novell). In
realtà  si tratta  di due  ambienti incomunicabili  per  la deliberata
scelta di M$ di imbullonare al sistema Dot Niet.
David> Ah, C# != .NET ;)
No Dot Niet, No Do Bemolle!
David> No, aspetta, i due framework _sono_compatibili, dato che mono
David> nasce da un "reverse engineering" (chiamiamolo così) del .net
David> framework.
Lo so, certe applicazioni girano cambiando solo qualche virgola.
David> Ma se utilizzi un qualsiasi namespace
David> presente in entrambi, intendo _completamente_ presente,
David> l'applicazione funzionerà. Senza ricompilare, semplicemente
David> portandosi dietro il .exe.
Se e  solo se. È una  limitazione fortina che impone  di continuare un
inseguimento che non è la scelta migliore.
David> Sto parlando per esperienza personale: sono riuscito a far
David> andare applicazioni console scritte e compilate su GNU/Linux su
David> macchine Win*.
Anche io,  in C usando Cigwin.  Ma le applicazioni in  console sono un
sottoinsieme con delle limitazioni.
David> Ora, esistono le GTK+ runtime per Win*, ma, personalmente,
David> non sono riuscito a farle andare :)
CVD.
Purtroppo qualche manager ha deciso  che non è possibile dare in pasto
alla  segretaria (e  a lui,  se la  segretaria ha  la bua  al pancino)
applicazioni in  console, probabilmente perché non fa  figo far vedere
ad un altro manager che usi una applicazione in console...
Ora alcuni di  questi tool cascano sulla crania  di poveri cretini che
da giovani  hanno deciso che Unix  permette loro di  lavorare meglio e
che se è  Libero tanto meglio. Questi poveri  cretini sono costretti a
tenersi una macchina dual boot...
Non parliamo poi di certi clienti...  Sono 2 giorni che ho un processo
WSAD  piantato su una  macchina cui  accedo via  Citr(ull)ix e  se non
trovo qualcuno (chissà dove in Italia) che me lo ammazza...


 ha scritto nel messaggio 
news:uk60bu...@mail.eng.it...

WSAD ? Sarebbe ?
    Scorpio.

> se non trovo qualcuno (chissà dove in Italia) che me lo ammazza...
S> WSAD ? Sarebbe ?  Scorpio.
WebSphere Studio Application Developer ... E fortunatamente ho trovato
chi me lo ammazza...



Allora avevo immaginato giusto :-)

 esperienza - credo che Java sia meglio di C#.
Per quanto riguarda l'XML, invece, C# stravince.
;-)
Ciao,
Giulio

 Win*, ma, personalmente, non sono riuscito a farle andare :)
Speriamo nell'accordo Novel-MS ed in WPF/e!
Ciao,
Giulio

> credo che Java sia meglio di C#.
Giulio> Per quanto riguarda l'XML, invece, C# stravince.  ;-)
Hai delle motivazioni tecniche al riguardo ?


 Hai delle motivazioni tecniche al riguardo ?
Le librerie per il trattamento dell'XML in C# sono più intuitive e meno 
verbose. Tutto qui.
Ciao,
Giulio

> Hai delle motivazioni tecniche al riguardo ?
Giulio> Le librerie per il trattamento dell'XML in C# sono piů
Giulio> intuitive e meno verbose. Tutto qui.
Potresti essere piů dettagliato ? Non presumere che tutti conoscano il
Do Bemolle.


 Do Bemolle.
Ma non era Diesis?
;-)
E cmq: per ora non posso perchè mi sto devastando con la gestione 
dell'XML in Java ;-) magari anno nuovo...
Ciao,
Giulio

> il Do Bemolle.
Giulio> Ma non era Diesis?  ;-)
Appunto :>
Visto che Sturmtruppen          roustroup aveva cannato alla
grande il  nome del suo  accrocchio (ma la  incrementi dopo che  la ho
usata ???) a Redmond hanno  provato a salire di un semitono, riuscendo
a scendere di  un semitono, creando il Do Bemolle  (per la cronaca: in
musica non c'era  il Do Bemolle, ma sappiamo  tutti quanto Microsoft è
rispettosa degli standard creati da altri).
Giulio> E cmq: per ora non posso perchè mi sto devastando con la
Giulio> gestione dell'XML in Java ;-) magari anno nuovo...
Curiosità, che usi ?


 Curiosità, che usi ?
Non lo so: mi sto "tagliando" con
- org.w3c.dom
- org.xml.sax.*
Non ho mai avuto necessità di utilizzare l'Xml in Java che ora - 
purtroppo :-( - uso solo per "piacere" personale. Mentre quando ho 
cominciato a "smanettarci" in C#, tempo un paio d'ore e già il namespace 
"System.Xml" era mio ;-)
Hai qualche consiglio?
Ciao,
Giulio

 rispettosa degli standard creati da altri).
tssè!
Guarda che il Do Bemolle esiste! Solo che si chiama Si naturale! :D
Ciao!
Raffaele musicalmente pignolo

> Curiosità, che usi ?
GP> Hai qualche consiglio?
Temporibus illis  lavorai su una  applicazione che usava  una libreria
che,  previo  un tot  di  lavoro  sui DTD,  era  in  grado di  crearti
un'albero di oggetti a partire da un XML in input.
Peraltro lavorare con un parses "a eventi" non mi ha mai complicato la
vita più del normale. Ma qui entriamo nei "gusti personali".


> Microsoft è rispettosa degli standard creati da altri).
rcc> tssè!  Guarda che il Do Bemolle esiste! Solo che si chiama Si
rcc> naturale! :D
:) Come  già detto, ho scoperto  or ora le "note  enarmoniche", la mia
cultura  musicale è  scarsa. Un  matematico direbbe  "tende a  zero da
sotto",  un musicista  "rischi di  stonare suonando  il  campanello di
casa" (che sia  per questo che ogni volta che  suono il campanello mia
moglie mi rimprovera di ricordarmi le chiavi ?)


 Grazie
prego, Nicola
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Guarda che il Do Bemolle esiste! Solo che si chiama Si naturale! :D
Mi permetto di essere ancora più pignolo di te: sono due note diverse 
(ma hanno lo stesso suono). E poi, tutto questo vale nel sistema 
temperato! ;-)
Ciao,
Giulio

 vita più del normale. Ma qui entriamo nei "gusti personali".
Nemmeno a me.
Resta il fatto che con la semplice "XmlDocument" o "XmlNode" di .NET 
puoi fare quello che ti pare, selezionare nodi tramite query 
XPath...etc..etc.. in maniera semplice e assai intuitiva (se parti da 0, 
come il sottoscritto).
Ciao,
Giulio

 writes:
GP> Nemmeno a me.  Resta il fatto che con la semplice "XmlDocument" o
GP> "XmlNode" di .NET puoi fare quello che ti pare, selezionare nodi
GP> tramite query XPath...etc..etc.. in maniera semplice e assai
GP> intuitiva (se parti da 0, come il sottoscritto).
Devo  chiedere ai  miei colleghi,  che se  lo ricordano  meglio, quali
classi (oltre al framework Spago :) ) utilizzano XPath, che mi ricordo
di averlo visto usare....


 writes:
nn> java > C# se sei un malato dei prodotti gratis senza licenza,
nn> perche' ce ne sono parecchi
Attenzione! I  prodotti sono gratis  come effetto collaterale[1]  e la
licenza la hanno [2]!
[1] Il  prodotto nudo  e crudo č  disponibile gratuitamente,  quindi č
    estremamente  difficile venderlo,  ma non  č obbligatorio  che sia
    gratuito. Il  caso principale č  quando il prodotto  viene venduto
    _insieme_ al know how di chi  lo vende, cosa che si manifesta o in
    supporto o in sviluppo.
[2] Molto importante:  la licenza c'č e c'č il  copyright. Solo che le
    licenze  mirano, chi  piů  chi  meno, a  concedere  e garantire  i
    diritti  dell'utente,  non  solo  del produttore.  Per  questo  il
    copyright in questo caso viene detto copyleft.


> naturale! :D
GP> Mi permetto di essere ancora più pignolo di te: sono due note
GP> diverse (ma hanno lo stesso suono). E poi, tutto questo vale nel
GP> sistema temperato! ;-)
Sono diverse perché le pensi in modo diverso. Ad esempio, nella pagina
web  dove   ho  trovato  il   concetto  di  enarmonicità  (lo   URL  è
http://www.madeart.net/lezionidichitarra/autodidatta1.txt
),   la  cosa
gli "tornava  comoda" perché manteneva  semplice ed elegante  un certo
discorso.
Ma se frequenza, timbro ed  intensità (?) sono gli stessi, fisicamente
la nota  è la stessa  (risponderanno le medesime cellule  con risposta
uguale). Sono diverse nella mente di chi  le pensa :), e la cosa non è
una battuta, si va sul soggettivo.


 e talvolta e' piu' rapido a parita' di esperienza
[Sharp|Mono]Develop e Paint.NET non mi sembrano piccole applicazioni...
Enrico
P.S. personalmente ritengo inutile C#, molto meglio Python

 di averlo visto usare....
Ok, poi puoi postare qui qualche indicazione?
Ah, dimenticavo: deve necessariamente essere una libreria che si 
installa con la JVM della Sun, niente terze parti.
Ciao,
Giulio

 uguale).
In ambito enarmonico hanno comunque un significato diverso, visto che un 
"suono" acquista come "nota" un significato maggiore in un certo 
contesto (a tal proposito: la definizione data nel link è piuttosto 
"riduttiva").
Ciao,
Giulio
p.s. Occorre comunque fare una precisazione: il sistema che utilizziamo 
è detto "temperato" e risente dell'innovazione attribuita a Bach di aver 
reso "identici" il semitono diatonico (es: do-re bemolle) e quello 
cromatico (es: do - do diesis). In poche parole l'ottava musicale (ossia 
la distanza tra due suoni che hanno frequenza fondamentale l'uno doppia 
dell'altra es il la a 440Hz e quello a 880Hz) viene così divisa in 12 
suoni che hanno frequenza fondamentale equidistante l'uno dall'altro. 
Nei pianoforti trovi infatti solo 5 tasti neri in un'ottava. Ma non è 
stato sempre così: se hai l'opportunità di mettere le mani su un organo 
a canne abbastanza antico potresti trovarti di fronte al fenomeno dei 
cosiddetti "tasti spezzati": il tasto nero è spezzato in due da una 
divisione orizzontale, che forma così due tasti separati, uno per il 
semitono diatonico ed uno per quello cromatico (4/9 di tono il primo, 
5/9 il secondo... ma potrei sbagliare). Dunque la sostituzione 
enarmonica è una derivazione del sistema "di riferimento" che si usa. 
Nella musica post-Bach è difficilissimo trovare fenomeni del genere, in 
quanto rappresenterebbero eccezioni/anomalie. Tuttavia in un pezzo per 
pianoforte di Ravel (secondo movimento del concerto in sol) l'uso del 
pedale permette (in teoria, e solo per orecchi ultra-raffinati ed 
ultra-allenati) di percepire la differenza tra un re# (più squillante) 
ed un mi bemolle (anche qui: sto citanto a memoria e potrei sbagliare... 
cmq se ne parlava un po' di tempo fa su it.arti.musica.classica). A 
Roma, nella chiesa del Gesù, vicino all'altare con il braccio di San 
Francesco Saverio c'è un piccolo organo molto antico che ha un solo 
tasto spezzato (re#-mi bemolle) e non sono mai riuscito a capire 
perchè... (inutile dire che appena l'ho visto ci ho messo subito le 
mani, prendendomi una cazziata dal custode che non finisce più...).

> ricordo di averlo visto usare....
Giulio> Ok, poi puoi postare qui qualche indicazione?  Ah,
Giulio> dimenticavo: deve necessariamente essere una libreria che si
Giulio> installa con la JVM della Sun, niente terze parti.
Sono classi esterne e libere. Dove e` il problema ?
/* BTW, interessante la cosa del tasto nero "spezzato" */


 /* BTW, interessante la cosa del tasto nero "spezzato" */
decisamente!
Ciao,
Giulio

> Sono classi esterne e libere. Dove e` il problema ?
GP> Il problema è che devo fornire un template di JSP valido per
GP> "ogni" installazione, quindi devo essere sicuro che le librerie
GP> che utilizzo siano comprese nell'installazione tipica della JVM.
Claro.
Se non puoi indicare la libreria XY (libera) come prerequisito...


 Se non puoi indicare la libreria XY (libera) come prerequisito...
Lo so :-(
E' uno sporco lavoro, ma qualcuno dovrà pur farlo...
;-)
Ciao,
Giulio
--
OnAir: Angra - "So Near So Far"