The life cycles of programming languages are like those of political movements: They begin when a bright-eyed idealist dreams of changing the world. A few lucky projects turn into bandwagons that prosper. Then another bandwagon comes along, leaving the idealists to retreat to their collectives in the hills.
This week, the once great Pascal moved a giant step closer to the retirement commune when one of the major compiler manufacturers, Metrowerks, announced it was phasing out its commitment to the language.
Greg Galanos, the president of Metrowerks, downplays the impact by pointing out that the company only announced the end of long-term development; it will still provide Pascal support through the next important upgrades of the Macintosh operating system, OSX and Carbon.
"It's incorrect to say that Armageddon is upon us," he says, pointing out that Metrowerks has supported Pascal much longer than Apple, which started phasing out its commitment in the early '90s. "We've done everything in our modest means to extend [the life] or at least diminish the end of the language. But at one time or another, we have to make a decision."
The news is a major watershed for the language because Metrowerks is the premier compiler manufacturer for the Macintosh, and the Macintosh was once a Pascal-only club. Many of the early versions of the MacOS were written in the '80s in Pascal because it was the clean, crisp, entirely modern language of the day. The language was also wowing the PC world at the same time, in part because a man named Philippe Kahn hunkered down in a garage and wrote TurboPascal -- a programming tool that was cheap, fast and, most important, stable.
Pascal took a very mathematical approach to creating software: It forced the programmer to specify the "type" of each piece of data. That is, the programmer had to spell out whether variable "x" held some text, an integer or a real number. This didn't prevent the programmer from doing something stupid like dividing by zero, but it allowed the compiler to stop the computer from doing something really stupid -- like trying to multiply the word "rabbits" by 23. After Pascal's birth in the early '70s, the mathematicians in university computer sciences grooved on the complicated hierarchies created by "type-checking" a program.
The language began to fade quickly by the early '90s -- in part because Microsoft embraced C and its descendant, C++. In the early days, C was considered a low programming language that was especially useful in dealing with the grungy parts of an operating system, like the printer drivers. Pascal's mathematical pretensions gave it a gloss of class but also drove the bit-banging programmers nuts.
C began to evolve and grow out of its blue-collar roots by embracing many of the features that supposedly gave Pascal the edge. Later versions of C and C++ provided good type-checking to catch errors, as well as elaborate structures for object-oriented programming. Meanwhile, Pascal's development splintered as people argued over the right way to do things. It's almost as if the Pascal community acted like the French by defending the purity of their language -- while the C++ world acted like the English, promiscuously absorbing words from other languages.
Now, Java and C++ are replacing Pascal in schools, where it gained an early following as a very easy to read and teach language. In 2000, the College Board's Advanced Placement Computer Science exam will move from Pascal to C++. Many universities now have Java courses as part of their curriculum.
Naturally, there are still redoubts of Pascal lovers who use the language -- just as there are still some fans of the Soviet Union holed up in Cambridge, Mass. Kahn's TurboPascal has metamorphosed into Delphi, a product that still has a sizable following and good support. The Macintosh programming mailing list was buzzing this week with contributors' plans to start a grass-roots effort to build their own compiler.
Old languages and old political movements never really die. In recent years, languages like COBOL experienced a strange sort of renaissance, as the Y2K problem created a new demand for COBOL hackers. If the war in Yugoslavia is bringing back once-extinct political alignments like isolationist Republicans and hawkish Democrats, who knows what the future will bring for Pascal?