"The choice of programming language is important because it influences
one's point of view. Our patterns assume Smalltalk/C++-level language features,
and that choice determines what can and cannot be implemented easily. If we
assumed procedural languages, we might have included design patterns called
'Inheritance,' 'Encapsulation,' and 'Polymorphism.'"
albert smith wrote:Since then people used the design patterns in practice instead of theory and they noticed some of them are useless or have better alternatives
Nikhil Jain wrote:Which is the better of the two? I find GOF too hard to understand & the given examples are more mathematical.