Microsoft did not provide a C# engine for Windows Script Host (WSH). CS-Script is an attempt to fill this gap. The core component of the CS-Script is a script engine that utilises the power and flexibility of the Microsoft .NET Framework.
CS-Script, by being a scripting framework, provides a lot of development opportunities when usage of traditional (non-scripting) programming techniques requires significant development effort.
Development environment is changeable.
Frequent code changes are expected.
Application logic is simple.
Application is needed for a very specific isolated task.
Intellectual property protection is not an issue.
Source code is open.
Maintenance and deployment requirements are very strict.
SW solutions ideally reside in a single file and is to be deployed by simple copying of a minimal number of files.
Development speed is expected to be faster than usual.
Code is composed of relatively heavy chunks.
Simple deployment approach:
just bring both script and engine file (about 50 K size) on the system that has .NET runtime installed and script can be run.
Scripts can be run on any system, which has CLR installed.
Base language is a truly OO language:
full featured C# is used. It is called it "C# Script" but actually it is a C#. "C# Script" better represents execution nature of the system.
All .NET functionality is available
FCL, COM Interop, Remoting.
Easily available Debuggers and rich IDEs
MS .NET Studio or third-party ones.
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.
interpretation of any statement in the script is done only once even though the statement is frequently used throughout the code.
Script language is type safe:
strong typing is a luxury not available in most of the scripting languages. Dynamic typing is also available: use Object as a default type and do boxing/unboxing all the time.
All SW development tasks can be done in the same language.
GUI development for script applications becomes easy.
scripting system can be extended by using the assemblies written in any .NET languages or COM components