web-dev-qa-db-ja.com

機能開発のためのOSの選択

私は主に.NET開発者なので、通常はWindows/VisualStudioを使用しています(つまり、私は甘やかされています)が、Haskellや他の(ほとんどの場合は機能する)言語を余暇に楽しんでいます。

これでHaskellのWindowsサポートは大丈夫です(Haskell-Platformを入手できます)が、latley基本的なClojure/Scheme環境をセットアップしようとしましたが、Windowsでの面倒な作業です。

それで、私はより良いツールと言語サポートのために別のOSを試すことを考えています。もちろん、MacOSやLinuxディストリビューションが残っています。

以前はMacOSを使用したことがなく、もちろんLinuxの方が安く(無料)、MacOSを通常のPCハードウェアで並列起動できないと思います(できますか?)。プラス:私がそれらの(私にとって)外部のOSで使用できるツールについての手がかりはありません。

簡単に言うと、Haskell、Clojure、Scala、Schemeをさらに探索したいのですが、もちろん、JavaScript/HTML5/Cssに少なくとも優れたツールが必要です。 .NET/Mono/F#のサポートは素晴らしいですが、これについてはまだWin7ブートを使用します。

だから私は知りたいです:-あなたの好きなOS、ディストリビューションは何ですか(Ubuntuは実行可能ですか?)-どのエディター/ IDEを使っていますか?

ご協力ありがとうございました!

PS:これがこの質問に適切な場所かどうかはわかりませんが、確かにそうだと思います。そうでない場合は、これをどこに移動すればよいかを教えてください(StackOverflowは適切な場所ではないようです)

9
Carsten

私がそのような言語や他のものを実験するために現在取っているルートは、大きな成功と使いやすさを備えています:

  • windowsホストで実行されているVirtualBox VMにDebianをインストールする
  • すべてのコードをホストまたは共有ネットワークドライブに保持し、お気に入りのエディターを使用してホストで編集します(まだNotepad ++とSublimeTextの間で未定です。C++の場合はVSを使用します)。
  • ホスト上のディレクトリを共有し、VMにマウントします
  • VM(またはcygwinを使用してsshすることもできます)でコードをコンパイル/実行します

この方法で、両方のオペレーティングシステムの長所を手に入れることができます。

4
stijn

短い答え:問題に対する簡単な解決策があります。 virtual-machine with Linux(Ubuntu)をインストールするだけです-無料です。

私は主に.NET開発者でもあり、さまざまなことを実験したり、さまざまなフレームワークや開発ツールを試したりするのが大好きです。ここでの主なことは、メインの開発環境を台無しにすることではありません。したがって、仮想マシンにすべてをインストールするとあなたがやろうとしていた開発のタイプは、最も論理的で最適な方法です。

Edit:仮想マシンを構築するために別の仮想化ソリューションを検討する場合があります。私の個人的な好みは VirtualBox です。これは無料のx86仮想化ソリューションであり、Windows、DOS、BSD、Linuxなどのさまざまなx86オペレーティングシステムをLinuxシステムで実行できます。

18
Yusubov

私はすべてLinux(Ubuntu)でHaskellとScalaを使用しています(また、Schema、Common LISP、SML、OCaml、Erlangも実行しています)。

上記のすべての言語(コンパイラーとインタープリター)は非常に簡単にインストールできます(apt-getまたは別のパッケージ管理システムを使用してインストールできるパッケージがあります)。

ScalaはEclipseと適切に統合されており、Scalaプラグインは積極的に開発されています。詳細については、Scala Coursera での実行は、ScalaをWindows、Linux、Macで使用する方法を説明しています。VisualStudioのすべての機能と統合を備えているわけではないかもしれませんが、 Eclipseで非常に大きなプロジェクトを開発し、それは問題なく動作します。

Haskell(および上記の他の言語)の編集には、小規模なプロジェクトで問題のないgvimを使用します。 Haskellの構文の強調表示がある場合は、別のエディター(EMACSなど)を使用できます。それ以外の場合は、 haskellwiki を確認できます(提案についてはZach Lに感謝します)。

ソースコード(バージョン管理)を管理するために、私はこれらすべての言語でEclipseを介してSVNを使用します。

12
Giorgio

MacOSにはMacハードウェアが必要です。そうでない場合、VirtualBoxで実行することもできますが、前回試したところ、機能しませんでした。また、現在の構成/セットアップの問題を他の問題に置き換えたくないので、多額の費用をかけるかLinuxを試すことをお勧めします。私はHaskell、Scala、およびEclipse、Netbeans、IntelliJ、Emacsを使用したLISP開発にUbuntuを使用しましたが、それらの設定にそれほど問題はありませんでした。

10
Kim

UnixライクなOSはすべて非常に優れたコマンドラインツールを備えています。私は個人的に開発と配備の両方でUbuntuで良い経験をしました、私の友人の多くはMacOSにも誓います。私はどちらか一方を好む明白な理由を見たことがありません。それらはすべて、コマンドラインの作業に関してWindowsよりもIMOが優れています。

具体的には、Clojure/Scala側では、適切なClojure/JavaプラグインでJava IDEのいずれかを使用すると、Windowsは実際にはかなり良いと感じるかもしれません。私はEclipseと 反時計回りをWindows 7のメインのClojure開発環境として使用 Scala IDE もあります。これは、フル機能のIDEが好きな場合や、同じ環境でポリグロットプログラミングを行いたい場合は、良いアプローチです。Eclipseのようなものを使用する追加のプラスは、git/svn/maven統合が非常に優れていることです。

5
mikera

私はWindows、OS X、および(Ubuntu)LinuxでHaskellを使用してきたので、それについていくつかのコメントを提供できます。これで、Haskellプラットフォームから取得できるものは、何があっても問題なく機能しますが、その後は次のようになります。

  • 比較的少数のHaskellプログラマーがWindowsを使用しています。 Hackageには、明示的に明示せずにUNIXのような環境を想定しているものが見つかるでしょう。

  • CFIライブラリへのFFIバインディングから多くの便利なものが得られます。Windowsでの漠然とした一貫性と信頼性のあるCコンパイルツールチェーンの欠如は、私の経験では、ハッキングからのFFIバインディングのインストールはせいぜいクラップシュートであることを意味します。

  • 興味深いことに、クロスプラットフォームのGUIライブラリを十分に含む、プラットフォーム固有のものは、Linux上で「正常に動作」する可能性が高くなります。

  • Cygwinはあなたが思うほど助けにはなりません。

要約すると、すべてがLinuxで機能する傾向があり、ほとんどの機能はOS Xで機能しますが、いくつかの機能は奇妙です。Windowsでは、ライブラリを使用するときに多くの興味深い問題が発生するはずです。

ものをいろいろ試して、Haskellを学んでみたいだけの場合は、自分でお願いし、Ubuntu VMまたは何かを使用してください。

エディタなどの限りでは、emacsとvimはいつものように人気があります。私はどちらも使用することを学んだことがなく(本当にすべきですが...)、ほとんどのIDEを気にしません。そのため、通常はSciTEを使います。これは、Scintillaと呼ばれるエディターウィジェットの薄いラッパーです。 Notepad ++が使用します。

3
C. A. McCann

私はMacとLinuxの大ファンですが、これらの言語をWindowsで実行できない理由はありません。また、Windowsで関数型言語が必要な場合は、.net言語であるF#を見落とさないでください。

3
Zachary K

OSを選ぶのではなく、IDEの角度から説明します。Schemeに興味がある場合は、Schemeジャングルから登場したDrRacketを試してみることをお勧めします。 IDEはWindows、OS X、およびLinuxで正常に動作します。

すべてのother関数型言語を実行するには、適切なOSを選択する必要があります。

1
John Clements

Haskellの作成者の1人であるSimon Peyton-JonesはWindowsユーザーであり、私が収集したものから、Haskellは優れたWindowsサポートを持っています。

あなたの質問は正直なところ少し曖昧です。OSの選択は、使用している言語のパラダイムとは関係ありません。

個人的には、C#およびJava=開発環境がIDEによって決定される)以外では、開発環境は、BSD、Linux、OSXのいずれであっても、常にUnixのフレーバーである必要があります。 。

0
djhworld