Object oriented design patterns in the Linux kernel (2011)
125 points by archermarks 1 year ago | 7 comments- svag 1 year agoThis is the second part https://lwn.net/Articles/446317/
- discreteevent 1 year agoSee also:
The Power of Interoperability: Why Objects Are Inevitable
- rramadass 1 year agoNice!
A pretty good paper to point people to when they mouth inanities like "OOD/OOP are bad-ideas/dead" etc. This sort of negative cargo-culting has now gotten so out of hand that you have new programmers today not wanting to learn classic OO design/techniques. They merely parrot what they had read somewhere (usually some abuse of OO inheritance techniques) without thinking/learning for themselves and thus throw the "baby out with the bathwater". The OO paradigm has been the single most effective imperative model for "programming-in-the-large" which has directly led to explosion in the software industry as it is today.
- hi-v-rocknroll 1 year agoThe valuable parts are strong typing, code reuse, and sometimes metaprogramming.
Many modern languages include many OO features but don't advertise them as such because too often it induces a religious reflex, like shouting "socialism" in America.
- rramadass 1 year agoThe OO paradigm is much more fundamental and natural to the way we think of and model Domain Concepts/Objects. I remember studying fundamental techniques like CRC(Classes/Responsibilities/Collaborations), Commonality/Variability Analysis, Rumbaugh's OMT etc. and thinking how natural it felt to model domain concepts directly in code. People seem to have forgotten all that and only focus on fads/acronyms like Patterns/SOLID etc. without really understanding how they came about and what their nuances are. The result is that people don't think through their analysis/design but merely follow a cookie-cutter approach popularized by some self-aggrandizing author and when things fail blame the OO approach.
- rramadass 1 year ago
- hi-v-rocknroll 1 year ago
- fulafel 1 year agoIf anyone read this in detail: does it bring up cases that OO covers better than other ways of interoperability/interfaces in statically typed systems, eg Go's structural typing or fanciel module systems (eg Ocaml)?
Though it also talks about dynamic systems like Smalltalk and GTK+, not sure if the comparison should be to statically typed languages.
- rramadass 1 year ago
- brcmthrowaway 1 year agoA good catalogue!
- 1 year ago