In this article, we will introduce you to the general structure of.Net, although it may seem unnecessary, you will soon see the crucial importance of knowing how it all works.
First, how does a program work?
When writing a program, we choose a language in which to develop. Admittedly, the choices are numerous:
- C ++
- C #
- Visual Basic
- PHP (Yes, we can make real applications beyond a website.)
These languages are divided into two main categories: compiled languages and interpreted languages.
Many languages are compiled. That is, after writing your code, a program, the compiler turns it into the machine language that your processor understands. Base languages are compiled languages, such as C or C++. If a change needs to be made to your program you must re-compile your source code. However, once compiled this program will not need anything else to work.
The interpreted languages
The interpreted languages are not transformed into machine language before being executed. Generally, an interpreter transforms the source into a result. The simplest examples of interpreted languages are the languages used to display a web page, they are read by an external program (the web browser) that will display a result. If a change is added to your source code there will be no need to compile the application again however these types of programs will need other programs to run (these programs are called “parsers”, they read the source code and then execute it) for example the web browser. Similarly, the execution can be slower than a compiled program, because code parsing requires processor resources and therefore time.
And the C # in all this?
We must first know that to develop in.Net, we can do with several languages including:
- C ++ adapted to .net
All these languages are somehow halfway between compiled and interpreted languages: they are not directly compiled in machine language, but they are not interpreted either!
In reality, they will be compiled into an intermediate language (called IL for “Intermediate Language”). When running this intermediate language will be compiled in machine language and executed by the CLR (Common Language Runtime), this “runtime” will somehow be the intermediary between our code and the operating system by bringing a significant abstraction with respect to basic system functions (input/output, memory management).
Benefits of .NET over other platforms
This architecture brings several advantages and make people hire dot net developers:
- The first is that the IL will be executed faster than an interpreted language since it will have been pre-compiled in a language already close to the machine.
- Then, this CLR (the “Common Language Runtime“) allows the developer not to worry about certain things, especially regarding memory. A “garbage collector” (translate by “collects crumb” and not “garbage collector”) will take care of freeing unused memory resources; memory leaks will be automatically detected and corrected.
- It does not matter which language (C#, VB.Net, F#, etc) we use, the intermediate language will be exactly the same that is to say that you can very well work on the same project with several different languages. For example, you create the logic and the visual of your game in C# then you use F# for artificial intelligence that you can understand better when you hire .Net developer. This “unit” in these languages however different is allowed by the CLI (for “Common Language Infrastructure”) that provide the specifications so that a language can be compiled in IL.
- And finally, no matter which Windows platform you have (XP, Vista, Windows Server, etc.), all you need is the CLR (basically having the .net framework installed) for your program works. Part of the framework works even under Unix, a simple copy of a program can be enough to make it work from one system to another. It is therefore the CLR, which will be compiled in machine language, which will take care of recompiling the IL of our program.
Okay, we see that.Net is good, but why learn C # and not VB.net or even C++?
They too allow exploiting the .net framework.
The answer is simple, C# was created for.Net. This is the language that makes the most of the framework that is the reason what makes.Net the first choice for web and application development. Other advantages related to the C# combined with the.Net framework are among others:
Nevertheless, if you have hire asp net developer and you want to make pretty programs in a simple way, the C# and .Net are the best picks.