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
Category Archives: design
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
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
On or Between
The new way to model concurrency is with coroutines (1963), i.e. the async/await dance or (building upon) call-with-concurrent-continuation. The new new way is with actors (1973), and the old and busted ways are with threads (1966), and promises (1976). As … Continue reading
Software design is refinement, not abstraction
James Koppel tells us that software engineers keep using the word “abstraction” and that he does not think it means what they think it means. I believe that he is correct, and that the confusion over the term abstraction comes … Continue reading
Falsehoods These Programmers Believed About Countries
Well this was a hard-fought issue. Setting the scene: since April 2020 I’ve been working on Global.health: a Data Science Initiative, where we collate information about Covid-19 cases worldwide and make them available in a standard schema for analysis. In … Continue reading
In which I misunderstood Objective-C
I was having a think about this short history of Objective-C, and it occurred to me that perhaps I had been thinking about ObjC wrong. Now, I realise that by thinking about ObjC at all I mark myself out as … Continue reading
Posted in cocoa, design, freesoftware, gnustep, nextstep, objc
Tagged History of Software Engineering
1 Comment
On UML
A little context: I got introduced to UML in around 2008, at an employer who had a site licence for Enterprise Architect. I was sent on a training course run by a company that no longer exists called Sun Microsystems: … Continue reading
Posted in agile, architecture of sorts, design, software-engineering, sunw, tool-support
Tagged History of Software Engineering
2 Comments
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
On the tyranny of autoincrementing integer primary keys
In designing a relational database schema, many people will automatically create a column id integer primary key for every table, using their database’s automatic increment feature to assign a new value to each row they insert. My assertion is that … Continue reading
Posted in design
Leave a comment
Zen and the Art of Software Maintenance
In one part of the book Zen and the Art of Motorcycle Maintenance, which is neither about Zen nor motorcycle maintenance, there are two motorcycles and two riders. John Sutherland is a romanticist who appreciates the external qualities of his … Continue reading
Posted in architecture of sorts, design
Leave a comment