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
Dynamic Method Dispatch in Object-Oriented Programming in Functional Programming in Swift
In the previous episode, I said that objects are functions that map their ivars onto methods. However, the objects that I demonstrated in the post were tables, structures of functions that closed over the ivars, like this: struct List<T> { … Continue reading
Posted in FP, OOP
Leave a comment
Object-Oriented Programming in Functional Programming in Swift
The maths behind functional programming predates computers. Once people had some experience with both of these things, they stripped them down and created object-oriented programming. It’s still possible to jettison a lot of the features of functional programming and work … Continue reading
Posted in FP, OOP
5 Comments
Object-Oriented Programming in Objective-C
UIKonf 1995 Keynote : Object-Oriented Programming in Objective-C Introduction Welcome to the keynote for UIKonf 1995. I’m really excited for what 1995 will bring. Customers are upgrading to last year’s OpenStep release, which means that we get to use the … Continue reading
Posted in architecture of sorts, OOP
2 Comments
Did that work? Maybe.
A limitation with yesterday’s error-preserving approach is that it leaves you on your own to recover from problems. Assuming your error definitions are sufficiently granular, this should be straightforward but tedious. Find out what went wrong, recover from it, then … Continue reading
Posted in code-level, OOP
4 Comments
Getting better at doing it wrong
For around a month at the end of last year, I kept a long text note called “doing doing it wrong right”. I was trying to understand error handling in programming, look at some common designs and work out a … Continue reading
Posted in architecture of sorts, code-level, OOP
2 Comments
Hiding behind messages
A problem I think about every so often is how to combine the software design practice of hiding implementations behind interfaces with the engineering practice of parallel execution. What are the trade-offs between making parallelism explicit and information hiding? Where … Continue reading
Posted in architecture of sorts, code-level, OOP
4 Comments
Fun and games (with rewritten rules) in Objective-C
An object-oriented programming environment is not a set of rules. Programs do not need to be constructed according to the rules supplied by the environment. An object-oriented environment includes tools for constructing new rules, and programs can use these to … Continue reading
Posted in code-level, OOP
Leave a comment
Objective-Curry
Sadly it’s not called Schoenfinkeling, but that’s the name of the person who noticed that there’s no reason to ever have a function with more than one argument. What you think is a function with two arguments is actually a … Continue reading
Posted in code-level, Foundation, OOP
1 Comment
A subtle [mis]understanding of monads
As I said when talking about Learning Phases, one of the things that happens when I’m trying to learn a new thing is that I build an analogy in terms of something I do understand. This can be dangerous when … Continue reading
Posted in FP, OOP
Leave a comment
Object-Oriented Programming in 1714
Here are some excerpts from Leibniz’s La Monadologie (specifically from Daniel Garber and Roger Arlew’s English translation in Discourse on Metaphysics and Other Essays). THE MONAD, which we shall discuss here, is nothing but a simple substance that enters into … Continue reading