Joel & Leaky Abstractions

time to read 3 min | 446 words

The recent posts by Joel caused quite a bit of noise lately, but are several things in Joel's Wasabi post caught my eye that I haven't seen blogged elsewhere:

Another neat thing is that when you want to do something on the client (the web browser) you can write the code once, in Wasabi, and compile it to JavaScript for the browser and get identically functioning VBScript or PHP code for the server

Can anyone say leaky abstractions? VBScript & JScript are very similar, I will grant him that, but client side vs. server side programming is very different. And unless all they are doing is basically string concantaion, I really don't think that it is possible to have the same code in both places.

It is certainly possible to use the same langauge in both cases, but not code of any complexity is going to be portable between the two environment.

It's very easy to add a new back-end to Wasabi. Our plan is that when .NET gets a little bit more predominant on our clients' Windows servers, we'll add a CLR back-end.

Again, leaky abstractions. FogBugz was originally an ASP (classic) application, which means connected data model, recordset, etc. I would hazzard a guess that it is still uses much of this model. .Net has a completely different data model than ASP. This is not going to be a new backend only port, not if they intend to do more than put a checkbox saying "Run on CLR".

Most people don't realize that writing a compiler like this is only about 2 months work for one talented person

Um, writing a compiler isn't that much of a challange, yes. The problem is with all the other stuff that a language need. For instance, a debugger. Oh, you are not going to write your own debugger, but rely on the native VBScript / JScript debugers. On the top of my list of "things not to do in christmas" is "debugging generated code"*.

* Actually, I don't do anything in christmas, so it it a mote list.