Wednesday 26 October 2011

ASP: why am I still using it?

   


I have recently debated with a friend of mine about my stubborn belief in classic ASP. If you are reading The Web Thought, you already know that I mainly program in classic ASP, but you might not know why I still use it, and probably will go on using it.
Here I'll explain my ideas.

A little bit of history
First of all I would like to be clear on one thing: ASP is not a programming language, strictly speaking, but a scripting engine. VBScript is the main language used in ASP pages. In fact, my first steps into programming were made trying to understand VBA (Visual Basic for Applications). So, please be aware that in this article I will refer to ASP as a general term, not strictly to the scripting engine.


I started to get into classic ASP in the late nineties. As a matter of fact, the latest version of ASP (3.0) was released in 2000 and basically I started to be interested in programming languages - specifically in ASP - exactly in the period when ASP was supposed to be retired.
Just after a few years, when I created my first ASP web site, Microsoft introduced ASP.NET. In the same period, I began to play around with Visual Studio, and I created some .NET web sites and applications as well. I wanted to say that, just to make clear that I did try and work with the .NET framework (and sometimes I still do).

With the above in mind, I would like to take your attention to some very well know things said about ASP. Specifically things said to demonstrate that ASP is dead and gone. Without any doubt.
Well, as you may understand, I have some very strong doubts, and here I explain them.

Classic ASP is dead
Many people say that classic ASP is already dead. That is because many programmers have decided to use different programming languages, such as PHP or .NET. I do not want to discuss the reasons why someone decides to leave ASP for PHP (apart from costs which I will shortly explain), because - as I like to believe - we live in a free world where everybody can make choices based on one's ideas and belief (or interests).
However, the fact that many are leaving classic ASP does not mean that ASP is dead. For what I can see on the web, ASP is still quite alive and kicking.
For example, the recent release of Microsoft WebMatrix is a demonstration of it. The development software is fully supporting classic ASP. That means, there's still a demand for it.

ASP costs more
Many are stating that classic ASP costs more than other programming languages, especially PHP. Here the matter gets more complicated. First of all, how much does an ASP server cost? It depends. If you are developing in a in-house situation, you might use a Window server or a Linux server. The first has some licensing costs, while the latter doesn't. That as a start and if you're doing things yourself. Anyway, for small and medium sized companies, Linux servers might end up costing more than Windows servers because maintenance is normally more complicated and expensive.
If the company is relying on web hosting services, Linux and Windows servers cost basically the same.

As a side note, many are stating that MySQL is free while SQL Server is not. As PHP is mainly used for MySQL database driven web sites, the choice is always on MySQL and PHP. However MySQL is not really free (did you know?). In fact the commercial license is absolutely not free (check MySQL web site for proof). At the same time Ms SQL Server Express Edition is free.

ASP is no longer supported
It is true that the latest release of ASP has been in November 2000, and there won't be any other release in the future. Said that, it is clear that "no future release" doesn't mean Microsoft won't support it. All the latest Windows operating systems versions, and specifically all the IIS versions have full support for ASP pages. And Microsoft is going to continue to support ASP pages and VBScript. The reason? There are too many ASP web sites around the world wide web. Simple as that!

It's difficult to find information and tutorials about ASP
AH! That is definitely not true! And The Web Thought is already a proof against it. But, there are really a lot of web sites still talking about classic ASP out there. I could make a long list of active forums, blogs and web sites but maybe it is not the point here. You can just Google for classic ASP and see for yourselves.
Further on that, did you know that Microsoft still maintain a whole section about ASP on MSDN?

Are those enough good reasons?
Not for me. But there are other reasons why I still use ASP.
First of all, I can make almost anything I like with ASP, so there's not a practical reason to move to another framework. When I can't do a thing with classic ASP, I still can benefit from JavaScript (and libraries like jQuery), as an example.
I do not need to make things before starting to develop in classic ASP. I do not need to install anything on the server, and everything's already running. There's no need to configure anything and it is available on any PC running Windows.
Thus I don't see any advantages in moving to another language at the moment. Not that I'm lazy, in fact I do like challanges and I do enjoy learning new things, but to be blunt, just when it is needed, because I really do not have spare time for those kind of things at the moment.

As you can see, there are really good reasons not to declare classic ASP dead. It is my belief that, on the contrary, ASP will have a new revamp in the near future. And people who left it, will reevaluate its flexibility and power.

So, tell me what you think about it and share your experience using the comment section below. I'll really appreciate it.

31 comments:

  1. Nice article. I am still using ASP for creating msSQL server database driven websites. Good news that Microsoft keeps supporting ASP in the near future. Why doesn't Microsoft update this powerfull engine anymore. Is this because ASP.Net or PHP?

    ReplyDelete
  2. Hey StillAsp,
    Microsoft has nothing to do with PHP, but it has a lot to do with .NET. I bet they have spent a lot on the development of .NET tools, and I believe they see it as a normal evolution of classic ASP.
    I still believe classic ASP will continue to stay (alive and well), while Microsoft will go on "upgrading" .NET.

    ReplyDelete
  3. I also began using ASP (classic) in the late 90's. picking right up on it (also from VBA/MS Access), I have created hundreds of web sites and, more importantly, intranets and web applications. I built at least a half dozen full blown ERP systems for smaller businesses that completely run with IIS, ASP code, and MS SQL Server...These have been running for years with no problems, only minor tweaking, etc.

    I was the first vendor to provide web sites for members of the U.S. Congress. All the sites I built for them (and the content management system I provided), which they were required to have, was 100% in classic ASP.

    It's simple. It requires no crazy install-after-install processes on the server or to get a development environment ready (can be edited from any editor). It's PHP's Microsoft brother. It's the older brother to this new wild and crazy kid brother .NET that keeps needing to be updated. Classic ASP doesn't need updating because it's just fine...and there's tons and tons of web sites that offer plugins to handle extensive tasks.

    ...and a good classic ASP developer would agree that there are ways to troubleshoot sites and apps in classic ASP that are just as good as .NET. You can (and I have) gone crazy awesome building some solid error handling.

    ReplyDelete
    Replies
    1. Well, you said it all. I couldn't agree more.
      Thanks for your thoughts, I really appreciate it.

      Delete
  4. Well, the fact that classic ASP isn't changing is kind of a plus. Once you learn it, you don't need to keep relearning it, taking classes, buying books, visiting websites etc.

    .NET is kind of a quagmire in that regard. They keep changing it, and you need to keep relearning basic things that you knew before.

    To me the main reason to work in ASP is the simplicity. And simplicity saves you time. And saving time = MONEY.

    When I've worked on .NET, things took longer to figure out. Simple things took WAY more time. And figuring out other developer's code was simply painful. Instead of code being on one page, it is usually like a big pile of scrambled eggs.

    Is .NET more efficient from a machine standpoint? Absolutely. But 99% of web production costs and time lines are related to the developer. Development time is the bottleneck, so if you can build fast and cheap with ASP I say why not.

    And you don't have to worry about rebuilding things that work every several years. I see that as a huge bonus really.

    ReplyDelete
    Replies
    1. Thanks for sharing your experience.
      What you say is very true and I do agree, 100%.
      I have explored (and still I am exploring) the .NET world, and I still believe that compared to ASP semplicity, .NET is really a mess. Probably it's my approach to coding that is different, but I still can't understand why MS decided to complicate things.
      As said, with ASP we can do whatever we want. When tested and approved, ASP works great, it's easy to manage and maintain... well I keep repeating myself.

      As a side note. Ms tried to put ASP in the backyard with Vista, in fact it's not installed by default with IIS... but who cares? A few clicks and we are done.

      Delete
  5. I agree with you 100%. As a software consultant, I've been using both C# in ASP.NET and VbScript in classic ASP. But, when you make formal comparation with both, ASP.NET seems leading. Even so, it does NOT mean the ASP.NET is the only option to go. As you said, classic ASP is very very simple and very fast to build.

    Seriously, if MS really wants to invest to Classic ASP to become better tools, it will cost much much less than what they do to the ASP.NET.

    ReplyDelete
  6. I've also started using Classic ASP in the late 90's after building apps in MS Access and VBscript. Found it really easy to learn it and the results (outputs) are instant; no need to compile and less $$ when you know how to program the lines of code.

    Tried a couple of time to learn/use .NET but the upgrade on my programming is hard to adapt to it. So I still use Classic ASP mixed with Javascript, XML, Ajax, etc...

    Why Microsoft let down Classic? Well .NET is generating more revenue for them than a coding language anyone can learn in a couple of weeks without the need of your assistance. This business model is a plague in many industry those days. I just hope they won't get the axe on it in their future IIS release!

    ReplyDelete
  7. Thanks again for comments.
    I just want to say that it is very unlikely MS will get rid of ASP in the near future. Reason? A simple fact: there are millions of web site made with it out there. Isn't it a big market anyway?

    ReplyDelete
  8. What you get with ASP.NET is the power of VB.NET or C#. You may have some complex business logic that spits out an object with some results that you then display in HTML via MVC, or via gawd-awful ASP.NET event-driven crap...

    In classic ASP, the same business logic was accessible via COM, usually a VB6 DLL you built to do your business logic, and ultimately, that is how you accessed your more complicated business data.

    Keep in mind, the same can be done now using classic ASP, with COM wrappers, to ultimately access a .NET DLL you might have written in C# to do your business processing...

    But, now, MVC3 or MVC4 and the razor engine are actually a lot more like classic ASP in the rendering sense. You basically get the top-down "classic ASP" feeling, if you so-choose, while having the power of directly embedding your business logic...along with more advanced MVC concepts, which you don't really have to use...



    ReplyDelete
  9. For a company wide intranet/website ASP is simply outdated. And using an officially discontinued technology is not professional (unless the client knows what he is doing).

    What has defintely made my opinon for .NET, is LINQ. To work with database or to parse XML, the code is just clear and fully compilable/testable, no more black box SQL (long) strings.

    ASP or .NET, when you come to complex websites, the resulting complexity is the same. So, why use a discontinued technology?

    3rd party modules are never a good idea, again, it's a client choice.









    .

    ReplyDelete
  10. Totally agree. Classic ASP is far from dead.
    It's simple and efficient. And you only need to learn a few things. That's all

    ReplyDelete
  11. I would like to hear your opinion on CMS platforms like Wordpress and Joomla

    ReplyDelete
  12. Against. Even if - as you can see - I am using some sort of CMS here. They are useful if you don't have money and you're in a hurry. But for me it takes more time to learn a to use them properly than to build my own site :-)

    ReplyDelete
  13. I've been using ASP for more than 15 years now, and also developed sites with PHP and ASP.NET, but I still prefer (and keep building sites, from a single website to a more-than-a-million-lines ERP) doing it in ASP, and guess what? it works like a charm!
    there's absolutely no advantage from my point of view to change to ASP.NET, except for the feel-good-that-we-have-the-latest. Watch out: we live in a wildy capitalism world, and that means, buy-buy-buy, and a way to achieve that is to make you buy things YOU DON'T REALLY NEED.
    awesome site, mate, too bad you don't have a twitter account =(

    ReplyDelete
  14. I have been using Classic ASP and still do. I have created powerful apps and even a CMS using Classic ASP.

    The sheer pleasure of coding is classic ASP is just not found in any other scripting languages and platforms.

    Thanks for such a wonderful article.

    Ramesh N

    ReplyDelete
  15. I've been creating websites with Classic ASP for the past 13 years. I find it easy to use and understand. I have briefly tried to learn .Net but seems like a lot of effort and time that I just don't have. I continue to make new websites and when I do they are still in Classic ASP.

    ReplyDelete
  16. Around 17 years ago I started using classic ASP 2.0. I built with ASP 3.0 a booking system and a membership community with an admin control panel.
    It have served my company during all these years. And I wouldn't been able to make my business without it.
    Now, in 2015, I will maybe have to abandon it... why? Because my IPS host have decided to end all support for all classic ASP by 1 of January 2016. And they are running IIS 8.5 / Windows server 2012!
    In Sweden (where I live) I have a hard time finding any good web hosting company that still runs classic ASP.
    Microsoft will support ASP until 2022.... but that doesn´t matter if the IPS are starting to abandon it.
    I will soon move to a US web host to run my classic ASP.... until they decide to drop it.

    Then I will learn PHP and redo the whole application again, even though it is still working as a clock!
    I will never learn .NET. I will leave Microsoft by then.

    /TP

    ReplyDelete
  17. I'm working for more than 10 years now and I'm still using Classic ASP. <3

    ReplyDelete
  18. We've been using ASP Classic for the past 6+ years for our company intranet. When you're a small shop with a user base that isn't expanding it's really hard to say, hey, let's stop progressing our business forward with new tools & instead covert over to .NET & spend the next few years rebuilding everything that works perfectly for minimal advantages. It probably makes sense for commercial sites to upgrade, but when you aren't concerned with shaving milliseconds off your load times and your main goal is SQL data input/output, the forgiving nature of Classic ASP really makes sense. As long as your coder is proficient in SQL structure & data types. I read people complaining that it's dead tech, but there is certainly a price to pay to switch, and for many in similar situations, the price doesn't make business sense.

    ReplyDelete
  19. I have been using this tech for over 18 years, and am still using it. I feel it is much simpler and easier to learn than other frameworks. It is powerful and can do all sorts of web applications as any other tech/frameworks. Hope Microsoft will revitalize and support it.

    ReplyDelete
  20. Can't agree more, thanks for your sharing.

    ReplyDelete
  21. Interesting thread. I have been using classic ASP in corporate environments for about 20 years. I also work with .net and classic binary apps using Visual Studio. In my experience, ASP is powerful and productive. There are lots of AX compatible libraries out there to address extended functional needs like dynamic graphing, barcode processing, PDF creation and manipulation, etc. etc. Just like with any dev platform, if you apply good coding techniques the results can be effective and maintainable. I also use PHP due to a stint in a Windows/Linux web shop and still use classic ASP as a go to platform for many projects. There are cases where ASP may not be the best choice but I don’t see and solid rationale to run away from it any time soon.

    ReplyDelete
  22. After years in and out of the industry, I've tried to (successfully) adopt new frameworks like Angular, Flutter etc, and still can't get over the how similar to Classic ASP these NEW frameworks are.

    What bugs me about them all is the constant breaking changes. You leave a project for a few months and come back to work on it, only spending hours going over your code trying to find a fix for little library that changed in some way.

    I remember back in the mid 2000's I chose windows as my host platform because of all the breaking changes going on with the Linux environment. Nothings Changed!

    I will soldier on with what the industry wants for now, but Classic ASP may be something I look at using in future projects.

    Great Thread!

    Michael

    ReplyDelete
  23. I still support an app built in classic asp all these years later lol

    ReplyDelete
  24. I still support an app built in classic asp all these years later lol

    ReplyDelete
  25. I still support an app built in classic asp all these years later lol

    ReplyDelete
  26. hahaha,i like classic asp,everday service for me .

    ReplyDelete
  27. I've done sites in ASP. I've modified others' sites in ASP. It's fine. It works. But I preferred to move on to the latest .NET 5. The pages look cleaner, it is easier to separate concerns, there is much more very time-saving features like Entity Framework. So, basically whether is system is 'dead' is very much a matter of whether it is 'dead' in the context of your experience. These systems can only 'die' if they are broken and can't be fixed. So, if they do what you need to do, then it's perfectly ok to stick with it. For me, I need to do multi-tasking, threaded work, streaming API work, etc., etc., and ASP would be a hinderance for me.

    ReplyDelete

Comments are moderated. I apologize if I don't publish comments immediately.

However, I do answer to all the comments.