Software // Enterprise Applications
News
9/24/2004
02:37 PM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Looking For Patterns

The future of software development lies in algorithms that pull together objects, expert says

Though there haven't been any big leaps ahead in object-oriented languages for years, advances in software development will come from teamwork and collaboration, says Grady Booch, who's known as the father of object-oriented programming. "The developer's work is changing from working with an individual tool to developing as a team experience," he says, and resulting advances will lead to developers producing "algorithmic snippets of code" that manipulate existing objects and create new ones.

Booch first identified the underlying patterns of object-oriented coding and captured them as a set of notations and syntax. Rational Software, where he worked for 20 years, put his design approach into its modeling tools and built a methodology around them. IBM bought the company nearly two years ago and named Booch chief scientist of its Rational Software unit. His modeling approach has since been incorporated into Unified Modeling Language, a standard used in modeling tools from Borland, IBM, Sun Microsystems, and Telelogic.

"He's always played the software design iconoclast, trying to push people along," said John Rymer, an analyst at IT research firm Forrester Research.

Java, C++, and Microsoft's C# are the primary object-oriented languages. But with no major language breakthroughs in recent years, advances will come from new team development and collaborative capabilities of tools, such as a shared central-code repository, where co-developers can work on code together and programmers can freely comment on each other's work.

In addition to producing those algorithmic code snippets, there may be big gains in "building new languages for connecting systems to systems," Booch says. Aspect-oriented development is a harbinger of the potential of system-to-system communications, since it concentrates on designing an aspect of several programs--security, for example--in such a way that it can be built once and used by multiple running applications. System-to-system connectivity is a new level of abstraction, Rymer says. "That's something that Booch specializes in."

For now, Booch says he's "sidestepping modeling" issues and concentrating on a possible pattern-based approach to development. Even different systems sometimes share underlying patterns, and establishing the pattern through an automated system would speed development.

One of the few practical expressions of patterns is Java Blueprints, available at Sun's Java site. They show how a Java application can be built using best practices to interact with surrounding pieces of software. Patterns may be the next big thing, but it will take new insights, methodologies, and tools to capitalize on them.

Comment  | 
Print  | 
More Insights
Building A Mobile Business Mindset
Building A Mobile Business Mindset
Among 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps and it's past time for those with no plans to get cracking.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest - July 22, 2014
Sophisticated attacks demand real-time risk management and continuous monitoring. Here's how federal agencies are meeting that challenge.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.