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
In which a life re-emerges
While it’s far from finished, my PhD thesis is now complete: there are no to-do items left, no empty sections, no placeholders. Now the proof-reading, editing and corrections continue in earnest. I look forward to poking my head out of … Continue reading
Posted in academia
Leave a comment
The Cataract of Software Delivery
There’s this paper from August 1970, called Managing the Development of Large Software Systems, that’s considered something of a classic (either for good or for bad, depending on your worldview). The discussion often goes something like this: Let’s say I … Continue reading
Non-standard components
Another day, another exercise from Software: A Technical History… A software engineering project might include both standard and nonstandard engineering components. Give an example of a software engineering project where this would be appropriate. Kim W. Tracy, Software: A Technical History (p. … Continue reading
Specific physical phenomena
Continuing the theme of exploring the exercises in Software: A Technical History: Give an example of a specific physical phenomenon that software dependson in order to run. Can a different physical phenomenon be used? If so, giveanother example phenomenon. If … Continue reading
Related methods and tools
The book Software: A Technical History has plenty of exercises and projects at the end of each chapter, to get readers thinking about software and its history and to motivate additional research. For example, here’s exercise 1 (of 27 exercises … Continue reading
YX problem
Software people are always all up in the XY problem: someone asks about how to do X when what they’re really trying to solve is Y. I find the YX problem much more frustrating: where software people decide that they … Continue reading
Posted in learning
2 Comments
Floating point numbers aren’t weird
When people say “floating point numbers are weird”, they typically mean that the IEEE 754 floating point representation for numbers doesn’t meet their needs, or maybe that it meets their needs but it is surprising in its behaviour because it … Continue reading
Posted in software-engineering
Leave a comment
Still no silver bullet?
In his 1986 article No Silver Bullet—Essence and Accident in Software Engineering, Fred Brooks suggests that there’ll never be a single tool, technique, or fad that realises an order-of-magnitude improvement in software engineering productivity. His reason is simple: if there … Continue reading
Posted in design, software-engineering
3 Comments
On whiteboard coding
Another day in which someone lamented to me the demeaning nature of the interview coding challenge. It is indeed embarrassing, when someone with more than two decades of software engineering experience is asked to complete a gotcha-style programming task under … Continue reading
Posted in whatevs
Leave a comment
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