4 ms·
i hate OO programming because of inheritance. It pissed me off to have to look through layers and layers of parents to search for a method. Stick with good ol'
by keiretsu 19y ago
i hate OO programming because of inheritance. It pissed me off to have to look through layers and layers of parents to search for a method. Stick with good ol' functions for easy debugging.
- palish 19y agoExcept you can't have just functions, because then you end up with a semi-object system anyway. For example, you might have a function "dot" which puts a period at the end of a string, and a function "dot" which returns the dot product of two vectors. The first should be a string method, and the second should be a vector method. Without an object system, you'd call it dot-string and dot-vector, which is okay, but semi-object-oriented. Lisp has something that specializes functions based on its first argument.. That might be useful for that.
- Zak 19y agoCL's generic functions are a bit more sophisticated than just specializing based on the first argument. Peter Seibel's book has a good chapter on them: http://gigamonkeys.com/book/object-reorientation-generic-functions.html http://gigamonkeys.com/book/object-reorientation-generic-functions.html
- asb 19y agoI disagree. A language without OO can allow code to be organised in an intelligent way by providing a module system. See Standard ML as (what I consider to be) a good example of this.
- paul 19y agoSo don't use inheritance. Seriously. Inheritance is annoying, but unnecessary. I generally avoid it. You can still use other parts of OO.
- ralph 19y agoGood advice, but it doesn't help when one's coding in a larger system not just written by oneself. Then there's operator overloading; you can't trust anything to be doing what it suggests in an unknown, or large, codebase. Code readability goes down the pan if too much is hidden by mis-used OO techniques.
- Tichy 19y agoNot all OO languages allow operator overloading.
- aston 19y agoSounds like you need a better IDE. Or grep...
- budu3 19y agoInheritance is helpful in some instances. I can't imagine JUint with inheritance. But it can definitely be misused.