ASP.NET is not just the next version of ASP: it's the next era of web development. ASP.NET allows us to use a fully featured programming language (such as C# or VB.NET) to build web applications easily. In this article, John talks about the fundamentals of ASP.NET and some of its powerful features such as web services, the MSDN library and several learning resources.
Unfortunately, the Internet still has bandwidth limitations and not every person is running the same web browser.
These issues make it necessary to stick with HTML as our mark-up language of choice. This means that web pages won't look quite as amazing as a fully fledged application running under Windows, but with a bit of skill and creative flair, you can make some rather amazing web applications with ASP.NET.
OOP on the Internet
Object Oriented Programming makes it possible to build extremely large applications, while still keeping your code clean and structured. Now with ASP.NET, we can do the same on the web. Traditional ASP uses HTML and VBScript (or Jscript) to process and render pages, but because VBScript is a scripting language, you were forced to write spaghetti code (VBScript was entwined in the HTML and ended up rather messy in larger applications).
ASP.NET separates code from display, and you can even have pages with no ASP.NET code in them at all. By adding references in your HTML (called controls), you can tell ASP.NET that you want a button here, some text there, and then in your code, you can manipulate what these controls look like, what they display, how big they are, etc.
Controls can do more than just display information. You can add events to controls, so that when a visitor clicks on a button, for example, ASP.NET executes a function of your choice.
One of the most important goals of .NET was to allow developers to write an ASP.NET application using multiple programming languages. As long as each ASP.NET page contains only one programming language, you can mix and match different pages using different languages and they will work together seamlessly. This means you can now have a team of developers with half programming in C#, and the other half in VB.NET, with no need to worry about language incompatibilities, etc.
A cool little side-affect of all this is that all the programming languages look very similar, and differ only by their language syntax.
Take the following code snippets for example. They both do exactly the same thing but the first is written in C#, and the second in VB.NET.