Rarely does a developer from academia make use of a pure programming language.  Instead, development frameworks perform the backbone of work done in an application, handling concerns like serialisation, network transport, graphical rendering, threading, and UI layers.  If every new application required its own implementation of these sorts of functions by accessing hardware and operating system layers directly, development would be a prohibitively expensive exercise and the software industry could never have exploded as it has over the past 20 years.

Frameworks are often tightly coupled to technology stacks, and we can consider that there are two major commercial software ecosystems.  The first is primarily open-source driven, and concerns Java and JavaScript with their associated frameworks and tools.  The other is Microsoft's .NET (pronounced as 'dot net') framework, which enables developers to write code in C#, F#, VB, PowerShell, and other languages while utilising the same library of functions across each of them.  There is also an ongoing effort to port .NET to an open source platform called Mono which offers a broadly identical function.

Such frameworks are organised into Namespaces, which start out broad and become increasingly specific, a little like a web address.  At the top level you may have System or Microsoft for instance, which will then become more specific.  The System namespace contains both the Math and Io (input/output) classes which contain functions of their own.  Thus a developer might call System.Math.Round() in order to round off a decimal number, which is actually accessing a static method in the System.Math namespace.  These namespaces are frequently more complex but effectively divide the framework into smaller pieces, frequently in different class libraries (dll files) which can be individually referenced to reduce the size of a deployed application.  The .NET framework is installed as a core part of all modern versions of Windows and thus ensures that an application will function the same way on any Windows machine, regardless of its specific hardware.  This commonality of experience is achieved via the Common Language Runtime, which is the second component of the framework and complements the aforementioned Framework Class Library.

The CLR is essentially a layer between your application and the operating system.  It provides the specifics of elements like security and memory management that wrap your application.  Your implemented program written in C#, for example, is compiled down to a generic language (known as CIL, or Common Intermediate Language) by your compiler.  Because this is true for every language using the .NET framework, components written in different languages can seamlessly interact, allowing for instance, an F# application to log events to a C# server.  As a result, developers can use the right language for the right task without worrying about how to integrate all the component parts.

At the time of this writing, the latest .NET framework version is 4.6.  More recent versions of the framework have increased the availability to developers of things such as multi-threading; previously a deeply complex architecture to implement (and it remains so in other languages).  This puts more power in the hands of a developer to deliver maximum performance without making their code so complex as to be unreadable.

To fulfill our tutoring mission of online education, our college homework help and online tutoring centers are standing by 24/7, ready to assist college students who need homework help with all aspects of Microsoft .NET framework.  Our computer science tutors can help with all your projects, large or small, and we challenge you to find better online Microsoft .NET framework tutoring anywhere.

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Decision:
Upload a file
Continue without uploading

SUBMIT YOUR HOMEWORK
We couldn't find that subject.
Please select the best match from the list below.
For faster response, you may skip assigning directly to a tutor to receive the first tutor available.
That tutor may not be available for several hours. Please try another tutor if you're in a hurry.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Get help from a qualified tutor
Live Chats