-

Chiron Codex: helping software engineers become centaurs. 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
Support This Site
If you like what I do please support me on Ko-fi
FSF

Author Archives: Graham
On null
I’ve had an interesting conversation on the topic of null over the last few days, spurred by the logical disaster of null. I disagreed with the statement in the post that: Logically-speaking, there is no such thing as Null This … Continue reading
“Brand”: you win some, you lose some
The 20th anniversary of the iMac reminded me that while many people capitalises the word “iMac” as Apple would like, including John “I never capitalise trademarks the way companies like” Gruber, nobody uses the article-less form that Apple does: So … Continue reading
Posted in AAPL
Leave a comment
Let’s talk about self-documenting code
You think your code is self-documenting. That it doesn’t need comments or Doxygen or little diagrams, because it’s clear from the code what it does. I do not think that that is true. Even if your reader has at least … Continue reading
Rethinking Object-Oriented Design figures
My iPad-drawn graphics in Rethinking OOD at App Builders 2018 were not very good, so here are the ink-and-paper versions. Please have them to hand when viewing the talk (which is the first of a two-parter, though I haven’t pitched … Continue reading
Posted in OOP, Talk
Leave a comment
Inheritance still doesn’t make any sense
Some ideas based on feedback to the Why inheritance never made any sense: Feedback: Subtypes are necessary The only one of these that is practically workable is behaviour inheritance <=> subtype inheritance: I’m sorry that you were exposed to Java … Continue reading
Posted in OOP
Leave a comment
Subatomic Chocolate
This started out as a toot thread, but “threaded tooting is tedious for everybody involved” so here’s the single post that thread should have been. The “Electron vs. native” debate doesn’t make much sense. I feel like I’ve been here … Continue reading
Posted in UI
Leave a comment
What’s better than semver?
Many software libraries are released with version “numbers” that follow a scheme called Semantic Versioning. A semantic version is three numbers separated by dots, of the form x.y.z, where: if x is zero, all bets are off. Otherwise; z increments … Continue reading
Posted in software-engineering
4 Comments
What Lenin taught me about software movements
In What is to be done?: Burning Questions of our Movement, Lenin lists four roles who contribute to fomenting revolution – the theoreticians, the propagandists, the agitators, and the organisers: The theoreticians write research works on tariff policy, with the … Continue reading
Posted in whatevs
Leave a comment
Why inheritance never made any sense
There are three different types of inheritance going on. Ontological inheritance is about specialisation: this thing is a specific variety of that thing (a football is a sphere and it has this radius) Abstract data type inheritance is about substitution: … Continue reading
In defense of `id`
Something you can’t see about my dotSwift talk on OOP in FP in Swift is that to make the conference more interesting while the AV was set up for the next speaker, Daniel Steinberg invited me over to a side … Continue reading
Posted in code-level, OOP
Leave a comment