[解決済み] C#とF#、F#とC#を使い分けるメリットは?[クローズド]
質問
私は、製品出荷よりもプロトタイピングが多い技術系の会社に勤めています。 C# と F# の違いは何か、MS はなぜ F# を作ったのか、C# よりも優れているのはどのようなシナリオか、と聞かれたところです。
私はこの言語をしばらく使っていて、とても気に入っているので、F# の素晴らしい機能について簡単に説明することができますが、C# の経験がないので、なぜどちらかを使うべきかを説明することはできません。
C#とF#、F#とC#を使うメリットは何ですか?
どのように解決するのですか?
命令型言語に対する関数型プログラミングの一般的な利点。
F#のような関数型プログラミング言語では、多くの問題をより簡単に、より定義に近く、より簡潔に定式化することができ、コードはよりエラーを起こしにくくなります(不変性、より強力な型システム、直観的な再帰的アルゴリズム)。コンピュータが言わせたいことではなく、自分が言いたいことをコーディングできるのです ;-) ググったり、SOで検索すると、このような議論がたくさん見つかります。
F#の特別な利点。
-
非同期プログラミングは 極めて で簡単かつ直感的に
async {}
-式 - ParallelFXを使っても、対応するC#のコードはもっと大きくなります。 -
非常に簡単な統合 コンパイラのコンパイラとドメイン特化型言語の
-
必要な言語を拡張する LOP
-
より柔軟な構文
-
多くの場合、より短く、よりエレガントなソリューション
を見てみましょう。 この文書
C#の利点は、関数型プログラミング言語よりもquot;imperative"アプリケーション(ユーザーインターフェイス、命令型アルゴリズム)に対して正確であることが多く、使用する.NETフレームワークが命令的に設計されており、より普及していることである。
さらに、F#とC#を1つのソリューションで一緒に使うことができるので、両方の言語の利点を組み合わせて、必要なところで使うことができます。
関連
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] usingディレクティブはネームスペースの内側と外側のどちらを使うべきですか?
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み】ExpandoObjectの本当のメリットは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】手続き型プログラミングと関数型プログラミングの違いは何ですか?[クローズド]