Digests » 290
this week's favorite
Oracle Database 12.2. It is close to 25 million lines of C code. What an unimaginable horror! You can't change a single line of code in the product without breaking 1000s of existing tests. Generations of programmers have worked on that code under difficult deadlines and filled the code with all kinds of crap.
My dad started teaching me Basic when I was about 7 years old, and since about that age I knew that I wanted to build software for a living. It was obviously a fun and useful thing to do, and something that I could do well. But there is a big — and I mean Grand Canyon-scale BIG — difference between “programming” and working as a professional software engineer.
In 1991, Erik Meijer, Maarten Fokkinga, and Ross Paterson published their now-classic paper Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. Though this paper isn't widely known outside of the functional programming community, its contributions are astonishing: the authors use category theory to express a set of simple, composable combinators, called recursion schemes, that automate the process of traversing and recursing through nested data structures.
IETF agrees to base the next major iteration of HTTP on Google's QUIC protocol.
Agility is a good thing, no doubt, and the Agile Manifesto isn’t unreasonable. Compared to a straw-man practice called “Waterfall”, Agile is notably superior. Yet, so much of Agile as-practiced is deeply harmful, and I don’t really think that the Agile/Waterfall dichotomy is useful in the first place.