Java è lo standard di fatto dello sviluppo di applicazioni Linux nello stesso modo in cui .NET è lo standard per lo sviluppo di applicazioni Windows? Se no, perché no?
In breve: No.
Dipende davvero dal tipo di applicazione che stai scrivendo. Per molti la risposta è ancora il vecchio C / C ++ (se si fa, diciamo lo sviluppo di Qt o GTK + GUI). Molti sviluppatori di GTK + possono anche usare Python + PyGTK. Se stai sviluppando servizi web o web, vedi un sacco di Ruby, Python, PHP e Java.
Non vedo Linux con una piattaforma di sviluppo "standard" perché una delle principali differenze con l'ecosistema di Microsoft è che non è una piattaforma di un singolo fornitore.
.NET è la piattaforma standard su Windows solo perché è creata dalla stessa società che realizza il sistema operativo.
Anche se la risposta potrebbe sembrare sì agli utenti occasionali, in realtà non è un buon confronto. Esistono molti linguaggi di computer diversi che possono essere eseguiti su Linux e Windows. In effetti, i diversi linguaggi .NET (come C #) possono essere eseguiti su Linux usando Mono. Inoltre, ci sono molti programmi scritti in Java che funzionano bene sotto Windows.
Un confronto migliore potrebbe essere Java è per il Java Run Time Engine come C # è per il .Net Framework.
Non proprio, anche se forse dovrebbe (dal punto di vista del successo del desktop Linux).
Mentre puoi usare Java su Linux come piattaforma in modo simile a .Net su Windows ci sono due sostanziali differenze:
Detto questo, penso che il fallimento della comunità Linux nell'abbracciare correttamente Java sul Desktop sia il motivo principale per cui Linux non ha ancora avuto successo nello spazio desktop. Java e il suo enorme ecosistema di librerie / strumenti è l'unica piattaforma open source in grado di competere realisticamente e vincere con .Net per lo sviluppo di applicazioni generiche. E se più persone sviluppassero applicazioni Java (che possono essere eseguite in modo identico su Windows e Linux), il monopolio del desktop di Microsoft sarebbe sostanzialmente indebolito.
Leggi altre domande sui tag java .net comparison