February 02, 2004

IBM's Grady Booch on solving complexity

Big Blue Fellow talks about grid computing, the future of middleware, and working with IBM Research

Booch: I have had conversations with people really driving things there. I would not say I am nudging things in a different direction, because these guys are absolutely on the right path. But from a patterns perspective what we are trying to catch is, what are the architectural patterns that are emerging for us to be able to exploit on top of grids? Flatly, that community has a number of one-off experiences of applying grids in certain places, and we are trying to harvest that experience to see what we can learn about providing automation to it. I am not so much an influencer of what they are doing, as I am a respecter of their work in trying to build on [it].

InfoWorld: What you mean when you say "solving complexity by raising the level of abstraction"?

Booch: Think of it this way. Imagine today building a Web-centric system but having to do it in Assembly language, which has an impossible semantic gap. What has happened over the years is languages and tools that raise the level of abstraction from worrying about individual Assembly language lines that drive the bare machine, up to the next level that says let's instead deal with algorithmic abstractions. So now I can talk about variables and algorithms and the like. The object-oriented realm said "Let's bring data and algorithms together into one thing called an object." That is what Java and C # and C++ are all about. Each one of these things moves me further away from the bare hardware and actually allows me to express things where once I had to expand them out and through the bare hardware by many orders of magnitude. This allows me as a human to start addressing the problem further away from the machine and closer to the problem area. That is what moving up levels of abstractions is all about. The whole history of software has been that. We see that especially in our languages for Assembly, to structured languages like C, to object-oriented languages and who knows what is next.

InfoWorld: Is this progressing as rapidly as you would like, or more slowly?

Booch: It goes in fits and starts. If you look at the history of programming languages over the last three to four decades, you have seen what the evolutionists would call "punctuated equilibrium." There would be periods of incredible innovation and then points of stability. For example, in the early days of procedural languages there were languages like FRED and others you never heard of, but the marketplace said, "Oh, let's bless things like Cobol, Fortran, and C." We saw the same miracle happen with object-oriented languages. We counted upward of 100, maybe 200 languages with only a few surviving. Some of the dominant ones now are Java, C++, and C to a lesser degree. We are currently in a period of reasonable equilibrium, but you can see the furnace starting to heat up. And it is not the traditional languages doing so but instead XML, WSDL, and variants of XML. So all of a sudden we can see in the non-traditional programming language space a whole flood of languages popping up. We will see a period of equilibrium among them in a few years,

InfoWorld: With so much focus on Linux and open source code in general, what has impressed you the most in that space technically? What do you think the biggest contributions to programming have been?

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.