Basic, Visicalc,
Fortran, and COBOL succeeded largely because their adopters didn't
know any programming languages previously.

Some minor nitpicking: while I agree with most of the post, I believe that Fortran and COBOL have lasted more because of what they don't do than because their adopters didn't need to switch from anything. Neither is suitable for complex abstractions, but both turn that to advantage.

Scripting language people talk about being "as fast as C"; C compiler people talk about being "as fast as Fortran". When I throw a bunch of floating point arrays at a python program, it turns to Fortran routines from LAPACK or BLAS to crunch them.

Similarly, COBOL is organized around record data, where the intention is that the data, the records which live on disk, are far more important than the code, or any transient data structures, in the program itself -- just the reverse of the situation in most languages. If all I needed to do was relatively light processing on gobs of XML, I wouldn't be surprised to discover that someone has reinvented COBOL as a "web services language".

-Dave

:: :: ::

So why are [Kragen's list of examples] written in such a small number of languages?

Some programs on that list seem small, some larger. For the smaller ones, and given SWIG to ameliorate the library issue, I don't have a good answer. For the larger ones, might it be that once one enters the region where most of the complexity is in the program itself and not in its environment, even 700 different ways to express LC computations all become sufficiently close to each other that habit becomes the best consideration?


Reply via email to