C was a major improvement on the languages of the day: COBOL, Fortran, and plain assembly. Unlike any of those, it was at the same time fully portable, supported structured programming, and allowed freeform text.
But I don’t think programmers would have embraced LISP even if its performance was as good as the other languages. For the same reasons programmers don’t embrace LISP-derived languages today. It is an empirical fact that the great majority of programmers, particularly the less-than-brilliant ones, dislike pure functional programming.
Note, though, that (a) “Lisp doesn’t look like C” isn’t as much of a problem in a world where C and C-like languages are not dominant, and (b) something like Common Lisp doesn’t have to be particularly functional—that’s a favored paradigm of the community, but it’s a pretty acceptable imperative/OO language too.
“Doesn’t run well on my computer” was probably a bigger problem. (Modern computers are much faster; modern Lisp implementations are much better.)
Edit: still, C is clearly superior to any other language. ;-)
I suspect the main reason lisp failed is the syntax, because the first thing early computer users would try to do is get the computer to do arithmetic. In C/Fortran/etc. you can write arithmetic expressions that look more-or-less like arithmetic expressions, e.g. (a + b/2) ** 2 / c. In Lisp you can’t.
C was a major improvement on the languages of the day: COBOL, Fortran, and plain assembly. Unlike any of those, it was at the same time fully portable, supported structured programming, and allowed freeform text.
But I don’t think programmers would have embraced LISP even if its performance was as good as the other languages. For the same reasons programmers don’t embrace LISP-derived languages today. It is an empirical fact that the great majority of programmers, particularly the less-than-brilliant ones, dislike pure functional programming.
Note, though, that (a) “Lisp doesn’t look like C” isn’t as much of a problem in a world where C and C-like languages are not dominant, and (b) something like Common Lisp doesn’t have to be particularly functional—that’s a favored paradigm of the community, but it’s a pretty acceptable imperative/OO language too.
“Doesn’t run well on my computer” was probably a bigger problem. (Modern computers are much faster; modern Lisp implementations are much better.)
Edit: still, C is clearly superior to any other language. ;-)
I suspect the main reason lisp failed is the syntax, because the first thing early computer users would try to do is get the computer to do arithmetic. In C/Fortran/etc. you can write arithmetic expressions that look more-or-less like arithmetic expressions, e.g. (a + b/2) ** 2 / c. In Lisp you can’t.
I dislike pure functional programming. I can’t think of a pure functional LISP that isn’t a toy. I’m sure there is one. I wouldn’t use it.
And before we hijack this thread and turn it into a holy war, C is my other favourite language.