-

Chiron Codex: helping software engineers become centaurs. 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
Support This Site
If you like what I do please support me on Ko-fi
FSF

Category Archives: software-engineering
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”?
I published a new book!
Executive summary: it’s called APPropriate Behaviour, head over to the LeanPub site to check it out. For quite a while, I’ve noticed that posts here are moving away from nuts and bolts code towards questions about evaluating my own performance, … Continue reading
Posted in advancement of the self, books, Business, code-level, Responsibility, software-engineering
Comments Off on I published a new book!
Surprising ARC performance characteristics
The project I’m working on at the moment has quite tight performance constraints. It needs to start up quickly, do its work at a particular rate and, being an iOS app, there’s a hard limit on how much RAM can … Continue reading
Posted in code-level, performance, software-engineering
Comments Off on Surprising ARC performance characteristics
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
An apology to readers of Test-Driven iOS Development
I made a mistake. Not a typo or a bug in some pasted code (actually I’ve made some of those, too). I perpetuated what seems (now, since I analyse it) to be a big myth in software engineering. I uncritically … Continue reading
Posted in books, Responsibility, software-engineering, TDiOSD
Comments Off on An apology to readers of Test-Driven iOS Development
Does that thing you like doing actually work?
Genuine question. I’ve written before about Test-Driven Development, and I’m sure some of you practice it: can you show evidence that it’s better than (or, for that matter, evidence that it’s worse than) some other practice? Statistically significant evidence? How … Continue reading
Posted in advancement of the self, documentation, software-engineering
Comments Off on Does that thing you like doing actually work?
What’s a software architect?
After a discussion on the twitters with Kellabyte and Iris Classon about software architects, I thought I’d summarise my position. Feel welcome to disagree. What does a software architect do? A software architect is there to identify risks that affect … Continue reading
Posted in Responsibility, software-engineering
2 Comments
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