Originariamente inviato da conero
ciao ragazzi, lancio questa discussione interessante per me e forse per altri,
meglio imparare java o .net?
Posta in questo modo, la domanda è del tutto poco interessante ed è la solita scintilla che poi infiamma la discussione, poichè non esiste una risposta assoluta.

Originariamente inviato da conero
per chi deve imparre ed investire su una piattaforma qual'è la migliore?
Dipende.

Originariamente inviato da conero
sia per quanto riguarda il sistema e per la rivendibilità poi delle conoscenze? Chi è il futuro?
Entrambe.

Originariamente inviato da conero
Quali database meglio utilizzare?
Non è meglio affrontare una domanda per volta? :rollo:


Molto brevemente, entrambe sono tecnologie decisamente valide e che "spopolano" nel proprio ambito di utilizzo.

Nonostante si assomiglino in certi frangenti (entrambe si basano su codice da compilare JustInTime e hanno un Garbage Collector), sono due architetture completamente diverse e dallo scopo opposto.

Mentre Java si propone come piattaforma e linguaggio adatta per lo sviluppo di applicazioni su qualsiasi ambiente operativo, .NET è maggiormente incentrato a fornire una piattaforma software comune per più dispositivi, preferibilmente equipaggiati con sistema operativo Windows, programmabile con il linguaggio che si preferisce.

Java è estremamente aperto per poter funzionare sulla maggior parte, per non dire la quasi totalità, delle piattaforme e dei sistemi operativi, mentre .NET è al momento un'implementazione specifica e ottimizzata per Windows, anche se ci sono alcuni gruppi di lavoro che stanno operando per portare il framework su Linux, ad esempio.

Utilizzando Java, hai una soluzione maggiormente portabile, anche se la scarsa dedizione verso un ambiente particolare, ad esempio in ambiente Windows, potrebbe renderlo meno maneggevole rispetto a .NET, che per contro è più integrato e difficilmente portabile.

Java vanta una maggiore esperienza rispetto a .NET poichè è presente da più anni, in termini di librerie e componenti di terze parti disponibili; .NET, essendo più recente, è già decollato ma non ha ancora raggiunto un simile parco software, anche se la situazione è comunque destinata a cambiare con il tempo.

La programmazione su .NET è affidata a numerosi linguaggi: i più conosciuti sono C# e VB.NET di cui Microsoft distribuisce gratuitamente i compilatori, anche se il massimo della rapidità nello sviluppo la si ottiene utilizzando un ambiente RAD.

La somiglianza tra C# e Java è notevole ed è stata pensata appositamente per consentire la migrazione da quest'ultimo al linguaggio di casa Microsoft con poca fatica, sia a livello di apprendimento di un nuovo linguaggio sia a livello concettuale.

Entrambe le tecnologie sono moderne piattaforme orientate agli oggetti e pensate per la realizzazione e l'integrazione di servizi desktop e Web, nonchè per la realizzazione di siti applicativi attraverso il supporto di un Web Server, Apache nel caso di Java, IIS nel caso di .NET.

Si potrebbero scrivere interi libri sull'argomento della sola comparazione tra i due sistemi che, tra l'altro, offrono possibilità di interoperabilità e cooperazione.

Date le caratteristiche descritte e dettagliate, che verranno eventualmente approfondite da altri nel corso della discussione, la scelta della soluzione cosiddetta "migliore" va pesata in base a quanto contano le rispettive qualità nel problema che si deve risolvere attraverso lo sviluppo di un software.

Ciao!