3 ms·
Can I ask, as somebody that hasn't dived into Compiler's yet; not out of not wanting to, but more a 'so much to learn' scenario How does it make a developer be
by verletx64 9y ago
Can I ask, as somebody that hasn't dived into Compiler's yet; not out of not wanting to, but more a 'so much to learn' scenario
How does it make a developer better? I see this repeated often, but I don't really see how.
- magpi3 9y agoCompilers are a great example of taking a very complicated task and breaking it down into simpler (though not necessary simple) steps. Just going through the practice of building one might change how you look at other projects you've worked on in the past. And I think the insights you take from designing a compiler translate into data processing as a whole, as other commenters have noted.
- Ono-Sendai 9y agoYou get an insight into why current languages and compilers are designed the way they are. For example, why does C have #include? Probably because it's the easiest possible way of including/referencing source code from another file.
- kqr 9y agoIt's surprisingly practical to view a lot of data mangling tasks through one's compiler glasses.
- slx26 9y agoFor example: once you see what the compiler does, you can write readable code without sacrificing efficiency. When you don't really know what's going on under the hood, consciously or unconsciously you write code based on assumptions, which a lot of the time are wrong. It's very hard to exemplify because the mental model programmers have about programming can be very different, and therefore the benefits of a better understanding provided by learning about compilers can have different effects on different people. And still, everyone who has tried recommends learning about compilers. Programming languages are our most fundamental tool as programmers, and yet it's pretty much impossible to make a fair assessment of why they are designed the way they are, why they work the way they do, why they provide the abstractions and structures they provide, until you try for yourself. Understand programming languages better => use them more naturally.