development

If it's not complex, it's no good

December 14, 2005 10:40:42.289

Bobby Woolf falls into a common trap - he assumes that most people need massive scaling for their projects:

The article talks about tasks that don't require much business logic. Google just displays search results, e-mail, and map images. Yahoo is the poster child for portals, aggregating existing info and integrating it on the glass. They both use read-only data that can be highly replicated; users can configure the display. Those tasks require minimal programming logic, so PHP scripting and a simple SQL database be all you need (plus a Web server and OS). Even then, huge sites like Google and Yahoo must be doing much more than just using PHP.
But a lot of sites need more than scripting. Do your users need to: Find airline tickets? Trade stocks? Does your implementation need to: Integrate with EISs? Enforce security? Coordinate multiple users updating the same data concurrently? Good luck with PHP scripts. You're gonna need J2EE or .NET for that. I can tell you that this is what WebSphere (WAS) customers are doing.

The dirty secret of the software industry is that most people are, in fact, building fairly simple applications. Most users of things like WebSphere are using it simply as a JSP container - and that's a pretty complex (and expensive) container. Especially when you could build the same thing in Smalltalk in half the time, and for a fraction of the expense. Not to mention that you wouldn't need the army of consultants that WebSphere seems to require.

He goes on to analogize the current debate to the early 90's Smalltalk vs. PowerBuilder debates, and says this:

So LAMP may well work if you want open-source everything and just want to display (and CRUD?) your database. But for full-blown applications hosted on the Web, LAMP won't cut it. AJAX is a cool display technology (see Ajax and Java), but it's only a display; you still need a server behind it running something (LAMP, Java, .NET, etc.). .NET is on the same level as J2EE, and c# is very Java-like, so then that comparison is the old Microsoft-only vs. semi-open-standards and write once, run everywhere argument.

I'd bet good money that the scaling issues faced by Google, eBay, and Amazon are far beyond anything that most web developers will ever need. Funny that they didn't buy into the J2EE/WebSphere camp then; however did they manage it? According to Bobby, it's because they have simple applications. I'd disagree - I'd say it's because they made a rational choice to avoid the absurd levels of complexity in J2EE.

Hat tip to James Governor

Comments

Heh

[Byron] December 14, 2005 15:44:33.581

I would claim that everything Bobby Woolf mentions are not examples of complex tasks. They are mostly examples of why HTTP as an application platform sucks. Turns out state is useful. Who knew? (Hmmm, let me think about which middleware solves that problem.... :-) ) I don't disagree about PHP. PHP is... wow. "Bad" is a understatement. (P.S. Google uses a lot of Python AFAIK)

 Share Tweet This
-->