JVMLS 2015 - Compilers are Databases

Java · 16K views · 2015 · 1:08:52

Open on YouTube

Compilers, interpreters & program analysisDatabases & storageFunctional programmingtalk

Why Hacker News recommends it

Cited as the origin of the compilers-as-databases idea in discussions of IDEs and incremental tooling.

What it is

Martin Odersky's JVM Language Summit 2015 talk argues that compilers can be thought of as databases. It describes design ideas for the Scala compiler and for developer tools.

Recommended by 0 HN commenters across 0 different months, 2016 to 2022.

What Hacker News said

Cites jasim · 2017-07 · on “Ask HN: What habits make a programmer great?”

Depth. Every programmer I admire has worked on their chosen field for years. You can keep flitting between languages and frameworks, but mastery ultimately comes from hankering down on one thing and advancing our collective knowledge a bit further. You can achieve mastery in any field - it can be a business domain - as mundane as a Time Tracking or a Todo list app, or it can be a technical domain - like compilers or databases or browsers. You however can't achieve mastery by consuming what others produce. Becoming an expert in CSS and its quirks is a good vocational investment, but you're no closer to a fundamental understanding of the field by just consuming an API. You should spend years w

Cites brzozowski · 2021-03 · on “Reflections on IDEA vs VS Code”

The author frames this as a contest between two architectures: either spend a lot of effort building custom developer tools, or repurpose the compiler as a server for multiple clients. Both approaches have their tradeoffs: the first, as the author mentions, violates DRY [1]. The second violates the Unix philosophy [2]. However, there is a third way . Both developer tools and compilers can be seen as special cases of a much simpler and more general pattern known as a graph database [3, 4, 5]. [1]: [LINK] [2]: [LINK] [3]: [this video] [4]: [LINK] [5]: [LINK]

Cites it4rb · 2022-10 · on “Codebase as Database: Turning the IDE Inside Out with Datalog (2020)”

Martin Odersky (lead designer of Scala) also pursued this approach some years ago, not sure if any of this actually went into Scala3. He mentioned this in many talks before, such as [this video] (JVMLS 2015 - Compilers are Databases)

Critical merb · 2016-08 · on “Compile Go programs 7x faster”

This number is not true I guess. scalac with idomatic Scala code (no Macro's) is at 500-700 loc/sec. (And scalac is considered slow by many people) Source: [this video] That would be a slowdown of like 4x to current javac, I guess his computer is just not good enough?