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
Your build needs to be better
I’ve said it before, build systems are a huge annoyance. If your build is anything other than seemingly instantaneous, it’s costing you severe money. Your developers are probably off reading HN, or writing blog posts about how slow builds cost … Continue reading
Posted in architecture of sorts, code-level, tool-support
Leave a comment
Working Effectively with Legacy Code
I gave a talk to my team at ARM today on Working Effectively with Legacy Code by Michael Feathers. Here are some notes I made in preparation, which are somewhat related to the talk I gave. This may be the … Continue reading
Posted in advancement of the self, books, code-level, learning, software-engineering, TDD
Leave a comment
Build systems are a huge annoyance
Take Smalltalk. Do I have an object in my image? Yes? Well I can use it. Does it need to do some compilation or something? I have no idea, it just runs my Smalltalk. Take Python. Do I have the … Continue reading
Posted in code-level
Leave a comment
The package management paradox
There was no need to build a package management system since CPAN, and yet npm is the best. Wait, what? Every time a new programming language or framework is released, people seem to decide that: It needs its own package … Continue reading
Apple’s Best Programming Language
My talk at App Builders 2016 was on Apple’s best programming language. Spoiler alert: it’s Dylan. Or is it? I chose a few properties one might wish to find in programming languages, then demonstrated how these were all present in … Continue reading
Posted in code-level, Uncategorized
1 Comment
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
An acceptable tool It’s easy to forget that adequacy is, well, adequate. It’s easy to go all-in on making some code structure perfect, when good enough would be good enough.
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