I realize that the title of this post is likely to generate a lot of noise, but it’s a subject I have been thinking about for much of the last two decades. Over ten years ago, I wrote a post questioning the everything is an object approach several languages seemed to be taking. That post came out of a series of articles about programmers latching on to a new paradigm and ignoring all knowledge that came before. (See my Programming Paradigms series to get a feel for some of my early thoughts.)
This topic was brought to mind again when I stumbled across a couple of videos by Brian Will from 2016: Object-Oriented Programming is Bad and Object-Oriented Programming is Embarrassing: 4 Short Examples. Although the titles of the videos seem geared to really upset some people, many of the points he makes are good ones. If you have never programmed in anything but the Object Oriented paradigm, you owe it to yourself to watch what he has to say and consider his points.
One thing worth noting is that Brian Will does not completely throw out all of Object Oriented programming. He does point out some places where objects might be useful. But, given that objects are the dominant paradigm, the only way to get people to consider scaling back is to push back pretty hard. I don’t expect Will’s videos to completely change anyone’s understanding of programming, but they do provide a counter-point to current orthodoxy.
If you’ve ever had a sneaking suspicion that objects don’t solve every problem, these videos might help you solidify that thought. If you are absolutely convinced that objects are the only way to program, these videos might make you consider a different viewpoint.