On Tue, 7 Nov 2006 12:13:08 +0100, Dave Long wrote:
> >                                                   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.

I was only trying to explain how they became widely adopted in the
first place, not how they survived afterwards.  Your comments on how
those two have survived are insightful and interesting as usual, but I
think the biggest factor is that gobs of code already exist.

> > 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?

LC?

It seems to me that when "most of the complexity is in the program
itself and not in its environment", more expressive languages would be
at a greater advantage.  No language can make it much easier to call
read(fd, buf, 4096) (although some make it a bit harder, and some
automatically retry on EINTR), but language features like laziness,
garbage collection, static typing, implicit currying, and
object-orientation are often touted as ways of simplifying the
expression of that internal complexity.  If we assume that at least
some of those features do indeed help, we should expect to see more
variation in language choice for bigger programs than in smaller ones.

Reply via email to