I'm going to have to disagree and say 2005 wasn't all that much "wild west" when writing web apps. Maybe it was for them, but not the enterprise world.
I'm going to have to disagree and say 2005 wasn't all that much "wild west" when writing web apps. Maybe it was for them, but not the enterprise world.
It was also quite early in web 2.0, and I still remember when we switched up reddit's frontend to start using prototype.js (which had just come out earlier that year). Being able to use the same ajax call in both IE and Firefox! Magic!
But on the other hand: I'm not convinced this is the beginning and end of architecture considerations. We've still only been writing web apps for a bit over two decades, it's possible we still have some things to learn about how to organize them and get them to perform well. In particular, problems of scale circa 2005 aren't really the same as current problems of scale. There are just More Users on the web doing more things and we're tracking more data. We have different tools for managing all this. We're still figuring out if we like those tools.
And on top of that, we seem to be in the middle of an SPA/browser-as-VM kick that I suspect is going to look at least a little overdone and ill-considered in another five years or so.
Ruby on Rails, 2005. That's MVC for ruby.
Zend Framework, 2006. That's MVC for PHP. phpBB, 2001. MVC for PHP. But not generalized, specific usecase only.
Backbone.js, 2010. That's MVC for JS.
Sounds to me like in 2005 the web was pretty wild westy in terms of separating data from views and application logic.
On the Java front we had 'Model 2' frameworks like Struts 1. Struts 2 was brand new. Oracle had ADF and pushed it pretty hard. JSF was fairly new and nearly no one used it.
ColdFusion offered a complete package and was actually not terrible. MySpace was written in CF.
There was always ASP.NET.
But if you weren't coding in Java, CF, or ASP, you were using some bespoke not-yet-framework. I'd say 'wild wild west' is an apt description.
Most pointedly, 2003 for seeing that in a PHP (4.x!) codebase is not a typo. Zend was definitely not the beginning of MVC being applied with PHP, even if it might have been the highest profile example at its release.
And that's just for MVC. Various other kinds of discipline for separating display output and application logic go back into the 90s.
If the west seemed wild, it's probably more because developers like to homestead than because there weren't any maps pointing to civilization.
Struts for Java, 2000.
Spring for Java, 2002.
MVC is just a pattern, generalized in 1988, and even in websites without frameworks plenty of developers have structured their code accordingly prior to 2005. It is certainly more popular after 2005.
I don't think Lisp web apps ever became mainstream, and Python web apps were definitely a wild west back then. The enterprise world was using ASP and Java and Cold Fusion.
Lisp proponents are always telling me how much better software would be if it were all written in Lisp, but it's really hard to find real world examples of it being used in production. It can't just be that most programmers are all just too dumb to understand the beauty of functional programming.
> If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented. Since we're building a site largely by standing on the shoulders of others, this made things a little tougher. There just aren't as many shoulders on which to stand.
> We were already familiar with Python. It's fast, development in Python is fast, and the code is clear. In most cases, the Lisp code translated very easily into Python. Lots of people have written web applications in Python, and there's plenty of code from which to learn. It's been fun so far, so we'll see where it takes us.
> Regardless of Python, reddit was begging for a rewrite. Whether it was the best decision to do it all at once is up for debate, but I'm very pleased at the way it turned out.