Posted by
michael
on from the reading-the-tea-leaves dept.
mbadolato writes "Use.perl is running an interview with Larry Wall and Damian Conway, in which they answer questions about Perl 6. Questions were selected by the ten highest rated questions posed by readers last week."
Perl 6 is a mistake
by
keesh
·
· Score: 5, Insightful
I know I'll get modded down for this. It'll sound too much like a certain *BSD post. Ah well...
I've been using perl since the Pink Camel. I've been using it a lot. Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal.
One of the goals of Perl 6 is to remove this problem. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same.
The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at a hash inside a hash, for example), and the changes proposed for 6 are just making this worse. Perl was only designed for the three data types, and adding more is a mess.
Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat, but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one.
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster.
Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options (and if that link didn't get me a -1, Troll I don't know what will...), which provide all of Perl's power and none of the mess. Sorry, but *BSD, erm, Perl is dying.
Okay, I'm done, you can mod me down now:)
Re:Perl 6 is a mistake
by
bruckie
·
· Score: 3, Insightful
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster.
My, my. Such bold statements about a language that's not even completely designed yet.:)
I, for one, am very excited about the changes in Perl 6. I don't see the "complete mess" that you refer to. In fact, I have two main impressions from reading the Apocalypses and Exegesises:
Perl 6 is going to be much cleaner. Modules, the class keyword, everything-is-a-closure, better subroutine argument passing, etc.
Perl 6 is going to be much cooler. The new pair type, the smart-match operator (=~), the given and when constructs, possible inclusion of superposition (any and all), Pythonesqe saved bytecode, etc.
I've read the Perl RFCs, most of what Larry, Damian, and Dan have written about Perl 6, and the Perl 6 mailing lists. From what I've seen so far, the language (and the design and implementation of Parrot) are looking very cool.
--Bruce
-- There are 10 kinds of people in the world: those who understand binary, and those who don't.
Re:Perl 6 is a mistake
by
LunaticLeo
·
· Score: 3, Insightful
Reading this, Sure, my const int $var = 27; may look neat, but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. Makes it clear that you don't know what you are talking about. The "what" is that Perl is a RAD(Rapid Application Development) language, and you use "really" as if that has any meaning in a RAD language.What has been call "scripting" or RAD Languages make simple contracts with the programmer.The programmer gives the interpreter/run-time general instructions, and it gets the work done.What constitutes a "real" constant or integer is meaningless. Guess what? If you declare "my const int $i = 27;" then follow that with "$i = 1;" you will certainly get a runtime error and probably a compile time error.
The first thing I haven't liked about Perl is that it didn't use exceptions and try/throw/catch syntax EVERYWHERE. I do network programming, and you can NEVER trust the network. And try/trhow/catch is better than "if (defined $rv) {...}" after every single last simple itty bitty stupid little elementary function call. Halleluha! Perl6 will have this.
The second thing I haven't liked about Perl (re: has bitten me on the ass) is doing compile-time checking of the arguments of functions and methods. Sub signatures work for functions but not for methods. BTW, there are other things like named arguments, and default arguments that would be good RAD thing to have. Halleluha! Perl6 will have this!
For other things, like switch statement (given/when), sigels for variable types are not gonna be context dependent, run-time hinting with attributes, switching '->' dereferencer to '.', and explicit declaration of classes (rather than manually creating them with package/new/bless)... well I like them, but they weren't on my hit list. However, I am sure someone else might disagree.
Perl6 is really going to address the elements of Perl5 that tripped up and slowed down my developement time. Hence, Perl6 looks like a new more powerfull tool for me to actually get work done with.
I think python and ruby look very interesting (well ruby more than that special education language called python). The problem. NO CPAN. CPAN is to Perl as Ports is to *BSD; as pkgs is to Debian; as MFC is to M$; as javax.* is to java. NO CPAN == NO GOOD. CPAN is the kluged up brilliant half baked promise of open source. Half the modules are sheer utter crap, but the other half...
-- --
I am not a fanatic, I am a true believer.
Re:moving target
by
msouth
·
· Score: 4, Insightful
A large part of what has changed about Perl has been due to what (gigantic) numbers of people have wanted to do with it. It is a living language, by design, and living languages change.
Larry's attitude rocks. I think you might be overestimating (a) what he makes on books and (b) how much he cares about how much he makes. I have no idea about (a), but I am pretty sure that (b) is not what you seem to think. Larry is one generous, genuine, and genuinely humble person, as far as I can tell.
I know I'll get modded down for this. It'll sound too much like a certain *BSD post. Ah well...
:)
I've been using perl since the Pink Camel. I've been using it a lot. Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal.
One of the goals of Perl 6 is to remove this problem. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same.
The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at a hash inside a hash, for example), and the changes proposed for 6 are just making this worse. Perl was only designed for the three data types, and adding more is a mess.
Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat, but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one.
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster.
Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options (and if that link didn't get me a -1, Troll I don't know what will...), which provide all of Perl's power and none of the mess. Sorry, but *BSD, erm, Perl is dying.
Okay, I'm done, you can mod me down now
A large part of what has changed about Perl has been due to what (gigantic) numbers of people have wanted to do with it. It is a living language, by design, and living languages change.
Larry's attitude rocks. I think you might be overestimating (a) what he makes on books and (b) how much he cares about how much he makes. I have no idea about (a), but I am pretty sure that (b) is not what you seem to think. Larry is one generous, genuine, and genuinely humble person, as far as I can tell.
Liberty uber alles.