|
|
November 2003
Introduction
OOPSLA (conference on Object-Oriented Programming, Systems, Languages, and Applications) is the
"grand daddy" of conferences that bring together advanced developers and pragmatic researchers. About one thousand attendees came, which was fewer than last year. Undoubtedly, the raging wild fires (on Sunday the air
outside was thick with smoke), the competing Microsoft PDC conference, and low IT budgets contributed to
the reduced size.
OOPSLA brings together leading practitioners and academics and offers a wide range of events
(research papers and workshops, tutorials, demos, design fests, and panels). It was great to see collaboration and communication between industry and academia, and to see and speak with so many "gurus". This report summarizes
the week's events.
Agile Methods
The conference had a track for agile methods, with a general consensus amongst attendees in favor of this approach.
Almost half of all the panels and one third of tutorials were about agile topics. The track
addressed effective techniques and how "extreme" to be.
The packed room for the panel on Test Driven Development was representative. It was interesting to
hear differing perspectives on whether TDD designs are more likely to result in dead ends.
Kent Beck (the inventor of eXtreme Programming)
noted that "the simplest thing that can possibly work" didn't mean to become naive and that it's
important to build representative tests first, not simple ones. Barry Boehm (Director, USC Center for Software Engineering) claimed that this was a
risk for non-functional requirements (e.g., scalability), and implied that TDD should be
complemented with some top-level design. Another interesting theme was the
idea that one can also test too much and the diversity of testing approaches advocated (such as FIT, test harnesses, visual test tools, even having QA write unit tests).
Emerging Trends
There were a number of topics relating to Aspect-Oriented Programming; there were tutorials on
introductory, hands-on, and more advanced enterprise uses of AspectJ. There were also workshops,
demos, research topics, and a practitioner's report (of which I was one of the authors) about
incremental adoption of AspectJ for a middleware product line at IBM. More generally, aspects were
referenced and discussed as a trend in a variety of other topics, including domain-specific aspect
languages (e.g., XAspects from Macneil Shonle et al.).
Domain-Driven Development and Model Driven Architecture
There was a conference track devoted to
Domain-Driven Development (3D). Many contributors investigated the use of transformations to generate
programs from domain-specific models. David Thomas and Brian Barry of Bedarra introduced
"domain-oriented programming", an alternative for creating languages accessible to domain experts.
There were several related sessions on model-driven architecture (MDA). A panel discussion featured
an interesting series of exchanges between David Thomas and the other panelists, with David Thomas
(and audience members including Martin Fowler) questioning the applicability, expressiveness,
and platform independence of MDA in general and UML in particular.
Another thread looked at how human psychology can make better programming languages. Crista Lopes and others argued for "naturalistic programming." The talk looked at how to create more expressive AOP and
promised more natural ways of referring to objects and exceptions in programs. A keynote from Dave
Ungar argued the case for the Self programming
language which he co-invented in the 1980's. In both cases, the speakers discussed
how people read and reason about concepts and suggested language improvements. There were also topics
on more resilient programs using acceptability-oriented computing and automated error repair.
Mainstream Technologies
The most visible technology trend was the dominance of Eclipse. It was widely used by attendees and there were a
wide variety of interesting plug-ins demonstrated, ranging from a collaboration environment to visualizing behavior of other plug-ins. Some of the work had been funded by Eclipse research grants. The Eclipse consortium was highly visible at the conference,
from giving all attendees a copy of "Contributing to Eclipse", to teaching how to create plug-ins,
and holding a variety of special events which included three receptions.
Java and .NET
Java was the most commonly used technology by presenters and attendees. From keynotes
to tutorials, Java and J2EE were widely discussed at OOPSLA. There were papers about JSPs (in Domain-driven development) and how Tomcat was a
motivator for MJ, a module definition and linking language for Java. However, there was an
increasing interest in .NET and C# at the conference, such as in the Enterprise Integration Patterns
tutorial, especially given that the Microsoft PDC was occurring concurrently.
Service-oriented architectures (Web services) and open source were less visible than at industry
conferences, but both of these topics were featured in two of the conference keynote addresses. On
Tuesday morning, Lawrence Lessig (Professor of Law at Stanford) talked about the importance of "free culture". He described how
recent expansions to the rights of copyright holders will hurt innovation and how people can
effectively change the status quo by licensing their works in open source ways such as through the
Creative Commons.
Two days later, Tim O'Reilly's keynote focused on the synergy between the
Internet and open source "paradigm shifts." Internet-enabled application platforms (e.g.,
Linux-Apache-MySQL-PHP) are free, and yesterday's applications are now delivered as online services.
The three C's of this new world --- software commodities, user customization, and online
collaboration --- are now the important factors for service-oriented businesses and software
architectures.
There were a number of presentations from technical papers dealing with refinements to OO language design. Many papers
addressed implementation topics such as garbage collection and Java performance.
Conclusion
OOPSLA 2003 was a successful conference with many interesting events. It seemed like the conference is in transition, with core OO principles well-established. This year's OOPSLA showcased agile methodology and showed the establishment of the Java and .NET platforms. The increasing awareness of aspects and domain-driven development are trends that are likely to accelerate in future OOPSLAs and, subsequently, in practice.
About the author
Ron Bodkin is the founder of New Aspects of Security, which provides consulting and training on
application design and development with an emphasis on application security, Aspect-Oriented
Programming, and effective application architectures. Ron is also a member of AspectMentor, a
consortium of experts in aspect-oriented-programming.
Ron previously worked for the AspectJ group at Xerox PARC, where he led the first AOP implementation
projects and training for customers. Prior to that, Ron was a founder and the CTO of C-bridge, a
consultancy that delivered enterprise applications using frameworks for Java, XML, and other
Internet technologies. C-bridge grew to 900 employees and a successful IPO in December of 1999.
OOPLSA coverage from around the net
Sean's OOPSLA 2003 Trip Report: http://homepage.mac.com/morriss/iblog/index.html
In this report, we get to ride along with Sean through his time at the Conference.
He discusses the tutorials that he went on, including topics on Patterns and Test Driven Design, and
some BoFs.
Mads Haugb' Nissen OOPSLA Stories: http://weblogs.asp.net/mnissen/
Mads was a student volunteer at OOPSLA. He discusses the panels that he witnessed: Application
Servers - One size fits all...or not, UML 2.0, Model Driven Development, Test Driven Development, XP
and Agile, and much more.
PRINTER FRIENDLY VERSION
|