質問

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

注記:この質問は Microsoft の開発担当者に向けられたものです。私は会社に LAMP スタックをインストールし始めることはできないので、永久にサポートしなければならないからです。:) ただし、あなたのメイン言語とは別に、あなたの世界で特定のタスク/役割を果たすために興味深いと感じた他の言語についても遠慮なく言及してください。

役に立ちましたか?

解決

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

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

テキスト ファイルを 1 回限り処理する場合に使用します。または、すべてのコードを生成するワンタイム コード ジェネレーターを作成し、生成されたコードを保守する場合は問題ありません。結果を利用するのはあなたです。Perl を使用して時間を節約できれば、より大きな力が得られます。ただし、何度も使用されることを行っている場合 (生成されたコードを維持するのではなく、テンプレートを変更してジェネレーターを実行するアクティブなコード ジェネレーターなど)、その作業に取り組んでいる他の開発者は、その言語を知っている必要があります。使いました。Microsoft ショップで Perl/Ruby/Python を学習することについて議論するのははるかに困難です。しかし、PowerShell の方が簡単な議論のように思えます。MS の壮大な計画は、最終的にはアプリケーションがコマンドレットを通じて Power Shell のより多くの機能を公開することだと思います。これが起こると仮定すると、PowerShell は他の方法では得られない大量のスクリプト可能な機能を公開するため、さらに簡単です。

他のヒント

優れたスクリプト言語は常に身に付けておくと便利なツールです。見る ルビー, 、 または パイソン.

編集してからコードの新しいバージョンを実際に実行するまでの所要時間はほとんどないため、プロトタイピングには Python を使用します。最終的には実際のプロジェクトで使用することになるかもしれません。使えば使うほど気に入ります。

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

あなたはMSショップにいるので、私がお勧めします パワーシェル 学ぶべきまともなスクリプト言語として。C# とうまく連携します。私もRubyの大ファンです。

2番目か3番目のパイソンが欲しいです。具体的には、IronPython (ttp://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython) を使用すると、Python を学習できるだけでなく、.net Framework の優れた機能にもアクセスできます。

これはスクリプト関連のタスクに非常に適しているため、おそらく日常のコーディング生活に役立つだけでなく、実験的なコーディングやプロトタイピングの方法を試すのにも最適な方法です。

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

Boo で遊んでみて、どう思うか見てみてください。
Codehaus.org でブーイング
ウィキペディアでブーイング

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

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

私はジンガイと一緒です。いずれかのスクリプト言語を試してください。さらにおまけとして、Ruby/PythonPearl などを学ぶと、他の環境向けに開発するためのゲートウェイ ドラッグとなる言語になります。

通常のツールボックス以外の言語を試してみると、現在お気に入りの言語で物事に取り組む新しい方法が得られます。Perl (データマングリング用)、Lisp (関数型プログラミング)、JavaScript (プロトタイプベースのプログラミング) は、現在の言語の問題についての新しい考え方を教えてくれます。

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

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

ただし、XSLT は、アプリ内でデータをプレゼンテーションから分離する強力な方法です。

私は F# や CLR/DLR のその他の新しい言語に非常に興味があります。DLR 言語は、多くの愚かなことをキャストする必要がないため、UI にははるかに優れている可能性があります。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top