Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

71%
+3 −0
Q&A Why object-oriented instead of class-oriented?

As with anything computer science-related that dates back to the 1960s and 70s, things just happened at a whim. Everything was new and highly experimental back then. Nobody knew how to write or des...

posted 2y ago by Lundin‭

Answer
#1: Initial revision by user avatar Lundin‭ · 2022-01-28T12:47:24Z (over 2 years ago)
As with anything computer science-related that dates back to the 1960s and 70s, things just happened at a whim. Everything was new and highly experimental back then. Nobody knew how to write or design programs the best way, how to organize them or what coding styles that were most readable. The whole field of computer science had just been invented. 

According to wikipedia the name of the term "class" probably originates from the Simula language, which is a very old experimental one from 1960s. 

Notably "class", "object" and "instance" are in themselves very broad and fuzzy words that in a general English context could mean anything. As are "variable", "structure", "subroutine", "function", "member", "property", "encapsulation" and so on. The pattern is clear: these are all originally incredibly vague and nondescript terms.

So basically someone back in the 1960s or so just picks a name for some term and then it sticks. It is not based on some deeper far-sighted rationale regarding how computer programs would be designed in the distant future, 60 years later. Actual object-orientation as we know it didn't really emerge until the 1980s-1990s, and when it did, it used already existing terms.