







I use programming language theory as a lens on UI design, trying to make engagement with abstractions more fluid, tangible, and fun
Prism: An Impure Functional Language With Typed Effects - Stephen Diehl
Personal blog of Stephen Diehl - Software engineer writing about technology, programming, and the future

Aaron Steven White
computational semanticist. into modular synths and tiki. https://aaronstevenwhite.io
Programming as Theory Building - Peter Naur
Programming as Theory Building - Peter Naur · GitHub

Aaron Steven White
computational semanticist. into modular synths and rum. https://aaronstevenwhite.io
Alexander Obenauer
Exploring new and renewed ideas for how personal computing and the interfaces we think with can better serve people’s lives – expanding opportunity, agency, curiosity, and creativity.
Programming (with AI agents) as theory building
Back in 1985, computer scientist Peter Naur wrote “Programming as Theory Building”. According to Naur — and I agree with him — the core output of software engineers is not the program itself, but the theory of how the program works. In other words, the knowledge inside the engineer’s mind is the primary artifact of engineering work, and the actual software is merely a by-product of that.

Syntax - Web Development Podcast
Full Stack Web Developers Wes Bos and Scott Tolinski dive deep into web development, CSS, JavaScript, Frameworks, Typescript, Servers and more. Listen in 2 times a week!
Programming as Theory Building: Why Senior Developers Are More Valuable Than Ever
Peter Naur's 1985 theory of programming explains why experience matters more in the age of AI-generated code

Amy J. Ko : Searching for Justice in Programming Language Design
The Rust Programming Language - The Rust Programming Language
by Steve Klabnik, Carol Nichols, and Chris Krycho, with contributions from the Rust Community

Coeffects: Context-aware programming languages
Interactive essay that explains theory of coeffects and lets you type-check and run sample programs.
(iterate think thoughts): Painting with Gaussians
Dmitri's blog about programming, Clojure, and software development
Motivating Adult Learners by Introducing Programming Concepts with Scratch
Novice programmers usually fail to combine abstract concepts and knowledge into program design, even though they know the syntax and semantics of individual statement. Adult novice programmers with little computer background knowledge might face more ...

History of The Graphical User Interface (GUI): A Wonderful Curse
Tangible Functional Programming