Nikhil posted about his new pet project, Script#. Although I had fun reading the article and admiring the work, I am not enthusiastic about the approach. Google had posted their GWT a bit earlier and it evokes a similar reaction from me. Here it is:
It’s one thing to build a compiler to a language that’s more appropriate for machines. CLR or Assembly ain’t easy to code with for any human being.
Why do I think it’s a bad idea? Well, primarily because I get to experience firsthand what layers of abstraction do to code. In ASP.NET, the developers were shielded from needing to learn how Web works — a lot of effort was put in to emulate WinForms. You click a button, and here’s your OnClick handler, voila! Unfortunately, shielding developers from learning the inner workings results in some of the crappiest and undebuggable code you can imagine. Don’t believe me? Check out thedailywtf.com. Or go look into the vast repositories of code, written for ASP.NET. I know, I am making a non-verifiable statement here, but hey, it’s my frikin blog.
In the comments to Nikhil’s article, there are sentiments to keep the Morts in the loop. One of the users is worried poor slobs won’t be able to keep up with yet another language that they need to learn.
And to those of you who do know all three, please, let’s stop proliferation of poorly-drawn boundaries in layers of abstraction. If you need futher motivation, just realize that you will be debugging that insanity, written without understanding how things really work.