Sriram Krishnan (Moved to http://www.sriramkrishnan.com/blog)

Search. Usability. Virtual machines.Geek stuff

<August 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


Navigation

Subscriptions

News

Link blog
Technorati Profile
The Blogs I read
Creative Commons Licence
This work is licensed under a Creative Commons License.


Building a virtual machine Part 4 - The Quest for Simplicity

I remember watching a video of one of the creators of Dylan where, when asked about his guiding philosophy, he says something to the effect of "Simplicity is tough - complexity is easy. It's easier to build complex things than to take the trouble to make them simple". It struck me back then as weird ,yet at the same time, profound.

Over the past week, we (the people working on Smoke) have been trying hard to make a lot of things simpler. For instance, we've cut down on the number of opcodes used. We've cut down on the work needed to be done by the compiler writers. We've slashed data structures built only for performance. In fact, in a lot of places, we're choosing simplicity over performance. The last thing I want to do is to have a piece of code, hand-optimized to the core, but unmaintainable and difficult to explain, understand and work with. As someone said, "People cycles are far more important than programmer cycles".

Simplicity also means something pretty painful - cutting features. In our case, we've had to cut features due to time constraints. Our problem is- something like a virtual machine is very difficult to design right the *very first time* and yet, that is exactly what we have to do if I'm going to stand any chance of demoing it 2 weeks from now. For example, I've cut down on the number of intrinsic types, some esoteric features,etc. The Lisp compiler may not happen now - if it is done, it'll probably be in a much simplified form.

 

This project reminds me of 'flying' from Hitchhiker's Guide to the Galaxy - we're throwing ourselves at the ground and trying to miss.

posted on Wednesday, March 02, 2005 7:53 AM by sriram





Powered by Dot Net Junkies, by Telligent Systems