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
Author Archives: Graham
On software engineering hermeneutics
When I use a word it means just what I choose it to mean — neither more nor less. Humpty-Dumpty in Alice through the Looking Glass In my recent round of TDD clarifications, one surprising experience is that folks out … Continue reading
On rational myths
In my research field, one characteristic of institutions is their “rational myths”; ideas that people tell each other are true, and believe are true, but which are under-explored, unverified, and under-challenged. Belief in these myths leads to supposedly rational actions … Continue reading
Posted in academia, social-science, software-engineering
4 Comments
We shall return one day
On this day 80 years ago, 16th November 1943, the villagers of Tyneham near Lulworth was evacuated to allow Allied military forces to prepare for D-Day. Despite promises that the evacuation was temporary, the UK lurched directly from the second … Continue reading
In which things are given names
I recently joined in a very interesting discussion with some of my peers on the thorny subject of naming variables in programs. The core question was whether it’s OK to give a variable a temporary name while you’re still working … Continue reading
Posted in code-level
1 Comment
I’ve vastly misunderstood the Single Responsibility Principle
So have a lot of other people; my understanding of it accords with much writing I’ve seen about the principle on the web, and elsewhere. For example, in Michael Feathers’ “Working Effectively with Legacy Code”: Every class should have a … Continue reading
Programming, language
Programming languages represent two things: programming, and language. Programming languages were previously designed very much with the former in mind. For Algol-style, imperative languages, design followed one of a few, mathematically-led approaches: Other semantics are available: for example if you … Continue reading
Posted in tool-support
Leave a comment
I was wrong, 80 characters is fine
Do you remember when I said, in my 2019 post Why 80?, that “80 characters per line is a particular convention out of many that we know literally nothing about the benefit or cost of, even today”? Today I saw … Continue reading
Posted in design
5 Comments
Re-evaluating second brains
Because my undergraduate Physics teaching drilled into me the importance of keeping a lab book, I’ve always kept notebooks throughout my professional career too. If I want to know (and I’m not sure why I would) what process I created … Continue reading
Type safety, undefined behaviour, and us
There appears to be a shift towards programming languages that improve safety by providing an expressive type system, automatic memory management, and no gaps in the specification that lead to “undefined behaviour”. If your program is consistent with the logic … Continue reading
On legitimacy and software engineering
More than 400,000 software engineers have lost their jobs in the last couple of years, I wouldn’t be surprised if it’s really significantly more than half a million as some won’t have been documented anywhere that the tracker project saw. … Continue reading
Posted in academia, software-engineering
Leave a comment