.NET Languages & Compilers
.NET Provides below programing languages
1.
C#
2.
F#
3. VB
C#
C#
(pronounced "C sharp") is a simple, modern, object-oriented, and
type-safe programming language.
Its roots
in the C family of languages makes C# immediately familiar to C, C++, Java, and
JavaScript programmers.
C# having
its own compiler which will convert the HLL(High-Level Languages) into
MLL(machine level language)
C# syntax
var names= new[]
{
“Hari”,
“Siva”,
“Naresh”,
“Vani”
};
foreach( var name in names)
{
Console.WriteLine($”Hellow
{name}”);
}
F#
F#
(pronounced "F sharp") is a programming language that makes it easy
to write succinct, robust, and performant code.
It s having
its own compiler which will translates HLL language into MLL.
F# syntax
let names=
[“Hari”,”Siva”,”Naresh”,”Vani”]
for name in names do
printfn $”Hellow ${name}”
VB
VB is basic
syntax programming language and it is an approachable language with a simple
syntax for building type-safe, object-oriented apps.
It is
having its own compiler which will translate the HLL into MLL
VB syntax
Dim names as List(Of
String)({
“Hari”,
“Siva”,
“Naresh”,
“Vani”
}
For Each name in names
Console.WriteLine($”Hellow
{name}”)
Next
Compilers
In .NET
framework, when you compile your program it didn't immediately create operating
system specific native code. Instead, it first compiles your code into
Microsoft Intermediate Language (MSIL). Usually all .NET languages such as C#,
VB and F# etc are initially compiled into MSIL by CLR compiler.
The .Net
language such as C#, VB and F#, which is conforms to the Common Language
Runtime (CLR), uses its corresponding runtime , which is responsible to run the
application on different operating system.
With the
help of Just In Time compiler (JIT) the Common Language Runtime (CLR) doing
these tasks. JIT converts the MSIL code to native code ,which is CPU-specific
code that runs on the same computer architecture.
Different Type of JIT compilers
· Normal JIT: Normal JIT Compiler compile the methods at run time and then they are stored in memory cache. This memory cache is commonly referred as "JITTED". Once stored in cache, no further compilation is required for the same method. Subsequent method calls are accessible directly from the memory cache.
· Ecno JIT: This compiler compile methods when called at runtime and removes them from memory once execution completed.
· PRe-JIT: This compiler compiles entire assembly into native code instead of used methods.
Advantages
· The JIT compiler
requires less memory usage as only the methods that are required at run-time
are compiled into machine code by the JIT Compiler.
· Code optimization
based on statistical analysis can be performed by the JIT compiler while the
code is running.
· The JIT compiler requires
more startup time while the application is executed initially.
· The cache memory is
heavily used by the JIT compiler to store the source code methods that are
required at run-time.
CIL/MSIL Code
The Microsoft intermediate language(MSIL) also
goes by the name Common Intermediate Languages(CIL) or We can call it as
Intermediate Language (IL).
It is a
typically a set of platform instructions
created from source code by languages specific compilers.
Due to MSIL code, .NET Framework achieve language interoperability.
.NET Language
Interoperability
.NET Run Time
Architecture of .NET Runtime
Comments
Post a Comment