In one sentence, XSharper is a framework and scripting language for writing Windows console and simple GUI applications quickly, with or without Visual Studio.
But it's actually many things at once:
Parts of XSharper can be used as independent source code files too. For some, an extensive description exist:
There are many other pieces in XSharper source code that can be used without creating a dependency on the whole XSharper.Core assembly.
XSharper development was inspired by many different tools and frameworks, from ASP.NET to parts of Windows Workflow Foundation, from Microsoft Build XML projects to special scripting languages like Microsoft PowerShell.
In many ways XSharper is to Windows console applications what is ASP.NET to Web applications. It's a framework that consists of multiple simple classes, from parsing user input to downloading files, from formatting output to evaluating expressions and executing SQL, that boost productivity considerably.
Certain frequent operations may be combined into actions, that may be further glued together with XML, producing a simple language where programs can be written without any C# code, not unlike ASP.NET or MS Build scripts. Like ASP.NET, XSharper program using XML syntax may be interpreted or converted to C# source code or .EXE file in a single step, and even back from .EXE to XML. Because it's a framework, it's also possible to glue XSharper actions and classes with PowerShell, Visual Basic, or any other .NET programming language.
As XSharper can also be used as a general purpose scripting language, it may be also compared to Microsoft PowerShell. Both PowerShell and XSharper are languages, and both can be used to replace Windows batch files, producing more readable and more reliable code. There are, however, important differences:
<include from="#/powershell.xsh" withTypes="true" /> <powershell> $dirs = dir $dirs[0..3] | Write-Host </powershell>
If you know C#, using XSharper is as simple as
<% Console.WriteLine("Hello, World!") %>
Below, for example, is a screenshot XSharper console program ("demo"), which prints some text, its own source code, runs some C# code, then DIR command. All that is executed from another XSharper console program (gui-console, available in Library) as
C:\>XSharper #/gui-console.xsh demo.xsh
There are many other examples in Library.