Login/Sign Up

C# interactive window

I have been following Roslyn team for a while and they never fail to surprise me with news. Starting from C# 6, auto property initialization, string interpolation, expression body for methods made me a huge fun of them. With C# 7 we have methods returning tuples, tuple creation and unfolding on the fly and so forth.

After Dynamic Language Runtime became stabil and integrated with the environment now we have interactive window. C# code is executed instantly like the way Python is. Creating and testing detailed algorithms became trivial since you don't have to build and run the program everytime you want to try it. 

You can execute a single statement, a part of your code or everything inside your application code by using "Initialize Interactive from Project" command. 

I am still not sure if this is real or I am dreaming.

With Roslyn scripting api now there are two runtimes, CLR and DLR. IronPython has been the most famous example for dynamic language runtime. Now C# code can also be interpreted dynamically and it is incredibly fast.

This will probably create new possibilities such as a web framework which is completely based on C# scripting. Like Python web frameworks, it will enable developers to make changes to the application without recompiling everything together. Instead, separate parts will be published and duck typed together on the fly.

C# might become more like F# in the future. Roslyn team already planned record types for C# 7. New expression bodies in c# 6 is also a feature that supports functional programming.