Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Perl 6 Advent Calendar

timothy posted more than 4 years ago | from the possibly-recognizable-tune dept.

Christmas Cheer 160

An anonymous reader writes "Larry Wall wasn't joking when he said that Perl 6 would be ready by Christmas. Perhaps not this Christmas, but that hasn't stopped a group of people (including head Rakudo developers Patrick Michaud and Jonathan Worthington) from putting together an Advent Calendar, featuring one cool Perl 6 feature every day until Christmas. Topics currently covered include how to get and build Rakudo (the most actively developed and progressed implementation of Perl 6) and the new Metaoperators. For those wondering when Perl 6 will be finished: Rakudo will be having its official 'production release' (dubbed Rakudo Star) April 2010."

cancel ×

160 comments

Sorry! There are no comments related to the filter you selected.

Word on the street... (4, Funny)

ghostis (165022) | more than 4 years ago | (#30345172)

... is Duke Nukem Forever is being rewritten in Perl 6.

If I had mod points... (0, Offtopic)

turing_m (1030530) | more than 4 years ago | (#30345474)

I'm still chuckling... nice.

Re:Word on the street... (1)

wayland (165119) | more than 4 years ago | (#30348022)

No, I think they're trying to integrate DNF with E17. 

Re:Word on the street... (1)

Fotograf (1515543) | more than 4 years ago | (#30349520)

that explains the delay... somebody tried to read the source code

Coming of the (perl) Messiah (2, Funny)

negatonium (1103503) | more than 4 years ago | (#30345242)

Waiting for Perl 6 seems a lot like waiting for the Messiah to arrive. And even when (if) it happens there'll be some people saying "Nope. Not the right one... Keep looking...."

Re:Coming of the (perl) Messiah (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#30345300)

Yeah, plus both Perl and Religion fucking suck ass.

Re:Coming of the (perl) Messiah (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30346384)

One of Larry Wall's goals was to translate the bible to an African language. Larry Wall is a known evengelical Christian zealot with a hard-on for proselytizing.

Could you imagine giving Christianity, a terrible tool used to justify bestial acts, to the already-savage African niggers? It'd be like giving a nuke to Al-Qaeda.

And perl sucks, too. Go Python!

Re:Coming of the (perl) Messiah (-1)

Anonymous Coward | more than 4 years ago | (#30346604)

That's weird... I got religion while sucking and fucking Pearl's ass. ([S]he's a tranny hooker, I got busted and decided to clean up my act.)

Re:Coming of the (perl) Messiah (3, Insightful)

Chandon Seldon (43083) | more than 4 years ago | (#30345446)

If you compare the Perl6 timeline to the Haskell timeline, you'll see that things aren't really going all that slowly. Building a good implementation of a complex programming language takes time.

Re:Coming of the (perl) Messiah (3, Funny)

convolvatron (176505) | more than 4 years ago | (#30345540)

yes, but you still haven't explained why perl 6 is taking so long

Re:Coming of the (perl) Messiah (0)

Anonymous Coward | more than 4 years ago | (#30345584)

Because the first 5 years after its announcement were spent on making RFCs, compiling the results, coming up with ways to incorporate the ideas given in the RFCs etc. The next 2 years were spent writing an implementation in Haskel, Parrot only got far enough long very recently for Rakudo to be started. And Perl 6 has taken just as long as Python 3000 -- Guido changed jobs in 2000 to work on P3000, Larry announced P6 in 2000. I guess complete rewrites of languages just take a very long time?

Re:Coming of the (perl) Messiah (1)

convolvatron (176505) | more than 4 years ago | (#30345628)

did they really bring it up off haskell? you think they would have
noticed something

Re:Coming of the (perl) Messiah (1)

Tacvek (948259) | more than 4 years ago | (#30345856)

But Python 3000 is already out, as Python 3.0, while Perl 6 is not. So Perl 6 is taking longer than even Python 3000. Besides, the real reason Guido changed jobs was because Google felt that python was so important to its operations that it could not risk letting development stall, so they made Guido a job offer, with his job being at least in part, developing python. (I have no idea how much work on Google specific stuff Guido does, but I imagine it is probably more than zero).

Re:Coming of the (perl) Messiah (0)

Anonymous Coward | more than 4 years ago | (#30345912)

There are Perl 6 implementations out right now, none of them have been developed for 10 years like Python 3000 has.

Re:Coming of the (perl) Messiah (0)

Anonymous Coward | more than 4 years ago | (#30345952)

But Python 3000 is already out, as Python 3.0, while Perl 6 is not.

The changes from Python 2 to Python 3 are nothing compared to the changes from Perl 5 to Perl 6. It's hardly surprising that it takes a bit longer.

Re:Coming of the (perl) Messiah (2, Insightful)

ThePhilips (752041) | more than 4 years ago | (#30346210)

But Python 3000 is already out, as Python 3.0, while Perl 6 is not.

Technically, Perl 6 is long time out: specification was out somewhere around 2005. Because the Perl6 isn't a software package (like Perl5), it is a language standard.

The other question is that there are no implementations of the standard yet...

And even then, Perl5 serves it's purpose so perfectly, that I personally atm see no real benefits to even toy with Perl6.

Re:Coming of the (perl) Messiah (3, Informative)

RDW (41497) | more than 4 years ago | (#30347108)

'The other question is that there are no implementations of the standard yet...'

The Rakudo guys have now committed themselves to a useful/usable release (if not a complete implementation of everything in the standard) in Spring 2010 (the target is April):

http://use.perl.org/~pmichaud/journal/39411 [perl.org]

They intend this to be a release which 'application writers will feel comfortable enough to start using in their projects'.

This probably helped:

http://news.perlfoundation.org/2008/05/tpf_receives_large_donation_in.html [perlfoundation.org]

Here's where they are now:

http://rakudo.org/status [rakudo.org]

http://github.com/rakudo/rakudo/blob/master/docs/ROADMAP [github.com]

Re:Coming of the (perl) Messiah (0)

Anonymous Coward | more than 4 years ago | (#30345600)

It has taken just as long as Python 3000. Guido started work on in it in 2000, still not 'finished'.

PERL went the way of the dodo... (1, Funny)

Anonymous Coward | more than 4 years ago | (#30345268)

...it's too late for PERL. The system and kernel engineers chose to stick with C, PHP ran all over it with less cryptic syntax, and all the web 2.0 "me too" morons are now hacking away in Ruby and Python.

But really, PERL's demise was PHP. Especially since the CLI version of PHP, turning him into a true general purpose language.

Re:PERL went the way of the dodo... (0)

Anonymous Coward | more than 4 years ago | (#30345534)

PHP as a general purpose language - enabling shit coders to write shitty code to do all kinds of shit.

Re:PERL went the way of the dodo... (1)

outZider (165286) | more than 4 years ago | (#30345544)

Sorry, PHP is still an archaic, over keyworded language. Surefire way to find out if a company doesn't know what they're doing: they use PHP at the command line.

Re:PERL went the way of the dodo... (1)

tepples (727027) | more than 4 years ago | (#30349384)

Surefire way to find out if a company doesn't know what they're doing: they use PHP at the command line.

Unless they have business logic libraries written in PHP, and they want to make sure that the libraries used by the public web site and those used by internal command-line tools have the same behavior. Or to what representation should a library written in PHP be compiled before using it in a command-line program?

Re:PERL went the way of the dodo... (1)

pierreact (983133) | more than 4 years ago | (#30345748)

"morons are now hacking away in Ruby and Python"... Oh man. Ruby is great for this kind of stuff, so is, as I heard (ruby user here) python. I used to use perl for those tasks but I found it too messy when writting large programs and ridiculous when it comes to OOP (colors and tastes...). ruby fits my needs, the code is clear and short, it's very maintainable... All I need it here :) I'm happy with it and oh... I used it to automate a 30 nodes cluster all the way. Moron, maybe but the shit works very well in the long run. ;) have a sweet day.

Re:PERL went the way of the dodo... (1)

MathiasRav (1210872) | more than 4 years ago | (#30346014)

Is this Funny or Flamebait?

Re:PERL went the way of the dodo... (0, Flamebait)

thetoadwarrior (1268702) | more than 4 years ago | (#30346676)

PHP isn't necessarily cryptic but it's just as ugly as PERL.

Re:PERL went the way of the dodo... (1)

edivad (1186799) | more than 4 years ago | (#30346796)

...it's too late for PERL. The system and kernel engineers chose to stick with C, PHP ran all over it with less cryptic syntax, and all the web 2.0 "me too" morons are now hacking away in Ruby and Python.

But really, PERL's demise was PHP. Especially since the CLI version of PHP, turning him into a true general purpose language.

Dude, you lost me at PHP.
Perl IS the most widely spread scripting system on a Unix host, after Shell.

Re:PERL went the way of the dodo... (0)

Anonymous Coward | more than 4 years ago | (#30346842)

But damn it, it's an unpleasant one to work with. In between shell scripts and python, I've never felt a need to return to it.

Please let Perl die. (-1)

Anonymous Coward | more than 4 years ago | (#30345282)

There are much better designed languages available now ...

Efforts if any should be concentrated on porting stuff available only on
CPAN to Python, Ruby or other modern languages.

No, Dont Bother (2, Insightful)

omb (759389) | more than 4 years ago | (#30345366)

Or hold your breath either

Facile discussion of languages on /. is getting so old.

Re:No, Dont Bother (0, Redundant)

aaptel (1574041) | more than 4 years ago | (#30345910)

You must be new here.

Re:No, Dont Bother (0)

Anonymous Coward | more than 4 years ago | (#30348810)

How can he be new if he knows it's old?

This has taken too long (2)

physburn (1095481) | more than 4 years ago | (#30345290)

Is it just my memory, or is this over five years on one upgrade. An upgrade with too many changes, apocapses, and major changes in grammer and usage. I'm getting old, and don't really want to relearn my languages just to stay put. So keep on delaying perl 6, and i can safely use perl 5 for the rest of my life.

---

Perl Programming [feeddistiller.com] Feed Feed Distiller [feeddistiller.com]

Re:This has taken too long (4, Informative)

FooAtWFU (699187) | more than 4 years ago | (#30345374)

Perl 5.10.0 was out this year, and introduced snazzy new features [cpan.org] like the defined-or operator and easier state variables. It's not like they've been neglecting the rest of the language, and it's not like it's going to be difficult to activate backwards compatibility.

I'd worry more about the continuing relevance of Perl in a niche which has come to be dominated more and more by PHP (eww!) and Ruby in recent years. It's not going away, certainly, but its relevance to the future of computing may be somewhat limited despite its technical merit.

Re:This has taken too long (2, Interesting)

ThePhilips (752041) | more than 4 years ago | (#30346390)

It's not going away, certainly, but its relevance to the future of computing may be somewhat limited despite its technical merit.

That's silly. Programming languages always were and will always be transient.

Compare Perl1 to Perl5 (that actually easy since change logs are delivered with every Perl version) and see how language have changed over the time. Like-wise PHP or even C.

Languages evolve along with tasks they are used to solve. Sometimes obviously a branch of evolution falls off and language becomes a thing of past. And that can happen to any language, because we still can't predict with certainty problems of tomorrow.

Corollary, niche languages have staying power coming from the niche they occupy. Because niches evolve at much slower pace compared to mainstream technologies, thus has lower risk of being forgotten fast.

And I personally do not think that Perl has its own strong niche. Probably only a "*NIX shell on steroids" - that's how I use it. As long as *NIX shell would exist, I would use Perl to automate large chunks of logic and information analysis which are hard/impossible to do in shell, but do not justify writing/maintaining a C/C++ program for.

Re:This has taken too long (1)

wayland (165119) | more than 4 years ago | (#30348060)

> That's silly. Programming languages always were and will always be transient.

Right.  That's why no-one uses LISP any more.  http://people.mandriva.com/~prigaux/language-study/diagram-light.png

Oh, wait...

Re:This has taken too long (2, Insightful)

jeffstar (134407) | more than 4 years ago | (#30346990)

perl and nice don't belong together, especially if you bring CPAN into the sentence.

When I have some retarded task that has to be done, like taking a web form and inserting the data into a PDF that has to be emailed to a few different people, or retrieving some data via FTP, verifying that it is valid and then updating some excel worksheets and emailing the new plots around as in-line images in an html formatted email, PERL can do it.

maybe PHP, ruby and python can talk to open office, ms office, do SMTP with TLS or SSL, and insert data into a PDF too. I wouldn't know because once I started with perl I never needed anything else for glue type programs.

Maybe glue is perl's niche?

Re:This has taken too long (0, Flamebait)

icebraining (1313345) | more than 4 years ago | (#30347396)

Python can do all that.

OpenOffice.org ships with the python scripting language, version 2.3.4.

Re:This has taken too long (5, Funny)

Trepidity (597) | more than 4 years ago | (#30345452)

More than that--- Perl 6 was announced [perl.com] 9 1/2 years ago! Even O'Reilly's Perl 6 Essentials [amazon.com] is now 6 1/2 years old, and some Perl 6 books are into 2nd editions.

Re:This has taken too long (0, Insightful)

Anonymous Coward | more than 4 years ago | (#30346206)

Really? They are building a language from scratch with volunteers. How long should it take them to meet your schedule?

Re:This has taken too long (5, Informative)

RDW (41497) | more than 4 years ago | (#30345480)

Perl 6 is a new language, not just an upgrade. Perl 5 has not been neglected, and continues to receive updates and new features (some of them originally developed for Perl 6). The plan is to continue Perl 5 support and development indefinitely, irrespective of the status of Perl 6. And of course Perl 5 has its own advent calendar, which this year focuses on interesting stuff you can do with various CPAN modules:

http://www.perladvent.org/2009/ [perladvent.org]

Re:This has taken too long (1)

harmonise (1484057) | more than 4 years ago | (#30346138)

Perl 6 is a new language, not just an upgrade.

Then they should have chosen a new name than use the same name as an established language. By not doing so they have created confusion leading to people thinking, rightly so, that this is somehow an upgrade to the older Perl.

Re:This has taken too long (4, Interesting)

RDW (41497) | more than 4 years ago | (#30346762)

Well, the first line of the first Google hit for 'Perl 6':

http://dev.perl.org/perl6/ [perl.org]

says:

"Perl 6 is a new language. Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages. There is no current release schedule for Perl 6."

Some people, of course, may still find this confusing. These people should use Python :-)

A longer answer (together with several chapters of new Perl 6 book written by some of the developers) is here:

http://cloud.github.com/downloads/perl6/book/book-2009-11.pdf [github.com]

"Some might ask, 'Why call it Perl if it's a different language?' Perl is more than just the vagaries of syntax. Perl is philosophy (there's more than one way to do it; easy things easy, hard things possible); Perl is custom (unit testing); Perl is architectual edifice (Comprehensive Perl Archive Network); Perl is community (perl5porters, perl6-language). These are things that both Perl 5 and Perl 6 will share to varying degrees. Also, due to Perl's habit of stealing good ideas, Perl 5 and Perl 6 will converge in some areas as Perl 5 borrows ideas from Perl 6 and vice versa."

Re:This has taken too long (1)

dkf (304284) | more than 4 years ago | (#30347676)

"Perl is more than just the vagaries of syntax. Perl is philosophy; Perl is custom; Perl is architectual edifice; Perl is community."

And Perl6 is a jump over the shark.

I've seen snippets of Perl6 and it does indeed look rather different from previous versions of Perl. Does it stand a good a chance of running lots of existing perl scripts without nasty interop goop? If not, it's really another language and should not hang off Perl's coattails. Call it "Rakudo" instead (after all, that name's used right now) and let it find its own way in the world of languages. If instead they'd stuck to being, say, 95% compatible with existing perl scripts then, while it would have constrained their creativity, it would mean they'd be able to pick up on the wealth of CPAN for little extra effort.

Re:This has taken too long (2, Informative)

wayland (165119) | more than 4 years ago | (#30347994)

Perl 6 is a specification, not an implementation.  Rakudo is one implementation, but there are others (SMOP springs to mind).  I guess I think that Perl 6 is "the stuff you liked about Perl 5, but more of it".  Oh, and better OO and Grammars.  Mmm, grammars :). 

Re:This has taken too long (0)

Anonymous Coward | more than 4 years ago | (#30348536)

Some people, of course, may still find this confusing. These people should use Python :-)

Was this supposed to be a joke about the differences between Python 2.x and Python 3.x? ;-)

Re:This has taken too long (1)

spottedkangaroo (451692) | more than 4 years ago | (#30345496)

Not at all. Perl6 is not an upgrade of Perl5, which is still being actively developed. Perl6 is a brand new language in the same family. Perl 5.10 is more like what people expect from a language upgrade. It has so many new features it's very much like a new version of the language (and it is).

Re:This has taken too long (1)

Migala77 (1179151) | more than 4 years ago | (#30346066)

Not at all. Perl6 is not an upgrade of Perl5, which is still being actively developed. Perl6 is a brand new language in the same family.

Then why name it Perl6?
If it's a different language, give it a different name!

Re:This has taken too long (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30345606)

So what? PERL is just about dead, other than noddy shell like programming by admins thinking they real developers. The world moved on to new scripting languages that are far cleaner, and more maintainable a decade ago. PERL is done, it served its purpose and is now near obsolete. If you're waiting for v6 as something significant, you should probably hang up the keyboard, you're in old fart COBOL mode hanging on to the past.

Re:This has taken too long (0)

Anonymous Coward | more than 4 years ago | (#30346054)

Shipping is a feature. A really important one. Your product has to have it.

Re:This has taken too long (2, Informative)

chromatic (9471) | more than 4 years ago | (#30347354)

Shipping is a feature.

I'm going to release the 24th stable monthly version of Rakudo Perl 6 in a couple of weeks. How many more releases do we have to release to meet that mythical bar of "shipping"?

Re:This has taken too long (0)

Anonymous Coward | more than 4 years ago | (#30347522)

Being packaged (does anyone besides debian-experimental bother?) and used would be a good benchmark. Your claim of "stable" isn't worth shit.

Re:This has taken too long (0)

Anonymous Coward | more than 4 years ago | (#30348700)

Makes me wonder if Perl 6 would have been finished already if they wrote it in Perl 5

still relevant? (3, Insightful)

spongman (182339) | more than 4 years ago | (#30345334)

from an outsider's view (I have NO perl experience, and i intend to die like that if at all possible) it seems like perl has slowly moved from an ubiquitous scripting language to a fringe research project over the last few years. it reminds me somewhat of the pascal/modula-2/oberon phenomenon. do perl afficionados think that this new version will enjoy the success that its predecessors have had?

Re:still relevant? (3, Interesting)

bsDaemon (87307) | more than 4 years ago | (#30345442)

Perl 6 is NOT Perl 5. Perl 5 has been under active development, introducing several new features. CPAN is constantly getting new libraries and whatnot, which and its possible to throw together quick hacks and elegant solutions in Perl, depending on what you want to do.

Maybe Perl is more for a systems administration language (it started out that way) than a software development language, but that's what I need, and that's why I like it. Perl combines the features of awk, sed and shell scripting with those of other languages as well, wraps them up in a C-like syntax, but removes all the hard syntactic bits of C that make it harder for processing strings, or just generally cumbersome.

For me, Perl 5 is perfect. It's pretty much the language that I would have designed if I designed programming languages -- it i well suited to the tasks I do, the problems I tackle, and is expressive in the same way that I think about writing code. That said, I don't give a flying fuck about Perl 6 at all and really have no interest in it at all.

Re:still relevant? (1)

hydroponx (1616401) | more than 4 years ago | (#30345878)

From Perl.org: Perl is a general-purpose programming language originally developed for text manipulation [perl.org] It evolved into a system admin language as time went on and modules were created/added....

Re:still relevant? (1)

bsDaemon (87307) | more than 4 years ago | (#30346344)

Much of system administration scripting is manipulating text. Nearly every log or config file is in pure text, and commands take text in and spit text out, which is why Perl is so great for system admins. The general purposeness of it helps make the program flow easier to deal with for me. If I'm throwing something together on the command line, then awk, sed, cut, etc are fine. If its something I intend to use over and over again, then Perl helps me write a more permanent solution, which, at least to me, will be easier to modify later on as well.

Re:still relevant? (5, Interesting)

jepaton (662235) | more than 4 years ago | (#30345736)

Yes, Perl is still relevant to a number of software developers and systems administrators.

It is an ideal language for software developers who want to use metaprogramming techniques (code generation; domain specific languages), text processing or data conversion, or automation of software development process. Perl 6 will have a full grammar engine (for parsing - like having YACC/BISON built in) which will make text processing even easier than before. The use of a scripting language for these tasks leaves the source code more accessible than compiled languages, which is an advantage to software developers who can adapt the code more readily than a compiled project.

Whether Perl 6 will be used much for primary software development I don't know. My day job is C programming for embedded systems where Perl is not suitable. Desktop programming is more likely to be in C++ or C# where the standard libraries are huge and the software development ecosystem is more developed.

The primary audience for new Perl, in my opinion, is expert software developers who need a powerful/succinct language to implement solutions to problems in the manner they think. Perl 6 therefore supports just about every programming paradigm known to mankind. What makes Perl great for software gurus is what makes it an awful language for programming newbies.

I will be learning Perl 6, not because I will use it much, but because I will discover new ways to think about problems. Oh, and it'll be fun.

Jonathan Paton

Re:still relevant? (0)

Anonymous Coward | more than 4 years ago | (#30348634)

The primary audience for new Perl, in my opinion, is sysadmins with no background in programming or computer science who need a language they've heard of to implement solutions to problems that need to be fixed before the expert software developers have a chance to do it the right way.

FTFY

Re:still relevant? (1)

jonadab (583620) | more than 4 years ago | (#30346468)

> it seems like perl has slowly moved from an ubiquitous scripting
> language to a fringe research project over the last few years

Perl is not an ubiquitous scripting language.

Perl is *the* ubiquitous scripting language. That hasn't really changed. There are a number of other scripting languages, some of them newer than Perl and being used more and more (notably, Ruby), and some of them older than Perl and being used less and less (notably sh), but what hasn't changed in the last fifteen years is that Perl is about as popular as the three next-most-popular ones combined. (I'm assuming here that Java and VB and C are not counted as scripting languages.)

As far as "fringe research project", there are certainly a number of fringe research projects associated with Perl, but the same could be said of any other major programming language.

Re:still relevant? (1)

ThePhilips (752041) | more than 4 years ago | (#30346522)

do perl afficionados think that this new version will enjoy the success that its predecessors have had?

Why should I care?

I use Perl5 because it is perfect fit for what it is. If Perl6 would catch might attention, I might consider trying it too.

Perl isn't about gathering design awards or topping charts. It's a robust tool for an array of *NIX related tasks. And not only.

Relevance vs Effectiveness (1)

weston (16146) | more than 4 years ago | (#30347452)

the pascal/modula-2/oberon phenomenon

Funny, that's what a lot of people who liked modula-2 and oberon have said about the recently released Go.

do perl afficionados think that this new version will enjoy the success that its predecessors have had?

Do you mean popularity or success?

Popularity is related to its success, since a bigger community can provide a significant boost to a language, both in terms of library development and in terms of perceived viability as part of a commercial product.

But widespread use isn't really the same thing. If it's an effective and pleasant tool for those who choose it, then it's successful.

(And sometimes, a small, experienced, and smart community puts out better libraries and tools than a large one. Consider PHP.)

perl 5 versus ruby versus perl 6 (4, Interesting)

bcrowell (177657) | more than 4 years ago | (#30345484)

I do most of my coding in perl 5. Perl 5's implementation is rock-solid, and CPAN has an absolutely fantastic selection of useful modules for perl 5.

If I was going to change to something other than perl 5, I would need some motivation. The clearest motivation I can see is that OOP in perl 5 is ugly and bolted on.

With that motivation, I have dabbled in ruby enough to write one nontrivial app. The thing is, perl 5 still beats the heck out of ruby in terms of implementation and libraries. As an example of this, in my ruby app I wanted to use some regex features that were not available in ruby 1.8, so I ended up using ruby 1.9. But ruby 1.9, and its regex engine, are relatively raw and buggy, and I ended up having serious problems that I had to work around. (Yes, I submitted a bug report. No, it hasn't been fixed yet.)

AFAICT, the main advantage of perl 6 over perl 5 is the same as ruby's main advantage over perl 5: OOP is implemented in a nicer way. The thing is, the disadvantages are even more magnified, because it's so raw and incomplete.

My current reaction to the situation is to plan on continuing to code in perl 5 until, say, 2015, and then check back to see how much ruby and perl 6 have improved by then.

Re:perl 5 versus ruby versus perl 6 (1)

ultrabot (200914) | more than 4 years ago | (#30345596)

The clearest motivation I can see is that OOP in perl 5 is ugly and bolted on. With that motivation, I have dabbled in ruby enough to write one nontrivial app. The thing is, perl 5 still beats the heck out of ruby in terms of implementation and libraries.

Trying out Python never occurred to you?

Re:perl 5 versus ruby versus perl 6 (2, Insightful)

Anonymous Coward | more than 4 years ago | (#30345744)

Why would anyone want to use a glorified VB clone? I am sick and tired of seeing 'rock-star' Python and Ruby programmers trying to shove the new shiny toy in everyone's face. People have been using Perl for 20+ years, and they'll still be using it for 20+ years after Ruby and Python are a distant memory.

Re:perl 5 versus ruby versus perl 6 (1)

ojustgiveitup (869923) | more than 4 years ago | (#30346002)

Hmmm, I'm not sure in what ways Python could be considered in any way similar to VB, so I can't respond to that, but I thought someone should point out the irony of a Perl programmer being afraid of new tools. You sound just like the who were afraid of "scripting languages" back when Perl was an infant.

Re:perl 5 versus ruby versus perl 6 (1)

ultrabot (200914) | more than 4 years ago | (#30346192)

Why would anyone want to use a glorified VB clone? I am sick and tired of seeing 'rock-star' Python and Ruby programmers trying to shove the new shiny toy in everyone's face. People have been using Perl for 20+ years, and they'll still be using it for 20+ years after Ruby and Python are a distant memory.

The GP mentioned trying Ruby (and as such is not afraid of shiny toys) and disliking it because of bad implementation. In that light, Python would have been a great match.

Please don't drag down Python in the "rockstar programmer" mire, it's a time-honed language that is being used for serious (non-web 2.0) stuff all the time. We all got beards, even.

Re:perl 5 versus ruby versus perl 6 (4, Insightful)

slimjim8094 (941042) | more than 4 years ago | (#30346308)

How old do you think Python is? Look it up ... ... ...
It's 18 years old. In fact, it's only 4 years younger than Python.

I suppose you think Google, CERN, and NASA are stupid to be "using a glorified VB clone"?

Maybe it is you that is wrong.

Re:perl 5 versus ruby versus perl 6 (2, Funny)

abulafia (7826) | more than 4 years ago | (#30347316)

How old do you think Python is? Look it up ... ... ... It's 18 years old. In fact, it's only 4 years younger than Python.

I take it then that it is some sort of 4-dimensional Oroboros?

Re:perl 5 versus ruby versus perl 6 (5, Funny)

plasticsquirrel (637166) | more than 4 years ago | (#30347320)

Why would anyone want to use a glorified VB clone? I am sick and tired of seeing 'rock-star' Python and Ruby programmers trying to shove the new shiny toy in everyone's face. People have been using Perl for 20+ years, and they'll still be using it for 20+ years after Ruby and Python are a distant memory.

Why would anyone want to use a glorified Unix Shell? I am sick and tired of seeing 'rock-star' Perl programmers trying to shove the new shiny toy in everyone's face. People have been using Lisp for 50+ years, and they'll still be using it for 50+ years after Perl is a distant memory.

Now get off my lawn.

Re:perl 5 versus ruby versus perl 6 (1)

FlyingBishop (1293238) | more than 4 years ago | (#30347856)

The thing that makes me suspicious about Python is that the people who are trumpeting it's greatness are by and large the people who were so keen on Lisp. To some extent perhaps they're just learning the error of their ways, but still. It doesn't look right.

Re:perl 5 versus ruby versus perl 6 (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30348618)

There is a huge difference between languages like Lisp and Haskell, and languages like Perl, Python, and Ruby. The former are languages that allow for high order functions that manipulate the language, and allow full abstraction without arbitrary limits.

For example, when object-oriented programming became a new and exciting thing, Lisp programmers immediately started making their own object system. To do this, they did not need to change the language in any way, they could simply create it within the language because Lisp has such powerful abstraction and metaprogramming abilities.

Today Lisp is one of the two languages that the creator of OO programming (Alan Kay) will acknowledge as fully embodying proper OO programming. He also says that it's the single most important programming language ever created.

Compare that to languages like C++, Perl, Python, etc. who no one with any respectability will even acknowledge as having a well-designed object system. Their object systems are incomplete, hacky, and ridiculous. However, in Lisp, building such things does not even involve changing even a little bit of the core language, and the syntax fits perfectly with the rest of the language.

Re:perl 5 versus ruby versus perl 6 (4, Funny)

mypalmike (454265) | more than 4 years ago | (#30348710)

(problem (((car 'some-apostrophe-shit) lisp (with #letrec foo * (lambda x) (x unmaintainable +))) parentheses (nobody-can-read-this-crap !) (worse-than (cons perl))) (interesting-cs-teaching-language cdr (though))))))))))))))))

Re:perl 5 versus ruby versus perl 6 (0)

Anonymous Coward | more than 4 years ago | (#30349270)

You've never bothered to learn Lisp, so why post nonsense like this that isn't even formatted? It's like posting C or Perl without any newlines or indentation.

People who have actually learned Lisp or Scheme know that it isn't necessary to count parentheses or focus on them. In fact, modern editors use a darker color for the parentheses because they're just the outer shell. The syntax is so dead simple that anyone can learn it (even you), and before long it's easy to read. However, people who come from C and Perl backgrounds think the parens are terribly important, so they mindlessly count them and just focus on those. That isn't the point of Lisp, and good formatting makes this unnecessary.

However, learning this requires actually making an intellectual investment in something that is different. Less intelligent people are unlikely to do such a thing. This is why Lisps and other functional languages are not used by people such as you.

Re:perl 5 versus ruby versus perl 6 (1)

wayland (165119) | more than 4 years ago | (#30347968)

Wasn't it Paul Graham that said that Java was good because it took a lot of C programmers, and carried them part way to LISP?  You can say the same about Perl, but even more so :). 

Re:perl 5 versus ruby versus perl 6 (1)

bcrowell (177657) | more than 4 years ago | (#30345866)

Trying out Python never occurred to you?

I like python OK. I've used it as a teaching language. I haven't written much nontrivial code of my own in python. The impression I get is that since it's younger than perl, its implementation isn't quite as solid, and its libraries aren't quite as complete. As a language matures, the rate at which old code breaks decreases; I think perl is futher along than python in that regard. For some of the applications I'm interested in, like CGI apps, perl seems to have better libraries and documentation, since it's been in use for those applications for a longer time.

Re:perl 5 versus ruby versus perl 6 (1)

ojustgiveitup (869923) | more than 4 years ago | (#30346040)

It might just be because I'm not a very experienced Perl programmer, but I find the libraries in the ruby community to be easier to find, easier to use, and of generally higher quality. Could you point me to some examples of libraries that you use in Perl but could not find in Ruby?

Re:perl 5 versus ruby versus perl 6 (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30347500)

Uhm, go to http://search.cpan.org/ and find anything you want. With a demonstration in the synopsis, and everything is installable with a robust command line tool that (sometimes is too) verbosely states any problems. It also has built-in error reporting on test failures, so you can interact with module authors very easily.

I can't respond to Ruby in any way that isn't flamebait. I really, really hate gems -- when it works, it works great. When it fails, I can never figure it out. I will leave it as that.

As far of higher quality, that could be it. Perl has had a long history, and with an open door philosophy a lot of really terrible code ends up on the CPAN. However, if you take a quick look at some of the Perl efforts to describe the high quality modules (Enlightened Perl Organization's Task::Kensho) it's all hand picked and vetted by hardcore perl hackers.

Here's some things in Perl that I'm genuinely surprised more people haven't jumped on:

Moose (Class::MOP) giving you an entire meta-object protocol to get closer to functional programming
DBIx::Class - a relational ORM that truly understands SQL, with some really amazing features.

Re:perl 5 versus ruby versus perl 6 (1)

edelbrp (62429) | more than 4 years ago | (#30347590)

I've been a long time Perl 5 developer, and have been doing a lot of Ruby since RoR was in beta. I haven't had a lot of issues with Ruby, to be honest. Most of the important CPAN modules have been ported to RubyGems and most of the serious Ruby bugs have been fixed.

Some things which make Ruby great: It's a very nice OO language. Rails is basically the standard web framework used (Perl 5 has many to choose from, so inheriting a Perl web project can be a pita).

Some things which make Ruby not so great: It's sooo slow to start and requires mod_rails/fastCGI/Mongrel or some other special environment to be fast enough for production web-apps. The community (sorry) has a lot of n00bs that make it difficult to find truly talented programmers.

BTW- I think it's a little cheap to compare Ruby with Perl 6. Ruby reached 1.0 in 1996, and Perl 6 hasn't reached production yet.

Re:perl 5 versus ruby versus perl 6 (1)

ojustgiveitup (869923) | more than 4 years ago | (#30347836)

Didn't mean to suggest a comparison with Perl 6, but rather Perl 5.

Don't see any difference in the requirement of mod_rails/etc. versus mod_perl/mod_php/fcgi for those languages. Impossible to argue about start-up time and performance in general, although I think Ruby is working more on that problem than nearly anyone right now (1.9/JRuby/Rubinious/etc.)

The community doesn't seem hugely different than others I have been part of (not many), but of course I'm somewhat of a n00b myself :) It is true that there are lots of "Rails programmers" out there who don't really know Ruby. You don't see that much elsewhere it doesn't seem.

Re:perl 5 versus ruby versus perl 6 (1)

bcrowell (177657) | more than 4 years ago | (#30347996)

Could you point me to some examples of libraries that you use in Perl but could not find in Ruby?

Interesting question. Okay, here's the list of all the CPAN modules that I routinely install on a system I'm going to use: CDDB_get, Term::ReadLine, Term::ReadLine::Gnu, Term::ANSIColor, Term::ReadKey, Curses, Mail::Sort, Net::DNS, Net::DNS::Resolver, Mail::Address, Mail::RFC822::Address, Mail::Sendmail, Digest::SHA1, Data::Dumper, XML::Parser, XML::Simple, Data::Dumper, Time::HiRes, RTF::Tokenizer, RTF::TEXT::Converter, Clone, Term::ReadKey, Date::Calc, Digest::SHA1, Digest::Whirlpool, Tk

A quick, casual sampling in RAA and RubyForge shows that indeed, a lot of these are also available in ruby. It's a little hard to tell, however, how to really compare. Some problems with comparisons: (1) I think some modules, e.g., Clone, are probably not necessary in Ruby; (2) it would be time-consuming to go through and find out what functionality was equivalent to what in all these cases; (3) there's no quick and easy way to compare quality; and (4) if I'm writing software for other people to use on linux, it makes it much more convenient for them if it's widely packaged by various linux distributions. Just as a random example, at one time I wrote a perl app that depended on two CPAN modules called Audio::Data and Audio::Play. Turned out that was a big mistake. The quality of the code was very poor, the author stopped supporting them, and there were portability issues. So I could have pointed to those two modules and said, "Look, perl supports this!," but actually it would have been misleading.

Re:perl 5 versus ruby versus perl 6 (1)

ojustgiveitup (869923) | more than 4 years ago | (#30348720)

Yeah I suppose it's tough to compare for all the reasons you mention (and probably more). By the way, while most popular libraries are still available on RubyForge, the bulk of newer and smaller libraries are on GitHub these days. The availability of distribution-packaged libraries is definitely a valid concern, but IMHO, rubygems are easier to use than CPAN and could or should be more widely distributed by default in the future. Food for thought!

Re:perl 5 versus ruby versus perl 6 (1)

bcrowell (177657) | more than 4 years ago | (#30348910)

rubygems are easier to use than CPAN

CPAN's user interface is definitely very 1994 :-) Perl programmers seem to accept it, but it seems pretty silly to me the way it makes you hit enter 37 times to accept all the defaults.

Re:perl 5 versus ruby versus perl 6 (2, Interesting)

wayland (165119) | more than 4 years ago | (#30346506)

To me, the things that keeps me coming back to Perl 6 is that it will have built-in grammars.  That may just be because of the kind of apps I try to write, though. 

Re:perl 5 versus ruby versus perl 6 (1)

Lazy Jones (8403) | more than 4 years ago | (#30347006)

If I was going to change to something other than perl 5, I would need some motivation. The clearest motivation I can see is that OOP in perl 5 is ugly and bolted on.

How about multithreading then? It's not only ugly and bolted on, it incurs so much overhead that it's basically useless wherever performance matters at all. I use Gearman now (rationale: might as well take something with the ability to use multiple systems / load balance / redundancy if you are taking such a performance hit), but it would be so much better if we could just have acceptable multithreading like a bunch of other languages (Java family incl. Scala, C/C++ if you are a masochist etc.).

Still not APL (0, Flamebait)

RichMan (8097) | more than 4 years ago | (#30345548)

It looks like they are attempting to reinvent APL. (with the addition of regex operations).

I can imagine a single line of code will now require 10 to 100 lines of comments to describe the iterations and references going on.

 

Re:Still not APL (0)

Anonymous Coward | more than 4 years ago | (#30345632)

That's because you assume that the people reading the code will be Perl-illiterate like you.

Re:Still not APL (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30346940)

Actually, it's because he correctly assumes that it's easy for two different perl programmers to use different styles and subsets of the language. Perl makes it easy to write code that's hard to understand unless you're the original author (a similar thing can happen with C++), and when that happens you'd better hope the documentation is ok.

I first heard Perl 6 when I was in high school (0)

Anonymous Coward | more than 4 years ago | (#30345614)

I remember my classmates talked about Perl 6 and the Perl Virtual Machine when I was in High school. Now I'm graduating from college, and Perl 6 still hasn't been released.

Back that time he used Perl while I sticked with Python. Funny how time slips away.

Re:I first heard Perl 6 when I was in high school (3, Informative)

chromatic (9471) | more than 4 years ago | (#30347374)

Perl 6 still hasn't been released.

We've released a new version of Rakudo Perl 6 every month since December 2007. That's 24 months in a row.

Evil number (1)

gmuslera (3436) | more than 4 years ago | (#30345638)

6 seems to be the number of the thing you want, is about to come, and takes forever to finally come, if ever. Is not a coincidence that the number of the devil is 666, should be an unlisted sin or punishment in hell that forever waiting for something that from the start was promised to come soon. IPV6 is another much wanted "imminent" upgrade that will take still a big while to come, and i bet that Duke Nukem Forever was planned to get out in the 6th iteration. I hope that PHP6 dont takes the same fate as Perl and comes when scheduled.

Anyway, between waiting and getting a half-baked product, with problems that will avoid it being ever widely adopted, i prefer to wait till is really done.

the "by xmas" curse (1)

ysth (1368415) | more than 4 years ago | (#30345782)

CERN recently invoked the curse too: http://press.web.cern.ch/press/PressReleases/Releases2009/PR18.09E.html.

Perl6 Advent Calendar on PHP (0, Offtopic)

heeen (1245200) | more than 4 years ago | (#30345832)

Why couldn't they use a Perl blog framework like Movable Type instead of Wordpress...

Re:Perl6 Advent Calendar on PHP (1)

MathiasRav (1210872) | more than 4 years ago | (#30346056)

Maybe because PHP is a web dev tool, and Perl is a sysadmin/text manipulation tool? I'm not one to vouch for either Movable Type or Wordpress, but even though Perl seems more efficient and faster than PHP, I'd rather use PHP for website frontends.

Re:Perl6 Advent Calendar on PHP (0)

Anonymous Coward | more than 4 years ago | (#30346112)

Maybe because PHP is a web dev tool, and Perl is a sysadmin/text manipulation tool?

Perl is a general purpose programming language. PHP is a heap of shit.

even though Perl seems more efficient and faster than PHP

There are plenty of things more important than "fast" and "efficient", and PHP fails at all of them.

I'd rather use PHP for website frontends.

Why? Because of some magical "web dev tool" label? Because the PHP developers say it's better, so it must be true?

Re:Perl6 Advent Calendar on PHP (0)

Anonymous Coward | more than 4 years ago | (#30349464)

PHP is a heap of shit.

Maybe you should have said "PHP is a Pile of Horse Poop"?
 
... I'll leave quietly.

Other Advent Calendars... (0, Offtopic)

sjstrutt (603317) | more than 4 years ago | (#30346840)

24 ways [24ways.org] takes a general forus on web development while PHP Advent [phpadvent.org] is supposed to be [1] more PHP focused.

[1] Though that doesn't seem to *actually* be the case...

It makes the easy stuff easy ... (1)

parisjackson (753837) | more than 4 years ago | (#30347240)

and the wait for Perl 6 take forever

Perl Advent calendars... (2, Informative)

MSittig (246604) | more than 4 years ago | (#30348292)

A Perl Monks poster has collected the address of 5 different Perl(-related) advent calendars:

http://www.perlmonks.org/?node_id=810472 [perlmonks.org]

As he says, a "great tradition".

Nock nock (0)

Anonymous Coward | more than 4 years ago | (#30349578)

who's there?
Perl 6
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?