Every programming language eventually runs into the same wall: the programmer knows something at write time that the language cannot express directly. How to serialize a thousand different types …
Read more →The history of systems programming is, in part, a long procession of people standing up to announce that they had built a better C++.
They weren’t wrong. Many of them had built something better …
Read more →Ask a programmer which languages start arrays at 0 and which start them at 1, and you’ll get a confident answer. Ask them why, and the conversation gets interesting fast.
Most developers assume …
Read more →In 1973, Carl Hewitt published a paper describing something he called the Actor model — isolated computational units that communicated exclusively by message passing, with no shared memory, no locks, …
Read more →Every program that has ever run has eventually encountered something unexpected. A file that wasn’t there. A network that dropped the connection. A number that divided by zero. A user who typed …
Read more →In our three-part series on web backend performance, we measured idle memory ranging from 3 MB (Rust) to 500 MB (Spring Boot). We noted that a garbage collector explained much of Java’s …
Read more →In 2009, Tony Hoare stood at the QCon conference in London and confessed to a crime.
“I call it my billion-dollar mistake,” he said. “It was the invention of the null reference in …
Read more →Open almost any programming language reference and you will find, somewhere near the beginning, a section explaining how to define a reusable named block of code. The concept is universal. The word …
Read more →Every programming language has strings. They’re so universal — so unremarkable — that we rarely stop to ask how they actually work. You type some characters between quotation marks, hand them to …
Read more →Every programming language is, at its core, a written argument. An argument that the languages which came before failed at something important — something worth spending years of your life to fix. …
Read more →