Update
This commit is contained in:
parent
77b18c33d8
commit
ca6a66554f
25 changed files with 100 additions and 21 deletions
2
oop.md
2
oop.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
*"I invented the term 'object oriented' and [C++](cpp.md) was not what I had in mind"* --[Alan Kay](alan_kay.md), inventor of OOP
|
||||
|
||||
Object-oriented programming (OOP, also object-obsessed programming and objectfuscated programming) is a [programming paradigm](paradigm.md) that tries to model reality as a collection of abstract objects that communicate with each other and obey some specific rules. While the idea itself isn't bad and can be useful in certain cases, **OOP has become extremely overused, extremely badly implemented and downright forced in programming languages** which apply this [abstraction](abstraction.md) to every single program and concept, creating [anti-patterns](anti_pattern.md), unnecessary issues and of course [bloat](bloat.md). We therefore see OOP as a **[cancer](cancer.md) of software development**.
|
||||
Object-oriented programming (OOP, also object-obsessed programming and objectfuscated programming) is a [programming paradigm](paradigm.md) that tries to model reality as a collection of abstract objects that communicate with each other and obey some specific rules. While the idea itself isn't bad and can be useful in certain cases, **OOP has become extremely overused, extremely badly implemented and downright forced in programming languages** which apply this [abstraction](abstraction.md) to every single program and concept, creating [anti-patterns](anti_pattern.md), unnecessary issues and of course [bloat](bloat.md). We therefore see OOP as a **[cancer](cancer.md) of software development**. Many others oppose it, e.g. [Bitreich](bitreich.md) voice criticism in their manifesto, saying we rather need a *subject oriented programming*; the idea of OOP being real bad is leaking even into the mainstream so it's becoming less and less controversial to shit on it.
|
||||
|
||||
Ugly examples of OOP gone bad include [Java](java.md) and [C++](cpp.md) (which at least doesn't force it). Other languages such as [Python](python.md) and [Javascript](javascript.md) include OOP but have lightened it up a bit and at least allow you to avoid using it.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue