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: code-level
Objective-C, dependencies, linking
In the most recent episode of Edge Cases, Wolf and Andrew discuss dependency management, specifically as it pertains to Objective-C applications that import libraries using the Cocoapods tool. In one app I worked on a few years ago, two different … Continue reading
Posted in code-level, tool-support
Leave a comment
Can Objective-C be given safe categories?
That was the subject of this lunchtime’s vague thinking out loud. The problems with categories are well-known: you can override the methods already declared on a class, or the methods provided in another category (and therefore another category can replace … Continue reading
Posted in code-level, OOP
Comments Off on Can Objective-C be given safe categories?
Coupling in a Cocoa[ Touch] App
This is one of my occasional “problem looking for a solution” posts. It’d be great to discuss this over on App.net or G+ or somewhere. I don’t think, at the outset of writing this post, that the last sentence is … Continue reading
Posted in AAPL, code-level, OOP
Comments Off on Coupling in a Cocoa[ Touch] App
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
How to handle Xcode in your meta-build system’s iOS or Mac app target
OK, I’ve said before in APPropriate Behaviour that I dislike build systems that build other build systems: Some build procedures get so complicated that they spawn another build system that configures the build environment for the target system before building. … Continue reading
Posted in code-level, tool-support
Comments Off on How to handle Xcode in your meta-build system’s iOS or Mac app target
Happy Birthday, Objective-C!
OK, I have to admit that I actually missed the party. Brad Cox first described his “Object-Oriented pre-compiler”, OOPC, in The January 1983 issue of ACM SIGPLAN Notices. This describes the Object Oriented Pre-Compiler, OOPC, a language and a run-time … Continue reading
Posted in AAPL, code-level, social-science
Comments Off on Happy Birthday, Objective-C!
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
What happens when you add one to an integer?
It depends. You saw in the previous post that there are plenty of different integer types, some with known sizes and some where the size is set by the implementation. Well for each size of integer type there are two … Continue reading
Posted in buffer-overflow, code-level
Comments Off on What happens when you add one to an integer?
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