3 ms·
"It's the difficulty of the macro-concepts that makes the most difference and most people find imperative programming and mutable state and infix syntax easier
by sedachv 16y ago
"It's the difficulty of the macro-concepts that makes the most difference and most people find imperative programming and mutable state and infix syntax easier to handle than declarative programming and immutability and prefix syntax."
Where is the empirical data to support this?
- cageface 16y agoIf by "empirical" you mean rigorous, double-blind style studies then obviously there aren't any just as there aren't really any for any serious programming language design questions. The overwhelming (and it really is overwhelming) market preference is for imperative, infix languages with rich syntax. The extraordinary claim that this is purely circumstantial is the one that requires extraordinary proof.
- sedachv 16y agoNo one who has taught functional programming to students has complained of higher failure rates. University students, high school students, middle school students, disadvantaged inner-city middle school students, elementary school, pre-elementary school (what do you think Logo is?). In America, there is also overwhelming market preference for junk food. It doesn't mean junk food is better for you.
- cageface 16y agoI don't think there's really much of an analogy between programming languages and food. So what's your explanation then? If functional languages are no more difficult to learn and are more powerful why are they not used? Why have Python and Ruby flourished while Lisp and ML remain academic obscurities? I still say the burden of proof is on the FP advocates. If you want to claim that everybody is doing it wrong you should have a pretty strong case.
- sedachv 16y ago"I don't think there's really much of an analogy between programming languages and food." Programming languages are cultural, not technical, artifacts. For reasons why one language is used by more programmers at a given point in time than another you need to turn to sociology. Lisp has some clearly superior technical ideas, which is why it has continued to be used and expanded for the last 50 years, and why all the other languages you mention (Python, Ruby, ML) drew ideas there. On the other hand, a language like Perl (and as Python and Ruby will eventually be) is briefly popular, but has no compelling technical features or metaprogramming facilities for people to continue to use and expand it when another shiny new language comes along.
- chromatic 16y agoA language like Perl ... has no compelling technical features or metaprogramming facilities for people to continue to use and expand it when another shiny new language comes along. See the CPAN and especially modules such as PPI, Moose, and Devel::Declare.
- sedachv 16y agoAnd that still hasn't stopped the Perl 5 community from feelings of inferiority (see http://blogs.perl.org/users/ovid/2010/03/perl-5-is-dying-a-follow-up.html http://blogs.perl.org/users/ovid/2010/03/perl-5-is-dying-a-f... for example), and more importantly it hasn't stopped Perl 6 from being built. Which is a shame, because I would much rather have seen something like Perl on Rails, or in any case work going towards building on all the stuff already there in CPAN instead of duplicating all that work in PHP and then Python and then Ruby and then maybe even Perl 6 sometime this decade.
- chromatic 16y agoWhy does Perl 5 need a Rails? Despite the existence of Rails, Perl 5 is still more widely used than Ruby. (Perl 5 and Ruby 1 came out around the same time.)
- 16y ago