Is C# Scripting or Compiled?


Heather Bennett

Is C# Scripting or Compiled?

When it comes to programming languages, one question that often arises is whether a particular language is scripting or compiled. In the case of C#, the answer may not be as straightforward as you might think.

The Basics: Scripting vs. Compilation

To understand whether C# is scripting or compiled, we first need to understand the difference between these two concepts.

Scripting languages are typically interpreted at runtime. This means that the code is executed line by line, without going through a separate compilation process. Popular scripting languages include JavaScript and Python.

Compiled languages, on the other hand, require a separate compilation step before they can be executed. During compilation, the source code is translated into machine code that can be directly executed by the computer’s hardware. Examples of compiled languages include C++, Java, and yes, C#.

C#: A Compiled Language with Scripting Capabilities

C# falls into the category of compiled languages. When you write C# code, it needs to be compiled before it can be run.

The .NET Framework provides compilers that translate C# source code into an intermediate language called Common Intermediate Language (CIL). This intermediate language is then executed by the .NET runtime environment.

So where does scripting come into play for C#? Well, although C# is primarily a compiled language, it also supports scripting capabilities through an interactive shell called “C# Interactive”. This feature allows you to execute snippets of C# code without going through the usual compilation process.

The Power of C# Interactive

C# Interactive provides a convenient way to experiment with code and quickly test ideas without having to create a full-fledged application. It can be accessed through tools like Visual Studio or the .NET Core CLI.

When using C# Interactive, you can write and execute code interactively, just like in a scripting language. This can be particularly useful for prototyping, debugging, or exploring new features of the language.


In summary, while C# is primarily a compiled language, it also offers scripting capabilities through the C# Interactive shell. This allows developers to quickly test code snippets without the need for a separate compilation step.

So whether you prefer the structure and performance of compiled languages or the quick experimentation of scripting languages, C# has something to offer for everyone!

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy