Newsgroup: it.comp.java
Titolo: Niubbo : Java vs .NET , quale scelgo ?

Ho letto 1 o 2 articoli che parlavano di Java e .Net ,
sono un esperto programmatore in linguaggi Object Oriented
Client/server .
Ho 1 anno e mezzo di esperienza come analista
(requisiti, casi d'uso, analisi, progettazione , implementazione)
su Palmare , Pc e sistemi operativi Windows (prevalentemente) .
Vorrei iniziare a studiare Java oppure .Net ,
poichè ho bisogno non tanto di programmi Client Side ma Server Side .
Cliente Side , ho già le mie tecnologie .
Interfacciamento al Sistema Operativo , dovrei scegliere tra Java e .NET .
Microsoft mi mette una tale consufione in testa che non so quale scegliere :-)
Vantaggi di Java :
gratuito ,
lo usi dove ti pare e lo scrivi una sola volta (Windows, Linux, Win CE, Telefonini con J2ME) ,
Vantaggi di .NET ,
scrivi meno codice se devi scrivere un programma solo ed esclusivamente per Windows
altrimenti ti attacchi al tram e devi fare il porting del codice se lo vuoi passare su altri sistemi (WinCe , linux ?) ,
Cio' di cui avrei bisogno io , è un sistema che sia in grado di interfacciarsi al sistema operativo
collegarsi ad una COM2 o modem ADSL ,
un driver Video o un servizio di Stampa in rete ...
C# è Object Oriented , quindi mi troverei comunque bene .
Ma dal punto di vista delle potenzialità in termini di "cosa può fare" , chi è meglio ?
Cosa avete da dire di Negativo verso C# ?
Spontaneamente , mi verrebbe da dire che è meglio C# se l'ambiente di sviluppo è Windows (95,98,2000,xp,CE,PhoneEdition)
Visto che siamo in ambiente Windows , c# potrebbe accedere a qualsiasi funzionalità
del sistema operativo e quindi c# potrebbe essere un linguaggio unico che evolve con Windows .
Quindi , se in Windows attualmente posso stampare ALLORA posso stampare anche tramite C# .
Se domani windows mette a disposizione le capacità Wireless
allora potrei accedere a quelle API tramite C#
Ma con tutta sincerità , non penso che sia cosi ? :-)
Chi mi da qualche dritta ?
grazie ...
a.

Io ho programmato in java per 4 anni. recentemente mi sono spostato a C#. Le
motivazioni che mi hanno spinto a farlo:
-Troppo spesso (99% delle volte!) il mio software doveva girare su macchine
Windows e credimi che C# è più performante di java su una macchina windows
(oltre al fatto di avere un accesso molto profondo alla macchina
windows...puoi praticamente fare tutto quello che facevi in c++ ma molto più
comodamente, a scapito di una perdita comunque non drastica di performance
rispetto al c++), pertanto dovevo essere onesto: rinunciare alla
portabilità.
-Java è estremamente pesante a livello di risorse per quel che riguarda la
GUI (bella scoperta visto che C# usa le librerie native di windows)
-Avendo programmato per 4 anni in java, passare a C# è stato uno scherzo (c#
è una copia di java sintatticamente parlando)
In pratica credo che i pro di C# siano: maggiore efficenza (ovvio, solo su
macchine windows, anche se esiste un progetto di porting del framework .NET
anche su Linux), possibilità di sfruttare direttamente le librerie native
(anche in java lo fai se vuoi, ma allora è inutile: addio portabilità) e
ultima cosa molto importante, C# rappresenta il punto centrale della
tecnologia .NET e non verrà mai abbandonato e dalle prossime versioni di
windows (già con LongHorn) il framework .NET verrà distribuito assieme al
sistema operativo stesso.
I vantaggi di java penso che stiano nella portabilità (anche se poi uno deve
essere sincero e valutare il fatto che alla fine la si usi davvero questa
portabilità, perchè attento, la si paga in termini di prestazioni), la
qualità dello sciluppo del linguaggio stesso (java è portato avanti da una
comunità, è per questo che è incredibilmente ben strutturato) e cosa non da
poco, per me la documentazione riguardante le API è favolosamente ben fatta.
Tieni presente una cosa, java perde parecchio sulle prestazioni grafiche,
della GUI. Tanto per farti un esempio, in C# puoi scrivere un gioco in 3d
che gira perfettamente, in java te lo scordi.
Da ultimo vorrei dire una cosa. Al di là del successo di java, bisogna
essere onesti: quanti sono i programmi scritti realmente in java? Certo,
saranno molti, ma poco diffusi a livello commerciale. L'unico che reputo tra
quelli commerciali abbastanza diffuso è JBuilder, che però è un mostro in
termini di requisiti e comunque è davvero l'unico che si vede in giro...ci
sarà un perchè.

Scusa vorrei ancora aggiungere una cosa: un tempo chi chiedeva come fare a
compilare un file class in un exe veniva quasi martellato di insulti...ora
chi lo fa riceve ampie spiegazioni su quali software usare, questo perchè vi
è un sempre più forte bisogno di prestazioni che java roppo spesso non
offre. Penso che Java sia eccellente per applicazioni Web, ma per il resto,
non lo so...su questo punto vi sono esperti in questo newsgroup che ti
sapranno illuminare meglio. Ciao.

MA c# da dove prende le librerie ?
Java le offre con SDK , no ?
dove si scrive import java.xxx.xxx
e si importa il package .
E c# ?
Sono i serivizi COM di windows ?
Se è cosi è bestiale .
Java è tutto gratuito , i servizi Com di windows invece ?
Le librerie c# sono gratis oppure c'è una licenza per ogni servizio ?
Cio' che non ho capito è l'architettura dietro a c# .
a.



cerca qualcosa tipo "CLR dotnet" su google troverai le specifiche del
common language runtime (in pratica è la class library comune a tutti
i linguaggi .net) è gratuito anche quello.
ciao
I.P.

 motivazioni che mi hanno spinto a farlo:
Ho dato una occhiata veloce al C# ed ineffetti mi sembra java scopiazzato :)
Ho programmato fino ad adesso in Java applicazione standalone e posso
confermare che in quanto a velocita' le applicazioni scritte in ambiente
microsoft almeno su so microsoft sono velocissime in confronto alla pesante
lentezza di java ( per altro parzialmente compensata con l'avvento di SWT
 anche se per questo manca un vero gui builder ))
Al momento CMQ ci stiamo affacciando a quello che penso sia il "vero" java
ossia applicazioni distribuite con J2EE e EJB, beh mi sembra molto
interessante ( sto leggendo J2EE il libro e tutorial vari ))
Ciao !
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.478 / Virus Database: 275 - Release Date: 06/05/2003