Cold War comfort on software engineering’s birthday
Yesterday's issues at 40
Other topics discussed at Garmisch continue to preoccupy software producers even now. They included how to build reliable software for large projects and deliver it on time, how to devise proper education paths for programmers, and what methods and technologies might make programming easier.
The solutions put forward fitted well with the theme of software engineering in that they sought to move software production towards being a manufacturing process. Key to this was the concept of the software component - the subject of a presentation by another eminent software pioneer Doug McIlroy of Bell Labs.
"Coming from one of the larger sophisticated users of machines, I have ample opportunity to see the tragic waste of current software writing techniques," McIlroy began. "At Bell Telephone Laboratories, we have about 100 general purpose machines from a dozen manufacturers. Even though many are dedicated to special applications, a tremendous amount of similar software must be written for each.
"What I have just asked for is simply industrialism, with programming terms substituted for some of the more mechanically oriented terms appropriate to mass production. I think there are considerable areas of software ready, if not overdue, for this approach," he went on.
McIlroy's later contributions to the then-embryonic Unix operating system put these ideas into practice and the concept of components has, of course, since become enshrined in modern software production.
But despite the improvements made in software production in the last 40 years, there still remains a lot of work to be done to fully realize the ambitions of the Garmisch conference. Brian Randell emeritus professor of computing at Newcastle University and co-editor of the Garmisch proceedings in an interview with The Register told us that while there has been some progress, a great deal more work remains to be done.
"The big change has been the growth of mass-installed packaged software - which did not exist at the time of Garmisch," Randell said. "We have seen the power of evolution work very well to create a wonderful variety of high-quality software. But in the area of custom-built software - the focus of the 1968 conference - we still face huge problems and there are still horror stories about large projects which have failed."
Randell acknowledged that the problems software engineers are trying to solve now are much more complex than they were 40 years ago - but he is disappointed that there has not been more progress in three key areas.
"I would like to see better program language and development environment support - it is too fragmented and there are around 8,000 different programming languages which is very divisive.
"I would have liked to have seen more extensive use of components, and I would like to see more progress in multiprocessing. There are a lot of vague things being said about 'multicore' these days - but you don't solve a research problem by giving it a new name."
Many of the Garmisch participants have moved on to the computer room in the sky and the rest are retired or semi-retired. But the legacy they created in a German town 40 years ago - that software production was important enough to merit serious, disciplined study - will live on for a long time. ®