Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

2 basic but interesting questions about .NET

Tags:

c#

.net

windows

when I first saw C#, I thought this must be some joke. I was starting with programming in C. But in C# you could just drag and drop objects, and just write event code to them. It was so simple.

Now, I still like C the most, because I am very attracted to the basic low level operations, and C is just next level of assembler, with few basic routines, so I like it very much. Even more because I write little apps for micro-controllers.

But yesterday I wrote very simple control program for my micro-controller based LED cube in asm, and I needed some way to simply create animation sequences to the Cube. So, I remembered C#. I have practically NO C# skills, but still I created simple program to make animation sequences in about hour with GUI, just with help of google and help of the embedded function descriptions in C#.

So, to get to the point, is there some other reason then top speed, to use any other language than C#? I mean, it is so effective. I know that Java is a bit of similar, but I expect C# to be more Windows effective since its directly from Microsoft.

The second question is, what is the advantage of compiling into CIL, and than run by CLR, than directly compile it into machine code? I know that portability is one, but since C# is mainly for Windows, wouldn´t it be more powerful to just compile it directly? Thanks.

like image 342
B.Gen.Jack.O.Neill Avatar asked Jun 09 '10 10:06

B.Gen.Jack.O.Neill


People also ask

What is .NET mostly used for?

NET is an open-source software development framework. . NET is used to build web applications, mobile applications, and desktop applications. The development framework supports C#, F#, and Visual Basic — and it produces fully cross-platform applications.

What is .NET in simple words?

NET is a software framework that is designed and developed by Microsoft. The first version of the . Net framework was 1.0 which came in the year 2002. In easy words, it is a virtual machine for compiling and executing programs written in different languages like C#, VB.Net, etc.

What are the most important aspects of NET?

Example: "Common Language Runtime(CLR) and Class library are the most important aspects of the . NET Framework. CLR provides building tools and resources that help developers set the foundation for application building.


1 Answers

1 - diff languages have their pros and cons. There are families of languages (functional, dynamic, static, etc.) which are better for specific problem domains. You'd need to learn one in each family to know when to choose which one. e.g. to write a simple script, I'd pick Ruby over C#

2 - Compiling it to CIL: Portability may not be a big deal.. but to be precise Mono has an implementation of the CLR on Linux. So there. Also CIL helps you to mix-and-match across languages that run on the CLR. e.g. IronRuby can access standard framework libraries written in C#. It also enables the CLR to leverage the actual hardware (e.g. turn on optimizations, use specific instructions) on which the program is run. The CLR on 2 machines would produce the best native code from the same IL for the respective machine.

like image 161
Gishu Avatar answered Oct 18 '22 02:10

Gishu