Forum Moderators: open
Since you know Java and C# it's not a huge leap to C#.
Were you writing any COM components before?
There are some very noticiable speed differences in ASP.net over class ASP. It can render a page almost as fast as a straight .html document and IIS 6 has some pretty cool caching features.
What I still like about classic asp is that I can use just about any editor to write pages. Personally I have found that VisualStudio works best for ASP.net and C#, which can be pricey.
After working with it as a beginner (not to the language, just to the web controls and technology) I'm still not convinced it's absolutely needed for what I'm doing, and I'm doing some really intensive web stuff.
ASP.NET in my opinion is a copy/rip-off of JSP. JSP is great for major, major program intensive websites such as travel reservations, etc.
If classic ASP if indeed phased out, I might switch to PhP then. I don't need all the features of .NET, most everything I can do with classic. I don't use web services or XML so I don't need that.
Most of the "regular" features, when compared .NET to ASP are faster coding for me in ASP, and cleaner to deal with.
So, for me, I'm not 100% sold on using .NET. It's way too complicated to do what I want to do.
But, I don't know it well enough to really make an official judgement.
Every language that you know adds to what you're able to do. There are things that you can do in DotNet easily that are very difficult to do in other platforms (And vice-versa)
So should you learn them? Yes.
Should you rush out and convert everything you have to .Net? Well if you're a workaholic who likes replacing perfectly functional code with newly written code that may be buggy, just to have the newest-bestest thing....
Some logic should apply. We have a big enterprise system in ASP that has never really worked right. (Not my fault, I'm new here) So we're converting. Every situation is differant, but if you don't learn it, you don't have the option.
I recently decided to learn .net just for fun, if I end up using it then thats a bonus.
My thoughts so far:
1)The .net framework is huge. There seems to be a class for just about everything you could ever want to do. This makes it a little overwhelming!
2)You need a proper development environment, either the free Webmatrix, or very expensive VisualStudio. A text editor just won't cut it!
3)I'm uncomfortable using visual tools to build code, but hey it's the future!
4)ASP is interpreted line by line as it runs, net is a compiled, so its faster.
5)Net takes 3X more code to do anything, and its 5X more complicated.
IN summary, ASP is free, and easy to pick up, and use. Net is much faster, more powerful and complex, but it can't be learnt in a day!
I haven't converted any of my code yet. For much of what I do Net is overkill, but as I learn more, I keep thinking 'hey thats cool - I could use that'
Eventually I'll make the switch, but for now I've a pile of books to work through!
Reasons I can see for learning it are.
1. In your job market will it help you find work easier with it on your resume.
2. The scale of the applications that are being developed would they benefit from what asp.net has to offer.
3. The applications (server side) you are going to building need to work on Microsoft Platforms.
4. Separation of Display from Logic layers are a requirement.
5. Securing the source code of the website. And distribute a working install without the source code.
Those are the things that come to mind
I believe that microsoft made it more complicated by design.
Microsoft adds "corporate sludge" to their products on purpose to make them so large and bloated so that anyone that masters one has a some level of job security. Not to mention the fact that the more bloated it gets means bigger and faster CPUs so Intel gets some benefit to boot.
It's not like back in the 80s when any armchair programmer boss with a casual knowledge of MS Basic could be mildly dangerous, the new tools separate the programmers from the wannabe's as you have to know what your classes are and what they do or you're dead in the water.
I suggest to anyone to be casually familiar with anything you can get your hands on, be it Perl, PHP, ASP, ASP.NET, Java, C#, whatever. Programming is programming and all the rest is just trying to figure out where what you need has been shuffled around in the current language paradigm and what they call "print" this week.
And, with Microsoft's proprietary tagging practices like using attributes that don't exist in the specification, html validation is next to impossible!
SO for kicks I had a three day weekend, I thought I would see if I could recreate it in ASP.NET. two days later I had about 100 lines of code and an exact replica that was much easier to manage and inherit for more functionality.
I have been doing nothing but ASP.NET since the summer of 2001 and look at ASP code as real legacy at this point. You can do SO much more and it is much easier to accomplish.
As far as the cost of Visual studio, the ISV program is $375 and you get a Universal subscription to MSDN, how is that expensive.
Not to mention the fact that the more bloated it gets means bigger and faster CPUs so Intel gets some benefit to boot.
I wouldn't call asp.net bloated, except for most default webcontrols maybe and notably the braindead "adaptive rendering", which is pure evil. Also viewstate can become enormous. (but i don't use it)
Besides those issues asp.net is a very clean and fast executing platform. It gives a lot of power but it is to be used well.
If I would call a web development platform bloated it is php, with it's unreadable spaghetti code and gazillion functions. Also php makes it very hard to code securely, asp.net gives me confidence in that I can code very secure.
I can recommend to anyone switching from asp to asp.net to do all code in code behind instead of inline. It will take some effort to getting used to it but the benefits are enormous. Also look at custom controls they are great :)
Generally, people have complaints with viewstate, adaptive stuff and default functionality of some of the controls.
It seems to me, please tell me if I'm misunderstanding this, that I can transit from ASP to ASP.NET without relying on many of the control functions (writing my own handling for instance) and continuing to use ASP style state maintenance - Session Variables, Querystrings, POSTed forms, Request objects, etc.
Is that a viable option? To take some of the functions of the .NET platform and use them like classic ASP?
A perfect example would be the calendar control - sounds great on paper but it looks useless in the real world. I would still have to create my own calendars to handle the functions that I want it to do and to have the look I want it to have.
Is that a viable option? To take some of the functions of the .NET platform and use them like classic ASP?
Yes you could do that.
This might be some interesting information: ASP to ASP.NET Migration Guide [msdn.microsoft.com]
The calendar control is customizable in an enormous number of ways. Not only can you set properties for each cell, but there is an event that you get as each cell is being rendered. You can step in and modify each cell as it is being rendered.
What is it that you want out of a calendar that you don't think the calendar control can do?
My point is that there is very little that you'd want to do in a "classic ASP" way with ASP.NET. Usually wanting to do something in a classic ASP way means that you haven't discovered the ASP.NET way of accomplishing the same task.
.NET is huge, so learning all of the functionality is difficult. When I first learned to use the DataGrid, I kept finding that the more I learned of its functionalty, the less code I had to write. When I was done, I had about 1/4th of the number of lines of original code that I had written. I just needed to learn all the things that could be done.
For example how do .NET list views compare to activewidgets?
Lines of code:1
Response.write(activewidgets_grid("obj", objRS))
#includes:1
Learning curve: about 60 seconds to integrate
Portability: Works on NT4-Win2K3
Features, client side sorting, sizable column headings, mouseover effects etc..