Add yet more shit
This commit is contained in:
parent
e9938bef60
commit
f2a25dcf9a
3 changed files with 13 additions and 4 deletions
2
oop.md
2
oop.md
|
@ -1,5 +1,7 @@
|
|||
# Object-Oriented Programming
|
||||
|
||||
*"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) 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 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.
|
||||
|
||||
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