3 ms·
Compilers is not an important topic because there's nothing universal you can take out of it. Machine code as we know it is a pretty arbitrary construction. Co
by abstractbill 19y ago
Compilers is not an important topic because there's nothing universal you can take out of it. Machine code as we know it is a pretty arbitrary construction.
Compilers have nothing to do with machine code, other than that's sometimes the output target. There are plenty of other (often more interesting) targets.
- kcl 19y agoEval in Lisp is half a page. That's not a lot of material. If you further discount machine language, the only thing left for a compiler/interpreter to do is handle eccentricities in language syntax. This is rote and arbitrary application of data structures. Rarely do I find it edifying to "undo" complexity that someone else has added, at whim, to computation.
- jonnytran 19y agoAlthough Steve Yegge brings up a lot of interesting points, he's bad at explaining them. Learning about compilers and programming languages is important because of the principles inherent in building them, which average programmers never completely get. In my opinion, these principles are: 1) Code is data, and data can be code. 2) The only sensible way to deal with unmanageably-large amounts of code is by creating a language (whether this be an API, a protocol, a DSL, or a Turing-complete programming language) to communicate with. 3) Many classes of problems can be thought of as a transformation of a data-structure in one language to an "equivalent" data-structure in another language, which at its core, is all a compiler does.
- yters 19y agoAnd a tangent on that: It's been said that algorithm + data structure = program. But really, the only true 'algorithm' is the cpu. Everything else is clever data structures. Just thought I would say...