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
Author Archives: Graham
Further Advances in Objective-Swift
Previously on SICPers, I defined objects as functions that return methods and built dynamic method dispatch in this object system. It’s time to tie up some loose ends. Proper selectors In languages like Smalltalk and Objective-C, an object’s range isn’t … Continue reading
Posted in FP, OOP
Leave a comment
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
I agree with this, programming is not a craft by Dan North. So here’s my concern with the idea of Software Craftsmanship. It’s at risk of letting programmers’ egos run riot. And when that happens… well, the last time they … Continue reading
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
Ch-ch-ch-ch-changes
It’s been almost a year since my first day at Facebook, sitting in an overcrowded meeting room with my bootcamp class because 42 Earlham Street was full and it’d be another week before we moved to 10 Brock Street, with … Continue reading
Posted in Uncategorized
Leave a comment
A kata above
The code kata is a method software craftspeople use to practice their craft. The idea is that you take a problem you understand, like FizzBuzz or Conway’s Life, and build an application that implements it. Then build another one. And … Continue reading
Posted in advancement of the self
Leave a comment
In The Design of Design, Fred Brooks makes an interesting point about ESR’s description of the Bazaar model of Linux (and, by extension, “Open Source”) development. Linux was actually designed in a cathedral. The design was supplied by Unix, where … Continue reading