CS-Script
![]() | The topic of this article may not meet Wikipedia's notability guidelines for products and services. (June 2009) |
CS-Script (www.csscript.net) is a CLR (Common Language Runtime) based scripting system which uses ECMA-compliant C# as a programming language. CS-Script currently targets Microsoft implementation of CLR (.NET 2.0/3.0/3.5/4.0) and with full support for Mono.
CS-Script as well as a few other .NET languages (e.g. Boo) is a statically typed language and it allows unlimited access to .NET/CLR functionality with plain vanilla C# syntax.
CS-Script as a scripting environment offers stand alone script execution as well as hosting the script engine from CLR application.
Because of statically typed nature of the script execution CS-Script demonstrates no performance degradation comparing to the compiled managed binaries.
Existing .NET development tools (e.g. MS Visual Studio, Sharp Develop) can be used, allowing editing and debugging scripts within traditional .NET Development environment.
CS-Script has been used in a number of open-source and proprietary products of different scale and complexity (e.g. FlashDevelop, MediaPortal).
References
- CS-Script as part of FlashDevelop
- CS-Script as part of Wuji
- CS-Script as part of BRE API
- CS-Script as part of K2 API
- CS-Script as part of AyaNova (Official Website: AyaNova service management software)
Benefits of C# Scripting System:
Simple deployment approach: just bring both script and engine file (about 100 K size) on the system that has .NET runtime installed and script can be run.
Portability: Scripts can be run on any system, which has CLR installed (including Mono).
Base language is a truly OO language: CS-Script uses full featured C# and also supports VB.NET, C++/CLI and J#.
All .NET functionality is available (FCL, COM Interop, Remoting, WPF, WCF etc.).
Easily available Debugger and rich IDE (MS .NET Visual Studio or third-party IDEs).
Execution model within the script is the same as for any .NET application: static void Main().
Any script can be easily converted into application and vice versa.
Optimised interpretation: interpretation of any statement in the script is done only once even if the statement is frequently used throughout the code.
Script language is type safe (strongly typed): strong typing is a luxury not available for the most of the scripting languages.
All SW development tasks can be done in the same language.
GUI development for script application becomes easy.
Extensibility: scripting system can be extended by using new assemblies written in any .NET languages or COM components.
Script hosting: functionality of any CLR application can be extended with scripting.