I've never understood what .NET is. Is there a .NET language, or is .NET just a set of languages? I'm guessing .NET contains many languages, because the description of this forum is "Popular .NET language", so I assume there must be more.
from m$:
.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.
The Microsoft platform includes everything a business needs to develop and deploy a Web service-connected IT architecture: servers to host Web services, development tools to create them, applications to use them, and a worldwide network of more than 35,000 Microsoft Certified Partner organizations to provide any help you need.
//
other than that, there are several languages that support the .net framework
visual basic, c#, c++ and more
it's all about web/program integration
.NET itself is (like most marketing driven concepts) vaguely defined. For developers, though, it's pretty clear. You have:Originally Posted by DevilsCharm
a. The .NET Runtime which is the Common Language Runtime/CLR. This is basically the execution host for .NET code; think Java Virtual Machine. It provides the garbage collection, memory management, JIT compilation, etc.
b. The .NET type system, aka Common Type System. This are the fundamental types supported by the CLR. Think book, char, int, int64, function pointer (delegates), classes, enums, structs, etc.
c. Microsoft Intermediate Language, aka MSIL or just IL. This is the actual language that .NET compilers target. The CLR then JITs it into native machine code. IL is kind of similar to assembly, and would be no fun to code in. So, we have:
d. .NET languages. Basically any language that uses part or all of the CTS, compiles to MSIL, and is executed by the CLR. The most popular are the Visual Studio supported ones: VB.NET, C#, and C++/CLI. There are many others though, including IronPython, Ada, J#, F#, Ruby.NET, Perl.NET, even Microsoft's PowerShell I'd consider a .NET language, etc. Just about any mainstream or fringe language has a .NET port these days (not to say most of them are anything more than a proof of concept - I wouldn't know).
e. The .NET Base Class library, or BCL. These are the Microsoft provided base classes that do most of the "plumbing" for you. Everything from window controls, to SMTP, to HTTP, to sockets, to file IO, etc. has a (generally) clean and OOP interface. Though these are written in C#, due to the CTS any other language can consume them (this is also true for your own code).
f. ASP.NET is the subset and additional framework used to create web applications with .NET. It also does web services. It comes with it's specialized class libraries and framework ideas, but is generally consistent with the BCL.
g. Winforms is the subset and additional framework used to create standard Windows applications with .NET. Again, it has it's own set of libraries and framework.
h. WinFX/.NET 3.0 is the next release, including additional frameworks:
Windows Communications Foundation/WCF - aka Indigo - abstracts communication transports for distributed apps
Windows Presentation Foundation/WPF - aka Avalon - new winform concept using XAML (an XML language) with vector graphics, 3D animations, etc.
Windows Workflow Foundation/WF - a workflow framework that aims to run long running processes, with tracking, intervention, etc.
.NET, in marketing speak, is more about the systems and culture of .NET apps. Basically, interconnected systems using lots of web services, high levels of abstraction, and information sharing. Thankfully, Microsoft no longer feels the need to plug .NET at the end of every product though.
very nice brackett, where in your explanation would ADO.NET fall??? Would it be considered a base class library?
Oops, can't believe I missed ADO.NET. For those that don't know, ADO.NET is the next gen of ADO (ActiveX Data Objects, IIRC) that basically gives a consistent interface to talk to databases and other storage/persistence providers.
ADO.NET isn't part of the BCL, but it is part of the .NET Framework. It's basically another framework built on top of the BCL like ASP.NET, Winforms, Web Services, etc.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks