In 2018, I wrote this essay for a software development course.
Excerpt:
Object-oriented programming is a methodology for the design and writing of software with object-oriented languages such as Smalltalk, C++ and Java. Improvements in object-orientation have brought about the wide use of classes, subclasses and types, along with object-oriented design’s principles, strong type checking and garbage collection—all of which allow programmers to produce high-quality programs with less redundancy and unwieldy complexity in a shorter span of time than previously possible.