
Programming is Hard, Let's Go Scripting... - r11t
http://www.perl.com/lpt/a/997
======
nwatson
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.

------
wgj
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.

~~~
r11t
I recently submitted this article about Ruby design :
[http://www.scribd.com/full/24764060?access_key=key-
bmp10h1nw...](http://www.scribd.com/full/24764060?access_key=key-
bmp10h1nw6nor34svxp) which also uses the idea of Huffman coding in the context
of evaluating language design.

~~~
bch
Requires flash to read an article? Fail.

------
ytinas
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.

~~~
jolhoeft
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.

~~~
ytinas
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".

~~~
chromatic
Don't use C-style return code checking in Perl then; use autodie.

~~~
ytinas
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. :)

~~~
chromatic
I agree that Perl 5 has some of the wrong defaults. It's a sore point for some
people.

For what it's worth, Perl 6 has much, much better default behavior.

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

~~~
tene
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.

------
danbmil99
There should be a "Larry Wall" tag so I can avoid his meaningless rants

------
coderdude
Apples are hard, let's go oranges. Edit: That was a terrible analogy.
Scripting is programming, they are both apples.

~~~
jrockway
Reading the entire article before posting is hard, let's go ranting.

