What I think about Wasabi
A lot of people are giving Joel Spolskey grief over his Wasabi language for FogBugz. Normally, I’d be one of them. However, his decision to write a specific scripting language to output one of his products doesn’t really affect me. How many bug tracking applications, CMS, and VNC wrappers does the world really need anyway? (probably as many as their are Linux distros).
Joel asked a specific question over in the comments at Jeff Atwoods place that I’d like to address.
(1) Six years of code already written in VBScript
(2) Needs to run on customers’ Windows and Unix servers
(3) Minimize tech support costs
(4) Many customers refuse to install new runtimes on their servers, either because of IT policies or out of stubborness
What would be your solution?”
I have two possible plans.
First, I would capture the existing functionality of the VBScript app in a document. Then I would find the most commonly avaiable web runtime for both the Unix and Windows platforms. I’d probably end up with PHP. Next I would hire talented PHP programmers and port the VBScript application to PHP. At this point, I’m not sure what I would do next. Each has it’s advantages and disadvantages.
1) Make the PHP version the official version and relegate the VBScript version to “legacy” status. Provide support for the VBScript version for a couple of years, but phase it out in favor of the PHP version. Provide DEEP discounts to existing VBScript customers to entice them to upgrade (maybe even make the upgrade free). This allows you concentrate on a single languages featureset and use a single codebase. (note Wasabi also allows you to use a single codebase, more on that in a minute).
2) Hire talented VBScript programmers to maintain a parallel version of the PHP application, bugfixes, support, etc…. I think it would be easier to maintain separate talent pools (PHP and VBScript programmers) than it is to retain and train people who are specialists in both languages to maintain and upgrade the Wasabi compiler. At least with VBScript, you have a dead language to maintain. PHP is constantly evolving.
I think that creating a DSL to save time in porting, or in Joels words,
“Since we don’t want to program in VBScript or PHP4 or even PHP5 and we certainly don’t want to have to port everything to three target platforms, the best solution for us is a custom language that compiles to our target platforms.”
avoid programming in an icky language is a poor choice. I’ve aluded to this kind of decision as “Technological Wanking” before.
-
http://harriyott.com Simon


