Frage

Was ist das beste Betriebssystem für Java-Entwicklung? Leute von Sun die Solaris drängen, ja Solaris haben einige zusätzliche Funktionen in sich, wie (DTrace, Möglichkeit die JVM für Performance-Tuning, etc ..) enthalten. Einige Freunde von mir, hatte Port ihre Anwendung auf solaris, und sie sagten mir, dass die Leistungen war brillant. Ich bin nicht zufrieden mit meinem OS wechseln, und verwenden Sie Solaris statt.

Was waren Ihre Erfahrungen?

War es hilfreich?

Lösung

Von den drei die ich verwendet habe (Mac OS X, Linux, Windows), halte ich Linux die beste Ort, die Java-Entwicklung zu tun.

Meine primäre persönliche Maschine ist ein Mac, und ich habe es eine ganze Reihe von Java-Entwicklung gemacht und mit ihm glücklich. Leider jedoch hinkt Apple-hinter den offiziellen JDK Versionen und Sie sind ziemlich begrenzt auf die wenigen Versionen sie wählen zu bieten.

Mein Arbeitgeber angebotene Maschine ist eine alte P4 Kiste von HP, die ich meistens verwenden, um meine Füße warm zu halten. Die eigentliche Arbeit erfolgt "Oberon", auf einem 2,6 GHz Quad-Core lief Ubuntu 8.04 in 32-Bit-Modus [1]. Die beiden Vorteile Ich bemerke, von Tag zu Tag im Vergleich mit Windows verfügbar sind:

  1. Eine leistungsfähige Kommandozeile, die ich die langweiligen kleinen Sachen hilft zu automatisieren.
  2. Far überlegene Leistung des Dateisystems. (Ich bin mit EXT3 zur Zeit, weil ich in meinem Alter konservativ bin immer. Ich verwendete ReiserFS vorher, was noch schneller für die Arten von Operationen war eine führt in der Regel auf große Arbeitsbereiche aus Subversion überprüft.)

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

  • Remote X11: Vor meinem $ ARBEITGEBER E-Mail und Kalender über das Web zur Verfügung gestellt, hatte ich auf dem Windows-Rechner sein, um meine Post zu lesen und meine Treffen zu sehen, so habe ich Cygwin-X11. Dies ermöglichte es meint das Zeug auf Linux laufen, aber es auf meinem Windows-Desktop angezeigt werden soll.

[1] habe ich Ubuntu in 64-Bit-Modus laufen zu lassen, aber ich hatte kein Ende der Probleme. (Misch 64-Bit- und 32-Bit ist etwas Mac OS X funktioniert viel besser.) 7.04 funktionierte gut 32-Bit-Anwendungen auf 64-Bit-Kernel. 7,10 brachen das linux32 Skript und die Fähigkeit, neue 32-Bit-Anwendungen zu installieren, obwohl alte zu (meist) Lauf fortgesetzt. 8,04 getötet 32-Bit-Java, indem es unmöglich, das Netzwerk von einem 32-Bit-JVM (kein Updates mehr für Eclipse) zu verbinden. Ausführen von Eclipse-64-Bit nicht zuverlässig arbeiten. Die aktuelle Version von oXygen laufen würde nur (zähneknirschend) unter den IBM 64-Bit-VM, die für etwa 10 Minuten arbeiten würde, bis es Tastaturereignisse gestoppt bekommen. Ich gab schließlich frustriert auf und verwenden meinen Mac für ein paar Monate, bis ich genug Zeit hatte, schlaff installiert ein 32-Bit tun von 8,04 auf der Linux-Box. Jetzt funktioniert alles wieder, und ich bin ganz zufrieden.

Andere Tipps

Entwickeln Sie auf, was Sie wollen. Als Java-Programmierer sollten Sie Mac OS X, in erster Linie zu vermeiden, weil neue Features scheinen erheblich verzögert worden, und auch, weil du du hast nicht mehr bekam eine Maschine finden, die die neuen Versionen von Java unterstützt. Having said, die ich auf Mac OS X imagine Entwicklung muss sehr schön sein (Command Line Interface, DTrace, nette OS).

Ich entwickle auf Fenster mit IntelliJ 7. Es ist ok, aber braucht eine kräftige Hardware. Ich implementieren dann auf solaris / Linux. Es sei denn, Sie schreiben GUIs oder die Integration mit C ++ Code, sollten Sie sich gut Wahl sein, was auch immer Sie Lust haben.

"Entwicklung"?

Ich glaube, Sie an das O bleiben sollen Sie das am bequemsten mit sind, oder das ist die zur Verfügung zu einer großen Gruppe (Entwickler), wie zum Beispiel einer Reihe von PCs unter Windows.

Es ist selten zu müssen eingehende tun Tuning auf Entwicklung Plattform.

Sie würden all jene dtrace und anderen Performance-Tuning auf Montageplattform (zum Beispiel in Linux), für die täglichen Einsätze reservieren, wo alles neu kompiliert wird und stückgeprüft.

Und dann könnte man eine spezielle JVM (wie IBM JRockit anstelle von Sun JRE) einrichten einige Analysen auf Ihrer Integrationsplattform zu tun, wo alle Ihr System von vorne getestet werden an Rücken, mit Stress und Nicht-Regressionstest

Und schließlich alle UAT (User Acceptance Tests) macht auf einer Pre-Production-Plattform (die ein teurer F15K oder SunFire880 oder V490 sein kann oder ...), mit dem Ziel JRE dort verwendet wird.

Mein Punkt ist: Es gibt so viele Parameter berücksichtigen zwischen Entwicklung zu übernehmen und in der Produktion freizugeben, als O in einem so frühen Stadium Schalt unnötig erweisen

.

Entwickeln Sie auf, was Sie glücklich mit, und Test auf das, was Sie bereitstellen auf.

ich Java auf meinem Mac entwickeln und bereitstellen auf Solaris und Linux. Die Wahrheit ist, dass für den Großteil der Aufgaben, Java kann in einer OS-unabhängigen Weise entwickelt werden. Dies gilt vor allem für Server-Seite Entwicklung.

Ich mag auf einem Unix-Entwicklung im Allgemeinen über eine Windows-Box, aber das ist ich.

Ich würde sagen, Mac OS X

Java-Entwicklung integriert. Den Unix-Befehl Alle Zeilen-Tools Sie wollen. Out of the box. Ant und Maven gibt es. Nicht die neuesten Versionen, aber das ist leicht genug, um zu aktualisieren.

Ja, Sie möglicherweise nicht die neueste Version des JDK haben, aber wirklich, es sei denn, Sie eine Notwendigkeit für den neuesten und besten JDK zu entwickeln, wird es kein Problem sein wird.

Antwort ist easiear als Sie vielleicht denken: Ihre Lieblings-OS verwenden. Für Java, es ist die beste Antwort. Nicht die Entwicklung selbst, sondern Ihr Komfort Ihren Erfolg helfen, Dokumente usw. in Ihrer Lieblings-Umgebung durchsuchen.

Ich persönlich würde nicht stören. Ich würde die Plattform nutzen, die die Entwicklungs-Tools und Zielplattform am besten unterstützt, die Sie verwenden.

Warum brauchen Sie stimmen zu der JVM? Dies ist eine sehr ungewöhnliche Sache tun zu wollen. Würden Sie besser schriftlich in einer niedrigeren Niveau Sprache wie C ++ sein?

Dtrace für OS X verfügbar ist, gibt es eine Linux-Port zu. Solaris hat historisch hatte einen guten Ruf für langsam ist (daher der Slowaris Spitzname). Ich bin mir nicht sicher, ob dies noch der Fall ist.

ich Erfolg habe, bevor Sie die Java-Entwicklung in Windows mit Eclipse hat. Klingt wie Sie auch über deployment / Hosting fragen. Unabhängig davon, welches Betriebssystem ist am besten Ihre Anwendung laufen soll nicht wirklich Prädikat, welches Betriebssystem Sie die Anwendung zu entwickeln, verwenden.

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

Ich habe immer nur die grundlegendsten Java-Entwicklung auf Solaris (grundlegende Datenstrukturen Programmierpraxis an der Universität) durchgeführt, so kann ich einen wirklichen Vergleich nicht bieten, ich habe Angst. Ich habe es sehr schmerzhaft auf Solaris finden, aber aufgrund eines Mangels an geeigneten Werkzeugen (ich glaube, ich beschränkt war oder etwas nedit).

Eine Sache, die Sie berücksichtigen müssen, ist, ob Sie eine Anwendung zu gehen, zu entwickeln, die auf einem Mac ausgeführt werden könnten. Ich liebe OS X, aber gute alte steve sorgte dafür, dass wir hinter immer viele JDK-Versionen sind. Wir haben gerade noch Java 6. auf einem Mac Entwicklung zumindest sicherzustellen, können Sie unter der geringstmöglichen JDK-Version arbeiten.

Ich habe Linux, Windows und OS X. Mein großes Argument für OS X verwendet, dass es benutzerfreundliches Betriebssystem (dh ist. Ich kann iTunes laufen, die meisten modernen Browsern und müssen nicht 50 zuzuteilen % meiner Zeit auf einem Laptop wie linux) mit einem Unix-Fundament erhalten. Da die meisten meiner Entwicklung für Unix-Systeme ist, macht das Leben enorm produktiver. Außerdem gibt es eine immer mehr aktive Entwickler-Community hinter der Plattform hier. Dieser Grund arbeitet auch in umgekehrter Richtung für Windows - während Cygwin einige meiner Anforderungen für die Verwendung von Unix-Tool schließt - es ist nichts, wie ein echtes Unix-System hat.

Ihre Entwicklungsumgebung muss gleich Produktion.

Es gibt keine „beste Entwicklungsumgebung“, die nicht identisch mit der Produktionsumgebung ist. Führen Sie, was Sie in der Produktion laufen, in der Entwicklung.

Das heißt, bedeutet das nicht, Sie nicht Ihre IDE ausführen können, zum Beispiel auf einem anderen Betriebssystem, sofern Sie noch in der Entwicklung tun auf dem gleichen System wie Produktion (auf einer anderen Maschine oder einer VM, zum Beispiel).

Windows ist einfach gut.

Solaris ist eine wunderbare Java-Entwicklungsumgebung zu (Ich mag es besser als Windows, aber aus subjektiven Gründen), aber wenn man auf sie ist bereitstellen, könnte es nicht wert sein, die Umstellung auf.

Linux ist ein wenig klobig für die Java-Entwicklung, aber machbar.

Die einzige, die ich nicht empfehlen kann, ist Mac, weil sie immer so weit hinten auf der Java-Version verfügbar sind (nicht von Sun bereitgestellt, Apple-eigene tut).

Mein bester Rat ist, auf der Plattform zu entwickeln, die Sie abzielen. Auf diese Weise, wenn Sie es während Sie Entwicklungstests laufen und Ihre Unit-Tests laufen, wissen Sie, dass es auch auf der Zielplattform arbeiten, ohne böse Überraschungen.

Wenn Sie alle Plattformen dann zielen Sie vielleicht tatsächlich auf einem Mac zu entwickeln, weil Sie die meisten bösen Überraschungen auf dem Mac bekommen. Soweit Java geht, auf Windows und Unix, „es funktioniert einfach“, aber nicht so viel auf dem Mac. Sun entwickelt die Java-Runtime (JRE) für alle Betriebssysteme mit Ausnahme von Mac. Apple entwickelt ihre eigene JRE.

Wenn Sie auf den Mac zu entwickeln, Sie sind am ehesten die Entwicklung gegen den kleinsten gemeinsamen Nenner, so was auf dem Mac läuft auf den anderen laufen soll. Das war meine Erfahrung.

des Barring, empfehle ich immer, dass Sie das Betriebssystem wählen, je nachdem, ob es Ihre Software läuft. Wählen Sie das Betriebssystem, das Ihre IDE läuft und andere Tools, die Sie für die Entwicklung und das Testen verwenden. Wenn mehr als ein Betriebssystem die Tools ausgeführt wird, die Sie benötigen, die eine auswählen, die ihnen die besten läuft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top