A few months back, carry Rosler raised some eyebrows and turned some heads when he told a roomful of predominantly C programmers that if they wanted to see what C might look like in the future, they should look at Ada today. The point Rosler was trying to make is that he thinks C as we know it has been pushed to the limit of its capabilities.
In explaining what he meant, Rosler, who is manager of Hewlett-Packard's Computer Languages Laboratory, began by describing the life cycle of C as progressing from a period of childhood and adolescence in the 1970s (characterized by Unix, portable C compilers, standard I/O libraries, and the publication of Kernighan and Ritchie's "white book"( to a period of adulthood and maturity in the 1980s (characterized by PC-based compilers, dozens of implementations, and the development of C + +). The late 1980s are particularly significant, Rosler said, because of the emergence of what he called "heavy" implementations of C. From the late 1980s on, however, Rosler was less optimistic about the future of the language. "C is old," he said, and in the early 1990s, we will see it enter a period of "senescence."
Among the reasons Rosler cited as contributing to the metamorphosis of C are the language's inability to cope effectively with deficiencies such as the scoping of symbols in large programs; the inability to handle new data types (long integers, complex numbers, and so forth); the lack of linguistic support for concurrency; and the deficiencies in I/O libraries. Rosler acknowledged that work is being done in many of these areas to compensate for current inadequacies with most of the work revolving around an ANSI Standard C and C++.
"These proposals," Rosler said, "will make an effective jump in the usefulness of C." However, he bluntly told the group that included Bjarne Stroustrup, "C ++ isn't enough."
Whether or not you agree with Rosler about what future incarnations of C might look like, there's little question that the language will evolve and that compiler developers will continue to look for ways to heighten performance. This movement is reflected by the current push toward "optimizing" compilers. According to feedback we've been getting from readers, nearly 75 percent of those of you who have responded to our Reader Service card here in the magazine indicate that C is the language you use the most. This means that DDJ will continue to provide thorough coverage of C and share useful C tools with you no matter what the language eventually looks like.
Speaking of topics that will be covered in the future, we're starting to look at subjects for the next year and need to know what you think we should be covering. Some of the themes and articles we're considering include algorithms,-programming in parallel environments, real-time programming, and object-oriented programming, to mention a few. If you have any preferences for general topics or specific articles, let me know. Associate editor Ron Copeland and I will be phoning quite a few of you to pick your brains, and we've been posting some of the articles that have been proposed to us recently in the DDJ Forum on CompuServe. Take a look there and tell us which ones you'd like to see in print.
Jonathan Erickson editor-in-chief