Should You Use Classes in JavaScript?

Design Expression vs Dogma

Gregory ‘Grey’ Barkans
7 min readNov 6, 2018
“two people drawing on whiteboard” by Kaleidico on Unsplash

The Ubiquity of OOP

Object Oriented Programming (OOP) is without question an important advancement in the design and development of software. In fact languages such as C++ and later Java were developed primarily around the OOP concept of a class[1–2].

For years, Java was the most widely taught language in introductory computer science and was only recently surpassed by Python [3]. However, OOP and in particular classes are nearly always taught regardless of the language— it’s rather that the multi-paradigm approach of Python can be used to simplify introductory concepts that can be implemented procedurally.

Thus, OOP is ubiquitous and often certain techniques or features such as class are associated to the very foundations of computer science. However by making such a strong association, we may inadvertently produce a dogmatic environment. Indeed, to many programmers who start with Java, it can almost seem like class and similar constructs are inherent to programming, when in fact they are not.

Such dogma is only avoided when we make clear why OOP was developed and what problems it solves. We have to remain cognizant that while it is useful in many cases, it is not a silver bullet [4].

--

--

Gregory ‘Grey’ Barkans

I’m a software engineer between Hamont ← → ATX that’s mainly interested in technology and philosophy. I used to spin DJ mixes as well. vapurrmaid.ca