webentwicklung-frage-antwort-db.com.de

Bestes Betriebssystem für die Java-Entwicklung?

Was ist das beste Betriebssystem für die Java-Entwicklung? Leute von Sun drängen auf Solaris, ja, Solaris hat einige zusätzliche Funktionen in sich, wie z. B. (dTrace, Möglichkeit zur Leistungsoptimierung der JVM usw.). Einige Freunde von mir hatten ihre Anwendung auf Solaris portiert und sie sagten mir, dass die Darbietungen brillant waren. Ich bin nicht zufrieden mit dem Wechseln des Betriebssystems und verwende stattdessen Solaris.

Welche Erfahrungen haben Sie gemacht?

22
vaske

Von den drei, die ich verwendet habe (Mac OS X, Linux, Windows), halte ich Linux für den besten Ort, um Java-Entwicklung zu betreiben.

Meine primäre persönliche Maschine ist ein Mac, und ich habe dort ziemlich viel Java entwickelt und war damit zufrieden. Leider bleibt Apple jedoch hinter den offiziellen JDK-Releases zurück und Sie sind auf die wenigen Versionen beschränkt, die sie anbieten. 

Meine vom Arbeitgeber bereitgestellte Maschine ist eine alte P4-Kiste von HP, mit der ich meistens meine Füße warm halte. Die eigentliche Arbeit geschieht "Oberon", auf einem 2,6 GHz Quadcore läuft Ubuntu 8.04 im 32-Bit-Modus [1]. Die zwei Vorteile, die ich im Vergleich zu Windows im Alltag sehe, sind:

  1. Eine leistungsstarke Befehlszeile, mit der ich das langweilige kleine Zeug automatisieren kann.
  2. Weit überlegene Dateisystemleistung. (Ich verwende derzeit EXT3, weil ich in meinem Alter konservativ werde. Ich habe vorher ReiserFS verwendet, was für die Arten von Operationen, die man normalerweise für große Arbeitsbereiche ausführt, die von Subversion ausgecheckt wurden, sogar noch schneller war.)

Sie können diese Vorteile auch von einem Mac erhalten, aber Linux bietet einen weiteren netten Bonus:

  • Remote X11: Bevor mein $ EMPLOYER E-Mail und Kalender über das Web zur Verfügung stellte, musste ich mich auf der Windows-Box befinden, um meine E-Mails lesen und meine Besprechungen sehen zu können. Daher verwendete ich Cygwins X11. Dies erlaubte mir, das Zeug unter Linux auszuführen, es jedoch auf meinem Windows-Desktop anzuzeigen.

[1] Ich habe Ubuntu im 64-Bit-Modus ausgeführt, hatte aber keine Probleme. (Das Mischen von 64-Bit und 32-Bit ist etwas, was Mac OS X viel besser macht.) 7.04 funktionierte gut, wenn 32-Bit-Anwendungen auf dem 64-Bit-Kernel ausgeführt wurden. 7.10 brach das linux32-Skript und die Möglichkeit, neue 32-Bit-Anwendungen zu installieren, obwohl alte (meistens) weiterhin ausgeführt wurden. 8.04 tötete 32-Bit-Java, da es unmöglich war, eine Verbindung mit dem Netzwerk von einer 32-Bit-JVM herzustellen (keine weiteren Updates für Eclipse). Das Ausführen von Eclipse 64-Bit funktionierte nicht zuverlässig. Die damals aktuelle Version von oXygen würde nur widerwillig unter IBM 64-Bit VM ausgeführt, was etwa 10 Minuten funktionieren würde, bis keine Tastaturereignisse mehr abgerufen wurden. Ich gab schließlich frustriert auf und benutzte meinen Mac ein paar Monate, bis ich genug Zeit hatte, um eine 32-Bit-Installation von 8.04 auf der Linux-Box durchzuführen. Jetzt funktioniert alles wieder und ich bin ziemlich glücklich. 

39
bendin

Entwickeln Sie alles, was Sie möchten. Als Java-Programmierer sollten Sie Mac OS X möglicherweise meiden, vor allem, weil die neuen Funktionen scheinbar erheblich verzögert wurden und Sie auch feststellen, dass Sie keinen Rechner mehr haben, der die neuen Java-Versionen unterstützt. Allerdings kann ich mir vorstellen, dass das Entwickeln auf Mac OS X sehr nett sein muss (Kommandozeilenschnittstelle, dtrace, Nice OS).

Ich entwickle unter Windows mit IntelliJ 7. Es ist in Ordnung, aber es bedarf einiger Hardware. Ich setze dann auf Solaris/Linux ein. Wenn Sie keine grafischen Benutzeroberflächen erstellen oder C++ - Code integrieren, sollten Sie die Wahl treffen, was Ihnen gefällt.

11
Egwor

"Entwicklung"?

Ich glaube, Sie sollten sich an das Betriebssystem halten, mit dem Sie sich am besten auskennen, oder das für eine große Gruppe (von Entwicklern) am besten verfügbar ist, wie z. B. eine Reihe von PCs unter Windows.

Es ist selten, dass Sie eine eingehende Abstimmung auf Entwicklung Plattform vornehmen müssen.

Sie sollten all diese Funktionen und andere Leistungsanpassungen für die Assembly-Plattform (z. B. in Linux) für tägliche Bereitstellungen reservieren, bei denen alles neu kompiliert und Unit-getestet wird.

Und dann könnten Sie eine spezielle JVM (wie IBM JRockit anstelle von Sun JRE) einrichten, um einige Analysen auf Ihrer Integrationsplattform durchzuführen, bei der Ihr gesamtes System von vorne bis hinten mit Stress- und Nicht-Regressionstest getestet werden kann

Und schließlich machen Sie alle UAT (User Acceptance Tests) auf einer Vorproduktionsplattform (die eine teure F15K oder SunFire880 oder V490 oder ... sein kann), wobei die Ziel-JRE dort verwendet wird.

Mein Punkt ist: Es gibt so viele Parameter, die zwischen Entwicklung und Serienreife zu berücksichtigen sind, dass ein Wechseln des Betriebssystems zu einem so frühen Zeitpunkt unnötig sein kann.

7
VonC

Entwickeln Sie, worüber Sie zufrieden sind, und testen Sie, auf was Sie sich einsetzen.

Ich kann Java auf meinem Mac entwickeln und unter Solaris und Linux bereitstellen. Die Wahrheit ist, dass Java für den Großteil der Aufgaben auf OS-unabhängige Weise entwickelt werden kann. Dies gilt insbesondere für die serverseitige Entwicklung.

Ich entwickle gerne auf Unix im Allgemeinen über eine Windows-Box, aber das bin ich.

6
Will Hartung

Ich würde sagen, Mac OS X. 

Java-Entwicklung integriert. Alle Unix-Befehlszeilen-Tools, die Sie benötigen. Aus der Box Ant und Maven sind da. Nicht die neuesten Versionen, aber das Upgrade ist leicht genug.

Ja, Sie haben vielleicht nicht die neueste Version des JDK, aber wenn Sie nicht für das neueste und beste JDK entwickeln müssen, ist dies kein Problem.

6
tunaranch

Die Antwort ist einfacher als Sie denken: Verwenden Sie Ihr Lieblings-Betriebssystem. Für Java ist es die beste Antwort. Nicht die Entwicklung selbst, aber Ihr Komfort trägt zum Erfolg bei, indem Sie Dokumente in Ihrer bevorzugten Umgebung durchsuchen.

2
Szundi

Ich persönlich würde das nicht stören. Ich würde die Plattform verwenden, die die von Ihnen verwendeten Entwicklungswerkzeuge und Zielplattform am besten unterstützt.

Warum müssen Sie die JVM abstimmen? Dies ist eine sehr ungewöhnliche Sache. Würden Sie besser in einer niedrigeren Programmiersprache wie C++ schreiben? 

Dtrace ist für OS X verfügbar, es gibt auch einen Linux-Port. In der Vergangenheit hatte Solaris den Ruf, langsam zu sein (daher der Spitzname von Slowaris). Ich bin mir nicht sicher, ob das noch stimmt.

1
Dave Hillier

Windows ist gut.

Solaris ist auch eine wunderbare Java-Entwicklungsumgebung (ich mag es besser als Windows, aber aus subjektiven Gründen), aber wenn Sie es nicht bereitstellen, lohnt es sich vielleicht nicht, darauf zu wechseln.

Linux ist für die Java-Entwicklung etwas unpraktisch, aber machbar.

Der einzige, den ich nicht empfehlen kann, ist Mac, da sie immer weit hinter der verfügbaren Java-Version zurückbleiben (nicht von Sun bereitgestellt, Apple hat ihre eigene).

0
Brian Knoblauch

Mein bester Rat ist es, auf der Plattform zu entwickeln, auf die Sie abzielen. Auf diese Weise wissen Sie, wenn Sie es während der Entwicklungstests und der Komponententests ausführen, dass es auch auf der Zielplattform funktioniert, ohne böse Überraschungen.

Wenn Sie auf alle Plattformen abzielen, möchten Sie möglicherweise auf einem Mac entwickeln, da Sie die bösartigsten Überraschungen auf dem Mac erhalten. Was Java anbelangt, auf Windows und Unix "funktioniert es einfach", aber nicht so sehr auf Mac. Sun entwickelt die Java Runtime (JRE) für alle Betriebssysteme außer Mac. Apple entwickelt eine eigene JRE.

Wenn Sie auf dem Mac entwickeln, entwickeln Sie am wahrscheinlichsten gegen den kleinsten gemeinsamen Nenner. Was auf dem Mac läuft, sollte auf den anderen laufen. Das war meine Erfahrung.

Ansonsten empfehle ich immer, dass Sie das Betriebssystem danach wählen, ob es Ihre Software ausführt. Wählen Sie das Betriebssystem aus, auf dem Ihr IDE ausgeführt wird, sowie andere Tools, die Sie für die Entwicklung und das Testen verwenden. Wenn mehr als ein Betriebssystem die von Ihnen benötigten Tools ausführt, wählen Sie das Betriebssystem aus, das sie am besten ausführt.

0
Marcus Adams

Ich hatte Erfolg vor der Java-Entwicklung in Windows mit Eclipse. Klingt, als ob Sie auch nach Bereitstellung/Hosting fragen. Welches Betriebssystem für die Ausführung Ihrer Anwendung am besten geeignet ist, sollte nicht genau bestimmen, mit welchem ​​Betriebssystem Sie die Anwendung entwickeln.

0
Peter M

Windows und Eclipse funktionieren gut, wie von pmiller vorgeschlagen. Ich kann auch OS X mit Eclipse oder IntelliJ IDEA empfehlen (letzteres funktioniert auch unter Windows). 

Ich habe immer nur die grundlegendste Java-Entwicklung unter Solaris (Programmierpraxis für grundlegende Datenstrukturen an der Universität) durchgeführt. Daher kann ich keinen echten Vergleich anbieten, fürchte ich. Ich fand es auf Solaris jedoch ziemlich schmerzhaft, da es an geeigneten Tools mangelte (ich glaube, ich war auf nedit oder so beschränkt). 

0
alastairs

Ich habe Linux, Windows und OS X verwendet. Mein Hauptargument für OS X ist, dass es ein benutzerfreundliches Betriebssystem ist (dh, ich kann iTunes und die meisten modernen Browser ausführen und muss nicht 50% meines Computers zuweisen.) Zeit auf einem Laptop wie Linux) mit einer Unix-Basis. Da die meisten meiner Entwicklungen für Unix-Systeme sind, macht dies das Leben enorm produktiver. Hinter der Plattform steht auch eine immer aktivere Entwicklungsgemeinschaft. Diese Gründe funktionieren auch umgekehrt für Windows. Cygwin schließt zwar einige meiner Anforderungen für die Verwendung von Unix-Tools - es ist jedoch nicht wie ein echtes Unix-System. 

0
James

Eine Sache, die Sie berücksichtigen müssen, ist, ob Sie eine Anwendung entwickeln, die auf einem Mac ausgeführt werden kann. Ich liebe OS X, aber der gute alte Steve hat dafür gesorgt, dass wir immer viele JDK-Versionen hinter uns haben. Wir haben kaum Java 6. Die Entwicklung auf einem Mac kann zumindest sicherstellen, dass Sie mit der niedrigsten möglichen JDK-Version arbeiten.

0
Uri

Ihre Entwicklungsumgebung MUSS DURCH DIE PRODUKTION GLEICH sein.

Es gibt keine "beste Entwicklungsumgebung", die nicht mit Ihrer Produktionsumgebung identisch ist. Führen Sie aus, was Sie in der Produktion oder in der Entwicklung ausführen.

Das bedeutet jedoch nicht, dass Sie Ihre IDE beispielsweise nicht auf einem anderen Betriebssystem ausführen können, vorausgesetzt, Sie entwickeln immer noch auf demselben System wie die Produktion (z. B. auf einem anderen Computer oder einer VM).

0
MarkR