mshiltonj writes "Larry Wall has repsonded the slashdot questions from last week. My favorite line: 'Well, in general, the thing I don't like about other computer languages is that they're not Perl.'"
As has been mentioned, Larry believes Perl 6 will have more robust policy tools to allow programmers all the B&D-style development they've come to expect from other languages. In the spirit of Red Hat, I suggest we begin giving releases titles. Therefore, Perl 6 should be called 'The Big Knob Release' -- something for both Perl boosters and booers to cheer. Think of the T-shirt sales!
Re:Perl 6: The Big Knob Release
merlyn on 2002-09-06T19:02:41
Great idea. Although do we even dare start a thread about what title to give instead of "pumpking"?
Blech.
Re:My, my, my
bart on 2002-09-10T11:07:59
I have to say I was quite surprised when Larry said, "We'll be sticking with explicit my declarations". Gah! How did Ruby get it wrong by using implicit lexical scoping? It's better to have my sprayed everywhere?
Let me give you this example:
sub foo {
my $x = shift;
if($x) {
$y = 'yes';
} else {
$y = 'no';
}
}
So... Is there one $y, or two? What is the scope of these $y's? Implicit lexical scoping would, IMO, mean that there are two variable's $y, both limited to their own block.
I think this is what Larry means when he says that this kind of features look nice in short examples, but break down in larger code.
Re:My, my, my
djberg96 on 2002-09-10T15:28:36
Let me give you this example:So, you're not using strict? And *not* using strict is about the only way you can make an argument for this it seems to me. Since the hard-and-fast rule in Perl *is* to use strict, situations like this just don't occur.
In addition, you can emulate my in Ruby by simply pre-declaring the variable.
In fact, you will get an error if you *don't* predeclare y in this case.def foo(x)
y = "" # or 'y = String.new' or 'y = nil'
if x
y = "yes"
else
y = "no"
end
endThe reality, for me anyway, is that it just doesn't come up, because you just don't code this way in Ruby (i.e. procedurally / stand alone defs). Your example would be refactored in Ruby as:
I'm not trying to be contrite by using your example. My point is that any example you can create that causes confusion with local vs global scope, I can refactor so that it doesn't. At worst, I can just declare a global variable with '$' somewhere near the top of my code.def foo(x=nil)
y = 'no'
y = 'yes' if x
endI think this is what Larry means when he says that this kind of features look nice in short examples, but break down in larger code.
Again, I think this comment comes as a result of years of procedural programming versus OO-style programming. "Larger code", in Ruby (as in Java, C#, etc), would (or should) be a collection of classes, each with a collection of methods. Since no one method is going to be very large, the global/scope issue *just doesn't happen*.
Maybe the end result of all this, as I write this response, is that using global scope as the default is right for languages geared towards procedural programming and wrong for languages geared towards OO.
Re:My, my, my
marklark on 2002-09-13T08:51:39
One of the things that I love about Perl is that I don't _have to_ do things strictly. I must have missed the parts where Larry said that "use strict" is madatory. Gosh, I thought that TMTOWTDI.
*sigh* and yes, it would be silly to have global scoping amongst objects, but don't they have their own namespaces to take care of that?
I tell Perl what I want. It does what I mean - I make sure of it. Don't you?
I use variables that have meaningful names (mostly) and they take care of themselves.
Check the URL at the top of my post here (www.cmdl.noaa.gov...). It's generated by ~1000 lines of code and uses CGI.pm, libnet, and PGPLOT.pm to get the job done. It's not OO, but doesn't need to be. I seriously doubt that most programs _need_ to be object oriented.
I'm not the sharpest Perl hacker, but I'm learning as I need to. I vote for keeping global scoping as default.
Thanks for your time.
Hebrews 11:6b;^)
It's too bad that the majority of the comments on slashdot focused on Larry's religious beliefs. As a religious software developer I respect Larry for answering the questions but it was sad to see the banter that was posted after his eloquent and gracious reply. I wish the discussion could have followed that path that this group appears to be following, commenting on upcoming developments and new developments in the language.
Am I the only one that sees the massively anti-perl sentiment on
I'd really like to see this site grow in content. So far it looks great.I'm happy I stumbled upon it!
Re:Focus of the /. comments
marklark on 2002-09-16T09:06:06
Well, I'm sure we're just a different type of swine. Perhaps more regenerate, but who's to say, really?:^)
I didn't have nearly enough time to read all the comments, but I did enjoy Larry's (yeah, "Larry" like he's a good buddy or something:^) answers.
Check Hebrews 11:6b and see if you don't recognize Larry's two point summation of his theology.
Perhaps it is just a matter of us being faithful by telling people about Perl and those who believe and diligently seek it will be rewarded...