.NET Framework: Difference between revisions
→.NET vs. J2EE: bytecode focus remark |
→.NET languages: .NET pascal is component pascal, not objective. Delphi is based on a draft of Object Pascal, but already named separately. Component Pascal is more an Oberon anyway |
||
Line 34: | Line 34: | ||
* [[Python programming language|Python]] |
* [[Python programming language|Python]] |
||
* [[Mercury programming language|Mercury]] |
* [[Mercury programming language|Mercury]] |
||
* [[Component Pascal]] (Component Pascal is closer to [[Oberon]] than to [[Pascal]]) |
|||
* [[Objective Pascal]] |
|||
* [[F sharp programming language]] |
* [[F sharp programming language]] |
||
* [[Lisp programming language|Lisp]] |
* [[Lisp programming language|Lisp]] |
Revision as of 11:43, 17 August 2004
The .NET (note capitalization) initiative is a Microsoft project to create a new software development platform focused on network transparency, platform independence, and rapid application development.
The Strategy
.NET is Microsoft's strategic initiative for server and desktop development for the next decade. According to Microsoft, .NET includes many technologies that are designed to facilitate rapid development of Internet applications.
Enterprise infrastructure
Second, .NET is a software platform, which was released in 2002. It presents a platform-independent target for software development, with many built-in features including Internet integration and features intended to enhance security. It relies fully on the software componentry and component-oriented programming paradigms. In this respect it largely replaces the former component object model (COM).
- The Common Language Infrastructure (CLI) is a virtual machine and a standard class library (the Common Language Runtime is designed to be programming language and operating system independent). The virtual machine executes the Common Intermediate Language (CIL) assembly.
- Access to components written in other languages and the underlying Microsoft Windows platform
- Web services using the SOAP
Supporting products
Third, .NET is a collection of development tools specifically developed for use with the .NET platform. The principal example being Visual Studio, an integrated development environment provided by Microsoft.
.NET languages
The CLI is designed to provide support for any object-oriented programming language, sharing a common object model and a large common class library.
Microsoft and other vendors provide .NET versions of many languages, including:
- C# programming language, an object-oriented language similar to Sun's Java
- Visual Basic .NET, an improved, object-oriented, multi-threaded version of the classic Visual Basic programming language
- ASP.NET, an improved, object-oriented version of the classic Active Server Pages (ASP) web programming language
- Managed C++, a variant of the C++ programming language for the .NET platform
- JScript .NET, a compiled version of Microsoft's JScript, quite similar to ECMAScript
- Lexico, a didactic in Spanish objects oriented language.
- Delphi 8 which is also called Delphi for .NET is a full .NET compatible language. Delphi 8 is available since Dec 2003 and running quite stable.
- COBOL
- Perl
- Python
- Mercury
- Component Pascal (Component Pascal is closer to Oberon than to Pascal)
- F sharp programming language
- Lisp
- Forth
- J#, a Java and J++ (the Microsoft variant of Java) .NET transitional language
- Nemerle functional/imperative hybrid language
Notes:
- many of these compilers are free (the vendors sell IDEs).
- most languages have significant adjustments to fit into the .NET Framework. The vendors have often used this as an excuse to vary other features of the languages at the same time.
The Microsoft support resource MSDN is emphasizing the .NET languages.
.NET vs. J2EE
The CLI, the CIL and C# have similarities to Sun Microsystems' Java Virtual Machine and Sun's Java, hence they are fierce competitors. Both use their own intermediate bytecode. .NET bytecode is designed for JITing, while Java bytecode originally was designed to be interpreted not JITTED. .NET is currently only fully available on Windows platforms, whereas Java is available on many platforms. (However, see below for alternative implementations such as Mono or Rotor.) Sun's product, J2EE, provides equivalent functionality to other Microsoft technologies such as COM+ (previously MTS) and MSMQ which are tightly integrated into the Windows operating system. .NET components make full use of these existing technologies in an abstracted manner.
.NET vs. COM
The previous software component technology endorsed by Microsoft for large-scale software systems was the Component object model or COM, using COM+ or MTS enhancements for distributed transactional components. While .NET may wrap COM-objects and vice versa, it has been clearly stated by Microsoft that .NET will eventually replace COM as a software component architecture. New applications addressing the Win32 platform should not use COM, but .NET, with use of existing services via abstracted interfaces (e.g. transactional .Net components currently use COM+).
Standardization
Microsoft has submitted a part of the specifications of .NET to ECMA and ISO for standardization. This is a calculated risk, but it may encourage standards-compliant implementations, to provide an ongoing bridge for non-Windows software to be converted to Microsoft .NET.
Alternative implementations
While the Microsoft .NET Framework is the flagship implementation of .NET technologies, there exist other implementations.
Mono is an open source implementation of the .NET runtime and development libraries. It is quickly maturing, including support for ASP.NET and evolving support for Windows Forms libraries. Mono also includes the development of new libraries and technologies, which include:
- Gtk#: A .NET wrapper for the Gtk+ GUI toolkit.
- XSP: A web server written in C# with support for hosting ASP.NET applications.
- MonoDevelop: A port of SharpDevelop, a GPLed IDE for .NET, to Gtk# and Mono.
- Novell.Directory.Ldap class libraries: A free implementation of LDAP support for .NET.
DotGNU Portable.NET is less mature than Mono due to the fact that Portable.NET was not written initially using Microsoft's development framework.
Microsoft Rotor, or the Shared Source Common Language Infrastructure is a shared source implementation of the .NET Framework by Microsoft. It runs on Microsoft Windows XP, FreeBSD, and Mac OS X 10.2.
External links
- Microsoft's official .NET Resource
- TheServerSide.Net
- GotDotNet
- Ximian's Mono Project, an Open source implementation of the .NET Framework
- ASP.NET; Website focusing on WebForm development in .NET
- WindowsForms.com; Website focusing on WinForm development in .NET
- Xtras.Net; Components and Tools for .NET Developers
- DotNet2TheMax; Leading Online Website offering Articles and Code Samples for .NET Developers
- Guidelines to referencing the Microsoft® .NET brand
- .NET Framework General Reference Capitalization Styles
- DotNetNuke; An open-source information portal based on the .NET framework
In Internet nomenclature, .net is a Top-level domain, or TLD, as is .com.