OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF
Tag Archives: History of Software Engineering
So, what’s the plan? Part 1: what WAS the plan?
No CEO dominated a market without a plan, but no market was dominated by following the plan. — I made this quote up. Let’s say it was Rockefeller or someone. In Accidental Tech Podcast 385: Temporal Smear, John Siracusa muses … Continue reading
SICPers podcast episode 10
This episode is all about build systems! Mostly about the problems associated with the venerable ./configure; make; make install process. This expands on a section I wrote in APPropriate Behaviour. The history of UNIX make Why Johnny Can’t Build [portable … Continue reading
SICPers podcast episode 9
In this episode I talk about Design by Contract. Episode RSS feed – also available in Apple and Google Podcasts. A Discipline of Programming Go to statement considered harmful Z Notation, and Object-Z CocoaByContract, and JavaByContract CLU Programming Language
Mature Optimization
This comment on why NetNewsWire is fast brings up one of the famous tropes of computer science: The line between [performance considerations pervading software design] and premature optimization isn’t clearly defined. If only someone had written a whole paper about … Continue reading
First, Consider no Harmful.
Yesterday, we observed that the goal of considering the go to statement harmful was so that a programmer could write a correct program and have done with it. We noticed that this is never how computering works: many programs are … Continue reading
The unreasonable ineffectiveness of considering things harmful
Dijkstra didn’t claim to consider the go to statement harmful, not in those words. The title of his letter to CACM was provided by the editor, Niklaus Wirth, who did such a great job that the entire industry knows that … Continue reading
Everyone rejecting everyone else
It’s common in our cooler-than-Agile, post-Agile community to say that Agile teams who “didn’t get it” eschewed good existing practices in their rush to adopt new ways of thinking. We don’t need UML, we’re Agile! Working software over comprehensive documentation! … Continue reading
On exploding boilers
Throughout our history, it has always been standardisation of components that has enabled creations of greater complexity. This quote, from Simon Wardley’s finding a path, reminded me of the software industry’s relationship with interchangeable parts. Brad Cox, in both Object-Oriented … Continue reading
The value of the things on the left
With the rise of critical writing like Bertand Meyer’s Agile! The Good, the Hype, and the Ugly, Daniel Mezick’s Agile-Industrial Complex, and my own Fragile Manifesto, it’s easy to conclude the this Agile thing is getting tired. We’re comfortable enough … Continue reading
Applications and Spelling of Boole
While Alan Turing is regarded by many as the grandfather of Artificial Intelligence, George Boole should be entitled to some claim to that epithet too. His Investigation of the Laws of Thought is nothing other than a systematisation of “those … Continue reading