Miglior sistema operativo per lo sviluppo java? [chiuso]


Qual è il miglior sistema operativo per lo sviluppo Java? Le persone di Sun stanno spingendo il Solaris, sì Solaris ha alcune funzionalità extra incluse in sé come (dTrace, possibilità di sintonizzare le prestazioni della JVM, ecc.. ). Alcuni miei amici, avevano porto la loro applicazione su solaris, e mi hanno detto che le prestazioni era brillante. Non sono contento di cambiare il mio sistema operativo e usare invece Solaris.

Quali sono state le tue esperienze?

Author: vaske, 2008-11-02

14 answers

Dei tre che ho usato (Mac OS X, Linux, Windows), considero Linux il posto migliore per fare lo sviluppo Java.

La mia macchina personale principale è un Mac, e ho fatto un sacco di sviluppo Java lì e ne sono stato felice. Sfortunatamente, tuttavia, Apple è in ritardo rispetto alle versioni ufficiali di JDK e sei praticamente limitato alle poche versioni che scelgono di fornire.

La mia macchina fornita dal datore di lavoro è una vecchia cassa P4 di HP che uso principalmente per tenere i piedi caldi. Il il lavoro reale avviene "Oberon", su un quad-core a 2,6 GHz che esegue Ubuntu 8.04 in modalità a 32 bit [1]. I due vantaggi che noto giorno per giorno rispetto a Windows sono:

  1. Una potente riga di comando, che mi aiuta ad automatizzare le piccole cose noiose.
  2. Lontano prestazioni del file system superiori. (Attualmente sto usando EXT3 perché sto diventando conservatore nella mia vecchiaia. Ho usato ReiserFS in precedenza, che era ancora più veloce per i tipi di operazioni che si eseguono in genere su grandi aree di lavoro controllate da subversion.)

Puoi ottenere questi vantaggi anche da un mac, ma Linux offre un altro bel bonus:

  • X11 remoto: Prima che il mio DATORE di lavoro provided fornisse e-mail e calendario via web, dovevo essere sulla casella di Windows per leggere la mia posta e vedere le mie riunioni, quindi ho usato X11 di Cygwin. Questo mi ha permesso di eseguire le cose su Linux ma di visualizzarle sul mio desktop di Windows.

[1] Ho usato per eseguire Ubuntu in modalità a 64 bit, ma non avevo fine di problema. (Mescolare 64 bit e 32 bit è qualcosa che Mac OS X fa molto meglio.) 7.04 ha funzionato bene eseguendo applicazioni a 32 bit sul kernel a 64 bit. 7.10 ha rotto lo script linux32 e la possibilità di installare nuove applicazioni a 32 bit anche se quelle vecchie hanno continuato a funzionare (principalmente). 8.04 ha ucciso java a 32 bit rendendo impossibile la connessione alla rete da una JVM a 32 bit (non più aggiornamenti per Eclipse). L'esecuzione di Eclipse a 64 bit non ha funzionato in modo affidabile. La versione attuale di oXygen funzionerebbe solo (a malincuore) sotto la VM IBM a 64 bit che funzionerebbe per circa 10 minuti fino a quando non smetterà di ricevere eventi da tastiera. Alla fine ho rinunciato alla frustrazione e ho usato il mio Mac per alcuni mesi fino a quando ho avuto abbastanza tempo libero per fare un'installazione a 32 bit di 8.04 sulla scatola linux. Ora tutto funziona di nuovo e sono abbastanza felice.

 38
Author: bendin, 2008-11-02 08:43:46

Sviluppare su quello che ti piace. Come programmatore java potresti voler evitare Mac OS X, principalmente perché le nuove funzionalità sembrano essere state significativamente ritardate, e anche perché puoi scoprire che non hai più una macchina che supporta le nuove versioni di Java. Detto questo immagino che lo sviluppo su Mac OS X debba essere molto bello (interfaccia a riga di comando, dtrace, bel sistema operativo).

Sviluppo su Windows con IntelliJ 7. Va bene, ma ha bisogno di un hardware pesante. Quindi distribuisco su solaris / linux. A meno che tu non stia scrivendo GUI o integrando con il codice C++, dovresti scegliere quello che ti piace.

 11
Author: Egwor, 2008-11-01 22:10:59

"sviluppo" ?

Credo che dovresti attenersi al sistema operativo con cui ti senti più a tuo agio, o che è il più disponibile per un grande gruppo (di sviluppatori), come ad esempio un set di PC su Windows.

È raro dover eseguire una messa a punto approfondita sulla piattaforma di sviluppo .

Si dovrebbe riservare tutti quei dtrace e altre prestazioni tuning alla piattaforma assembly (ad esempio in Linux), per le distribuzioni quotidiane in cui tutto è ricompilato e unità-testato.

E quindi è possibile impostare una JVM speciale (come IBM JRockit invece di Sun JRE) per eseguire alcune analisi sulla piattaforma di integrazione, in cui tutto il sistema può essere testato da davanti a dietro, con test di stress e non regressione

E, infine, fare tutti UAT (Test di accettazione utente) su una piattaforma di pre-produzione (che può essere un costoso F15K o SunFire880 o V490 o...), con il bersaglio JRE usato lì.

Il mio punto è: ci sono così tanti parametri da prendere in conto tra lo sviluppo e il rilascio in produzione che il passaggio del sistema operativo in una fase così precoce potrebbe rivelarsi inutile.

 7
Author: VonC, 2008-11-01 22:07:46

Sviluppa su ciò di cui sei soddisfatto e prova su ciò su cui distribuisci.

Posso sviluppare Java sul mio Mac e distribuirlo su Solaris e Linux. La verità è che per la maggior parte delle attività, Java può essere sviluppato in modo indipendente dal sistema operativo. Questo è particolarmente vero per lo sviluppo lato server.

Mi piace sviluppare su Unix in generale su una scatola di Windows, ma sono io.

 6
Author: Will Hartung, 2008-11-01 22:08:15

Direi Mac OS X.

Sviluppo Java integrato. Tutti gli strumenti della riga di comando unix che desideri. Fuori dalla scatola. Ant e maven sono lì. Non le ultime versioni, ma è abbastanza facile da aggiornare.

Sì, potresti non avere l'ultima versione del JDK, ma in realtà, a meno che tu non abbia bisogno di sviluppare per l'ultimo e più grande JDK, non sarà un problema.

 6
Author: tunaranch, 2008-11-01 23:23:00

La risposta è più facile di quanto si possa pensare: usa il tuo sistema operativo preferito. Per Java, è la migliore risposta. Non lo sviluppo in sé, ma il vostro comfort aiuterà il vostro successo, la navigazione documenti ecc nel vostro ambiente preferito.

 2
Author: Szundi, 2008-11-02 00:44:21

Personalmente, non mi preoccuperei. Vorrei usare la piattaforma che meglio supporta gli strumenti di sviluppo e la piattaforma di destinazione che si utilizza.

Perché è necessario sintonizzare la JVM? Questa è una cosa molto insolita da voler fare. Sarebbe meglio scrivere in un linguaggio di livello inferiore come C++?

Dtrace è disponibile per OS X, c'è anche una porta linux. Solaris ha storicamente avuto la reputazione di essere lento (da qui il soprannome Slowaris). Non sono sicuro se questo è ancora vero.

 1
Author: Dave Hillier, 2008-11-01 22:06:59

Ho avuto successo prima di fare lo sviluppo Java in Windows con Eclipse. Sembra che tu stia anche chiedendo di distribuzione / hosting. Qualunque sia il sistema operativo migliore per eseguire l'applicazione non dovrebbe predicare quale sistema operativo si utilizza per sviluppare l'applicazione.

 0
Author: Peter M, 2008-11-01 22:06:50

Windows ed Eclipse funzionano bene, come suggerito da pmiller. Posso anche consigliare OS X con Eclipse o IntelliJ IDEA (quest'ultimo funziona anche su Windows).

Ho sempre fatto solo lo sviluppo Java di base su Solaris (pratica di programmazione di basic data structures all'università), quindi non posso offrire alcun confronto reale, temo. L'ho trovato piuttosto doloroso su Solaris, però, a causa della mancanza di strumenti adeguati (penso di essere stato limitato a nedit o qualcosa del genere).

 0
Author: alastairs, 2008-11-01 22:09:25

Una cosa che devi prendere in considerazione è se stai per sviluppare un'applicazione che potrebbe essere eseguita su un mac. Amo OS X, ma il buon vecchio Steve ha fatto in modo che siamo sempre molte versioni JDK dietro. Abbiamo appena ottenuto Java 6. Lo sviluppo su un mac può almeno assicurare che stai lavorando con la versione JDK più bassa possibile.

 0
Author: Uri, 2008-11-01 22:22:50

Ho usato Linux, Windows e OS X. Il mio grande argomento a favore di OS X è che è un sistema operativo user friendly (es. Posso eseguire iTunes, la maggior parte dei browser moderni e non è necessario allocare il 50% del mio tempo mantenendolo su un laptop come linux) con una base unix. Poiché la maggior parte del mio sviluppo è per i sistemi unix, questo rende la vita estremamente più produttiva. Inoltre, c'è una comunità di sviluppo sempre più attiva dietro la piattaforma qui. Questi motivi funzionano anche al contrario per Windows-mentre cygwin chiude alcuni dei miei requisiti per l'utilizzo di strumenti unix-non è niente come avere un vero sistema unix.

 0
Author: James, 2008-11-04 06:16:38

L'ambiente di sviluppo DEVE ESSERE LO STESSO DELLA PRODUZIONE.

Non esiste un "miglior ambiente di sviluppo" che non sia identico al proprio ambiente di produzione. Esegui ciò che esegui in produzione, in sviluppo.

Detto questo, ciò non significa che non è possibile eseguire l'IDE, ad esempio, su un altro sistema operativo, a condizione che si esegua ancora lo sviluppo sullo stesso sistema della produzione (su un'altra macchina o una VM, ad esempio).

 0
Author: MarkR, 2008-11-04 06:57:58

Windows va bene.

Solaris è anche un meraviglioso ambiente di sviluppo Java (mi piace meglio di Windows, ma per ragioni soggettive), ma a meno che non si stia distribuendo su di esso, potrebbe non valere la pena passare a.

Linux è un po ' goffo per lo sviluppo Java, ma fattibile.

L'unico che non posso raccomandare è Mac perché sono sempre così indietro sulla versione di Java disponibile (non fornita da Sun, Apple fa da sola).

 0
Author: Brian Knoblauch, 2008-12-26 17:40:05

Il mio miglior consiglio è quello di sviluppare sulla piattaforma che si sta prendendo di mira. In questo modo, quando lo esegui durante i test di sviluppo ed esegui i test unitari, sai che funzionerà anche sulla piattaforma di destinazione, senza brutte sorprese.

Se stai prendendo di mira tutte le piattaforme, potresti effettivamente voler sviluppare su un Mac perché otterrai le sorprese più brutte sul Mac. Per quanto riguarda Java va, su Windows e Unix, "funziona solo", ma non tanto su Mac. Sole sviluppa il Java runtime (JRE) per tutti i sistemi operativi tranne Mac. Apple sviluppa il proprio JRE.

Se si sviluppa su Mac, è molto probabile che si sviluppi contro il minimo comune denominatore, quindi ciò che viene eseguito su Mac dovrebbe essere eseguito sugli altri. Questa è stata la mia esperienza.

Salvo questo, ti consiglio sempre di scegliere il sistema operativo in base al fatto che esegua il tuo software. Scegli il sistema operativo che esegue il tuo IDE e altri strumenti che usi per lo sviluppo e il test. Se più di un sistema operativo esegue gli strumenti di cui hai bisogno, scegli quello che li esegue al meglio.

 0
Author: Marcus Adams, 2009-09-04 20:56:24