Hacker News new | ask | show | jobs
by jerf 3747 days ago
Rather than learning LLVM per se, I'd recommend running through any of the many fine "build a compiler" tutorials out there on the internet. A google search on "build a compiler" pulls up a lot of interesting resources.

I would suggest sticking to a simple language, rather than trying to build a C compiler or something. The principles are what you really ought to learn, and those are the same. Even just writing a brainfuck interpreter is a good exercise if you don't know how to do it. (Despite the profane name and its implication that it ought to be something very complicated, brainfuck is actually very simple. Some people use "write a brainfuck interpreter" as their test project whenever they pick up a new language.)

Compilers and interpreters are one of the things that make the difference between a "code monkey" and a "software engineer", and even in web development they can be incredibly useful.

1 comments

You are right. It isn't best to start with LLVM, the top tier. I've made the mistake of letting it stop me in the past.

Writing a Brainfuck interpreter is a good idea! (I'm aware of the language.) Perhaps I could also try ArnoldC. :3

Recently, I began working with HHVM, I've been very interested in the subject of compilers and interpreters. I would certainly love to build such a thing for JS one day.