Just wandering in off the street, I kinda suspect that "higher" is not actually a well-defined concept for computer programming languages.
This, of course, could simply be a reflection of my coding ignorance.
-- RobinZimm 2008-01-13 18:15 UTC
But the concept has some meaning, doesn't it? Machine-language is lower than BASIC which is lower than LISP, for instance, I would presume ...
-- z 2008-01-13 18:22 UTC
Sure, of course. But is LISP higher than Ada or C++? Forth higher than Scheme? Prolog higher than Perl? All of these are higher than BASIC, sure, but natives of each could find xs missing from each other's worlds, because they're "higher" in different directions.
-- RobinZimm 2008-01-14 16:07 UTC
To say that programming language L2 is high level compared to language L1 seems to be akin to saying that biological species S2 is more evolved than species S1. Apparently, it means more like us, as if the relative weights to be assigned to the various attributes were self-evident or implicit. Maybe a better analogy would be to the languages used by various species. So, like human languages, "higher level" languages might be capable of being abstract, expressive, flexible, communicative, and supportive of local jargon.
We might consider L2 > L1 if in L2 we can write a*b for a certain (fixed) kind of product between entities a and b, whereas in L1 we might have to write something like product(a,b), where some kind of element-wise iteration might be specified. And L3 > L2 if the kind of product is implied by context, and L4 > L3 if we can make a*b mean whatever kind of product we might want, such as the element-wise products for similarly-shaped matrices, or the matrix product of a and b for suitably shaped matrices and so forth.
It would seem that the variety of personal preferences in the relative importance of each such features guarantees non-convergence in the Language Wars.
-- DougReingold DougReingold 2012-08-18 15:55 UTC