質問

Java開発に最適なOSは何ですか? Sunの人々はSolarisを推進しています。もちろん、Solarisには(dTrace、JVMのパフォーマンスチューニングの可能性など)などの追加機能が含まれています。私の友人の何人かは、アプリケーションをソラリスに移植しており、彼らはパフォーマンスが素晴らしいと言った。 OSの切り替えに満足できず、代わりにSolarisを使用します。

あなたの経験はどうでしたか?

役に立ちましたか?

解決

私が使用した3つ(Mac OS X、Linux、Windows)のうち、Java開発を行うにはLinuxが最適な場所であると考えています。

私の主なパーソナルマシンはMacであり、そこで多くのJava開発を行い、満足しています。ただし、残念ながら、Appleは公式のJDKリリースに遅れをとっており、提供することを選択したいくつかのバージョンにほとんど制限されています。

雇用主が提供するマシンは、HPの古いP4クレートで、主に足を暖かく保つために使用します。実際の作業は、32ビットモードで Ubuntu 8.04 を実行する2.6 GHzクアッドコアで「Oberon」が発生します[1]。 Windowsと比較して日々気づいている2つの利点は次のとおりです。

  1. 退屈な小さなものを自動化するのに役立つ強力なコマンドライン。
  2. Far 優れたファイルシステムパフォーマンス。 (私は古い時代に保守的になっているため、現在EXT3を使用しています。以前ReiserFSを使用していました。これは、Subversionからチェックアウトされた大きなワークスペースで通常実行する種類の操作でさらに高速でした。)

これらの利点はMacからも得られますが、Linuxには別の素晴らしいボーナスがあります:

  • リモートX11:$ EMPLOYERがWeb経由で電子メールとカレンダーを提供する前に、メールを読んで会議を見るためにWindowsボックスにいる必要があったため、CygwinのX11を使用しました。これにより、Linuxで実行できますが、Windowsデスクトップに表示できます。

[1]以前は64ビットモードでUbuntuを実行していましたが、問題は終わりませんでした。 (64ビットと32ビットの混合は、Mac OS Xの方がずっと優れています。)7.04は、64ビットカーネルで32ビットアプリケーションを正常に実行しました。 7.10は linux32 スクリプトと新しい32ビットアプリケーションをインストールする機能を破壊しましたが、古いものは引き続き(ほとんど)実行されました。 8.04は、32ビットJVMからネットワークへの接続を不可能にすることにより、32ビットJavaを強制終了しました(Eclipseの更新はこれ以上ありません)。 Eclipse 64ビットの実行は確実に機能しませんでした。 oXygenの当時の現在のバージョンは、キーボードイベントの取得を停止するまで約10分間動作するIBM 64ビットVMでのみ(しぶしぶ)実行されました。ついに欲求不満でgaveめ、Linuxボックスに8.04の32ビットインストールを行うのに十分な余裕があるまで、数か月Macを使用しました。今、すべてが再び機能し、私は非常に満足しています。

他のヒント

好きなものを開発します。 Javaプログラマーとして、主に新機能が大幅に遅れているように思われ、またJavaの新しいバージョンをサポートするマシンをもう持っていないことがわかるため、Mac OS Xを避けたいかもしれません。 Mac OS Xでの開発は非常に優れていると思います(コマンドラインインターフェイス、dtrace、素敵なOS)。

WindowsでIntelliJ 7を使用して開発しています。それでも構いませんが、かなりのハードウェアが必要です。次に、solaris / linuxにデプロイします。 GUIを記述している場合、またはC ++コードと統合している場合を除き、好みに応じて適切に選択してください。

"開発"

私は、あなたが最も快適なOS、または例えばWindows上のPCのセットのような大規模なグループ(開発者)にとって最も利用可能なOSに固執すべきだと思います。

開発プラットフォームで詳細なチューニングを行う必要はほとんどありません。

すべてが再コンパイルおよび単体テストされる毎日の展開のために、これらのdtraceおよびその他のパフォーマンスチューニングをすべてアセンブリプラットフォーム(たとえばLinux)に予約します。

そして、特別なJVM(Sun JREの代わりにIBM JRockitなど)を設定して、統合プラットフォームでいくつかの分析を行うことができます。すべてのシステムは、ストレステストと非回帰テストでテストされます/ p>

最後に、ターゲットJREを使用して、すべてのUAT(ユーザー受け入れテスト)を運用前プラットフォーム(高価なF15KまたはSunFire880またはV490または...)で作成します。

私のポイントは、開発と本番環境へのリリースの間で考慮すべきパラメーターが非常に多いため、そのような初期段階でのOSの切り替えが不要になることがあることです。

満足できるものを開発し、展開するものをテストします。

MacでJavaを開発し、SolarisとLinuxにデプロイします。真実は、大部分のタスクについて、JavaをOSに依存しない方法で開発できることです。これは特にサーバー側の開発に当てはまります。

私は、一般的にWindowsボックス上でUnixで開発するのが好きですが、それは私です。

Mac OS Xと言います。

Java開発が組み込まれています。必要なすべてのUNIXコマンドラインツール。箱から出してすぐ。 Antとmavenがあります。最新バージョンではありませんが、アップグレードは簡単です。

はい、JDKの最新バージョンがない場合もありますが、実際には、最新かつ最高のJDK向けに開発する必要がない限り、それは問題になりません。

Answerは、思っているよりも簡単です。お気に入りのOSを使用してください。 Javaの場合、これが最良の答えです。開発そのものではなく、あなたの快適さがあなたの成功、あなたの好きな環境でのドキュメントの閲覧などに役立ちます。

個人的には気にしません。使用する開発ツールとターゲットプラットフォームを最もよくサポートするプラットフォームを使用します。

なぜJVMを調整する必要があるのですか?これは非常に珍しいことです。 C ++のような低レベル言語で書く方が良いでしょうか?

DtraceはOS Xで使用できます。Linuxポートもあります。 Solarisは歴史的に遅いとの評判を得ていました(そのためSlowarisのニックネーム)。これがまだ正しいかどうかはわかりません。

Eclipseを使用してWindowsでJava開発を行う前に成功しました。また、展開/ホスティングについて尋ねているように聞こえます。アプリケーションを実行するのに最適なOSはどれでも、アプリケーションの開発に使用するOSを実際に予測すべきではありません。

pmillerが示唆したように、WindowsとEclipseはうまく機能します。また、EclipseまたはIntelliJ IDEAでOS Xを推奨することもできます(後者はWindowsでも動作します)。

Solarisで最も基本的なJava開発(大学での基本的なデータ構造のプログラミング慣行)しか行ったことがないので、実際の比較を提供することはできません。ただし、適切なツールが不足しているため、Solarisでは非常に苦痛でした(neditなどに制限されていたと思います)。

考慮する必要があることの1つは、Macで実行できるアプリケーションを開発するかどうかです。私はOS Xが大好きですが、古き良き時代のスティーブは、私たちが常に多くのJDKバージョンの背後にいることを確認しました。 Java 6を手に入れたところです。Macで開発することで、少なくとも、可能な限り低いバージョンのJDKで作業することが保証されます。

Linux、Windows、OS Xを使用しました。OSXを支持する私の大きな主張は、ユーザーフレンドリーなオペレーティングシステムであるということです(つまり、iTunes、最新のブラウザーを実行でき、50を割り当てる必要がないUNIXを基盤とするラップトップでそれを維持する私の時間の%)。私の開発のほとんどはUNIXシステム用であるため、これにより人生の生産性が大幅に向上します。また、このプラットフォームの背後には、ますます活発な開発コミュニティがあります。これらの理由はWindowsでも逆に機能します-cygwinはunixツールを使用するための私の要件の一部を閉じますが、それは本物のunixシステムを持つようなものではありません。

開発環境は本番と同じでなければなりません。

「最高の開発環境」はありません。実稼働環境とは異なります。本番環境、開発環境で実行しているものを実行します。

それは、実稼働環境と同じシステム(別のマシンやVMなど)で開発を行う場合、別のOSなどでIDEを実行できないという意味ではありません。

Windowsは問題ありません。

Solarisは素晴らしいJava開発環境でもあります(私はWindowsよりも優れていますが、主観的な理由から)。しかし、その上に展開しない限り、切り替える価値はないかもしれません。

LinuxはJava開発には少し不格好ですが、実行可能です。

お勧めできないのはMacだけです。なぜなら、彼らは常に利用可能なJavaのバージョンにずっと遅れているからです(Sunによって提供されていない、Appleは独自に開発しています)。

最善のアドバイスは、ターゲットとするプラットフォームで開発することです。そうすれば、開発テスト中に実行して単体テストを実行すると、意外な驚きなしにターゲットプラットフォームでも動作することがわかります。

すべてのプラットフォームをターゲットにしている場合、Macで最も厄介な驚きを得ることができるため、実際にはMacで開発したいと思うかもしれません。 Javaに関しては、WindowsとUnixで「動作する」だけですが、Macではそれほどではありません。 Sunは、Macを除くすべてのオペレーティングシステム用のJavaランタイム(JRE)を開発しています。 Appleは独自のJREを開発しています。

Macで開発する場合は、最も一般的でない分母に対して開発する可能性が高いため、Macで実行されるものは他の要素でも実行されるはずです。それが私の経験でした。

それを除いて、ソフトウェアを実行するかどうかに基づいてオペレーティングシステムを選択することを常にお勧めします。 IDEを実行するOSと、開発およびテストに使用する他のツールを選択します。必要なツールが複数のOSで実行されている場合は、最適なツールを選択してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top