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: OOP
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?
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
Object-Oriented callback design
One of the early promises of object-oriented programming, encapsulated in the design of the Smalltalk APIs, was a reduction – or really an encapsulation – of the complexity of code. Many programmers believe that the more complex a method or … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Object-Oriented callback design
Inheritance is old and busted
Back when I started reading about Object-Oriented Programming (which was when Java was new, I was using Delphi and maybe the ArcGIS scripting language, which also had OO features) the entire hotness was inheritance. Class hierarchies as complicated as biological … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Inheritance is old and busted
On Null Objects
I’ve said before, NSNull is an anti-pattern. It’s nice that we have the nil object, which allows us to have a stand-in for any object that doesn’t do anything. Unfortunately, it’s not a universal stand-in. You can’t add nil to … Continue reading
Posted in code-level, OOP, software-engineering
3 Comments
On community
This is a post that had been boiling for a while; I talked a little about the topic when I was in Appsterdam earlier this year, and had a few more thoughts which were completely supplanted and rearranged by watching
Posted in AAPL, advancement of the self, books, Business, iDeveloper.TV, iPhone, Mac, NSConf, OOP, Responsibility, software-engineering, Talk, WebObjects
Comments Off on On community
Coding. Standards.
I just realised that this month marks the 10th anniversary of my first payment for writing software (on, of all the weird things to be writing software on in 2002, a NeXTstation)! What have I learned from those ten years? … Continue reading
Posted in advancement of the self, Business, code-level, OOP, software-engineering
2 Comments
Objective-C literals and subscripts
If you’re using clang from their website instead of sticking with Apple’s release, you get support for Objective-C literals and object subscripting. I thought I’d take the BrowseOverflow app and apply this new syntax to it. Notice that the code … Continue reading
Posted in code-level, OOP
2 Comments
Software-ICs and a component marketplace
In the previous post, I was talking about Object-Oriented Programming, an Evolutionary Approach. What follows is a thought experiment based on that. Chapter 6 of Brad Cox’s book, once he’s finished explaining how ObjC works (and who to buy it … Continue reading
Posted in Business, code-level, OOP
Comments Off on Software-ICs and a component marketplace
Comparing Objective-C and Objective-C with Objective-C
A while back, I wrote an object-oriented dispatch system for Objective-C. It defines only three things: an object type (the BlockObject), a way to create new objects (the BlockConstructor), and a way to message objects (the dispatch mechanism). That’s all … Continue reading
Posted in code-level, OOP, software-engineering
Comments Off on Comparing Objective-C and Objective-C with Objective-C