People would hate object oriented design a lot less if it was taught in like year 3 instead of year 1 of computer science because 80% of why people hate it is examples meant to explain it to someone who hasn't coded much before
Like, you shouldn't be introduced to writing your own classes until you've already worked with fetching and writing data to a database at least
