機能開発のためのOSの選択[終了]


9

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

Haskellの場合、windows-supportは問題ありません(Haskell-Platformを入手できます)が、latley基本的なClojure / Scheme環境をセットアップしようとしたところ、Windowsでの面倒な作業でした。

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

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

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

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

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

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


Cygwinをインストールしない限り、すべてがWindowsで大変な苦痛になります。Cygwinを入手したら、Windowsから他の場所に移動するインセンティブはありません。
SKロジック

8
@ Sk-logic:CygwinはWindowsの使用を少し苦痛なくしますが、最終的には本物を手に入れてUnixライクなOSに移行したいと思うかもしれません。;-)
Giorgio


2
@vartec:これは重複しているとは思いません。この質問では、関数型プログラミング言語の使用について具体的に質問します。
Giorgio

3
Macに負荷をかける前に、Fedora、Mint、Ubuntuなどの優れたLinuxから始めます。
リグ

回答:


4

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

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

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


うーん...面白いです-しかし、私は深く潜って、Ubuntoパラレルを私のいじるラップトップにインストールすると思います(まだ私の仕事用マシンを危険にさらすことはありません-)
Carsten

1
私の個人用ラップトップでは、古くからデュアルブートWindows-Linuxを使用しており、問題はありませんでした。一方、私のデスクトップでは、過去10年間Windowsをインストールしていません。Windowsでしか利用できない特定のソフトウェア(ビデオゲームや携帯電話のインターフェイスソフトウェアなど)が必要でない限り、Windowsを見逃すことはありません。結論:適切なツールに慣れると、Linuxで必要な(機能的な)プログラミングをすべて行うことができます。
Giorgio

私は確かに今日私のデスクトップでこれを試しました-VirtualBox VMのUbuntu-2 GBのコアと一緒に私のSSDに30GBと4GBのRAMを与えました-私が試したいくつかのことでsmothを実行します(そしてVMはウィンドウのサイズ変更やそれは-今のところこれは私が今のところubuntuを試す方法になるでしょう-多分私は後で私のラップトップにデュアルブートをインストールしますが、デュアルモニターでこれは素晴らしいです-ありがとう、これを答えとしてフラグを立てる
Carsten

18

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

私は主に.NET開発者でもあり、さまざまなことを実験したり、さまざまなフレームワークや開発ツールを試したりするのが大好きです。ここでの主なことは、メインの開発環境を台無しにすることではありません。したがって、意図する開発の種類に応じて、仮想マシンにすべてをインストールすること(ネイティブOS、フレームワーク、それらの構成と設定など)が、最も論理的で最適な方法です。

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


2
後で元に戻すことができる開発環境のスナップショットを作成できることは、このアプローチの主な利点です。また、開発環境を関心のある同僚と共有することもできます
Arthur Ulfeldt 2012

どのVMを提案しますか?
カーステン2012

1
以前はVMwareを使用していたが、今はVirtualBoxを好む-対処する手間が少ない。
Yusubov 2012

12

私はすべてLinux(Ubuntu)でHaskellとScalaを使用しています(Scheme、Common Lisp、SML、OCaml、Erlangも使用しています)。

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

ScalaはEclipseと適切に統合されており、Scalaプラグインは積極的に開発されています。さらに詳しく知りたい場合は、現在Courseraで実行されているScalaに関するコースがあり、Windows、Linux、MacでScalaを使用する方法が説明されています。Visual Studioのすべての機能と統合を備えているわけではないかもしれませんが、私はEclipseでかなり大きなプロジェクトを開発しましたが、それは問題なく動作します。

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

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


ありがとう-私は大規模なhaskellプロジェクトを(まだ)何もしなかったし、今までNotepadd ++(sic!)が私のために仕事をしてくれた-多分私はVIM / EMACSを調べる必要があるが、これはそれから学ぶのが難しくなるかもしれない他のOSに穴を開ける...ええ、私はIDEに甘やかされています(これについてはすでに触れました-そうではありませんか?)
Carsten

HaskellWikiにはいくつかのHaskell IDEがリストされています
Zach L

2
Scalaコードを編集するには、Eclipseを使用できます。また、オンザフライでコードの一部を編集およびテストできるScalaワークシートEclipseプラグインもあります。VIM(およびEMACS)は慣れるまでに時間がかかりますが、非常に強力です。Haskellファイルを編集するためだけにそれらを学ぶことはしません。私はVIMを汎用エディターとして学びました。
Giorgio

@Zach L:リンクをありがとう。よろしければ、回答に追加できます。私は数か月前にレクサを試しましたが、覚えている限り、それはまだ使えませんでした。これまでのところ、私は他のHaskellツールを試していません。
Giorgio

@ジョルジオ確かにあなたはそれを追加することができます!
Zach L

10

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


ありがとう-UbuntuはWindowsの上に(一見)簡単にインストールできるため、非常に有望に見えます...本当にLinuxを使用するのは久しぶりです-試してみると思います-IntelliJは商用製品ですか?
カーステン

@CarstenKönigはい、これは商用製品ですが、教室で使用する場合や、オープンソースプロジェクトを維持するために使用する場合(およびそれを証明できる場合)は、無料のライセンスを取得できると思います。
Daniel B

1
@CarstenKönigIntelliJには(無料の)コミュニティ版があります。
yannis 2012

IntelliJのscalaプラグインも無料ですが、やはりEclipseをお勧めします。
キム

Visual StudioからのIntelliJは、より使い慣れた環境で動作します。これは、VSの削減バージョンのように感じます。一方、EclipseとVSのインターフェース/ワークフローは非常に異なります。
DanはFirelightによっていじくります2012

5

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

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


3

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


4
F#は私の主な言語の1つです(他のC#):D
Carsten

まだ習っていませんが、なかなかいい言語のようです。私は最近、ほとんどの時間をアーランで過ごします
ザカリーK

2
F#は.netエコシステムで最高の言語であり、ツールへの愛情が欠けているだけです(リファクタリングなし、ほとんど存在しないソリューションサポート(例:すぐに使えるサブフォルダーなし))-あなたはそれをいくつかのhaskell /と考えることができますOcaml / C#hyprid
Carsten

それは私が聞いたことです。私はF#がMicrosoftのHaskellからクールなアイデアを取り入れて.netの世界に移動する方法であるという印象を受けました
Zachary K

@CarstenKönig:私はF#を知りませんが、私の知る限り、ほとんどがOcamlから派生しています。
Giorgio

3

私は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 ++が使用します。


1

OSを選ぶのではなく、IDEの観点から見てみましょう。Schemeに興味があるなら、数年前にSchemeジャングルから出現したDrRacketを試してみることをお勧めします。IDEは、Windows、OS X、およびLinuxで適切に動作します。

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


ありがとう-私は昨日だけラケットについて知りました-それを調べる時間はあまりありませんでしたが、IDE / Langでした。私にとっては興味深いように見えますが、「実際の」アプリ開発にまだ現実的かどうかはまだわかりません。
カーステン2012

0

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.