Object-oriented programming as it emerged in Simula 67 allows software structure to be based on real-world structures, and gives programmers a powerful way to simplify the design and construction of complex programs.
Another trick in software is to avoid rewriting the software by using a piece that's already been written, so called component approach which the latest term for this in the most advanced form is what's called Object Oriented Programming.
Object-oriented design is the roman numerals of computing.
The default movement on a software project should be in the direction of taking elements of the software away to make it simpler rather than adding elements to make it more complex.
For me, the concept of design is more than object-oriented; it encompasses the design of processes, systems and institutions as well. Increasingly, we need to think about designing the types of institutions we need to get things done in this rapidly accelerating world.
There are only patterns. Patterns on top of patterns, patterns that affect other patterns, patterns hidden by patterns, patterns within patterns.
There are only patterns, patterns on top of patterns, patterns that affect other patterns. Patterns hidden by patterns. Patterns within patterns. If you watch close, history does nothing but repeat itself. What we call chaos is just patterns we haven't recognized. What we call random is just patterns we can't decipher. what we can't understand we call nonsense. What we can't read we call gibberish. There is no free will. There are no variables.
There's a fundamental problem with how the software business does things. We're asking people who are masters of hard-edged technology to design the soft, human side of software as well. As a result, they make products that are really cool - if you happen to be a software engineer.
The combination of threads, remote-procedure-call interfaces, and heavyweight object-oriented design is especially dangerous... if you are ever invited onto a project that is supposed to feature all three, fleeing in terror might well be an appropriate reaction.
When I design, I always design around denim. I think of designing as a lifestyle. I design for that career oriented girl who will be sitting at an office all day long, but is still going out and being social at night.
Software is a reflection of our own mind. And as our software improves it will not only take on the patterns of our minds more closely, but it will also pick up the energy of our minds; in other words, I think that software is alive.
All knowledge is oriented toward some object and is influenced in its approach by the nature of the object with which it is pre-occupied. But the mode of approach to the object to be known is dependent upon the nature of the knower.
Design, whether it's on your body or in your home, is the same thing. It's mixing different colors, different textures, and unexpected patterns - elements that you wouldn't often put together in an interesting way.
I always choose strong, direct backlighting that creates patterns of intricate abstract shadows. These shadows become strong design elements that lie across and touch other objects in the set up.
Complexity is looking at interacting elements and asking how they form patterns and how the patterns unfold. It's important to point out that the patterns may never be finished. They're open-ended. In standard science this hit some things that most scientists have a negative reaction to. Science doesn't like perpetual novelty.
There are always patterns in everything, there are patterns in books, there are patterns in human behavior, there are patterns in success, there are patterns for everything in life. You just need to pay attention to them.