You can find a thorough description explaining the context of this project here.
ICSharp is a C# language kernel for Jupyter. It allows users to use Jupyter's Notebook frontend, except where Jupyter executes python code, ICSharp can execute C# code. It is based on Roslyn REPL engine of scriptcs., so all the advantages of such scriptcs come along with it.
This is on top of all of Jupyter's other frontend features like Markdown rendering, HTML rendering, saving notebooks for later use and even the ability to view ICSharp Notebooks in Jupyter's NBViewer.
Our C# Kernal caters to users who want to learn how to program in C# through a notebook environment like that of Azure Notebooks. Along with the C# Kernal we designed and created a complementary Azure Notebook to attract and drive users to discover C#. The complementary notebook takes the user through a tour of the C# Language highlighting all the concepts and features that come along with it! The completion of this project marked the first time I was able to work on a large scale commercial software project.
The development of this language kernel for C# is at it's very early stages. This is the Alpha stage.
Clone the respository and make sure that the submodule engine has been cloned by using the command:
git clone --recurse-submodules -j8 git://github.com/MohamedEihab/icsharp
Update and restore the nuget dependencies using the following commands:
nuget\Nuget.exe update -self
.nuget\Nuget.exe restore
cd Engine
.nuget\Nuget.exe update -self
.nuget\Nuget.exe restore
Open the project on Visual Studio and attempt to build, follow the remaining instructions below after successful build to launch Jupyter Notebooks with the newly installed C# Kernel.
Feedback is welcome from anyone who has attempted to use ICSharp. We would love to hear some thoughts on how to improve ICSharp.
Console.WriteLine
does not print output in the notebookConsole.ReadLine
does not work currently
- Intellisense Support
- YellowBook addition
- Syntax Highlighting - Mohamed
- Jupyter Notebook Fix - Mostafa