In this article Larry Wall (inventor of Perl) says that Wycliffe Bible Translators taught him that all human languages are Turing complete. See http://news.ycombinator.com/item?id=1033741 (Pirahã: a non-Turing-complete human language) for a counterexample. Fascinating article.
I think that's the first time I've heard someone specifically use the concept of Huffman coding in evaluating language design. It makes a ton of sense, and maybe it's a more well known viewpoint than I realize.
Larry Wall has been using it for quite a while. His essay about the problems with regular expressions as they’re known and used today is insightful and carefully argued: http://dev.perl.org/perl6/doc/design/apo/A05.html (from 2002)
Maybe it's just the charisma of people like Wall and Conway speaking, but everything said about Perl 6 makes it sound like God's gift to humanity. And yet nobody seems to be interested. Am I going to have to learn this language just to form an opinion about it?
I'm interested enough to have spent part of my free time over the past few years working on it. There was also a fairly large response to the Perl 6 Advent Calendar during December.
Personally I've always found Larry's talks very poor. They seem to wander all over the place, full of buzzwords and much of what he claims doesn't seem to have any connection to what he actually did.
Huffman encoding? Then why are so many of the defaults wrong? Nearly any perl programmer would tell you that your programs should start with "use strict", so wouldn't Huffman encoding dictate that "strict" would need to be turned off if you didn't want it? And choosing "special return value" to signal failure can't possibly be shorter than using exceptions, it can only be as good if you don't handle any errors.
He's always reminded me of someone trying to be "deep" after smoking a joint.
Well, he notes in the linked talk that "use strict;" and "use warnings;" will be the default in Perl 6. The fact that your goal is to Huffman encode the language design doesn't mean you'll always succeed. Things change over time. Initially, 15 or so years ago when Perl 5 came out, use strict was a new idea and rarely used. Over time the culture encouraged people to use it pretty much always. The Huffman encoding was right at first, but usage has changed. Changing the language to reflect currently usage is hard if you want to preserve backward compatibility, though.
Fine, but what about error handling? It's been known for quite some time that C-style return code checking is a fail. And it certainly makings coding a lot more verbose. There are lots and lots of situations where doing something in perl is just a lot more wordy than other languages that are better about "Huffman encoding".
Ok, but it's still more work than if throwing an exception were simply the default.
And this is just one example. I programmed perl for the better part of a decade and every day I felt the pain of how "anti-Huffman encoded" it is unless you're making 3 line scripts. If perl people wish to concede that this is all perl is good for then I'll happily concede that perl does indeed have good Huffman encoding. :)
You're either trolling or you haven't paid any real attention to the perl community. Your comments are simply inaccurate, which is probably why they were downvoted (not out of some weird fanboyism).
I'm certainly not trolling and I've paid more than enough attention to the perl community. Please point out where my comments are inaccurate?
I most definitely was voted down due to "some weird fanboyism" since when I go to the thread page I saw that all comments got a down vote even though at that time only this comment had anything to do with perl. I've also seen this exact same behavior on reddit and other sites.
Anyway, I would expect and admin can check this pretty easily.