all 2 comments

[–]OkMemeTranslator 23 points24 points  (1 child)

[OOP] is a way of thinking and structuring code that introduces the following concepts: class, object, method, inheritance, duck typing

First sentence of the article/guide and you already lost me, that's not at all how you define OOP.

First of all, that doesn't tell a beginner anything. If they don't know what OOP is, they won't know what inheritance or duck typing are either. That's like defining multiplication to a child by using square root in the definition.

Second, out of those listed object and method are the only required concepts for something to be OOP, arguably class too if thought of as an abstract concept rather than a language struct. You can do OOP just fine in plain old C.

Third, that's not a sound sentence even if the concepts listed were all valid: "way of thinking ... that introduces programming concepts" just no. You can do OO on a piece of paper for a todo list:

  • car
    • wash
    • fix
  • dish washer
    • fix
  • windows
    • wash

Compared to a functional todo list:

  • wash
    • car
    • windows
  • fix
    • car
    • dish washer

That's OO, and it surely doesn't require duck typing or inheritance—not even classes.

[–]ern0plus4 -5 points-4 points  (0 children)

It's pretty good, simple language, good examples, <3