7

ユーザーがオブジェクトとコンポーネントを視覚的に接続してソリューションを開発できるマシンオートメーション用の IDE があります。また、C++ および C# を使用して「プラグイン」を作成することもできます。IDE は .NET を使用して作成されています。そのユーザーは、多くの場合、従来のソフトウェア開発およびプログラミングではなく、技術/電気および自動化エンジニアの方向性に基づいていますが、C# および C++ プログラミングの基本を知る必要があります。

対話型コンソール (設計時のみ) を含む IDE 自体にマクロ/スクリプト言語を導入する場合、どの言語を選択する必要がありますか? .NET と DLR の両方に優れた基盤があり、将来性があり、優れたサポートとその背後にある適切な勢いがある動的スクリプト言語である必要がありますが、特別な開発者にとってはそれほど急な学習曲線はありません。理想的には、C++ や C# を知っていれば、完全に直感的に使用できるはずです。たとえ、堅実なソフトウェア開発者でなくても。

更新: 現在最も魅力的なオプションは、動的にコンパイルされた C# を使用することです。ユーザーは引き続き C# を使用できます。CSIが証明しているように、インタラクティブなコンソールを構築することさえ可能であるように思われます。このオプションについてどう思いますか?私たちが(一般的にスクリプト作成の経験がないために)まだ気付いていない潜在的な落とし穴/欠点はありますか?

4

5 に答える 5

2

非常にクールなCS-Scriptの大幅に簡略化されたバージョンのような、独自の C# ベースのスクリプト環境を展開するか、CS-Script をすぐに統合するかのどちらかだと思います。

于 2010-09-17T09:17:07.613 に答える
2

Python (IronPython) に投票します。これは、.NET プログラムのスクリプト作成に使用できる動的言語であり、インタラクティブに使用できます (IronPython で実際にインタラクティブに試したことはありませんが、「通常の」python では確かに可能です)。残念ながら、C++ および C# の開発者にとって完全に直感的なものにはなりません。

スクリプト言語として C# を使用することもできますが (実行時にコードをコンパイルして実行できます)、対話型のコンソールは得られず、「スクリプト」のようなものではありません。

スクリプト言語では単純さが非常に重要だと思います。Python の "Hello World" は単に ですprint "Hello World"。C# では、名前空間、クラス、静的な Main メソッドなどが必要になります。C# を使用する場合は、ユーザーが指定したコードを関数定義 (または少なくともクラス)をコンパイルする前に、それらの「スクリプト」は単に関数の内容にすることができます。これにより、スクリプトで実行できることがいくらか制限されます。これは、必要に応じて、良い場合も悪い場合もあります。複数のクラスと関数が必要な場合は、完全なプラグインを作成する必要があるかもしれません。

于 2010-08-18T20:32:55.000 に答える
1

Microsoft が自社製品のスクリプティング/自動化で向かっている方法を見ると、PowerShell がターゲットになるでしょう。

カスタム ホストとプロバイダーを開発すると、.NET アプリケーションにうまく統合されます。

于 2010-09-17T09:25:08.323 に答える
1

現在サポートされている動的言語である IronRuby と IronPythonの DLRの将来は明確ではありません。不明確なのは、これら 2 に対する Microsoft の方向性です。The Gu 以上から聞くまでは、それら 2 のいずれかについて決定を下すことは避けたいと思います。IronPython は引き続きサポートされると思いますが、それは根拠のない推測にすぎません。

.NET スクリプトの場合は、Boo も検討してください。

Boo はオブジェクト指向で静的に型付けされたプログラミング言語であり、Unicode、国際化、および Web アプリケーションに対する共通言語インフラストラクチャのサポートを利用しようとする一方で、Python にヒントを得た構文1を使用し、言語とコンパイラの拡張性に特に重点を置いています。注目すべき機能には、型推論、ジェネレーター、マルチメソッド、オプションのダック タイピング、マクロ、真のクロージャー、カリー化、ファーストクラス関数などがあります。

于 2010-08-18T20:33:18.697 に答える
1

アプリに小さな C# エディターを埋め込み、結果をコンパイル/実行しました

アラ

var codeProvider = new CSharpCodeProvider( 
              new Dictionary<string, string> { { "CompilerVersion", "v3.5" } } );

var parameters = new CompilerParameters( );
// add any of your 'library' dlls as references
parameters.ReferencedAssemblies.AddRange( dlls.ToArray( ) );
parameters.OutputAssembly = outputPath;
CompilerResults r = codeProvider.CompileAssemblyFromFile( parameters, sourceFiles );
于 2010-08-18T20:39:07.613 に答える