Gergő Pintér, PhD
gergo.pinter@uni-corvinus.hu
The object function untangles JavaScript’s constructor pattern, achieving true prototypal inheritance. It takes an old object as a parameter and returns an empty new object that inherits from the old one. If we attempt to obtain a member from the new object, and it lacks that key, then the old object will supply the member. Objects inherit from objects. What could be more object oriented than that?
object-oriented design is the roman numerals of computing
– Rob Pike, creator of Go programming language
The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.
– Joe Armstrong, creator of Erlang programming language
Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
– John Carmack, co-founder of id Software, lead programmer of Doom, Quake, etc.
the increase function depends on the state of the object Something
how to reuse a function that has a hard dependency on an object state?
- Reason 1 - It was thought to be easy to learn.
- Reason 2 - It was thought to make code reuse easier.
- Reason 3 - It was hyped.
- Reason 4 - It created a new software industry.
I see no evidence of 1 and 2. Reasons 3 and 4 seem to be the driving force behind the technology. If a language technology is so bad that it creates a new industry to solve problems of its own making then it must be a good idea for the guys who want to make money.
– Joe Armstrong, creator of Erlang programming language
source: Why OO Sucks by Joe Armstrong
most software developer do not use UML (in a formal way), but hand drawn sketches which often include UML elements [2]
based on PlantUML documentation
a join synchronizes two inflows (waits for the slower)
source: PlantUML documentation