Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

ClassBrowser’s public face

I made a couple of things: ClassBrowser discussion list The project website‘s source is now visible and MIT licensed I should’ve done both of these things at the beginning of the project. I believe that the fact I opened the … Continue reading

Posted in Responsibility, software-engineering | Comments Off on ClassBrowser’s public face

Replacing the language

Over the last few years, people have used the ObjC frameworks from TCL, Python, Perl and WebScript, Perl again, Perl, more Python, Ruby, Ruby, Ruby, Ruby, Java, Java, AppleScript, Smalltalk, C++, Pascal, Object Pascal, CLIPS, Common LISP, Nu, Eero, Modula-2, … Continue reading

Posted in code-level | Comments Off on Replacing the language

Laggards don’t buy apps: devil’s advocate edition

Silky-voiced star of podcasts and all-round nice developer person Brent Simmons just published a pair of articles on dropping support for older OS releases. His argument is reasonable, and is based on a number of axioms including this one: People … Continue reading

Posted in Business, Responsibility | Comments Off on Laggards don’t buy apps: devil’s advocate edition

Missing Vital Content

After reading Moderately Valuable Cliché, reader Nicholas Levin got in touch to recommend that I look at the back of my Smalltalk-80 books. Here’s the blue one. The first book mentioned in “Other books in the … Series” is the … Continue reading

Posted in MVC, OOP | Comments Off on Missing Vital Content

Moderately Valuable Cliché

In part 1 of the MVC story, I examined “Thing-Model-View-Editor”, a pattern[*] extracted by Trygve Reenskaug’s work in Smalltalk-76. By the time Smalltalk-80’s hot air balloon set sail from the ivory tower, there was already a structure called Model-View-Controller. Part … Continue reading

Posted in MVC, OOP | Comments Off on Moderately Valuable Cliché

Set the settings set

The worst method naming convention Object-Oriented programming is set{Thing}(). And no, C# doesn’t escape my ire for calling it Set{Thing}(), nor does Smalltalk for calling it {thing}:, though that does handily demonstrate how meaningless set is. OK, so set isn’t … Continue reading

Posted in OOP | Comments Off on Set the settings set

Meaningless Vapid Catchphrase

On the 4th December 2013, I said: Urge to search the archives for papers on Model-View-Controller and write an essay on its ever-changing meaning in programmer discourse. Do you have any idea how much work that is? I do, now. … Continue reading

Posted in MVC, OOP | 2 Comments

The First Flaw

As she left her desk at the grandiosely-named United States Robotics, Susan reflected on her relationship with the engineering team she was about to meet. Many of its members were juvenile and frivolous in her opinion, and she refused to … Continue reading

Posted in Fiction, Responsibility, social-science | Leave a comment

It’s about solving problems

As ever, there’s a touchstone issue on the programmers’ corner of the intarwebs (the programmers’ corner is actually the same intarwebs everyone else is using, just we model it with geometry so it can have a corner). Here it is: … Continue reading

Posted in learning, Responsibility, TDD | Leave a comment

Programming as a societal roadblock

Introduction People who make software are instigators of and obstacles to social interactions. We are secondarily technologists, in that we apply technology to enable and block these transactions. This article explores the results. Programmers as arbiters of death I would … Continue reading

Posted in Responsibility | Comments Off on Programming as a societal roadblock