Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Anders Hejlsberg on Modern Compiler Construction

    Kasper

    4 HN recommenders · recommended in 10 months, 2018–2023

    YouTube

    34:10 · 25K views · Jan 31, 2017

    Anders Hejlsberg whiteboards how compilers are taught versus how modern ones are actually built. He explains the shift to compilers as services with incremental, error-tolerant, IDE-oriented design, as in Roslyn and TypeScript.

    It is the standard reference for why modern compilers and language servers differ from textbook designs, cited in rust-analyzer and parsing threads.

    Software Engineering & LanguagesCompilers, interpreters & program analysisTech pioneers & interviewsTesting, debugging & developer tools
    1. 13:45
      A 10x faster TypeScriptMicrosoft Developer608K views • 1 year ago
    2. 1:01:31
      TypeScript is being ported to Go | interview with Anders HejlsbergMichigan TypeScript102K views • 1 year ago
    3. 1:38:36
      Episode 1: A basic expression evaluatorImmo Landwerth (terrajobst)284K views • 8 years ago
    4. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    5. 2:03:12
      Co-dfns Live Stream: Compiler Design and ArchitectureAaron Hsu (arcfide)21K views • 9 years ago
    6. 25:41
      Compiling C to printable x86, to make an executable research papersuckerpinch480K views • 9 years ago
    7. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    8. 1:35:12
      Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023CppNow71K views • 3 years ago
    9. 1:15:46
      CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon178K views • 9 years ago
    10. 52:21
      ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris LattnerSiFive52K views • 5 years ago
    11. 35:24
      The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019The Julia Programming Language79K views • 7 years ago
    12. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    13. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    14. 43:23
      Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 18Code Sync20K views • 7 years ago
    15. 33:52
      Nordic.js 2014 • Douglas Crockford - The Better PartsNordic.js73K views • 12 years ago
    16. 1:30:03
      C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”CppNow11K views • 8 years ago
    17. 40:33
      2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”LLVM7.3K views • 9 years ago
    18. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    19. 1:21:25
      Let's prototype a JavaScript JIT compiler!Andreas Kling49K views • 3 years ago
    20. 10:32
      Javascript in 2015Glen Maddern58K views • 11 years ago

    10 comments from Hacker News

    1. @atombenderFeb 2020· in “Rust Moving Towards an IDE-Friendly Compiler with Rust Analyzer”

      Microsoft's Roslyn [1] design (now called .NET Compiler Platform) is what I think any language should strive for, turning the classical black box of the compiler into an incremental pipeline where each stage is annotated/augmented/refined by different mechanisms such as type checkers. If each step is incremental, it follows that it's easier to also let each step "integrate" deltas; for example, adding a comment shouldn't need to recompile anything at all, merely modify the AST, because it doesn't lead to any actual code artifacts. The second benefit is that all the information needed to inspect the program — from syntax highlighting to type information — is already there. If you can keep the entire high-level compilation state in memory, then it's easy to query it for all sorts of IDE features. This same design was used for the TypeScript compiler. Anders Heljsberg has a great little lecture [2] about it. [1] [LINK] [2] this video

      RecommendsView on HN
    2. @vector_spacesDec 2020· in “Advanced Compilers: Self-Guided Online Course”

      I saw this great interview recently with Anders Hejlsberg at MSFT on how modern compiler construction differs from what is taught in traditional University courses. Is this what you're alluding to? After watching that interview, it's strange to read a comment like yours. While the architecture is completely different, it doesn't frankly seem like that big a leap to go from "senior engineer with X years working on thing that's tangentially related to compilers" to being able to be productive in a reasonable amount of time working with the new architecture. What am I missing? this video

      RecommendsView on HN
    3. @ceronmanDec 2018· in “Rust Analyzer in 2018 and 2019”

      To better understand why this project is trying to re-implement the compiler frontend, I really recommend this video from Anders Hejlsberg (creator of C# and TypeScript) explaining how modern compiler construction oriented towards IDE works: this video

      RecommendsView on HN
    4. @robocatApr 2020· in “Rust-analyzer – an IDE backend for Rust”

      Anders Hejlsberg explains explains how “the IDE” way compiler works. First ~10 minutes is traditional compiler background. Then about ~8 minutes before he starts talking about how an IDE focused compiler works: this video

      RecommendsView on HN
    5. @wencJul 2018· in “Introducing the Python Language Server”

      From what I've seen (MS folks can correct me here), language services are part of a much larger effort at Microsoft led by Anders Heijsberg (Delphi, C#) called Roslyn [1], which decouples code analysis from IDEs and provides things like refactoring, autocomplete, find-all-references, Intellisense, etc. as services. This means the compiler is now an abstracted platform that editors can get services from (CompilerAndCodeAnalysis-as-a-service?). Anders talks about the motivation for doing that here [2]. It's a pretty exciting idea. This might mean I would some day be able to use Vim and get IDE-like functionality. [1] Roslyn [LINK] [2] this video

      CitesView on HN