First blog post but nothing to say. I’ll post ideas, thoughts and progress about things I do when programming.
My current interest is in new languages and VMs. Like every other programmer, I want to write my own language, write my own super-efficient VM for it, make it portable to all platforms, have lots of programmers use it and become famous (and rich) with it.
Ok. Still with me? That’s really nice of you. Well, I will probably never do all that, but at least I can try. I hope to learn a few things along the way, about other languages, compiler theory and practice, this kind of stuff.
I read a lot about existing and past languages, their design choices, their implementations, their deaths… It’s very interesting and very perplexing too. I am sometimes lost in the middle of all that. Language design is about choice: what to include, what to reject, how to do things, how to regard the programmer? That’s the difficult part. You have to exclude things. Personally, I’d like to include as much as possible, or make further extension possible. This is my first design decision: when facing a seemingly strong binary choice, try to support both ways. It seems like a non-decision, in fact, but let me illustrate that with examples.
Should the memory of the VM be garbage collected or not? Both! It should be possible to provide both garbage collected values and manually managed chunks of memory. Why? Because it is the only way to implement the garbage collector using the language and the VM. In Java, for instance, it is impossible to implement a custom memory manager, because all values are managed by the garbage collector and there is no way to access physical memory.
[to be continued]
0 Responses to “Hi there.”