Newsgroup: it.comp.java
Titolo: .NET e Java

Ciao,
NO! Non e' il solito thread "Il mio e' piu' bello del tuo"...
Stiamo valutando le due piattaforme (.NET e Java [2EE]) per
sviluppi futuri e, avendo lavorato fin'ora esclusivamente in
ambiente MS, vorremmo avere dei riscontri tecnici sulla complessita'
di un eventuale porting da VB6 ad una delle due piattaforme
(parlo al plurale perche' e' una decisione che il team della mia azienda
avra' il compito di portare a termine).
Aldila' delle richieste di mercato (in USA, MS e' la bestia...e nessuna
grande
Organizzazione si sognerebbe di affidargli il loro Business), cio' che ci
alletta
della "nuova" piattaforma MS e' la semplicita' e la potenza di Ado.NET che
permette di avere strutture dati complesse (mooolto simili ad un vero DB),
per la gestione dei dati (Dataset con Datatable multiple con dipendenze ecc)
in modalita' sconnessa dal DB.
Personalmente ho iniziato a "giocare" con JDBC e, da cio' che ho visto, le
strutture
dati (Resultset) sono simili a quelle del "vecchio" Ado e non hanno la
"complessita'"
di Ado.NET.
Sono sicuro che in Java qualcosa esiste gia'...e forse anche piu' potente...
sarei felice d'avere la conferma di questo...
Mi rendo conto d'aver fatto la richiesta "nella tana del lupo" ma...sono in
totale
buona fede e credo di trovare in Voi, sviluppatori ragionevoli (e NON
estremisti)...
Qualcuno ha gia' fatto questa scelta radicale ?
Grazie,
Igor.

 
Ho partecipato a progetti di grosse dimensioni sia su J2EE che su .NET, 
e quello che dici è quasi profetico :), nel senso che:
- Ado.NET è veramente potente, ti permette di gestire moooolto 
efficientemente e flessibilmente i dati sconnessi dal DB (ad es. 
validazione batch di tonnellate di dati in ingresso nel DB, cache 
distribuite, etc.)
- Ado.NET ha anche qualche baco "a la Microsoft": il baco c'è e te lo 
tieni fino a data da definire, ci sono dei workaround e la 
documentazione è abbastanza onesta da dirteli (quasi) tutti
- .NET è la copia di Java / J2EE "microsoftizzata", quindi tutti i pregi 
(e i difetti) di J2EE valgono anche per .NET
- J2EE ha migliaia di librerie, piattaforme, tools, articoli, tutorial e 
quant'altro, con .NET devi comprare un sacco di licenze
Lascio ad altri il completamento della lista, ciao !


Avrei voluto una critica piu' "tecnica" ... se le stesse cose fatte in .NEt
si possono fare
con Java nello stesso tempo...
Grazie,
Igor.

 
Prego, Dimitri

 Io comunque preferisco Java per ragioni non utili a questo thread :)
De gustibus...
Grazie ancora,
Igor


Noi usiamo entrambe le piattaforme, a seconda dei casi e delle richieste del cliente. Io
personalmente preferisco java :-)
Ciao,
    Bruno.
-- 
| Bruno Bossola 
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola
| Membro del JUG Torino - 
http://www.jugtorino.it

> Inoltre "gira" anche al di fuori del mondo Windows
tengo a precisare che sono state rilasciate versioni della piattaforma
NET sia per Mac che per Linux. Quest'ultima si chiama "rotor". Ci sono
dei gruppi di ricerca che ci stanno lavorando su per migliorare le
prestazioni (tra cui l'universita di Pisa).
ciao 
Sandro
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 prestazioni (tra cui l'universita di Pisa).
Ok, potrebbe essere anche multipiattaforma ma, qui in USA, la stragrande
maggioranza delle company GRANDI (e dico GRANDI), non affida il suo business
all'azienda di redmond...e a ragione (ho penato notti sulle performance di
ASP
IIS e compagnia bella...).
Non conosco Java...ma se tutti la preferiscono...forse qualche motivo ci
sara'...
Igor.


Il problema e' che il .NET framework su altre piattaforme, quando anche funzionasse in
modo paragonabile alla piattaforma "madre" (cosa da cui è molto lontano), e' che
mancherebbe del supporto degli enterprise services (SQL Server, Exchange, BizTalk) che
sono parte integrante della "piattaforma .NET" di cui il "framework .NET" e' solo un
componente.
Provo a fare uno schema:
|-----------------------------------------|
|            Development tools            |
|-----------------------------------------|
|------------| |-----------| |------------|
| .NET       | | .NET      | | .NET       |
| enterprise | | Framework | | Foundation |
| servers    | |           | | Services   |
|------------| |-----------| |------------|
|-----------------------------------------|
|            Operating System             |
|-----------------------------------------|
Mentre i .NET foundation services sono disponibili via internet (vedi passport, agenda,
messaggistica, ecc.ecc.) i .NET enterprise server girano (attualmente) solo su Windows: e'
per questo che il blocco "Operating system" viene normalmente definita "Windows Operating
System" :-)
Inoltre i development tools che ho visto io funzionano solo su Windows, anche se questo
non dovrebbe costituire un problema (personalmente anche in Java mi trovo spesso a
sviluppare su Windows e deployare su unix)
Tornando al punto, comunque, J2EE e' una realtà multipiattaforma da anni, e questo
concetto lo riporta nel suo DNA; e' molto livello dalla situazione di studio universitario
in cui si trovano progetti come Rotor o Mono.
Inoltre J2EE è anche multi-vendor: una volta realizzata la tua applcazione J2EE puoi
scegliere, se hai pochi soldi, di farla girare su JBoss o Ehydra, se ne hai parecchi di
farla girare su BEA, WebSphere, OAS, ecc.ecc. mantenendo la liberta' di OS (Windows,
FreeBSD, Linux, SunOS, ecc.ecc.)
Comunque, ci tengo a dirlo, io lavoro sia su J2EE che su .NET, a seconda di quello che
richiede il mercato :-)


 sara'...
infatti java è un ottimo linguaggio... ma devi valutare, in base al
compito che dovrà eseguire il tuo software.
Molti stanno passando a c# per questioni di prestazioni, molti rimangono a
java per la portabilità e per l'utilizzo che ne fanno


 in cui si trovano progetti come Rotor o Mono.
certamente



Dal 1996 programmo in java e a mia memoria non e' mai successo. L'unica concessione al
mondo Microsoft che ho visto e' l'uso di POI per la generazione di file excel (POI e'
scritto in java).



Mah, a me non sembra proprio. Riferimenti?


 per spiegare J2EE, non per essere oggetto di confronto.
http://www.gotdotnet.com/team/compare/middleware.aspx


>
Titolo dello studio:
"Microsoft .NET Pet Shop 3.x: Design Patterns and Architecture of the .NET Pet Shop"


il benchmark me lo sono fatto da me (stupidissimo):
    int first = 100 * 100;
    int second = 100 * 100 * 100;
    for (int i = 0; i < first; i++)
    {
      for (int j = 0; j < second; j++)
      {
      }
    }
questo loop:
 java lo esegue in 32 secondi
 c# in 19 secondi
questo non ti dice niente? :PP
e più incrementi i valori piu' il distacco si fa netto!!!
Sandro



Se parliamo di benchmark stupidi, comincia a dare un'occhiata a questo:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=95541a03.0305201255.3149fe3d%40posting.google.com
In generale il tuo mi sembra un benchmark un po' poco OO (non crea neppure un oggetto, sia
Java che C# sono linguaggi OO) e comunque mi sembra un po' troppo vago, non fa neanche un
calcolo e si limita a fare delle iterazioni, realizzando una situazione in cui un buon
compilatore (java o C# che sia) in fase di ottimizzazione potrebbe semplicemente generare
un programma che non fa nulla.
Comunque, nel frattempo, compilo, provo e ti dico.


     Bruno.
alla faccia....un esempio sconvolgente (e non mi dispiace affatto).
apparte il fatto che java ha bruciato c#, pensavo che in .net le stringhe
fossero implementate in maniera + efficiente. Cmq basta sapere i punti
dolenti del linguaggio per far uscire dei benchmark paurosi... beh...io
ritorno a studiare... nel frattempo questa sera ritorno all'attacco :PPP
ciao
sandro



Argh! Non so se avro' tempo :-)
