[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 529
  • Last Modified:

Need to Better Understand What .Net Is

I'm having a hard time wrapping my head around what .NET really is. I know it can be used with a number of different languages so it's
not a language itself. Is it the "middle man" which allows a programmer to easily communicate with server items and user input,then mixes it altogether A.K.A
compiles it into an assembly then poof we have a new web application? ??

My sever admin brain is having a hard time with this so if someone can help me better understand this I would greatly appreciate it.
2 Solutions
Julian HansenCommented:
It is basically an application / development environment. It includes all the libraries and frameworks to develop, deploy and manage .Net based applications.

Take a look at the wikipedia article below - and then if you have any specific questions post back.

.Net is a framework used for building different types of applications like
cloud computing
all types of applications in a unified model(similar development style)
net support 40+ languages
moreover all languages can use these libraries
.NET is made up of three key parts, which are:
.NET Products
.NET Services
.NET Framework

See .NET Explained:
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

compdigit44Author Commented:
So a framework is a universal work / development enviorment correct?
How did .NET get it's name?
Julian HansenCommented:
A framework usually refers to code or an environment that has a structure and functionality depth that allows you to build applications or solutions without having to define everything from grass roots.  You just fill in the logic needed to handle the specifics of the solution you are building.

.Net has a rich set of libraries and functions that allow developers to do many things that previously would have required hours of coding - and because it is extensible (new components can be added using the .Net standard) it is always growing.

Take a look at the article links posted for more info.

    .NET is a framework that .NET aware programming languages make use of.  It provides controls for completing tasks, such as Database interaction, Webforms, Windows Applications, ect.  Here is a list of the core features that .NET provides:
Interoperability with exisiting code.
Support for numerous programming languages.
A common runtime engine shared by all .NEt-aware languages.
Complete and total language integration.
A comprehensive base class library.
No more COM plumbing.
A simplified deployment model

Ryan F
Jacques Bourgeois (James Burger)Commented:
.NET is many things, but basically:

.NET provides a set of dlls, the framework, most of which is located in the C:\Windows\Assembly directory. These dlls contain over 9000 classes that deal with most aspects of programming. There are classes to help you manage a web application, others to create screens for standard windows applications, others to work with different databases, others to work with the files system, security, compression, program deployment, you name it, it is probably there.

.NET is also an environment in which .NET applications run, in a memory space that is not dependent on Windows and it which it can do tricks that Windows does not permit.

Windows was designed at a time where security, web and communications between applications were in ther infancy. So it was not designed for today's needs. Microsoft did what it could to make it work with modern applications, but its basic design did not enable them to do everything they wanted. Take the number of security patches that have to get out every month, due in part to the fact that most of the security features were built after Windows release.

.NET was designed with modern applications. For instance, very few security issues were found since .NET made its debut in 2002, because the security layer is at the heart of the system instead of being an add-on. It has most of the attributes of an operating system. It manages its own memory space independently from Windows. This enables a lot of things, such as loading simulatenously 2 versions of the same dll in memory, maybe in different languages, so that each application gets messages in the language of the application, or maybe versions 1.0 and 2.0 so that each application runs with the version of the dll on which it was developped and tested. This is not possible in a standard Windows application and can cause problems when an application overwrite an already installed but different version of a dll. In fact, .NET solves most of the problems that are regularly encountered in Windows.

.NET could have been a new operating system, and in fact, some programmers see it as such. But in order to release it as such, backward compability with older applications would have been compromised. So instead Microsoft released it as an extra layer that runs over Windows. Older applications run in the Windows memory space, .NET run in its own memory space.

If you are old enough to have lived the passage from MS-DOS to Windows, you might remember that the first versions of Windows were not operating systems. They were simply something that fit over DOS to give a better experience. It eventually became the operating system.

As a programmer, I see .NET the same way. The main difference is that on the user perspective, there is no difference between a Windows and a .NET application. For the programmer however, they are 2 different beasts.
OK, I will provide the cynical answer to this question.
.NET is Microsoft's attempt to compete with Java.
Java developed a system where code is compiled into intermediate code. This code is then run through a program called the Java Runtime Engine (JRE). In this way, all you need to do is provide a JRE that runs on different platforms, while the code you write is platform non-specific. That's why it is used in mobile apps, and other devices.

Now Microsoft does not own Java and so cannot dictate how it should be developed, so they invented their own system, .NET. This they can dictate the development of.

Featured Post

Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now