3 Languages: C, Forth, Scheme
Continuing my trend of creating 3 language classifications, Here is the set of 3 languages that I think is fundamental for understanding and implementing compilers, and perhaps interpreters.
Forth will teach you to understand stack machines, and data stacks. If you can implement RPN parsing and stacks, then you can implement Forth.
Once you know how to deal with stacks, then you can use stacks to implement procedure / function stacks. That seems like it allows you to implement something like Scheme.
And from Scheme, you can begin to implement arbitrary language syntax on top of a high level language base.
C is important because it is a useful implementation language for either Forth or Scheme, and it also gives familiarity with at least one style of higher level language syntax that could be implemented once the basics of compiler / interpreter construction are understood.
I found myself doing some programming today, and I can’t deny that I find Emacs more comfortable to type in. So (at least today) I’m trying it again.
Go Website Rewrite?
I’m getting frustrated enough with the performance of the Python SimpleHTTPServer that I’m wanting to move to something else.
I found a simple example of a static webserver written in Go, I wonder how much work it would be to rewrite the the site generation in Go also. It’s not really necessary to have the site generator and the web server written in the same language (they don’t even run on the same machine), but I’ve enjoyed having them be consistent.