- Jul 19, 2021
I have a programming question / discussion. It pertains to both object oriented languages and assembly. The idea of it is: do modern operating systems like linux and windows have design patterns. I have recently been digging into the gang of four design patterns. For those not familiar design pattern they are just ways of thinking about how software is built. The first pattern I learn, about six years ago, is called a singleton, the “single” part means that a particular object can be instantiated only once. As only one instance is needed and often a reference to that one object instance is given when the object is needed. The gang of four books groups them into three categorizes: creational, structural and behavioral. I am sure there is a wikipedia. They make a lot of sense to me, especially if one wants to understand new APIs and software that they can not fully familiar with and wrote understandable good code. I guess my basic question is do modern operating system make use of design pattern in roughly the way the gang of four book describes them. I would think that even something like a memory manager or however processes are handled would have patterns. Even the idea of a library that is used dynamically seems like it would be a pattern of some kind, so both linux and windows do that. I am not sure if they can be approximated to gang of four patterns. I was also wondering if Steve thinks in terms of patterns when he codes. I know when I was working on an Angular front end a few years ago, I was studying patterns at home at the same time and when I learned of Observables in Angular/RxJS, I was like hey I think it is named after it’s pattern. I know operating systems are not always object oriented and as an assembly programmer, I am not sure if Steve makes code that could be understood as object oriented. Assembly certainly is not when presented to a beginner.