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: software-engineering
On designing collections
Introduction This post explores the pros and the cons of following the design rule “Objects responsible for collections of other objects should expose an interface to the collection, not the collection itself”. Examples and other technical discussion is in Objective-C, … Continue reading
Posted in Foundation, OOP, software-engineering
Comments Off on On designing collections
On rewriting your application
I’m really far behind on podcasts. I have a long commute, and listen to one audiobook every month, filling the slack time with a selection of podcasts. It happens that between two really long books (Cryptonomicon by Neal Stephenson and … Continue reading
Posted in Business, software-engineering
Leave a comment
A two-dimensional dictionary
What? A thing I made has just been open-sourced by my employers at Agant: the AGTTwoDimensionalDictionary works a bit like a normal dictionary, except that the keys are CGPoints meaning we can find all the objects within a given rectangle. … Continue reading
Posted in code-level, iPad, iPhone, Mac, OOP, performance, software-engineering
Comments Off on A two-dimensional dictionary
The Liskov Citation Principle
In her keynote speech at QCon London 2013 on The Power of Abstraction, Barbara Liskov referred to several papers contemporary with her work on abstract data types. I’ve collected these references and found links to free copies of the articles … Continue reading
Posted in code-level, documentation, OOP, software-engineering, Talk
2 Comments
When all you have is a NailFactory…
…every problem looks like it can be solved by configuring a different nail. We have an obsession with tools in the software industry. We’ve built tools for building software, tools for testing software, tools for recording how the software is … Continue reading
Posted in advancement of the self, software-engineering
Comments Off on When all you have is a NailFactory…
Does the history of making software exist?
A bit of a repeated theme in the construction of APPropriate Behaviour has been that I’ve tried to position certain terms or concepts in their historical context, and found it difficult, or impossible to do so with sufficient rigour. There’s … Continue reading
Posted in advancement of the self, books, OOP, social-science, software-engineering
Comments Off on Does the history of making software exist?
An observation designed to aid the reading of books on software
Wherever a book on writing software describes the 1968 NATO conference in Garmisch on Software Engineering, consider whether the clarity of the argument can be improved by adding the following parenthetical clause: […], a straw man version of an otherwise … Continue reading
Posted in books, software-engineering
Comments Off on An observation designed to aid the reading of books on software
Retiring the “Apple developers are insular” meme
There’s an old trope used in discussions of Mac and iOS developers, that says they’re too inward-looking. They only think about software in ways that have been “blessed” by Apple, their platform vendor. I’m pretty sure that I’ve used this … Continue reading
Posted in advancement of the self, code-level, Responsibility, software-engineering
Comments Off on Retiring the “Apple developers are insular” meme
Server-side Objective-C
Recently, Kevin Lawler posted an “Informal Technical Note” saying that Apple could clean up on licence sales if only they’d support web backend development. There are only two problems with this argument: it’s flawed, and the precondition probably won’t be … Continue reading
Posted in code-level, OOP, server, software-engineering, WebObjects
Comments Off on Server-side Objective-C
Can code be “readable”?
Did Isaac Asimov write good stories? Different people will answer that question in different ways. People who don’t read English and don’t have access to a translation will probably be unable to answer. People who don’t like science fiction on … Continue reading
Posted in code-level, software-engineering
Comments Off on Can code be “readable”?