Hacker News new | past | comments | ask | show | jobs | submit login

it puzzles me sometimes why we programmers are so fascinated by compilers, interpreters, VMs, runtimes, etc. many of these will never make it to the level of, say, a production c++ compiler or a Java VM. and yet we keep building small compilers.



I did the Nand2Tetris course which includes building a basic compiler.

It just helps fully understand how you go from words in a file to actually doing computations and how purely abstract ideas like a 'class' are implemented.

To be fair, I studied Physics and not CS so I didn't have the opportunity to study Compilers at University.


> so I didn't have the opportunity to study Compilers at University.

Lots of CS people haven't either. My university moved compiler theory to the Masters program.


In some countries that is kind of irrelevant because most end up doing masters anyway.


All craftsmen take an interest in their tools, and in software the tools are made with the same processes we use on a day-to-day basis. It’s the same with blacksmiths and woodworkers to varying degrees.


Not all those who consider themselves programmers necessarily come from a CS background and so don't learn about concepts like these. To them, walkthroughs like these are fascinating.


Programmers with CS backgrounds also delight in these concepts and things.


Is it not a rite of passage to design & implement your own language, distilling your two years of knowledge and arrogance into one pathetic failure of a design? And from then on appreciating some sense of the difficulty of constructing and maintaining such things?

Perhaps not always languages, but such experiences are vital to our industry!





Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: