Linked by David Adams on Sun 7th Dec 2008 02:03 UTC, submitted by HugoS
General Development Version 6 of the popular Perl programming language will not be compatible with previous versions, but will open up a new world of custom "languages" and interpreters, according to its founder Larry Wall. Wall and his co-developers are doing with Perl 6 -- starting again. "It will break backward compatibility [but] in order to simplify it we have to get rid of old cruft, particularly the regular expression cruft," Wall said. "A lot of the unreadability of Perl is related to the regular expression syntax " and we didn't do that, we got it from Unix. It needs to be end-of-lifed."
Order by: Score:
regex's
by flanque on Sun 7th Dec 2008 03:20 UTC
flanque
Member since:
2005-12-15

Regular expressions are really powerful and can do some wonderful stuff but they are a pain in the rear to understand if you didn't write it/them (and they're complex). Heck even ones I did write I have to work out again what they do if I haven't dealt with it in a while.

A move to "fix" regex's in Perl is a good move in my book.

Reply Score: 8

RE: regex's
by liber on Sun 7th Dec 2008 11:27 UTC in reply to "regex's"
liber Member since:
2008-10-26

a tip i the small kde utility "kregexpeditor". it visualises your regexps in a neat way. IIRC it can also be used as a wysiwyg, but I never tried that.

Reply Score: 3

Comment by Redeeman
by Redeeman on Sun 7th Dec 2008 04:33 UTC
Redeeman
Member since:
2006-03-23

lol... the regular expression dealie, is as i see it, the only real unique different perl has over other languages...

Reply Score: 4

RE: Comment by Redeeman
by flanque on Sun 7th Dec 2008 06:48 UTC in reply to "Comment by Redeeman"
flanque Member since:
2005-12-15

Well there's always CPAN as well which makes my life a LOT easier in so many ways.

I really should try learning Python though...

Reply Score: 3

RE: Comment by Redeeman
by tchristney on Sun 7th Dec 2008 06:51 UTC in reply to "Comment by Redeeman"
tchristney Member since:
2005-09-21

lol, the fact is regexp is supported in many languages, including C++ (using boost), Python, Java and Javascript. And those are just the ones I can think of off the top of my head.

Reply Score: 4

RE: Comment by Redeeman
by WorknMan on Sun 7th Dec 2008 14:32 UTC in reply to "Comment by Redeeman"
WorknMan Member since:
2005-11-13

lol... the regular expression dealie, is as i see it, the only real unique different perl has over other languages...


Well, that and the whole web scraping thing. I'm not sure if Python or any other scripting language of its type has anything as powerful as the LWP library:

http://search.cpan.org/~gaas/libwww-perl-5.800/lib/LWP.pm

Reply Score: 3

RE[2]: Comment by Redeeman
by sbergman27 on Sun 7th Dec 2008 14:43 UTC in reply to "RE: Comment by Redeeman"
sbergman27 Member since:
2005-07-24

[I'm not sure if Python or any other scripting language of its type has anything as powerful as the LWP library

Beautiful Soup:

http://www.crummy.com/software/BeautifulSoup/documentation.html

Reply Score: 3

RE[2]: Comment by Redeeman
by petdance on Sun 7th Dec 2008 16:31 UTC in reply to "RE: Comment by Redeeman"
petdance Member since:
2008-12-07

If you're only using LWP, then you need to get looking at WWW::Mechanize, which handles most of the web page and form handling that you want automatically.

http://search.cpan.org/dist/WWW-Mechanize/

Reply Score: 2

Confused
by Moochman on Sun 7th Dec 2008 07:49 UTC
Moochman
Member since:
2005-07-06

Admittedly, I have almost no experience programming Pearl (total extent is editing a Unix script once), but damn, I'm left with no clue what Larry Wall was trying to say! Perhaps my imagination is simply too limited... But "Perl 6 is many languages"... "The “Kewlness” of Perl 6 includes a parser that uses stringwise "surreal" precedence" ... "Perl 6 has no “core”, pre-defined operators and support for user-defined operators." (The last two quotes aren't directly from Wall--and the second one has really strange/bad grammar. I'm guessing it means that all operators are user-defined? ...maybe the article is so confusing because the author has no clue what he's writing about....)

And also... first Wall says he wants to make Perl 6 easier to read, then he says this:
"The idea with Perl 6 is you start with a standard language and you can mutate it. As long as you follow that refinement process there isn't the problem of ambiguity. There is the problem of multiple dialects, but that will always be a problem."

I'm sure that's going to help readability a whole lot, allowing programmers to customize the language so that other programmers have that much less of an idea what's going on in their code....

Edited 2008-12-07 08:09 UTC

Reply Score: 5

RE: Confused
by Lennie on Sun 7th Dec 2008 09:40 UTC in reply to "Confused"
Lennie Member since:
2007-09-22

I think the writer of the article didn't know to much about it either. Also Larry Wall wasn't clear enough, probably because most people there actually knew what he was talking about.

Perl 6 is based on Parrot, Parrot is a VM kinda like a Java VM, but for dynamically typed (script-)languages like Perl, JavaScript, PHP, LISP, Lua, Python, Ruby, etc. So Parrot is the part that can understand and run different languages.

With Parrot a language-syntax is defined in a definition file for the parser. So the language can be extended.

And I don't think the next version will break compatibility, the syntax of Perl 6 will be different, but Parrot will also understand Perl 5.

To make confusion full circle, Perl 6 actually has a formal language specification about what Perl 6 is, so there can be and are several implementations, one written in Haskel and one for Parrot. That's why there is also a Perl 6 test-suite to check the implementation.

Well, that's what I've come to understand about Perl6/Parrot.

Edited 2008-12-07 09:55 UTC

Reply Score: 9

RE[2]: Confused
by Moochman on Sun 7th Dec 2008 10:22 UTC in reply to "RE: Confused"
Moochman Member since:
2005-07-06

OK, that makes things somewhat clearer--it sounds like the Parrot VM is moving in the same direction of the Java and .NET VMs in supporting a wide range of languages.

I also get the part about the test suite--it sounds similar to the idea behind the Java test suite.

What I still don't get, though, is what Perl 6 *the language* actually is. Is it similar to Perl 5, and what are the differences? Also, what did Wall mean about dialects being likely? To me it sounds like every programmer will effectively end up extending the language into their own personal dialect, which would make code review by others that much more painful... But I'm not sure I understood correctly...

Reply Score: 3

Perl 6 and Duke Nukem Forever...
by pantheraleo on Sun 7th Dec 2008 12:53 UTC
pantheraleo
Member since:
2007-03-07

Perl, and Parrot are probably second only to Duke Nukem Forever when it comes to claiming the title "King of Vaporware". It's been over 8 years since the design process of Perl 6 was started.

Parrot is probably a large part of the reason. None of the rest of the dynamic language world cares about Parrot anymore. They've already committed to building on top of Java or .NET (see IronPython, JRuby, and Caucho's Java version of PHP). So the only people still working on Parrot, are the people trying to design Perl 6.

Edited 2008-12-07 13:00 UTC

Reply Score: 2

petdance Member since:
2008-12-07

Except that Parrot has been having monthly releases for at least the last year, and Parrot 1.0 will be out in March 2009.

http://perlbuzz.com/2008/11/parrot-10-will-be-out-in-march-2009.htm...

And Perl 6 is marching along nicely.

There's plenty going on and it's phenomenal.

Reply Score: 1

sbergman27 Member since:
2005-07-24

And Perl 6 is marching along nicely. There's plenty going on and it's phenomenal.

Yeah. I'm sure the latest nightlies are awesome.

Forgive my skepticism, but 8+ years of "Perl 6 is marching along nicely", with no end in sight, invites that. Something is very, very wrong with this project. I haven't paid close attention, but "poor project management" is usually a pretty good guess in these cases. Arguably, the most important skill a project manager can develop is the ability to say "No" at the right times.

Edited 2008-12-07 17:19 UTC

Reply Score: 2

petdance Member since:
2008-12-07

I'm sure the latest nightlies are awesome.

Monthlies.

usually...

arguably...

I haven't paid close attention

Clearly not.

It's sure easy to take potshots from the side without having to have any knowledge about what's going.

Edited 2008-12-07 17:35 UTC

Reply Score: 3

sbergman27 Member since:
2005-07-24

It's sure easy to take potshots from the side without having to have any knowledge about what's going.

Sure. I believe you. The evidence clearly shows that everything is under control, going according to plan, and coming along nicely.

Edited 2008-12-07 18:14 UTC

Reply Score: 5

Bill Shooter of Bul Member since:
2006-07-14

http://www.perlfoundation.org/perl6/index.cgi?when_will_perl_6_be_r...

They really only started the difficult implementation of parrot and the perl6 on haskell, and perl 6 on parrot, and perl 5 on parrot in 2005. So three years for a virtual machine, implementing two languages on the virtual machine, and another implementation of a language on top of a somewhat obscure language like Haskell in three years. Not that bad, if you ask me.

It was a long planning and design phase form 2000 to 2005, that most critics are including in the time estimate. The best explanation is that perl 6 was a community rewrite of perl 6. A community is, IMHO, always going to move slower with a design process, than a benevolent dictator.

Reply Score: 2

tene Member since:
2008-07-24

Yeah. I'm sure the latest nightlies are awesome.


The monthly releases have been pretty awesome. Look here for the list of changes in each monthly release for the past several years: http://svn.perl.org/parrot/trunk/NEWS

We really have been getting a lot done.

Reply Score: 1

pantheraleo Member since:
2007-03-07

Well, I don't call 9 years to get to version 1.0 of Parrot, and even a beta release of Perl 6 still no where in sight to be "moving along quite nicely".

One has to question whether Perl 6 will have any relevance at all by the time it finally comes out. Perl is dead as a Web application language. It's still great for system admin scripting and such, but I suspect most sysadmins are going to stick to their good old trusty Perl 5 anyway.

Reply Score: 1

sbergman27 Member since:
2005-07-24

Well, I don't call 9 years to get to version 1.0 of Parrot, and even a beta release of Perl 6 still no where in sight to be "moving along quite nicely".

It's just resting.

http://tinyurl.com/37lchr

Edited 2008-12-08 12:37 UTC

Reply Score: 3

petdance Member since:
2008-12-07

One has to question whether Perl 6 will have any relevance at all by the time it finally comes out.


Why does one have to question that? You're in no danger of working on the project, right?

Reply Score: 1

whartung Member since:
2005-07-06

What's not clear is how relevant will this long-in-process progress be to people outside of the Perl community?

For someone flitting about the periphery, it sounds interesting, academically, but pragmatically, I just don't know if I should care.

Reply Score: 2

Howie S Member since:
2005-07-14

The only thing Perl6 will ever be good for is a punchline to a joke.

You are right on the money! If you look up "vaporware" in the dictionary, it says "(see Perl6 and Parrot VM)".

This is yet another example of an overly-ambitious software project, lacking in clear direction or anything resembling an attainable roadmap - in other words, a deathmarch to nowhere-land.

All I can say is, "So long, you starry-eyed lemmings! Say 'hi' to the dodo bird for me."

Reply Score: 0

tene Member since:
2008-07-24

This is yet another example of an overly-ambitious software project, lacking in clear direction or anything resembling an attainable roadmap - in other words, a deathmarch to nowhere-land.


An attainable roadmap? You mean the one here: https://trac.parrot.org/parrot/wiki/ParrotRoadmap ?

We've been meeting our release goals pretty regularly for the past two years. I'd say that's a pretty good indication of clear direction and attainable goals.

Reply Score: 2

sbergman27 Member since:
2005-07-24

We've been meeting our release goals pretty regularly for the past two years. I'd say that's a pretty good indication of clear direction and attainable goals.

And the planned release date is? The "release goals" you've been meeting are like the circle cast by a lantern in the dark. No guarantee of getting out of the forest. You need a map and some landmarks.

Edited 2008-12-08 19:10 UTC

Reply Score: 1

tene Member since:
2008-07-24

And the planned release date is? The "release goals" you've been meeting are like the circle cast by a lantern in the dark. No guarantee of getting out of the forest. You need a map and some landmarks.


Did you even look at the roadmap I linked? The planned release date for 1.0 (Stable API for language implementations) is March 17. Six months after that is 1.5, our "Mostly Feature Complete" release. Six months after that is 2.0, "Production Ready"

Reply Score: 2

sbergman27 Member since:
2005-07-24

Did you even look at the roadmap I linked?

Yeah, I did. And that is what made me think of the circle of light cast by a lantern. Say things go more or less as planned, and Parrot releases something production ready in a year. What does that actually mean for Perl 6? Is it out of the forest? Or has the circle just moved a bit in some direction?

Edited 2008-12-08 20:38 UTC

Reply Score: 2

progster Member since:
2005-07-27

"We've been meeting our release goals pretty regularly for the past two years"

But they/you have been at it for 8 years, I was still a minor when people started talking about perl 6... that sure seems like a long time ago now ;) . So excuse us for being a bit cynical :-)

Reply Score: 1

egarland Member since:
2005-08-05

"But they/you have been at it for 8 years, I was still a minor when people started talking about perl 6..."

How long is a complete language redesign and rewrite supposed to take? Python just did some syntax updates and minor tweaks for 3.0 and it took them 8 years. Parrot is a completely new VM with capabilities no VM has had before. Perl 6 is a ground up redesign of the language. They designed for 6 years before starting coding and now have been coding for 2 years with regular progress and working builds that you can download and use *right now*. They have a plan, a schedule on that plan and they've been making their milestones on that schedule. This is the antithesis of vaporware.

There are legitimate criticisms of Perl 6, none of yours are among them.

Reply Score: 2

RE[5]: progster's fail critcism
by petdance on Tue 9th Dec 2008 16:29 UTC in reply to "RE[4]: progster's fail critcism"
petdance Member since:
2008-12-07

Thanks for pointing out the absurdity of the complaints of "It's taking too long." I'd like to see anyone else break down and estimate the project.

Reply Score: 1

pantheraleo Member since:
2007-03-07

This is a perfectly legitimate criticism No software project can afford to take 8 years to develop. The technology moves along to quickly. If you are working that slowly that it's taking 8 years and you still don't even have a usable beta, you are so far behind the technology curve that any work you did at the beginning is now obsolete and has to be redone because newer and better ideas about how to handle a VM have come along and such.

You simply can't afford to take this long to develop software. And we see the consequences. Parrot is virtually irrelevant now for anything except Perl. It simply took them too long to get anything usable put together.

And as I said, Perl 6 has no usable beta even in site yet.

Software project simply can't take this long and not even have a usable beta. It is a perfectly valid criticism to say this project needs to move faster and have better planning.

Reply Score: 1

pantheraleo Member since:
2007-03-07

Any software project that has taken over 8 years and doesn't even have a beta release yet, is in serious trouble. Obviously, if this were not an open source project, the plug would have been pulled by now and the project written off as a total failure that cost millions of dollars and never went anywhere.

There are clearly some major project management problems going on here.

Reply Score: 0

antwarrior Member since:
2006-02-11

.... None of the rest of the dynamic language world cares about Parrot anymore. They've already committed to building on top of Java or .NET (see IronPython, JRuby, and Caucho's Java version of PHP)......


I think you are mistaken here and that you have taken a tunnel view of the programming ecosystem or given the dynamic language greater significance than it is warranted. I don't think you can fairly say that the dynamic languagee community has "commited" to the current VMs than you can say that programming community had committed to java over .NET over C++ a few years back. Also the dynamic language community is young enough to be shaken up by a "new comer" just as perl shook up many of the standard production-quality languages in its day.

I am not necessarily looking forward to Perl 6 to speak candidly. It has been too long and I don't fully understand what it will bring to my toolset. If it does bring increased productivity, reduces my code volume and if it brings the improved clarity it promises then it will find a niche. If it does all this well in a prouction environment even better. This should perhaps be one of the benchmarks of its relevance instead of how well it fits in the particular programming ecosystem and its trends...

Reply Score: 1

pantheraleo Member since:
2007-03-07

I don't think I am mistaken. The reason being that there is no obvious benefit to porting Python, Ruby, or PHP to Parrot. Not when there are already production quality versions written on top of the JVM and the .NET VM. And these implementations often run circles around their C counterparts because they can take advantage of JIT compilation and such.

I just can't see any obvious benefit to porting Python, Ruby, or PHP to Parrot. Other than "it might be fun to port it". But there's no real practical benefit.

Reply Score: 1

mj41 Member since:
2008-12-08

Porting to Parrot virtual machine benefits:
* primary designed for dynamic programming languages
* register based VM, great potential
* interoperability provided at an assembly
level
* open source, platform agnostic
* many features for free PCT, PGE, embeding, mod_parrot, ...

"Parrot is innovative and not just a .NET or
JVM clone.", Jonathan Worthington, 2005
* http://www.jnthn.net/papers/2005-lpw-parrot-slides.pdf

"Perl 5 has two big features that make using the JVM or .NET problematic--closures and polymorphic scalars. Perl 6 adds a third (which Ruby shares) in continuations, and a fourth (which Ruby doesn't) of co-routines." Dan Sugalski, March 25, 2003
* http://www.sidhe.org/~dan/blog/archives/000151.html
* http://www.sidhe.org/~dan/blog/archives/000152.html

Reply Score: 1

Perl 6 and Parrot VM
by mj41 on Mon 8th Dec 2008 21:02 UTC
mj41
Member since:
2008-12-08

See
* Perl 6 on Wikipedia - http://en.wikipedia.org/wiki/Perl_6
* and Perl 6 and Parrot links - http://perl6.cz/wiki/Perl_6_and_Parrot_links
. It isn't easy to create dynamic programming language for next 20+ years and virtual machine for all dynamic programming languages. Python 3k is just a toy. :-)

Reply Score: 2

perl regex change ?
by Chrisranjana.com on Thu 11th Dec 2008 15:08 UTC
Chrisranjana.com
Member since:
2008-12-11

So what will happen to the countless books and tutorials written on perl regular expressions ;)

http://www.chrisranjana.com
(Web developers Company)

Reply Score: 1