A lot of the ideas about OO that are mentioned in Mr Scalfani’s essay were pushed and popularized by academic materials for teaching Java and C++ as first languages; to the extent that they are true in those languages, they are mostly true of toy examples. These materials hammer home these benefits as ideals while also pushing OO as a panacea, & are aimed at naive beginners, who lack the experience to argue coherently against them.

Using OO when and where it is appropriate, and using languages like Smalltalk that do OO ‘right’, is fine. It’s not fine to tell 15 year old newbies that OO is the best tool for every job, and that all Java code is OO — and that’s what practically every introductory Java textbook will do, because it’s literally part of the standardized APCS curriculum & part of the accreditation process for university computer science programs.

It’s not that OO should be attacked because it’s inherently terrible. Instead, there’s a fantasy idea of OO promoted by a whole industry, and that fantasy needs to be attacked because it is systematically producing incompetent programmers who write bad code.

Written by

Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software. http://www.lord-enki.net

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store