OOPSLA started with a mission to develop, nurture, and promote Object Oriented programming. Over the past 20 years OOPSLA has been the incubator for many technologies. These successful children have grown up and moved out. Technologies like UML, Java, Frameworks, Component development, Patterns, Extreme Programming, and so on all have their roots in OOPSLA. OOPSLA now needs a new mission, to nurture new children. But is it still young enough to have more children? I say yes!
To have more children do we need a conference of 2000+ attendees? Again, I say yes. Anything less would not have critical mass. Who would these people be? It is not feasible to expect all academics at this level, which means the attendees would have to include a significant number of practitioners as well. I believe these practitioners fall into three communities:
At first we discussed the idea that the crowds and the money is in the third community, but then we realized that the value of OOPSLA in the past has been the attractiveness of the program to all three! This would make for a completely different sort of conference. One with one-stop shopping for these communities.
So what is a compelling mission to attract these crowds?
We talked about how to be attractive compared to JavaOne, Microsoft conferences, and similar. But this direction of competing with these types of conferences will lose the academics and the serious technical community. I want OOPSLA to retain its technical merit and reputation.
We looked back at the roots of OO and the evolution of computer languages. All the computer languages since assembler languages have always been moving away from the Turing machine and closer to the problems trying to be solved. Fortran was written for mathematics and formula translation. Simula was developed for simulation problem. Smalltalk tries to model the world and the problem through objects. Henry has always viewed application design as a modeling exercise and has always professed that the OO paradigm, and objects in particular, has the most natural support for models.
This is when, over a glass of sauterne, I described to Henry, a lapsed OOPSLA attendee, what I knew about Model Driven Architecture (MDA). And that is when the lightbulbs started to flash. OO has been the evolution of better and better modeling, from Simula to Smalltalk. MDA is the next logical step. MDA is the way to go!
Ron, you had it right all along! We just didn’t understand in 2003.
OOPSLA’s mission hasn’t really changed then, it is still to develop and promote a programming paradigm that is more concerned about modeling than about making efficient use of hardware. Remember, the holy grail of research in computer science is to not need programming experts at all and for the business users to be able to tell the computer what they need in their own language. A worthwhile step on this path would be to have pair programming of a developer with a business domain expert. And MDA seems like it could head in this direction.
OOPSLA’s mission for the next 5 years should involve publishing research about the theoretical foundations of MDA, publishing practitioners’ experiences in using MDA, debating the merits of different approaches to MDA at panels, teaching MDA at tutorials, having workshops that foster and develop MDA ideas, and experimenting with MDA at DesignFest.
This mission would:
--GH (Gail Harris)
Gush! a New Mission, To Boldly Go, etc.
We do need to keep OOPSLA as the premier place to publish, talk, or hang out about:The idea of a new mission is to have a single statement that encompasses all of the stuff on the list from James. Perhaps MDA is not quite all encompassing, but I would suggest that pulling together a list would not achieve the goal.
Now that I've had a chance for "sober second thought" ;-) perhaps the mission is more like "Model Based Programming" and MDA is just a part of that, as is UML and Patterns and Aspects and other stuff.
-- GailHarris
So, are you agreeing that OOPSLA is OntologicallyOriented?
--RalphJohnsonI can't say for certain, because I don't really understand what is meant by that term. --GailHarris
Gail, you may be onto something, but it doesn't sit quite right yet. "Model Based Programming" feels closer than MDA, but what problem does it purport to solve? To me, it's all about creating software that effectively solves a problem for a user; makes life easier for them.
I still remember Christopher Alexander's keynote, where he noted that software developers have the ability to really change the world, and he challenged us to improve the world. We haven't risen to the challenge.
Creating software that really meets users needs is something we sorely need in the world. Model Based Programming might (or should) be part of that, as might patterns, aspects, and so on.
--Cecilia Haskins
I agree with Neil that it's all about solving a problem for a user, but that problem includes how much it costs. The next evolution or revolution in programming still needs to reduce the cost to deploy working systems. I have a gut feeling that model based programming can do that. It seems to me that in some way models are to (object oriented) languages what (oo) languages are to assembly languages.
--GailHarrisIf one is after a mission, then perhaps looking to a quote from Antoine de Saint-Exupery might be helpful: "Perfection is attained, not when there is nothing left to add, but when there is nothing left to take away. At the end of its evolution the machine disappears." It is normally the first sentence that gets quoted, but the punchline is in the second sentence. This disappearance of mechanism can be seen to apply either to OOPSLA (a graceful exit as it leaves the stage) or to what OOPSLA should focus on (good design, whether of software or software tools, is invisible).