Title: I recall reading a comment on here at some point in the last year where someone who worked on a team that wrote compilers lamented the difficulty in hiring qualified people because the practice of compiler construction differs so wildly from what is taught in university programs or even most recently published compiler books. Apparently modern compiler construction scarcely resembles what is taught in university courses based on the Dragon book or similar, both in the higher level architecture and the lower level techniques and patterns<p>I know that one recent innovation is that compilers have adopted a more service-oriented architecture, kind of like the Roslyn compiler. This allows them to not only compile your code, but (for instance) inform your text editor and linter and similar tooling of syntax issues<p>What are other differences? Is llvm still relevant outside of academia?<p>Are there any books, papers, or open source projects one could study to learn how compilers are built in this day and age?<p>Also: does the more abstract &quot;programming language theory&quot; popular in the more formal functional programming world (e.g. denotational semantics, lambda calculus, Floyd-Hoare logic, type theory, etc: this sort of stuff[1]) have any relevance to compiler writers and language&#x2F;language tooling developers in industry?<p>[1] <a href="https:&#x2F;&#x2F;steshaw.org&#x2F;plt&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;steshaw.org&#x2F;plt&#x2F;</a>
Upvote: