What's next after OO?
I am surprised Object-Oriented <blank> is still the dominant methodology in computer programming. Is the art of computer programming standing still for the last 20 years? Please enlighten me.
7 comments
Yes, the art of computer programming has been standing still for the last -30- years. Why? The industry got rich and implementation became king.
There's some good work going on here and there. Check out Alan Kay's team at Viewpoint Research and Charles Simonyi's at Intentional Computing. (And yes, these are both PARC guys still carrying the torch.) I also have some exciting discoveries in this area; if you're interested, my email is in my profile.
There's some good work going on here and there. Check out Alan Kay's team at Viewpoint Research and Charles Simonyi's at Intentional Computing. (And yes, these are both PARC guys still carrying the torch.) I also have some exciting discoveries in this area; if you're interested, my email is in my profile.
Event-driven. There's a lot of motion that way - Enterprise (usually across a SOA) as well as application space - look at how D-Bus is used in linux apps. The trend towards real-time data flows (think twitter) will speed this trend up I think. OO might still apply in an implementation, but as an architecture I think it's not always as good as thinking in terms of events.
Actually OO has been superseded by Model Based Software Engineering. Granted the concept of objects remains, but the model is constructed using UML and the tools generate the code. You make changes to the model and regenerate the code. Have a look at http://www.softwarefactories.com/TheBook.html for more details.
MBSE is the competitive advantage of hundreds of companies, but they're keeping it to themselves so as to keep ahead of the competitors who think that C++/Java/C# etc are the answer.
Once models are open sourced, the empires of Microsoft, Oracle, SAP, etc are going to go the way of GM, Chrysler, etc.
MBSE is the competitive advantage of hundreds of companies, but they're keeping it to themselves so as to keep ahead of the competitors who think that C++/Java/C# etc are the answer.
Once models are open sourced, the empires of Microsoft, Oracle, SAP, etc are going to go the way of GM, Chrysler, etc.
I remember seeing these types of model-based stuff back when I was still in college. The appeal is obvious, but how practical and widespread is this? What is the biggest application ever built with this approach?
I think it's a joke. IBM published business models that were supposed to be widely reusable, even between companies. Didn't exactly work out.
Successful projects include telephone switching systems, avionics, most electronics in cars, a lot of process control. Companies generally keep the project details "commercial in confidence".
There was a time, not too long ago, when people was hyping aspect-oriented stuff. I never got a chance to read up on it. Is it a paradigm shift? Or just hype?
Aspect-oriented is interesting and merits reading up on, but really we have to get away from "x-oriented" and more toward, "Here is the code model. How do you want to view it?" We've spent too long bundling relationships and meaning into the structures themselves and it's held us back. The only grievous error I think Alan Kay ever made was coining the term "object-oriented".
If OO is all you think, then OO is all you see. There are many other forms of programming methods that are used (actively).
Those other methods probably just have marketing issues which is why you feel they are not dominant. (Eg I would say that SQL is dominant and not the least bit OO.)
Those other methods probably just have marketing issues which is why you feel they are not dominant. (Eg I would say that SQL is dominant and not the least bit OO.)
Type systems have been getting better - more nuanced, more accurate/helpful static checking, though the mainstream is proving very, very slow to go away from the C model.
[deleted]