The .NET Framework is a software stage issued by Microsoft in 2002. The platform is established on the Common Language Runtime (CLR) and fits various programming languages. CLR functionality is accessible in every programming language that suits to this background.
The .NET Framework is Microsoft’s reply to Sun Microsystems’ Java platform (currently maintained by Oracle).
.NET is an exclusive technology of Microsoft and officially produced to run under the Microsoft Windows family operating systems. There are autonomous outlines (essentially Mono and Portable.NET) that enable you to run .NET programs on any other operating systems.
The .NET Framework is sustainable development in the form of the .NET Core and implies cross-platform development and execution.
.NET is a set of standards, tools, and libraries, but application development within .NET is possible using various programming languages. Microsoft .NET is not just a specification created by Microsoft, but also an implementation of this specification for the Windows platform.
Applications for this platform are portable code in the intermediate language MSIL (Microsoft Intermediate Language).
The basis of .NET is a virtual machine for an intermediate language (Intermediate Language – IL, sometimes abbreviated Microsoft IL – MSIL), which translates all .NET programs, also called the common runtime environment (Common Language Runtime – CLR), and a common class library (.NET Framework class library), available from all .NET applications.
History of .Net
The development of .Net started in 1999. It was officially advertised on January 13, 2000, when Bill Gates assigned the new CEO of Microsoft – Steve Ballmer. It was also announced unique tactics for the company, named Next Generation Windows Services (NGWS).
The original strategy was about to link Microsoft’s breathing and upcoming developments into a rare set to empower users to work with the World Wide Web from wireless gadgets that have Internet access.
We invite you to learn more about our capabilities and use the cost calculator for remote employees to evaluate the benefits of working with us!
Microsoft has initiated the development of the .NET platform and the adoption of standards that describe its individual elements (unfortunately, not all yet), and it is also the main supplier of implementations of this platform and development tools.
Due to the availability of standards, an independent .NET implementation is possible (for example, such an implementation was developed as part of the Mono project), but, due to the youth of the platform and concerns about the monopolistic influence of Microsoft on its further development, .NET implementations not from Microsoft are rarely used.
Running Applications on a NET Environment
During application execution, this code is replaced in memory by machine code optimized for a given processor.
The MSIL code itself is obtained when compiling the source text created in one of the high-level languages for which there are corresponding compilers (there are about 30 such languages now), all of these languages using a common class library.
The ability to create applications using different languages is one of the undoubted advantages of .NET. Although Microsoft .NET can be created for different operating systems, at the moment, the implementation of this platform exists only for several versions of Windows and partially for FreeBSD.
Note that the common language runtime .NET application runtime, CLR (to some extent, is an analogue of the virtual Java machine) provides many services for these applications, such as automatic garbage collection, cross-language inheritance, support for using multiple versions of the same component.
Server Products for the .NET Platform
Speaking about server products for this platform (analogues of application servers), they often recall the phrase Microsoft .NET Enterprise Servers – this is the name of the family of servers for various purposes for the Windows platform.
Nevertheless, in the near future, until there has been a change of versions of all these servers to newer ones containing the built-in runtime environment of the .NET language Common Language Runtime, this phrase will remain a marketing term rather than a reflection of the real situation.
Development Tools for .Net Platform
Of the development tools for this platform, only one is currently available – Microsoft Visual Studio .NET, as well as more than two dozen third-party compilers, most of which can be used in conjunction with Visual Studio .NET.
However, Borland and Macromedia have announced plans to release their own development tools for this platform; thus, the development tool for this platform from Borland should be expected.
.NET development environments:
- Microsoft Visual Studio (C #, Visual Basic .NET, Managed C ++, F #)
- Embarcadero RAD Studio (Delphi for .NET); formerly Borland Developer Studio (Delphi for .NET, C #)
- .NET applications can also be developed in a text editor by simply calling the compiler from the command line.
.NET Programming Languages
One of the main ideas of Microsoft .NET is the compatibility of software parts written in different languages.
For example, a service written in C++ for Microsoft .NET may call a class method from a library written in Delphi; in C# you can write a class that inherits from a class written in Visual Basic .NET, and an exception thrown by a method written in C# can be caught and processed in Delphi.
Each library (assembly) in .NET has information about its version, which allows you to eliminate possible conflicts between different versions of assemblies.
- Languages Supplied Together Microsoft Visual Studio
- J# – the last time was included in Visual Studio 2005
- VB7 (.NET)
- JScript .NET
- C++ / CLI – new version of Managed C++
- F# – member of the ML programming language family, included in Visual Studio 2010
- Not built-in, but actively supported languages
Supporting .NET is not active.
- Ada – see A#
- Boo, based on Python
- Component Pascal (closer to Oberon than to Pascal)
- Delphi: Delphi 8, Delphi 2005-2010, Delphi XE
- IronRuby – Ruby language implementation
- IronPython – Python implementation
- Nemerle – Hybrid Functional / Imperative Language
- Oberon for .NET (ETH) is a minor extension for .NET. The project is suspended.
- Zonnon – fully integrates with Visual Studio
Criticism And Weaknesses In The Implementation Of Microsoft .NET Framework Technology
Among the shortcomings of Microsoft .NET, it is worth noting that at the moment, the applicability of the respective applications is limited by the Windows and FreeBSD operating systems.
The advantages include lower cost of solutions than in the case of J2EE, due to lower hardware requirements for running the server side of applications, the ability to use legacy code and existing development experience in various programming languages, as well as the ability to create using ASP .NET technologies for universal applications that are independent of the type of device on which the client part is running.
The implementation of the .NET Framework has caused and is causing many complaints. One of the main objects of criticism is the less rational use of system resources in comparison with other technologies.
For example, several applications running in a managed environment tend to capture more resources than applications of the same type, but with more direct access to computer resources.
The developers are also displeased by the fact that a managed CIL bytecode that has not undergone obfuscation can easily be decompiled compared to natural code.
Such a vulnerability could lead to the loss of trade secrets or provide an opportunity to bypass mechanisms for monitoring compliance with license agreements.
Front Desk Helpers Co, 2019. Change your business mind!
Read our additional articles on software development