Perl 6 scares me.
What is Perl? Well, Perl is many things, not the least of which, at least in regard to the people on this site and others, is a community. And Perl 6, frankly, threatens that community.
I see all of this cool code that I and other people make, share, and use. When Perl 6 is out, how will this continue? I have no plans to use Perl 6, and I am not alone. And many people will use Perl 6 for all new projects.
Bottom line: what's going to happen to the community? It will fracture, but along what lines? Will use.perl.org grow into factions?
There are some existing examples that might be instructive. First, closest to me right now, is the split between Mac OS and Mac OS X. I still use Mac OS primarily (although at the moment I am in Mac OS X, using fink to compile bunches of thingys). In #macdev, few people discuss Mac OS anymore. Most of my Mac friends use Mac OS X exclusively now, and as a result, we have far less to talk about with each other. And as noted in a previous entry, my kind is a second-class citizen to Apple. Certainly Perl 5 is not going to be deprecated any time soon as Mac OS is being, but what about comp.lang.perl.misc? PerlMonks? perl5-porters? Will cries of "upgrade to Perl 6" become the average response to problems in Perl 5?* Will O'Reilly or Yet Another Society slowly -- or quickly -- phase out Perl 5 talks and sessions in favor of Perl 6?
There are other examples, of course. But all of them point to the same result: a fractured community. Will I cease to use Simon's code since it is all in Perl 6? Will I bother to read gnat's journal because it is mostly about what he is doing with Perl 6 books and conferences?
I don't want to tell people not to use Perl 6. But I fear losing those who migrate to it.
I don't want any of this to happen. But it will. The question is not whether or not the community will fracture, but what the final result will mean for the community as a whole and the respective pieces. Certainly, Perl is not a single community; PerlMonks is distinct from use.perl.org, comp.lang.perl.misc is distinct from #perl, perl5-porters is distinct from perl5-porters a few years ago. And we peacefully coexist. Perhaps the greatest damage to the community will be not on the macro level, but the micro level. Maybe the thing I fear the most is not the Death of the Perl Community, but the death of my involvement in it, as I currently know it, and further the death of Perl 5 itself, which I have come to love, with no signs yet of any amicable feelings toward the new beast in development.
Only time will tell, I suppose.
[* I don't want this journal entry to be about the specifics of Perl 5/6, but the effects the split between the two versions will have on the community; however, I think it is important to note that this happening will really cheese me. Perl 6 is not Perl 5, and there is no reason to expect anyone to "upgrade" to Perl 6 from Perl 5, as it will be no "upgrade" at all, but a migration to a new language. Flame me if you must, but Perl 6 is a completely different language, based on Perl 5. Some people compare Perl 5->6 as Perl 4->5. It's not. Perl 5 added quite a bit, but removed very little. Perl 6 is removing or completely changing a lot. I have no wish to use a completely different language. I have a wish to continue using what I like and what has worked well for me for many years.]
Perl 6 is Perl 5, but more so. I'm not talking about the internals. I'm not talking about the syntax. It's the feeling of the language that's important, and the feeling of the community. As long the languages understand each other and work to develop common ground, everything should be fine.
Perl 6 isn't a magic bullet, but what it is no more and no less another generation of Perl, community and all. Like the prodigal son, it's no good trying to force it into what we want it to be, trying to control its density. You just have to have confidence that it'll turn out for the best if we give it the best upbringing that we can.
At some point Perl 6 and it's own community might strain against the original Perl 5 community. But, assuming we're good parents, we'll get over that. You gotta have faith.
Yes, yes, I'm in a silly mood this afternoon. Something said "All tests passed." and I got all giddy.
Re:Embrace the change pudge...
pudge on 2002-04-16T14:39:21
Please, don't attempt to convince me that "Perl 6 is Perl 5, but more so." I am not buying it from Larry or Damian, and I am not buying it from you.:-)
The point here is that I will continue to use Perl 5, that there are substantial numbers of people that will do likewise, that if Perl 6 becomes what Larry and Damian want it to be, that there will be significant fracture of the community, and that we should think about that. If we don't, then the fractures will be very bad for everyone.
I am not talking about technology. I don't propose answers at this point. The answers will come if we want them to, if we look for them. If we just say "Perl is Perl and everything will be fine," everything certainly won't be fine.
Re:Embrace the change pudge...
2shortplanks on 2002-04-16T15:38:12
Now you can't seriously expect me to obey you and not try and convince you about something in a public forum can you;-) Let me change the argument and try a different stance. Perl 6 is Perl (...er but more so...) in one respect, and one respect only...it, like the other language that you love so much, is crafted and has been been delivered into being by the Perl community. Okay, let me reiterate this point, being a little less glib about the whole thing.
What makes Perl Perl? Wasn't that the original question? Well, I say that it's the community. And by this I attempt to encompass the whole of Perl. The people that are developing it. The collective knowledge these people have. The spirit and chosen direction. The same community that is now making Perl 6.
What I'm trying to get across is that indeed "Perl is Perl" but what I mean to say is "The Perl Community is The Perl Community"
I can see and I really, really do appreciate your fears. And I can see your worries are that the community may split. Though maybe what I'm trying to say is that in the end, perl and Perl 6 and parrot and all these things are just tools. They're just blocks of code[1]. It's the community that's important and it's the community that we attempt to strengthen in order to produce. Maybe perl 5 will die. Maybe Perl 6 will fail. Who knows? I don't have my time machine to hand. What I do know is that: The community will decide. In the end, it's what serves the community the best.
Now the community is not a committee, hive mind, or gestalt entity. What it is a collection of individuals all making individual decisions about what to do and what will be best. So any decision that is made will not be unilateral. And this isn't a bad thing. Some of the community will decide to give up on Perl 5 and turn their backs on it. Some of it will decided to give up on Perl 6 and give up on it.
The real challenge, and I think it's what we're both trying to get at here, is to get the community to understand that these are both valid points of view. And it's vitally important to it as a community as a whole that these people exist. But, equally, it's vitally important that the people involved in these sections, while not directly working on each other's 'language' cooperate together as a community. It would be a grave mistake that they would no longer have anything interesting to contribute towards each other.
The biggest fear is that these parts of the community will consider their differences to be bigger than their similarities and try to split. This would be bad and wrong. These people are still "Perl Programmers" no matter if they're using some silly new version or some old crufty code. In the end the ideal situation would that these various parts of the community would end up feeding off each other.
Well, I've rewritten the above about three times now. I'm still not sure it comes across okay.
[1] Er, this is probably easier for me to say considering I haven't written any of these blocks of code myself. Let me assure the authors that I'm not denigrating your work, rather elevating your status as individuals, and that you are much more important that what you do.
Re:Embrace the change pudge...
pudge on 2002-04-16T15:49:23
Now you can't seriously expect me to obey you and not try and convince you about something in a public forum can you
You can't expect me to continue reading your post after that opening line, can you?
Re:Embrace the change pudge...
2shortplanks on 2002-04-16T16:02:08
No, don't be silly. It's a overly long annoying braindump. It's just nicer it being out of my head;-) I'd ignore it if I was you.
Re:Embrace the change pudge...
ziggy on 2002-04-16T14:42:42
Let's see:Perl 6 is Perl 5, but more so. I'm not talking about the internals. I'm not talking about the syntax. It's the feeling of the language that's important, and the feeling of the community.I don't think that got the same feeling as Perl5. There are going to be lots of new idioms in Perl6 that don't have a reason to exist in Perl5. At the same time, these idioms are being added so that the magical behaviors we have come to expect from Perl will continue to exist -- and multiply.sub foo {
return 0 is true;
}That's the intent, anyway.
Re:Embrace the change pudge...
2shortplanks on 2002-04-16T15:43:59
sub foo {
return 0 is true;
}Gah, that's nothing more than what all the punk kids are using to write:
these days. In my day we had to rub two scalars together to getsub foo {
return dualvar(0,"true");
}and we thought ourselves lucky to have thatsub foo {
return "0E0";
}
I don't pretend to think that just because I know Perl 5 I automatically will know most of Perl 6. I made that mistake already a long time ago with C & C++ - they have some basic similarities, but otherwise they're totally different languages. And guess what? I don't feel like learning yet another language.
I've already got a handle on Ruby and I suspect a healthy chunk of your current Perl 5 programmers will turn to either Ruby (me) or Python. The real question is will *new* programmers decide to pick up Perl 6 and join the Perl 6 community.
Re:No instant migration
koschei on 2002-04-16T14:57:12
These days I don't tend to write Perl for work - mainly because I'm between engagements (and anyone willing to provide an endpoint will be happily received). So I do my Perl more or less exclusively for fun these days.
I've been programming for a reasonable amount of time (around a decade or so) in various languages. One of my hobbies is learning new/different languages.
I can program in Ruby and Python. Reasonably competently. Ditto for PHP, but I have to check the manual for the names of functions and methods for that one.
Somehow, I skipped C++ and I haven't gotten around to C# yet (soon... soon...).
So from my point of view, Perl 6 is going to be a fun new toy to play with. With any luck I'll have employment before it comes out and that employment will probably end up with Perl in it somewhere. And I'll be looking forward to converting the programs/modules to 6.
I may sound like a geek, but I do love Perl (and my gf, who understands my obsession with Perl). I can see that there are problems with Perl 5 - you say you're using Ruby, which means you should be experiencing the joy of your ints and strings being objects. Perl 6 will be Ruby++, Python++, Perl5++, etc.
With each Apocalypse and Exegesis I'm going "ooh! that sounds fun!", or "ooooh! clever!", or "ooh! I can see where you nicked that from". I'm looking forward to Perl6, even though it is still quite a while away.
I'll be picking Perl 6 up. I'll be interested in gnat's journals on P6 books and talks.
C to C++ is an interesting beast. C++ introduces objects. But, from what I recall, C++ is a syntactic superset of C - it's a nice way to write C but a valid C program is valid C++. How many Perl 4 features don't work in Perl 5? (not quite rhetorical, I don't actually know; retroperl is on the 'to investigate list')
Perl 6 is going to be more different, but I don't think there are any immediate concepts you have to get your head around beyond the variable notation. Most of the rest can be gradually introduced. We'll be talking baby talk for a while, but eventually we'll be conversing like natives.
I don't see a need for the community to fragment too much. Eventually, Perl 5 will be as Perl 4 is now. Is that really too much of a bad thing?
Re:No instant migration
pudge on 2002-04-16T15:18:51
I don't see a need for the community to fragment too much. Eventually, Perl 5 will be as Perl 4 is now. Is that really too much of a bad thing?
If Perl 5 will be as Perl 4 is -- meaning not used for anything except legacy code -- that means that a great many programmers will have moved on to other things that are not Perl. To expect that almost all the people who love Perl 5 will love Perl 6 is unreasonable, because they are too different from each other for that expectation to have any logical basis. So yes, it's a very bad thing, in my opinion.
There will be significant fragmentation in the community, necessarily, if Perl 6 becomes popular. There's no avoiding that. Again, I don't want to discuss the relative merits of Perl 5 or Perl 6, I just want people to realize that both will have many adherents for many years to come, and that the Perl community is a great one, and that we should start considering this, so that when Perl 6 does come around, we can act in ways to diminish the negative effects of the fragmentation.
Re:No instant migration
darobin on 2002-04-16T17:49:33
Quite honestly, it didn't look to me as if Perl 6 was all that different from Perl 5. For sure, it adds quite a number of things, but Perl 6 is supposed to be able to read Perl 5 code (otherwise we lose CPAN, and then I'd definitely worry). Given the latter point, why not upgrade to Perl 6 once it's stable? You'll still be able to use your beloved Perl 5. Over time, you might see a few things that you like in Perl 6, and start using it (the language, no the interpreter) as well. I think that the transition will be very slow, and give us all plenty of time to adapt, whether we want to run or whether we don't care at all about the new stuff.
I also don't think that the community will split. For sure, it will fragment but I very much doubt that it will fragment more than it already is. A problem to solve is just a problem to solve, and most of the time you don't need to refer to the actual language to help find a solution. I have no doubt that people will keep talking over the cracks, from one fragment to the next. For instance, when I think pipeline I think SAX, and the #openframe people laugh at me thinking something else. But it doesn't mean that we don't discuss our different and similar viewpoints, or try to help one another find a solution.
I see no good reason to think that it'll be different when Perl 6 comes. I know I'll be an early adopter because I like a lot of what I've seen. I also know that I'll keep maintaining my Perl 5 modules for a long while (even though I might not add many features). I also know that I'll keep talking to Perl 5 people and won't laugh at their solutions, knowing that I'll be able to use them directly in Perl 6, and that the general idea underlying the code is what I'm really interested in anyway.
Why not wait until Perl6 is a reality to worry? There are *plenty* of people still using OS 9 though, for obvious reasons, development has mostly ceased on a dated platform. There are plenty of others things to worry about now
Re:I still use OS 9 :)
pudge on 2002-04-16T14:58:40
Well, I am not sitting in the corner wringing my hands in agnoy over it. But yes, I knew that people would say "wait and worry about it when it happens". But I feel that we should start thinking about it before it happens... not necessarily doing anything about it, beyond thinking about it. If we wait too long to be aware of the issues involved with the fracturing of the community, I think it will be too late.
Re:I still use OS 9 :)
hfb on 2002-04-16T16:24:25
If the community fractures, Perl6 will not be the cause of it.
Re:I still use OS 9 :)
koschei on 2002-04-16T16:16:44
And I still use MacOS 8.6...
Damn I need to upgrade my gf's iMac.Re:I still use OS 9 :)
koschei on 2002-04-16T16:19:22
And what's this "No Score +1 bonus" thingy?Re:I still use OS 9 :)
pudge on 2002-04-16T16:23:20
If you have enough karma, you can give your comment an extra point. You can turn it off by default in your comment preferences. If you get moderated down after giving yourself an extra point, then it is more damaging to your karma, or something.Re:I still use OS 9 :)
koschei on 2002-04-16T16:29:51
Aw crap. I've been setting that for a few comments and such and those comments are probably going to get slaughtered by the mods. Thank goodness we have such lovely people here =)Re:I still use OS 9 :)
pudge on 2002-04-16T16:42:34
No, I think you are backwards. You want to check the box to NOT get the bonus.
I strongly recommend everyone who has the bonus goes to comment prefs and checks "No Score +1 Bonus". It's only the default; you may deselect the checkbox on any given post to get the bonus.
Further, while you're there, you can check out some other new options, like changing the size of your comment box, giving extra (or fewer) points to friends/foes or comments marked as interesting/insightful/whatever, etc.Re:I still use OS 9 :)
pne on 2002-04-18T11:28:30
Since we're talking about the posting system;)
How come when I posted to a thread where I had also moderated, it said "Removing moderation from comment #1234"? My understanding was that I the moderation stays when I post; it's only that I can't moderate in a thread *after* I've posted to it.Re:I still use OS 9 :)
pudge on 2002-04-18T11:33:00
No, you may not moderate in a thread you post to. If you post after the moderation, the moderation is undone.
Re:Schism?
pudge on 2002-04-16T16:54:13
Again, this is not about technology, it is about community. If I can run my Perl 5 under Perl 6's interpreter, fine, but I am still writing Perl 5, and you are still writing Perl 6.Re:Schism?
Matts on 2002-04-16T21:28:25
Promised, but I'm hedging my bets it will never arrive. Who is going to do this thankless task? Is Damian really going to do it all? When?
I think perl4-perl5 is one model for what will happen. There'll be a period of peaceful coexistence, then when nobody wants to maintain the earlier version and answers to bug reports start being "upgrade", and one by one the hangouts move to the new system and become as familiar with it as they were with the old.
I doubt anybody will look down their nose at Perl 5 users. If anything, Perl 6 users will deserve sympathy at the start--they'll be the ones with the uphill road for a while! They'll be finding bugs, discovering missing functionality, etc., while all the perl5 folks sit back and sip their lattes, smug in nearly ten years of bug fixes.
This would make an interesting panel discussion for YAPC
--Nat
Re:Like COBOL?
pudge on 2002-04-17T13:12:44
Personally I think it will be a sad thing if the existing communities split into two camps - much of the vitality and sparkle will disappear and something wonderful will be gone forever.
Thanks... that is my only real point. :-)
Also, whatever happened to Topaz? Can someone point me to where that effort has been folded into Perl6 or is it still going on separately?
I'm very concerned by the fracturing of the community.
Re:The Perl6 Bandwagon is missing some people
pudge on 2002-04-17T20:37:18
Chip Salzenberg, the Topaz guy, was in the original meeting that begat Perl 6. At the time, he had already abandoned Topaz, and offered suggestions from what he learned from the experience.