Software Engineering Daily · Thursday, September 10, 2026
Joe Hellerstein contrasts the ease of using declarative queries in databases with the complexity of traditional imperative programming, especially for distributed systems. He argues that unlike databases, which offer portable queries across diverse hardware, programming languages often require starting from scratch with new hardware.
“And something that really bothered me as a software person was that programming wasn't like that at all.”
“Programming computers was somehow different, and every time you got a new piece of hardware, you had to start over.”
“And particularly, if you wanted to run something that wasn't on a single node but was on lots of nodes or parallelized, distributed, call it what you will, you had to start from scratch and programming languages weren't there to help you particularly.”