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
On the “advances” in web development since 1995
The first “web application” I worked on was written in a late version of WebObjects, version 4.5. An HTTP request was handled by an “adaptor” layer that chose a controller based on the parameters of the request, you could call … Continue reading
Posted in futurology, WebObjects
1 Comment
When Object-Oriented Programming Isn’t
A problem I was investigating today led me to a two-line Ruby method much like this: class App # … def write_file_if_configured file_writer = FileWriter.new(@configuration.options) file_writer.write if file_writer.can_write? end end This method definitely looks nice and object-oriented, and satisfies many … Continue reading
Two ways of thinking
I’ve used this idea in conversations for years, and can’t find a post on it, which I find surprising but there you go. There are, broadly speaking, two different ways to look at programming languages. And I think that these … Continue reading
Posted in code-level, social-science
Leave a comment
If Object-Oriented Programming were announced today
Here’s an idea: the current backlash against OOP is actually because people aren’t doing OOP, they’re doing whatever they were doing before OOP. But they’re calling it OOP, because the people who were promoting OOP wanted them to believe that … Continue reading
Posted in FP, OOP
Leave a comment
Open Source: because I got mine, so fuck you
The Free Software movement has at its core the idea that people have the freedom to use, study, share, and improve the software on their computers. The modern developer “ecosystem” has co-opted this to create a two-tier society: a developer … Continue reading
Posted in freesoftware
6 Comments
Technical debt and jury service
We have the idea that in addition to the product development backlogs for our teams, there’s an engineering backlog where technical debt paydown, process/tooling improvements, and other sitewide engineering concerns get recorded. Working on them is done in time that … Continue reading
Posted in software-engineering
1 Comment
The worst phrase in software marketing
“Rewritten from the ground up”. Please. Your old version mostly worked, except for those few corner cases that I’d learned how to work around. Now I don’t know whether the stuff that did work does work now, and I don’t … Continue reading
Posted in Business
2 Comments
Culture Smell
A phrase I used in a discussion today. Developers are familiar with “code smells”, aspects of a codebase that aren’t necessarily wrong but do make you take a deeper look. By analogy, a culture smell surprising, but not necessarily wrong, … Continue reading
Posted in Uncategorized
Leave a comment
Literate Programming with LibreOffice
This post comes in the form of an OpenDocumentFormat document containing a program that can extract programs from ODF documents, including the program contained in this document.
Posted in code-level, software-engineering, tool-support
1 Comment
Prototypical object-oriented programming
Some people think that the notion of classes is intrinsic to object-oriented programming. Bertrand Meyer even wrote a textbook about OOP called A Touch of Class. But back in the 1980s, Alan Borning and others were trying to teach object-oriented … Continue reading
Posted in javascript, OOP
1 Comment