Orange is not the only fruit

nicholas on 2009-08-09T19:30:22

DevX.com have a couple of long but insightful interviews with the creator of a major programming language. I'm not saying who yet:

It is extremely difficult to make major changes to a language in world-wide use. That's probably good: one of ███'s greatest advantages ... is stability.
Compiler/language-design skills are far rarer than library design and implementation skills and the required infrastructure for compiler experimentation is far larger and more expensive.

(from page 2 of the second interview)

The average "voice" in a debate about language evolution seems short sighted, unduly influenced by fashion, and focused on a single feature at a time. Many believe in "simple perfect solutions" for complex issues and few appear to have much respect for existing code (billions of lines of code) and practices (millions of programmers). Few are willing to stay with the design/standardization project for years or to do the massive tedious work involved in getting the details right.
One problem is that there is no agreement as to what constitutes a "badly-needed feature" and some of the loudest voices are in no mood to discuss: They think they know.
Remember Visual Basic? ███ was often criticized for not evolving as fast as VB, but ███ has chosen a model of evolution that precludes massive breaking of existing code.
Secondly, ███ simply cannot follow every fad. To be useful, it must evolve slowly and compatibly. If you want a fashionable language, a language with all the latest bells and whistles ... you know where to find such things. However, if you want a language that's useful for programs with a lifespan of decades ...

(from page 4 of the second interview)

There is always pressure to add features. Many people think that I and the committee are just bloody-minded and/or stupid not to immediately add their favorite feature—typically a feature they have tried or just heard of in some other language. Often, those same people complain that the committee is adding too many features and that we should remove some of those old and ugly "legacy features." Making changes to a widely used language is not easy. There are distinct limits to how many changes we can add with a reasonable hope that they will be widely useful, rarely harmful, or confusing, and not breaking existing code. People really don't like their existing code to be broken and making significant extensions 100 percent compatible and properly integrated with all existing and new features can be quite difficult.
I don't know how to draw a sharp line between worthwhile and frivolous extensions, but I do know that no new feature is really "indispensible."

It happens that it's C++, hence the interviews are with Bjarne Stroustrup, but it resonates with both Perl 5 and Perl 6.

As well as language design, he has also has comments on popularity, perceived or real:

C++ use appears to be declining in some areas and appears to be on an upswing in other areas. If I had to guess, I'd suspect a net decrease sometime during 2002-2004 and a net increase in 2005-2007, but I doubt anyone really knows. Most of the popular measures basically measures noise and ought to report their findings in decibel rather than "popularity." Many of the major uses are in infrastructure ... where programmers don't go to conferences or describe their code in public. Many of the most interesting and important C++ applications are not noticed, they are not for sale to the public as programming products, and their implementation language is never mentioned. Examples are Google and "800" phone numbers. Had I thought of a "C++ inside" logo in 1985, the programming world might have been different today.
I say that C++ use is growing when I see user population grow by 200,000 programmers from 3.1M to 3.3M. However, somebody else may claim that "C++ is dying" because it's "popularity" has dropped from 16 percent to 10 percent of the total number of users. Both claims could be simultaneously true
Most of the popularity measures seem to measure buzz/noise, which is basically counting mentions on the web. That's potentially very misleading.

The State of the Language: An Interview with Bjarne Stroustrup (page 6). The other interview being Bjarne Stroustrup Expounds on Concepts and the Future of C++. Both worth reading in full, if you're interested in C++.

I wonder what his opinions about SuperCollider programming are.