For decades, SQL has been a critical component of data stacks, and the rise of analytics engineering is cementing its role. However, in this post, Jamie Brandon argues that although the relational data model has important benefits, SQL is an inexpressive (yet verbose), incompressible, non-porous language that needs to be replaced. He provides examples of SQL’s limitations (e.g., in the context of windowing, subqueries), noting how these impede extensibility, developer ergonomics, optimization, and portability. Moreover, he describes how these limitations stifle innovation and perplex application development. He advocates for a replacement language with an explicit type system that supports variables, functions, and expression substitution and can enable a library ecosystem.