4

Linux や Solaris などの Unix の方言よりも、開発中に使用するプラットフォームとして Windows/Microsoft に技術的な利点はありますか?

企業が時々 Microsoft を選ぶのは、単に Unix を知っている十分な数のプログラマーがいないという理由、またはこれらのプログラマーを雇うのにはるかに費用がかかるということを私は知っています。

すべての開発者が Unix と Microsoft を同じようによく知っていると仮定すると、Windows で開発したほうがよいケースはまだあるのでしょうか?

4

10 に答える 10

11

私にとって、Windows を開発プラットフォームとして使用する理由は 2 つだけです。

  1. .Net/Windows 開発を行っているため (または、会社が選択肢を与えないため)、そうしなければなりません。また
  2. アプリ、具体的には Microsoft Office/Exchange。申し訳ありませんが、OpenOffice は Word/Excel に比べてひどいものです。

それとは別に、Linuxには次のような他のすべての利点があります。

  • はるかに高速なファイルシステム (多数の小さなファイルを扱う場合は特に重要)。昨年、このスイッチ (同じコード ベースの ant ビルド) だけで、ビルド時間が 8 ~ 10 分から 2 ~ 3 分になりました。
  • 通常、開発環境は実稼働環境と一致します (実稼働環境が Windows の場合、開発環境は Windows であることがほぼ保証されます)。これは便利です。Windows と Linux での JBoss の違いにより、Java クラスパスの可視性に問題がありました。と
  • コマンド ライン ツールのはるかに優れたセット (はい、Cygwin などを使用できることは知っていますが、それほど良くはありません)。

これが、私が次の開発ワークステーションとして Mac のアイデアを非常に魅力的だと思う理由の 1 つです。アプリケーション (Office など) を備えた Unix として、または適切なファイルシステムを備えた Windows (OSX が ZFS を採用した場合) として見ることができます (OSX が ZFS を採用する場合)。 、いずれにせよ、それは勝利です。私が本当に気が進まないのは、Leopard のルック アンド フィールを導入するためだけに、Apple が Java 6 のリリースを 1 年遅らせるなどの愚かなことをしていることです。

于 2009-02-01T00:34:42.883 に答える
10

私の心の一番上から:

  • .NET (モノラルは本当に素晴らしいですが)
  • Visual Studio - おそらく最高の IDE
  • 優れたドキュメント (私の意見では、MSDN ライブラリはマニュアル ページよりもはるかに開発者にとって使いやすいものです)
  • 巨大なユーザーベース (ビジネスに似ていますが、それでも非常に重要な要素です)
  • バイナリ互換性 (Linux ディストリビューションで見られる無数の組み合わせよりも、4 ~ 5 のカーネルと標準 C ライブラリ バージョンをサポートする方がはるかに簡単です)
于 2009-02-01T00:20:39.587 に答える
5

あなたができる最善のことの1つは、選択肢を開いたままにしておくことです。プラットフォームに依存しないテクノロジを選択すると、任意の O/S または実装用のソフトウェアを使用できるようになります。技術的な観点からも、ビジネス上の観点からも、これは非常に理にかなっています。

大規模な開発者コミュニティと開発情報ストア、および Visual Studio のような広くサポートされている IDE を除けば、Windows プラットフォームの特定の技術的利点については、見つけるのが難しいと思います。その場合でも、Eclipseはプラットフォームに依存しないテクノロジを使用して同様に優れた仕事をすることができます。

于 2009-02-01T00:25:09.343 に答える
3

Microsoft システムは、さまざまな部分間の統合がはるかに優れている傾向があります。バイナリのみのソフトウェアを使用している場合、心配する異質性ははるかに少なくなります (x86 と comctl3d は、*nix が実行されるすべてのものよりもサポートがはるかに簡単です)。

Windows での学習曲線は最初は浅いですが、全体的な距離は長くなります。Unix/Linux では、最初は苦労しますが、後で OS の内部の仕組みが理解できるようになると、作業は簡単になります。

少なくともそれは彼らとの私の経験でした。Windows は手っ取り早く成果を上げたい場合に、Linux は長期的に何かを行う場合に使用します。そして、決定できない場合は仮想マシン:)

于 2009-02-01T00:36:38.447 に答える
2

Windows 開発プラットフォームを使用している理由の 1 つは (私たちの製品は Linux または Solaris 上にありますが) 、すべての に共通の環境です

これは、ソフトウェアの実現に関与するすべての異なる集団を意味します。

  • すべての開発者ではありません(ビジネス、機能的な人々も作業環境に関心があります)。
  • すべて同じプラットフォーム上にある (Windows)
  • すべて同じツールを使用して書き込み/コミュニケーションを行う (Word、PowerPoint など)
  • ラップトップで同じ環境を持つことができます

要するに、すべての環境の均一性 (開発者と非開発者を問わず)。


もう 1 つの理由は減価償却費です。サービスが本格的な Unix サーバー (Sun Fire、F15K または F50K など) よりも軽い PC の減価償却費を管理するのは簡単です: 後者には高価な支援サービスが必要です。契約(必要なレベルに応じて「ブロンズ」、「シルバー」、「ゴールド」など)。PC は修理/交換が容易であり、開発者が PC を「台無し」にして完全にクラッシュさせるほど重要ではありません ;)

そうは言っても、これの欠点は、毎日 PC を変更しないことです。つまり、デスクトップの大部分を管理することを意味し、そのようにアップグレードすることを決定することはできません (これは Os にも当てはまります)。

したがって、他の答えはすべて「仮想マシン」に関するものですが、PCのセットは2003年のもので、40Goのハードドライブと1つのメモリしかない場合があります...、「仮想化」が常に明白であるとは限らないことに気付きます解決。
したがって、開発者がターゲットに近い環境で製品をテストするには、UNIX の「統合」サーバーが必要です。各開発者が独自のルート/管理者である仮想マシンとは対照的に、これらの統合サーバーは統一された方法で管理され、「私にとってはTMで機能する」というシンドロームを回避するため、ある意味ではこれの方が優れています。ワールド/サーバー;)。

于 2009-02-01T00:38:18.227 に答える
0

両方を使用しないのはなぜですか?

どちらのシナリオでも、Windows または Linux/Unix のいずれかで仮想マシンを使用でき、Virtual Box または Vmware プレーヤーを使用することは基本的に何もありません。または、開発ボックスから他のプラットフォームにデスクトップ/vnc をリモートすることもできます。.net で開発する場合は、開発用に Windows を使用する方がよいでしょう。LAMP 向けに開発する場合は、Windows/*nix のどちらでもかまいません。

于 2009-03-13T23:52:08.570 に答える
0

Windows 関係者が考える一般的な議論を紹介できますが、必ずしも同意できるものではありません。

  • 運用時の Windows ボックスの方が保守と展開が容易であると考える人がいます。これは、管理者が使用できるビジュアル ツールが多数あるためです。そのため、簡単に統合できる .Net または Windows 固有の開発言語が好まれます。

  • 顧客または内部クライアントがすべて Windows デスクトップ コンピューターを使用している場合、Windows サーバーを使用する方が手間がかからないと主張する人もいます。これには、Microsoft Office ドキュメント共有 (つまり、sharepoint) や Windows ファイル共有に関するものが含まれます。このような Microsoft 固有の制約に対処する .Net アプリケーションを作成する方が明らかに簡単です。

それ以外の理由は特に思いつきません。後者はおそらく最も有効です。MSFT 開発ツールを使用しない限り、統合が難しい Microsoft 固有のテクノロジが存在する可能性があります。

于 2009-02-01T00:22:32.907 に答える
-2

私にapache mysql(ピンチでOK postgres)phpとeclipseをください.. OSを気にする人..

于 2009-03-14T00:07:10.577 に答える