Some Concepts of C# Development

Overview – An Interesting Framework

C# is an OOP programming language, which is developed by Microsoft.  It can be a bit boring if we just talk about the language itself.  When I started learning to program, I always asked myself what I can do with this language or Framework.  

With the Framework, it begins with a general discussion of the .NET Framework.  .Net Framework does develop not only the application on the Windows platform but also other operating systems, such as Mac OS.  For example, Mono is an open-source version of the .NET Framework, which can be installed and ran on both Windows and Mac OS.  

Another exciting part of the .NET Framework is, there is no restriction on the type of application development, for examples, desktop application, Web API, etc.

Furthermore, .NET Framework is designed so that it can be used from any language, such as C#, C++, Visual Basic and so on.  One powerful of .NET Framework is, codes, which are written in different languages, can communicate with each other.  Such as, a C# developer can make use of the code written by Visual Basic or C++ programmer.


.NET Standard & .NET Core

Both .NET Standard and .NET Core are industry accepted open-source concept in development.  .NET Core is the most optimal solution for cross-platform code development, and .NET Standard is a class library that exposes APIs that support any fork of an application using the .NET platform.


CIL & JIT

When we compile our code, we don’t immediately create an operating system-specific native code.  Instead, we compile our code into Common Intermediate Language (CIL).  Our compiler, such as Visual Studio, takes care of this step.

When we need to compile our code from CIL into operating-system-specific native code, Just In Time (JIT) compiler takes charge of this process.  The native code is specific to the OS and machine architecture.  As a developer, we don’t usually worry about CIL and JIT on our daily development, unless we are dealing with very critical or too advanced code.


Assemblies

The CIL (Common Intermediate Language) code is stored in an assembly when we compile an application.  

Assemblies include three types of files:

  1. Executable Application File (The file has a .exe file extension)
  2. Library File (The file has a .dll file extension)
  3. Metadata (Sound, Picture or any other resource file)

The procedure of C# Code

The C# code that compiled into CIL doesn’t need to be contained in a single file.  Instead of a single file, multiple files can be then compiled into a single file.  This process is called linking, which is very useful.  

With linking, we can split one code file into several files.  These divided files can work independently and get assembled together when needed.


Garbage Collection

Garbage Collection enables the .NET method to inspect our computer’s memory periodically.  As a result, unnecessary objects will be removed from our memory.


11 Replies to “Some Concepts of C# Development”

  1. Ahaa, its pleasant discussion regarding this post at this place at this web site, I have read all that, so at this time me also commenting here. Rochella Auberon Pepito

  2. I am truly thankful to the holder of this web site who has shared this wonderful piece of writing at at this time. Minetta Tyson Karmen

  3. I all the time used to read article in news papers but now as I am a user of net thus from now I am using net for articles, thanks to web. Debor Johannes Vallie

  4. I enjoy you because of all of your efforts on this site. Ellie enjoys doing internet research and it’s easy to see why. All of us hear all concerning the compelling manner you deliver good information by means of the blog and as well cause contribution from other people about this concept plus my daughter is being taught a lot. Enjoy the remaining portion of the new year. You’re the one carrying out a first class job.

  5. I simply wanted to thank you so much once more. I do not know what I would’ve taken care of without these strategies revealed by you over that subject. It was an absolute horrifying matter in my position, nevertheless spending time with this specialized style you resolved the issue took me to leap with happiness. I will be happy for your service and then sincerely hope you realize what an amazing job you have been providing teaching some other people using your web site. Most likely you haven’t got to know any of us.

  6. I am only writing to make you understand what a superb experience our princess undergone viewing your webblog. She picked up such a lot of things, with the inclusion of what it is like to possess an ideal teaching spirit to make the mediocre ones without difficulty master specified tricky topics. You undoubtedly surpassed readers’ expected results. Thanks for rendering those useful, trustworthy, revealing as well as unique tips on your topic to Sandra.

  7. I simply needed to thank you so much once again. I am not sure the things that I would’ve implemented without the type of secrets provided by you on such a question. It previously was a very frustrating issue in my opinion, however , observing the very specialised strategy you processed that made me to leap over gladness. I am just happy for this information and in addition hope that you know what a great job you are always getting into teaching people thru your web page. More than likely you have never got to know any of us.

Leave a Reply

Your email address will not be published. Required fields are marked *