4

私は Microsoft 環境で働いているので、C# ハンマーを使って釘を打つことができます。そうは言っても、どの言語 (コンパイル済み、インタープリター、スクリプト、関数型、任意の型!) が C# の知識を補完し、どのような目的で使用するのでしょうか? たとえば、多くのスクリプト機能をコンパイル済みのコンソール アプリから Powershell スクリプトに移動しました。あなたが MS 開発者なら、F#、IronRuby、IronPython などの他の言語のニッチを世界で見つけましたか? また、それらはどのニッチを埋めますか?

注: この質問は Microsoft の開発者に向けたものです。会社を離れて LAMP スタックのインストールを開始できず、永久にサポートしなければならないからです。:) ただし、あなたの主要言語以外に、あなたの世界で特定のタスク/役割を果たすのに興味を持った他の言語について自由に言及してください。

4

14 に答える 14

7

Python/Perl/Ruby/PowerShell は、C#/VB.NET の優れた補足です。上司がテキスト ファイルを渡して、それをデータベースに 1 回か 2 回挿入するように言った場合、Perl/Python/Ruby (powershell についてはわかりませんが、それほど難しくないと思います) のいずれかで問題ありません。それを解析します。いずれにせよ、主なアプリケーションではおそらく C# で行き詰まるでしょう。より動的な言語の 1 つを使用して、C# でコードを生成できます。

あなたは Microsoft 環境にいるので、ソリューションが受け入れられる可能性が最も高いのは PowerShell です。その次には、IronPython か、CLR と統合する何かだと思います。しかし、主な問題は、他の誰かがあなたがしていることを維持するために、あなたが使用している言語を知っている必要があるということです. MS は将来、PowerShell をさらに多く使用する計画を立てているため、おそらく PowerShell を正当化する方が簡単で、Python/Perl/Ruby と言う方が簡単です。

テキストファイルを一度だけ処理する場合。または、すべてのコードを生成するための 1 回限りのコード ジェネレーターを作成し、生成されたコードを維持するつもりであれば、それは問題ではありません。結果を消費するのはあなたです。Perl を使用して時間を節約できれば、あなたの能力が高まります。しかし、繰り返し使用される何かをしている場合 (テンプレートを変更し、生成されたコードを維持する代わりにジェネレーターを実行するアクティブなコード ジェネレーターなど)、あなたが行ったことに取り組んでいる他の開発者は言語を知る必要があります。使いました。Microsoft Shop で Perl/Ruby/Python を学んでいると主張するのは、はるかに難しいことです。しかし、PowerShell の方が簡単な議論のようです。MS の壮大な計画は、最終的にはアプリケーションがコマンドレットを介してより多くの機能をパワー シェルに公開することだと思います。

于 2008-09-19T16:06:48.883 に答える
5

優れたスクリプト言語は、常に身に着けておくとよいツールです。RubyまたはPythonを参照してください。

于 2008-09-19T15:54:49.817 に答える
2

あなたはMSショップにいるので、PowerShellを適切なスクリプト言語として学ぶことをお勧めします。C#でうまく機能します。私もRubyの大ファンです。

于 2008-09-19T16:12:56.327 に答える
2

編集と実際に新しいバージョンのコードを実行するまでの間にほとんど時間がないので、私はプロトタイピングにpythonを使用します。実際のプロジェクトで使用することもあります。使用すればするほど、気に入ってしまいます。

C#プログラマーとして慣れるには多少時間がかかりますが、使用するインデント-定義-構造システムは最初は少し奇妙です。

于 2008-09-19T15:57:21.153 に答える
1

2番目または3番目のPythonを使用したいと思います。具体的には、IronPython(ttp://www.codeplex.com/Wiki/View.aspx?ProjectName = IronPython)を使用すると、Pythonを学習できるだけでなく、.netFrameworkにアクセスすることもできます。

これは、スクリプト関連のタスクに非常に適しているため、日常のコーディングライフに役立つ可能性があります。また、実験的なコーディング/プロトタイピングの方法でいじくり回すのにも適しています。

于 2008-09-19T16:15:03.840 に答える
1

たぶん、Booで遊んで、あなたの考えを見てください。
Codehaus.orgの
ブーウィキペディアのブー

于 2008-12-05T18:33:22.517 に答える
1

.Net Frameworkを使用している場合、コンパイラとインタプリタはどのような場合でも同じILコードを作成するため、言語は実際には重要ではありません。

.Netの世界から離れれば、開発ツールと言語はツールボックスであると私は思います。私は、他の開発者のスキルベースが何であるか、そしてもちろん会社がどの方向を求めているかを考慮して、目前の仕事に適したツールを使用するよう努めています(私はコンサルタントです)。

于 2008-12-11T13:11:42.897 に答える
1

少し特殊な言語ですが、私はErlangについて言及せざるを得ません。Erlang は、他のプログラミング プラットフォームを補完する傾向があるため、ツールボックスに入れておくべき優れた言語です。Erlang は、分散型の同時実行型のフォールト トレラントなシステムを構築するのに非常に役立ちます。これは、分散型でありながら相互接続されたアーキテクチャが必要なインスタント メッセージングおよびテレフォニーの世界で多く使用されています。

于 2008-09-19T16:07:40.847 に答える
0

通常のツールボックス以外の言語を試してみると、現在のお気に入りの言語で物事にアプローチする新しい方法が得られます。Perl(データマングリング用)、Lisp(関数型プログラミング)、Javascript(プロトタイプベースのプログラミング)などの深刻なプロジェクト言語でそれらを使用しない場合でも、現在の言語の問題について考える新しい方法を教えてくれます。

于 2008-09-19T16:32:45.280 に答える
0

Booをチェックしてください-.NETスタックの上で実行されますが、その構文はPythonに似ています。

于 2008-12-05T18:43:03.230 に答える
0

C#を補完する新しい言語を学ぶために、私はC++を使用します。これを「p/invoke」スタイルよりも優れた方法で使用して、C#アプリからアンマネージコードにアクセスできます。.NETアプリケーションの一部がすべてのRAMやCPUを占有し始めたり、一般的に速度が遅い場合は、それを使用して、メモリに制約のあるアプリやパフォーマンスが重要なビットを書き込むことができます。あなたが欲しいです。

于 2008-12-11T13:13:31.550 に答える
0

私はjjnguyと一緒です。スクリプト言語の1つを試してください。さらに、ボーナスとして、Ruby / PythonPearlなどを学ぶと、それはゲートウェイドラッグです...他の環境向けに開発するための誤った言語です。

于 2008-09-19T15:57:06.317 に答える
0

本業の Web 開発者として、XSLT/XPath ファミリーを検討するかもしれません。特定の種類の XML 処理に関しては、非常に強力なツールになる可能性があるからです。

確かに、C# 3.x では、Linq2Xml はいくつかの同様の機能をインラインで公開しています。

ただし、XSLT は、アプリ内のプレゼンテーションからデータを分離するための強力な方法になる可能性があります。

于 2008-09-19T16:43:56.330 に答える
0

私は、F# と、CLR/DLR の他のいくつかの新しい言語に非常に興味があります。DLR 言語は、多くのばかげたものをキャストさせないため、UI にとってはるかに優れている可能性があります。

ただし、新しい言語、特に関数型プログラミングなどの新しい分野を学ぶことは、常に心を再訓練する良い方法であり、新しい概念に触れて、新しい言語をまったく使用しない場合でも、選択した言語でより適切にコーディングできます。

于 2008-09-19T16:49:18.673 に答える