I was having lunch recently with a colleague when he asked, “Are you still messing around with that .NET stuff?” I could tell by the tone of his voice that he—like many computer users—still viewed .NET with suspicion.
And perhaps with good reason. Purposefully kept separate from the Windows operating system, the 22MB Microsoft .NET Framework is an hour download on dialup and four minutes on broadband. For .NET developers, this extra step adds one more hurdle for a potential customer to overcome when purchasing software.
So in this article I attempt to demystify .NET, encourage you to download the latest version of the .NET Framework so you can run the latest and greatest .NET software, and help convince Microsoft that it needs to ensure every PC user has the newest .NET.
What is Microsoft .NET ?
Microsoft .NET is simply something you need on your Windows PC to run some types of software.
OK, really, what is .NET ?
Microsoft .NET (pronounced “dot net”) is a software component that runs on the Windows operating system. .NET provides tools and libraries that enable developers to create Windows software much faster and easier. .NET benefits end-users by providing applications of higher capability, quality and security. The .NET Framework must be installed on a user’s PC to run .NET applications.
This is how Microsoft describes it: “.NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software. Integrated across the Microsoft platform, .NET technology provides the ability to quickly build, deploy, manage, and use connected, security-enhanced solutions with Web services. .NET-connected solutions enable businesses to integrate their systems more rapidly and in a more agile manner and help them realize the promise of information anytime, anywhere, on any device.” See Microsoft for more information.
What is the .NET architecture?
Microsoft .NET consists of four major components:
Common Language Specification (CLS) – green in the diagram below
Framework Class Library (FCL) – red
Common Language Runtime (CLR) – yellow
.NET Tools – red, green & blue
At the base of the diagram in gray is the operating system, which technically can be any platform but typically is Microsoft Windows 2000 or greater, accessed through the Win32 API (Application Programming Interface).
Common Language Specification (CLS)
The CLS is a common platform that integrates code and components from multiple .NET programming languages. In other words, a .NET application can be written in multiple programming languages with no extra work by the developer (though converting code between languages can be tricky).
.NET includes new object-oriented programming languages such as C#, Visual Basic .NET, J# (a Java clone) and Managed C++. These languages, plus other experimental languages like F#, all compile to the Common Language Specification and can work together in the same application.
Framework Class Library (FCL)
The FCL is a collection of over 7000 classes and data types that enable .NET applications to read and write files, access databases, process XML, display a graphical user interface, draw graphics, use Web services, etc. The FCL wraps much of the massive, complex Win32 API into more simple .NET objects that can be used by C# and other .NET programming languages.
Common Language Runtime (CLR)
The CLR is the execution engine for .NET applications and serves as the interface between .NET applications and the operating system. The CLR provides many services such as:
Loads and executes code
Converts intermediate language to native machine code
Separates processes and memory
Manages memory and objects
Enforces code and access security
Interfaces between managed code, COM objects, and DLLs
Provides code meta data (Reflection)
Provides profiling, debugging, etc.
Visual Studio .NET is Microsoft’s flagship tool for developing Windows software. Visual Studio provides an integrated development environment (IDE) for developers to create standalone Windows applications, interactive Web sites, Web applications, and Web services running on any platform that supports .NET.
In addition, there are many .NET Framework tools designed to help developers create, configure, deploy, manage and secure .NET applications and components.
What is the history of .NET?
.NET started as a classic Microsoft *FUD operation. In the late 1990s, Microsoft had just successfully fought off a frontal assault on its market dominance by killing the Netscape Web browser with its free Internet Explorer. But Microsoft was facing a host of new challenges, including serious problems with COM, C++, DLL hell, the Web as a platform, security, and strong competition from Java, which was emerging as the go-2 language for Web development.
*FUD (Fear, Uncertainty, and Doubt) is the term for any strategy intended to make a company’s customers insecure about future product plans with the purpose of discouraging them from adopting competitors’ products. For example, “You can try using X instead of our product, but you may lose all your data.”
Microsoft started building .NET in the late 90s under the name “Next Generation Windows Services” (NGWS). Bill Gates described .NET as Microsoft’s answer to the “Phase 3 Internet environment, where the Internet becomes a platform in its own right, much like the PC has traditionally been… Instead of a world where Internet users are limited to reading information, largely one screen at a time, the Phase 3 Internet will unite multiple Web sites running on any device, and allow users to read, write and annotate them via speech, handwriting recognition and the like,” Gates said. We are certainly approaching that vision.
Microsoft announced .NET to the world in June 2000 and released version 1.0 of the .NET framework in January 2002. Microsoft also labeled everything .NET including briefly Office to demonstrate its commitment and dominance on this new thing called the Web. But out of that grand FUD campaign emerged the very capable and useful .NET development environment and framework for both the Web and Windows desktop.
What are the benefits of .NET ?
.NET provides the best platform available today for delivering Windows software. .NET helps make software better, faster, cheaper, and more secure. .NET is not the only solution for developing Web software—Java on Linux is a serious alternative. But on the Windows desktop, .NET rules.
For developers, .NET provides an integrated set of tools for building Web software and services and Windows desktop applications. .NET supports multiple programming languages and Service Oriented Architectures (SOA).
For companies, .NET provides a stable, scalable and secure environment for software development. .NET can lower costs by speeding development and connecting systems, increase sales by giving employees access to the tools and information they need, and connect your business to customers, suppliers and partners.
For end-users, .NET results in software that’s more reliable and secure and works on multiple devices including laptops, Smartphones and Pocket PCs.
Our Promotion and Aggregation Team are featured content delivery sources in the SEO and Web Promotion space. We scour the internet for useful search, wordpress and google news and information, and have written over 200 articles about seo and wordpress. We define the term "Living Life to the Fullest" and as such, should be your primary source for information, tips and advice in the Wordpress and Search Engine Optimization Space