Perl, the new generation
This is a long shot, but here goes. I was thinking about Perl 6 this morning while jogging (blithely ignoring the forest scenery). It occurred to me that what appears to be emerging as the new language embodies bigger changes than I ever anticipated - which is great, software should improve with time. And so I found myself wondering whether the title does it justice. Perl 6 is looking to me almost like an entirely new language. The change from Perl 5 to Perl 6 is much, much larger than the change from Perl 4 to Perl 5 (virtually all Perl 4 code ran unmodified under Perl 5). So, I wonder aloud, do we want to signify that degree of change with a more dramatic change in the name? Still Perl, but maybe Perl 7, Perl 10, Perl 2001, Perl NG, Perl* - heck, I don't know, I'm just trying to get the creative juices flowing. I do believe that the tremendous effort that is going into Perl 6 deserves more attention than I think it will get with that title. At some point, the Perl 6 cognomen will have attracted enough inertia that we couldn't reasonably change it even if we wanted to. Maybe that time has already come. Maybe not. Can't hurt to raise the question. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com
Re: Perl, the new generation
Hey, we could call it Perl 9 from Outer Space. No wait... Larry
Re: Perl, the new generation
At 05:36 PM 5/10/01 +0100, Michael G Schwern wrote: Version numbers are, at best, an indication of the magnitude change. At worst they are a cheap marketing ploy. I've always liked that Perl's version numbers are relatively free of marketing hoopla (the jump from perl3 to perl4 notwithstanding). The move from 5.005_03 to 5.6.0 style was jarring enough (and fairly well justified). Its been so long since we've had an integer increment that it should be fairly shocking. Eh, I fully understand that version number magnitudes are simply to attract attention, and that The Faithful don't need the glitz. Since AFAICT the glitz doesn't hurt, though, it doesn't do any harm to give marketing all the help it can get; and let's face it, marketing hasn't been Perl's greatest strength. I was one of the people calling for 5.006 - 5.6, since the changes, to me, were greater than what was implied by an increment in the fourth significant digit. And it worked, too; I finally saw a couple of articles in trade (non-geek) rags about the upgrade. More or less the only articles about Perl I've seen there for 5 years. (I'm talking about rags like Information Week, Internet Week, Computerworld, that sort of thing.) I'm just applying the same principle here, comparing to the Perl 4 - Perl 5 change. Like I said, I figure it's a long shot; I just thought I'd run it up the flagpole. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com
RE: Perl, the new generation
I've been wondering for quite some time whether we were creating a Perl for the purpose of cleaning up the ridiculously rigged Perl 5 internals, or creating a Perl for the simple enjoyment of creating a new programming language. Certainly, recent discussions would point to the latter; as we move farther and farther away from Perl 5 syntax, we move dangerously close to completely closing Perl as a viable tool for the gazillions of users who have the misfortune of legacy. This legacy isn't just a website or a utility here and there anymore, but often an entire suite of software, or tools integrated into operating systems, some or much of which the user may not even be aware of. Translating is not an option for these people. A slow transition may be a catchphrase nowadays, but with Perl 5 stagnant, 5.6 accepted on only two systems that I'm aware of (SuSE and Win32/AS; rejected everywhere else), and PHP/Python/.NET ready to swollow up anyone who would believe anything, I'm concerned that this transition may not exist. So, I'll go you one farther. What about creating a cleaned up perl, and letting those who want to play with a new language entirely do so in the form of a true fork. Certainly, Perl 6 is coming to resemble Perl 5 little more than PHP and resembles Perl 5 and Perl 5 resembles C. We haven't even started writing the actual tool(s): we haven't even completed planning without coming up with a tool that only resembles Perl due to a use of $@%, as an offspring rather than a serious hot bath. If we keep this up, Larry's 95% mark will end up going to 90%, 85%, and then who knows. I DO NOT DISLIKE the changes that I'm seeing. However, their coolness ends when it comes time to trace through my entire operating system(s) and change every perl file that exists here; and the thought of a mass exodous to Python/PHP because we've made Perl 5 obsolete and scared off the rest of our community, especially corporate members, is completely unappealing. Corporate users do not think in terms of neat and novel, they think in terms of how much work it's going to be to keep up with the complete overhaul of a language versus moving to a language with a stable syntax once and not having to deal with it again. We will not soon rise above that kind of bad opinion. FUD? Perhaps. Reality? Definitely. Python books are already full of FUD, and I've had to stop reading .NET books because just holding the books in my hand makes my blood pressure rise 90 points. Imagine what will happen when that FUD turns serious and actually costs Perl users a great deal of money? Unless Perl 6 is capable of parsing and running that 99.9% (or higher) of Perl 5 scripts originally foretold, I foresee a far worse outcome for Perl 6 than has happened for an almost universally rejected 5.6 and 5.6.1. Fun is fun. But work costs money, guys. And if you cost people money with a free tool, repercussions could be bad not just for Perl but for free languages, among which Perl has heretofore been the leader of the pack. Actually, Peter, I was getting very, very close to writing this anyway. David T. Grove Blue Square Group [EMAIL PROTECTED] [EMAIL PROTECTED] -Original Message- From: Peter Scott [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 10, 2001 12:20 PM To: [EMAIL PROTECTED] Subject: Perl, the new generation This is a long shot, but here goes. I was thinking about Perl 6 this morning while jogging (blithely ignoring the forest scenery). It occurred to me that what appears to be emerging as the new language embodies bigger changes than I ever anticipated - which is great, software should improve with time. And so I found myself wondering whether the title does it justice. Perl 6 is looking to me almost like an entirely new language. The change from Perl 5 to Perl 6 is much, much larger than the change from Perl 4 to Perl 5 (virtually all Perl 4 code ran unmodified under Perl 5). So, I wonder aloud, do we want to signify that degree of change with a more dramatic change in the name? Still Perl, but maybe Perl 7, Perl 10, Perl 2001, Perl NG, Perl* - heck, I don't know, I'm just trying to get the creative juices flowing. I do believe that the tremendous effort that is going into Perl 6 deserves more attention than I think it will get with that title. At some point, the Perl 6 cognomen will have attracted enough inertia that we couldn't reasonably change it even if we wanted to. Maybe that time has already come. Maybe not. Can't hurt to raise the question. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com
RE: Perl, the new generation
Incompatible continuity. Sounds like Microsoft marketing. We're strongly considering keeping compatibility, and rejecting it wherever we can insert something that looks momentarily cool. Of course your Perl 5 programs will still work, as long as you convert them to Perl 6. We'll have a parser that will be able to do this. Of course, you will have to write it yourself. Perl 6 will still be perl, because the name won't change... the language is a different matter entirely. Doesn't wash... A non-MS-microweenie can only digest a limited number of oxymora at a time. David T. Grove Blue Square Group [EMAIL PROTECTED] [EMAIL PROTECTED] -Original Message- From: Larry Wall [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 10, 2001 12:44 PM To: Peter Scott Cc: [EMAIL PROTECTED] Subject: Re: Perl, the new generation Peter Scott writes: : So, I wonder aloud, do we want to signify that degree of change with a more : dramatic change in the name? I'm inclined to think that people will be more likely to migrate if they subconsciously think we're taking continuity into consideration. Which we are, albeit not at a syntactic compatibility level. Larry
Re: Perl, the new generation
On Thu, May 10, 2001 at 12:56:36PM -0400, David Grove wrote: Of course your Perl 5 programs will still work, as long as you convert them to Perl 6. We'll have a parser that will be able to do this. Of course, you will have to write it yourself. I think there's a communications foul-up here. We're definately providing some sort of Perl 5 translator/adaptor system and we're definately writing it. In fact, it was hotly debated on perl6-language just recently exactly how to do it cleanly. Have I missed something? Have you missed something? -- Michael G. Schwern [EMAIL PROTECTED]http://www.pobox.com/~schwern/ Perl6 Quality Assurance [EMAIL PROTECTED] Kwalitee Is Job One mendel ScHWeRnsChweRNsChWErN SchweRN SCHWErNSChwERnsCHwERN sChWErn ScHWeRn schweRn sCHWErN schWeRnscHWeRN SchWeRN scHWErn SchwErn scHWErn ScHweRN sChwern scHWerNscHWeRn scHWerNScHwerN SChWeRN scHWeRn SchwERNschwERnSCHwern sCHWErN SCHWErN sChWeRn
Re: Perl, the new generation
Nathan Wiger writes: : Maybe the name Perl should be dropped altogether? No. The Schemers had to do a name change because the Lisp name had pretty much already been ruined by divergence. : (Granted, that's not what I'd prefer, but the changes are getting : rather massive and are starting to really permute the proposed : language) If you talk that way, people are going to start believing it. The typical Perl 6 program is not going to look very different from the typical Perl 5 program. The danger of us continually talking about the things we want to change is that people will forget to notice the tremendous amount of stuff that we aren't changing. Larry
Re: Perl, the new generation
On Thu, May 10, 2001 at 11:55:36AM -0700, Larry Wall wrote: If you talk that way, people are going to start believing it. The typical Perl 6 program is not going to look very different from the typical Perl 5 program. The danger of us continually talking about the things we want to change is that people will forget to notice the tremendous amount of stuff that we aren't changing. It might be useful to draw up a list of functions and features which we don't plan on changing? Maybe just run through each Perl 5 man page and highlight everything that will still be the same and post this somewhere? -- Michael G. Schwern [EMAIL PROTECTED]http://www.pobox.com/~schwern/ Perl6 Quality Assurance [EMAIL PROTECTED] Kwalitee Is Job One The desired effect is what you get when you improve your interplanetary funksmanship.
Re: Perl, the new generation
If you talk that way, people are going to start believing it. The typical Perl 6 program is not going to look very different from the typical Perl 5 program. The danger of us continually talking about the things we want to change is that people will forget to notice the tremendous amount of stuff that we aren't changing. Maybe, but for one I'm starting to wonder. TomC's rant rang true in my ears. How much can we change and still call it the same language? I'm not yet panicking, I'm just trying to hug some firm ground here. Larry -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen
Re: Perl, the new generation
* Larry Wall [EMAIL PROTECTED] [05/10/2001 11:57]: Nathan Wiger writes: : Maybe the name Perl should be dropped altogether? No. The Schemers had to do a name change because the Lisp name had pretty much already been ruined by divergence. : (Granted, that's not what I'd prefer, but the changes are getting : rather massive and are starting to really permute the proposed : language) If you talk that way, people are going to start believing it. The typical Perl 6 program is not going to look very different from the typical Perl 5 program. The danger of us continually talking about the things we want to change is that people will forget to notice the tremendous amount of stuff that we aren't changing. Don't get me wrong - I'm not trying to be melodramatic. Far from it. However, one thing I worry we're losing sight of is *programmer* migration. We can write all the translators we want, but the person still has to learn Perl 6. As long as we're getting clear bang for the buck, then we're probably ok. But I continue to become increasingly worried that we're on a slippery slope of changes that really aren't needed. This may sound blasphemous, but I think we should try to change as few things as possible. By that I just mean let's determine what really needs to be overhauled. The $@% system? Yes. Apoc2 gets an A+ there. Bareword filehandles? Absolutely. Better semantics for passing @ around? Yup. But I think we just need to realize that every change we make is a change that thousands (millions?) of Perl programmers must now relearn. Since Perl is all about being programmer-centric, I think we just need to bear this in mind more closely when considering changes to such fundamental tenets as FILE and such. I would bet many JAPHs don't even know that you can say readline(FILE). -Nate
RE: Perl, the new generation
Perl 5 is far from stagnant--please don't bend the truth to fit your points. My impression is that there's quite a bit more constructive activity on p5p than there was a year ago. I've stopped paying attention to P5P except for keeping an eye on the possibility of a new surprise upgrade from Microsoft. However, the attitude of the P5P is irrlevant to the user base. : Unless Perl 6 is capable of parsing and running that 99.9% (or higher) of : Perl 5 scripts originally foretold, I foresee a far worse outcome for Perl 6 : than has happened for an almost universally rejected 5.6 and 5.6.1. There you go again, as Uncle Ronnie used to say. Excessive hyperbole will cost you sympathetic readership. Shall I list them again? Dude, it's been 13 months since 5.6 was released, and two commercial entities have so far accepted it: ActiveState and SuSE. Speaking with SuSE around October (7.0), the rep's answer getting back to me was simply we don't consider it to be stable enough yet to include it in our distribution. If Perl 5.6 hasn't caught on after a year, God help us trying to pass Perl 6 off as still Perl sometime this decade. Nobody ever foretold 99.9%, as far as I recall. I surely didn't. I was quoting you from about 5 messages ago... larryquote If 99.99% of scripts translate, that's good enough for me. :-) Actually, if 95% of Perl 5 scripts translate, I'll be overjoyed. /larryquote That's where it came from. The issue on the table is the magnitude of the diversion from Perl 5 to Perl 6, and my issue is its effect on the user base, especially commercial users and their legacy. I have to be concerned for these people: they're my customers and my peers. Perl 4 - Perl 5 happened at a time when perl wasn't considered THE scripting language. Entire commercial systems weren't widely written in it. Python, PHP, ASP, VBS, Ruby, and .NET weren't hot on it's tail spreading FUD to mezmerize users with transparent and ephemeral fancies. The effect on Win32 alone could be disastrous, so consider what would happen on systems where parts of the system itself were Perl 5 (some Linux distros lean heavily on Perl). p
Re: Perl, the new generation
- Original Message - From: David Grove [EMAIL PROTECTED] To: Peter Scott [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Thursday, May 10, 2001 5:47 PM Subject: RE: Perl, the new generation . . . Corporate users do not think in terms of neat and novel, they think in terms of how much work it's going to be to keep up with the complete overhaul of a language versus moving to a language with a stable syntax once and not having to deal with it again. We will not soon rise above that kind of bad opinion. Quite. One of the nice things, so far, about working with Perl is that upgrades have been reletively simple and painless, cheap, in other words. Compared to, say, the upgrade between VB 16bit and VB 32bit, the Perl upgrades I've done have been free. The idea of changing all of my Perl scripts is *not* attractive, actually it's sort of scary. Mike . . David T. Grove Blue Square Group [EMAIL PROTECTED] [EMAIL PROTECTED]
Re: Perl, the new generation
David Grove [EMAIL PROTECTED] writes: Unless Perl 6 is capable of parsing and running that 99.9% (or higher) of Perl 5 scripts originally foretold, I foresee a far worse outcome for Perl 6 than has happened for an almost universally rejected 5.6 and 5.6.1. Most people don't adopt .0 releases. 5.6.1 was just released. Most of us who maintain large software deployments have a lag time of *at least* six months for picking up a new release of software. I know you like preaching doom and gloom, David, but you're several parsecs displaced from reality here. (And Perl 5.6.0 has been in Debian testing for a while, for that matter.) -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/
RE: Perl, the new generation
On Thu, May 10, 2001 at 03:58:41PM -0400, David Grove wrote: it's been 13 months since 5.6 was released, and two commercial entities have so far accepted it: ActiveState and SuSE. a complete, barefaced lie. To be a lie, it must be purposeful. I am not above error, however. Who do you get your Perl from? I build my own. It's (historically speaking) the only way to get a reliable Perl on Win32, though some module still don't compile without proprietary hacks. Redhat? They ship 5.6.0 in RH7.0 Mandrake? Hrm, perl-5.600-30mdk.i586.rpm. Yep, that'd be 5.6.0 My information on this comes from discussion (asking directly) in undernet #linux. If this is in error, tell it to them. My stating this comes from actual research short of purchasing every linux on the planet just to see if they have Perl. The research took place specifically to see whether 5.6 was appropriate for PerlMagic, and it was place in 5.6 only because Win32 users thought they needed it, though several of the P5P some months ago suggested a strong warning to my users. Solaris? Talk to Alan - Perl 5.6.1 going into Solaris 9. Somebody said it was and described why. Debian? They're not commercial, but they're still a pretty big OS distro; let's have a look in the next release: (the testing distro - Debian release very infrequently.) http://packages.debian.org/testing/interpreters/perl-5.6.html shows me they're going to be shipping - oh, Perl 5.6.1. Even better. What? You mean they're actually accepting it a year and a half later in a testing version? I'm not sure you made a point here. Anywhere else? :) FreeBSD comes to mind, among others. Can we get back to the subject now? p
Re: Perl, the new generation
On Thu, May 10, 2001 at 04:41:09PM -0400, David Grove wrote: My information on this comes from discussion (asking directly) in undernet #linux. If this is in error, tell it to them. An IRC channel, in ERROR?! On Undernet no less?! THE DEUCE YOU SAY!! ;) Next thing you're going to tell me the commentary on Slashdot isn't totally impartial! Debian? They're not commercial, but they're still a pretty big OS distro; What? You mean they're actually accepting it a year and a half later in a testing version? Debian is historically slow to release 'stable' distributions. The current 'testing' branch has been going on for quite some time. FreeBSD comes to mind, among others. FreeBSD is also historically *very* slow about upgrading perl. They were one of the last hold-outs to upgrading /usr/bin/perl from perl4. Please stop. -- Michael G. Schwern [EMAIL PROTECTED]http://www.pobox.com/~schwern/ Perl6 Quality Assurance [EMAIL PROTECTED] Kwalitee Is Job One purl Hey, Schwern! THERE IS A HUGE GAZORGANSPLATTEDFARTMONGERING- LIGHTENINGBEASTASAURSOPOD BEHIND YOU! RUN, BEFORE IT GAFLUMMOXES YOUR INNARDLYBITS!
Re: Perl, the new generation
At 09:20 AM 5/10/01 -0700, I wrote: At some point, the Perl 6 cognomen will have attracted enough inertia that we couldn't reasonably change it even if we wanted to. Maybe that time has already come. Maybe not. Can't hurt to raise the question. I retract the last sentence. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com
You will not have to rewrite your Perl 5 programs!
I'd just like to make this abundantly clear, since there seems to be some confusion (and hopefully I'm not the one confused). *** You will NOT have to rewrite your Perl 5 programs *** Perl 6 *will* provide a backwards compatible Perl 5 parser. The details are not nailed down, but this definately will happen. I hereby declare that a package declaration at the front of a file unambiguously indicates you are parsing Perl 5 code. If you want to write a Perl 6 module or class, it'll start with the keyword module or class. -- Larry Wall, Apocolypse 1 And yes, there will be something for programs as well. For further details, see: http:[EMAIL PROTECTED]/msg00285.html -- Michael G. Schwern [EMAIL PROTECTED]http://www.pobox.com/~schwern/ Perl6 Quality Assurance [EMAIL PROTECTED] Kwalitee Is Job One Let me check my notes...
Re: You will not have to rewrite your Perl 5 programs!
At 10:06 PM 5/10/2001 +0100, Michael G Schwern wrote: I'd just like to make this abundantly clear, since there seems to be some confusion (and hopefully I'm not the one confused). *** You will NOT have to rewrite your Perl 5 programs *** Perl 6 *will* provide a backwards compatible Perl 5 parser. The details are not nailed down, but this definately will happen. Damn straight. One way or another, perl 6 will eat perl 5 code close to painlessly. (Typeglobs, perhaps, aside) Dan --it's like this--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: You will not have to rewrite your Perl 5 programs!
* Dan Sugalski [EMAIL PROTECTED] [05/10/2001 14:18]: Perl 6 *will* provide a backwards compatible Perl 5 parser. The details are not nailed down, but this definately will happen. Damn straight. One way or another, perl 6 will eat perl 5 code close to painlessly. (Typeglobs, perhaps, aside) Cool. Dan, is this a fundamental change from the philosophy that you expoused earlier? Last time I brought this up it seemed you were against having perl6 eat perl5 code. I'm thinking specifically of: http://www.mail-archive.com/perl6-language@perl.org/msg06258.html I'm NOT trying to put you on the spot :-), just wondering if the philosophy has changed... -Nate
Re: Perl, the new generation
On Thu, May 10, 2001 at 04:41:09PM -0400, David Grove wrote: Anywhere else? :) FreeBSD comes to mind, among others. Hm. You initially restricted your survey to commercial vendors, but now you are moving the goalposts. Can we get back to the subject now? Certainly. The subject was whether or not Perl 5.6.x has been taken up by the industry. I think we've proved that it has. Can we go back - uh, forward - to Perl 6 now? -- I think i'll take my girlfriend to vegas for a win'98 burn/upgrade -- Megahal (trained on asr), 1998-11-06
Re: Perl, the new generation
At 11:11 PM 5/10/01 +0100, Simon Cozens wrote: On Thu, May 10, 2001 at 04:41:09PM -0400, David Grove wrote: Anywhere else? :) FreeBSD comes to mind, among others. Hm. You initially restricted your survey to commercial vendors, but now you are moving the goalposts. Can we get back to the subject now? Certainly. The subject was whether or not Perl 5.6.x has been taken up by the industry. Sigh. Do I dare wade back in? But the voices in my head won't stop :-) With respect - and I do mean that - the subject as I started it was, Is Perl 6 the most appropriate title for what we discuss here and what brave people like yourself will be implementing? If it's at all possible to discuss that without devolving into tangential political debates, I'd like to do so. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com
Re: You will not have to rewrite your Perl 5 programs!
* Adam Turoff [EMAIL PROTECTED] [05/10/2001 15:20]: Yes, it has, in Apocolypse 1: Perl 6 must assume it is being fed Perl 5 code until it knows otherwise. http://www.perl.com/pub/2001/04/02/wall.html Yup, I saw that - actually, the discussion I was referencing was post-Apocalypse 1. There was some dispute over whether or not the above statement meant p6 should eat p5 code or whether it would just assume certain policies against it. The current thinking is that much of the Perl parser will be written in Perl. At that point, if the Perl6 language definition doesn't see any Perl6 constructs, it can switch itself out and plug in a piece of Perl code that parses the Perl5 language instead. So the last ditch effort to run old code through p52p6 is truly a last ditch effort. Very cool. -Nate
perl5 to perl6
Here's a program I use to count messages in my mailfile: #!/usr/bin/perl -w while () { if (($who) = /^From\s+\S+\s+\S+\s+(\S+\s+\S+)/) { @r = reverse split ' ', $who; $r[0] = sprintf(%02d, $r[0]); $count{@r}++; } } foreach (sort keys %count) { printf(%s: %3d\n, $_, $count{$_}); } Here's the corresponding perl6 program: #!/usr/bin/perl -w while ($ARGS) { if (($who) = /^From\s+\S+\s+\S+\s+(\S+\s+\S+)/) { @r = reverse split ' ', $who; @r[0] = sprintf(%02d, @r[0]); %count{@r}++; } } foreach (sort %count) { printf(%s: %3d\n, $_, %count{$_}); } Notice the variable changes: %count{...} because I'm talking about the hash %count. @r[0] because I'm talking about the array @r. Nat
RE: Perl, the new generation
On Thu, May 10, 2001 at 10:00:13PM +0100, Michael G Schwern wrote: On Thu, May 10, 2001 at 01:49:30PM -0700, Edward Peschko wrote: We need to keep syntactic compatibility, which means we need to keep the ability for perl6 to USE PERL5. I think you're in violent agreement here. This has been declared a goal of Perl 6 from almost day one. Ok, fair enough, but until just a little bit ago I was hearing stuff different from Dan. That has been changed, apparently recently If this is an actively pursued goal, I consider the issue dead, with one remark: use Perl5 or anything else that has to appear in legacy code thereby forcing hunting and changing all perl programs will likely cause it to reappear, unless we can find a way to default to both. On UN*X this is symlinks (let's not reopen it, just suffice to say that /something/ needs to prevent this requirement), and on Win32 and other systems without symlinks, a separate executable. Since the executable is so small on both (all?) systems, it's not much of an addition. Win32 already has perl5.6.0(-win32-multi-thread-morestuff).exe and perl.exe. This is an old argument, and one I don't wish to reopen, as long as /something/ along this order can provide for a painless migration. With that in place, let's change whatever syntax gets annoying. p