Chad Perrin: SOB

13 September 2006

Wasabi: more heat than light

Filed under: Geek — apotheon @ 05:14

Today, whilst discussing what title I was going to give this entry, Sterling offered the following observation:

You know that intense feeling you get when you eat too much wasabi? Someone I once knew called that brain damage.

Considering all the mental flailing about that has been going on over the subject of Joel Spolsky's in-house development language Wasabi, that seems strangely appropriate.

I have been watching this whole Joel Spolsky Language Wars fiasco unfold since Day One. I have been a part of the discussion in mashup communities like reddit, mailing lists (such as ruby-talk, bidirectionally gatewayed with comp.lang.ruby), and weblogs. I have seen, and tended to agree with, many of the criticisms of Joel's commentary. Here, I enumerate a few of the more obvious examples:

  • Wasabi is supposedly based on VBScript, which seems to directly contradict all the good stuff Joel has said about it.
  • Everything Wasabi purportedly provides already exists in other languages — languages that are more mature, and aren't based on VBScript.
  • The announcement of Wasabi's existence followed a lengthy screed about the unsuitability of languages and tools other than Java, .NET, PHP, and maybe Python on a good day, for web development, thus making him a hypocrite at best.
  • Not only do very few people know this language (a complaint he uses against Ruby in the same essay), but nobody knows it if they don't work for him for a while and learn it from him and his employees.
  • A language with such a tiny maintainer community (all three of its users) will be prone to unexpected bugs and, judging by some of the discussion I've seen, this manifests as some awful bugginess in Joel's FogBugz bug-tracking software (ironically).
  • His justifications for Wasabi effectively defuse all his arguments against other languages not as "proven" as Java and C#. Why even mention it at the tail end of that essay?
  • As Damien Katz points out, DSLs are a great way to abstract away some of the work of a project, but Wasabi can't reasonably be a DSL so much as a general-purpose language with domain-specific kludges layered on.
  • Compilation/interpretation speed for Wasabi has got to be atrocious at best.
    There are people who have complained at length about these shortcomings and others. Damien Katz wrote Has Joel Spolsky Jumped the Shark? (also linked above). Jeff Atwood wrote Has Joel Spolsky Jumped the Shark? (yes, the same title, right down to the capitalization, but no, not the same essay). Oddly, though the biggest problem with the Language Wars essay is the inherent contradictions and bizarre daycoder, pointy-haired boss tone of Joel's arguments, people are mostly focusing on the notion that Wasabi is a tremendously bad idea. In their zeal to discredit Joel's technical decisions, they are often getting the analysis wrong on some key points (though not all of them are doing so, of course). Here's what I've figured out about Wasabi, with some commentary: edf47d2f19be939a5d65bdf2bf0fdb08 The major win for Wasabi seems to be that it is a unified development language that is used to write code that will ultimately become executable scripts in any of several different other languages without having to write another line of code once the Wasabi is written. The difficulties appear to arise in figuring out how the hell you can get closures, lambdas, and functional syntax to compile to VBScript, Javascript, and PHP on command, particularly without hamstringing your language design to the point where it would be painful to use. You'd probably have much better luck just writing a cross-language compiler between the three, and let your programmers use whichever of the three they prefer. In cases where you prefer client-executed Javascript with a server-executed back-end as a fallback in case the browser isn't going to execute your code, though, this is not a poorly conceived approach to solving your duplication of effort problems. This entry at SOB isn't meant to draw any final conclusions. That's up to you (or me, if I post on the subject again, perhaps). It does draw some intermediate conclusions, but I have a hard time imagining those conclusions being avoided by any kind of reasonable analysis. It's just a paint-by-number of the Wasabi landscape, as viewed from where I'm sitting.

3 Comments »

  1. When I read Joel's first post on Wasabi, I had one of those "brain damage" moments. Frankly, I'm still reeling from the shock and not completely decided on what it all means.

    Another developer and I designed and created a DSL back in 1989 for state tax return computation, and we based the syntax on DBL (now called Synergy/DE). I'm going to have to think on how that experience compares to what I know of Wasabi, and maybe write a post.

    Comment by SterlingCamden — 13 September 2006 @ 05:58

  2. [...] SOB: Scion Of Backronymics » Wasabi: more heat than light When I read Joel’s first post on Wasabi, I had one of those “brain damage” moments (tags: linklove dsls programming language) Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

    Pingback by links for 2006-09-14 -- Chip’s Quips — 13 September 2006 @ 07:19

  3. And here I always thought Wasabi was the SDK for the failed Winamp 3. :p

    Comment by Alex — 13 September 2006 @ 09:20

RSS feed for comments on this post. TrackBack URL

Leave a comment

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License