There is a huge discussion over at Coding Horror about Wasabi, the in-house extension of VBScript used by Fog Creek Software for FogBugz. The general consensus seems to be that Joel has lost his mind. However, if you read what Joel originally wrote, as well as his responses in the thread, the Wasabi solution is not unreasonable.
Fog Creek had a large codebase of existing VBScript, which they did not want to throw away. However, they do want to deploy it to Unix and their customers want minimal installation dependencies (i.e. it should work out of the box). Their solution was to develop an extension to VBScript called Wasabi, which then compiles down to pure VBScript or PHP. This accomplishes their goals rather elegantly.
So why do people think this is crazy?
Argument One: Writing Your Own Language is Dumb
In general, writing your own language is overkill. However, it may be appropriate, particularly in the domain-specific language case. According to Joel, Wasabi took one person two months to write. Their existing application code was then cross-platform without any modification, and will remain so going forward. They can also add domain-specific or just handy features to the language and have them work on all target platforms.
Argument Two: No one outside of Fog Creek knows Wasabi
So what? It’s a superset of VBScript. Good programmers can pick up new languages quickly.
Argument Three: Joel’s Statements are Internally Inconsistent or Incorrect
Some of these are true, but not the ones about Wasabi. His arguments about Ruby may or may not be valid, but that has no bearing on whether Wasabi was a good idea or not. Further, the advice/recommendations he gave his friend in the original article were about creating a new web application, not dealing with a six year old code-base. The problems are very different.
I don’t always agree with Joel, but all this furor over Wasabi is ridiculous.