6

Learning modern compilers?

 1 year ago
source link: https://lobste.rs/s/zqa4cc/learning_modern_compilers
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Learning modern compilers?

There was a video a few years ago where Anders Hejlsberg (of C#, TypeScript, Turbo Pascal, and Delphi fame, among others) discussed modern compiler architecture and how it’s vastly different from what is taught in university compiler courses, or even in recent books on compilers and language implementation

https://www.youtube.com/watch?v=wSdV1M7n4gQ

Specifically, he talks about the Roslyn compiler and how it utilizes a more service oriented architecture, so that, for example, developer tooling can get information about the state of the actual parse tree used by the compiler in real time without forcing a full recompile.

I recall also that within the last year or so on Hacker News, someone who worked on compilers in industry commented on a thread about compilers that it was hard to hire people because of how vastly different compiler implementation is in practice vs what’s taught in university courses.

Anyway, writing to see if anyone else agrees with the last comment, and if any workers in compilers (whether in academia or industry) have any suggestions for how someone can get up to speed on new developments in this field outside of reading the Roslyn source code.

  • Are there particular papers that have been especially important to recent developments?
  • Other than Roslyn, are there any other well known or less well known open source projects one could study?
  • Somewhat orthogonal to the last two questions, is “programming language theory” (e.g. denotational semantics, abstract interpretation, type theory, lambda calculus, Floyd-Hoare logic, and other more abstract topics) relevant to the practice of modern compiler construction and worth learning? Or is this stuff mostly a distraction? Referring to this sort of material [1]

[1] https://steshaw.org/plt/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK