News for hackers. Stuff that matters.
Re:Perl 5.18.1. Yes, it's alive by supercoder on Tuesday August 13, 2013 @05:51AM (#6204815)
Even though it's not popular to say so, I really like Perl.

It's a shame it got a reputation as being uncool as it's a very capable language and nice eco system.

I also think the criticism about unreadability is way overblow, it's what you make of it really.

Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @06:35AM (#6204938)
I love Perl as well, but it's definitely gotten the reputation as the really awkward nerd among nerds. I agree with lots of people that the early stages of the Perl 6 effort caused so much distraction for so long that Perl 5 languished and lost lots of momentum for the language (and language philosophy).

The Perl community, tired of waiting for a workable Perl 6 implementation, has lavished some fine attention to Perl 5 and it's in incredible shape, but the target community, also tired of waiting for Perl 6, has largely moved on.

It's going to be tough to bring people back into the fold. Everybody wanted Perl 6, and it barely works now. The features in 6 are amazing (might even be enough to get folks to come back), but the implementations are all over the place. Perl 6 needs a couple of killer apps. The CFG work might have made handling XML stupid simple, but XML is quickly falling out of relevancy.

The transition from Perl 5 to Perl 6 might go down as one of the great language mismanagements in history. For goodness sake, it's been in design for almost 14 years! And there are really just now workable implementations coming out, but all are still incomplete, lack features, robustness and speed.

I'm also guilty of this, having been excited about Perl 6 a decade ago, but taking a wait and see approach that lasts to this day, until development settles down. I don't want to commit lots of work that will be made obsolete the next time Larry decides to change an operator's semantics.

Is it finally time to sit down and learn Perl 6?

Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @08:46AM (#6205324)
As one of the Perl 6 developers, my suggestion would be to wait a couple of months. There have been some very exciting developments with the new JVM backend for Rakudo Perl 6, like new work on threads and very significant speedups on longer processes. But it's not quite yet ready for prime time -- there are definitely still some rough edges. The rate of progress on it has been phenomenal -- it essentially didn't exist at the end of March, and passes 99% of the Rakudo spec tests today. I will be very surprised if the current issues with it still exist in October.

That said, there really haven't been too many major changes to the language itself (as opposed to the implementation) in the last couple of years. I have several modules I wrote 3+ years ago, and keeping them up to date with the language has only required trivial changes in that time. You could certainly start learning the language today using the Parrot implementation with the knowledge that something better will be along very shortly.

Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @01:15PM (#6206931)
By "99% of the Rakudo spec tests today", do you mean "99% as many spec tests as Rakudo on Parrot passes today", or has Rakudo managed to implement 99% of the specification on both the JVM and Parrot now?
Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @02:44PM (#6207468)
The former. The tests which have never worked on any Perl 6 implementation have not magically started working recently.

For what it's worth, I'm pretty sure Rakudo JVM passes more tests today than any p6 implementation did at the start of the year. It's just not quite as capable or user-friendly as Rakudo Parrot yet.

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @08:55AM (#6205375)
What is the point wasting any time on Perl 6, given it's undeniably unambiguously spectacularly awful track record, and the fact that there are so many other wonderful and better languages available to spend your time learning. There's nothing in Perl 6 that makes it any more powerful (and definitely not any more easy to learn and use and maintain) than any other language. There are no jobs programming Perl 6, and there never will be.
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:42AM (#6206002)
Grammars and proper unicode support are where my main interests lie with the language.

I use Perl to "get shit done" (GSD) it's not sexy, it's not my main job, hell, it's barely reusable. But using Perl has been the difference between failure/late delivery and success/early delivery/under-budget more times than I can even remember.

As late as the end of last year I has hacking Perl 5 code as a side project to GSD and took a project that went from not-existing because the scope was unfeasible for the next 3 calendar years to existing and producing measurable results 3 weeks later. That work got me a promotion and then a new better job making more money (and not doing Perl work) and overall joy and happiness because I was the guy that GSD (and Perl made that happen).

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @09:33PM (#6209490)
If Perl is so great at getting shit done, then maybe they should have written Perl 6 in Perl 5, then they might have gotten shit done in less than a decade.
Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @10:42PM (#6209676)
Perl 5 isn't magic fairy dust you can sprinkle over a project with no deadlines, no pressure to produce anything, and no idea what it's eventually going to be. It's a language for people who want to get something done and who know what that something is.

You are probably thinking of Ruby. Wait, Haskell. Hold up, Erlang. Sorry, Node.js.

Re:Perl 5.18.1. Yes, it's alive by lelf on Tuesday August 13, 2013 @09:59AM (#6205694)
There's nothing in Perl 6 that makes it any more powerful

You're just trolling and clearly haven't got a clue.

Object system with MOP, subtyping, pattern-matching, new human readable “regexpes“, grammars etc.

And for the first time in humankind it chars in string are counted by not bytes, not 2-bytes, not codepoints, not another shit, but Unicode graphemes! 2013!

Re:Perl 5.18.1. Yes, it's alive by kamaal on Wednesday August 14, 2013 @12:35AM (#6209948)
>>What is the point wasting any time on Perl 6

What is the point in spending time on any thing new?

>>given it's undeniably unambiguously spectacularly awful track record,

How many inventions throughout history fall into these category? Airplanes, Rockets?

>>and the fact that there are so many other wonderful and better languages available to spend your time learning.

So this will be one of them.

>>There's nothing in Perl 6 that makes it any more powerful (and definitely not any more easy to learn and use and maintain) than any other language.

Seriously?

Have you even read the specification? If Perl 6 sees the light of the day in say an year, it will be the equivalent of what current day 10 languages together would achieve in 10 years from now.

>>There are no jobs programming Perl 6, and there never will be.

Which is true for any new language ever.

Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:43AM (#6206010)
I appreciate the honest answer. One of the powers of Perl is that you can sit down at almost any system and type "perl -v" at the command line and get something. How has the penetration been for this to return a v6?
Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @02:47PM (#6207492)
There's been no such penetration at all. Because current Perl 6 implementations cannot run Perl 5 code, everyone sticks to some version of Perl 5 for "perl" and uses "perl6" when that is wanted. (That said, there are at least two current projects working on getting Perl 5 support up and running in Perl 6.)
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @02:53PM (#6207526)
sorry I meant "perl6 -v"
Re:Perl 5.18.1. Yes, it's alive by cygx on Tuesday August 13, 2013 @08:47AM (#6205330)
The transition from Perl 5 to Perl 6 might go down as one of the great language mismanagements in history. For goodness sake, it's been in design for almost 14 years!

It's not quite as dramatic as it sounds:

Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005.

Guess what got started a year later (2006) and isn't finished yet as well? Rust.

Is it finally time to sit down and learn Perl 6?

Learn it? Certainly. Use it in production? Not yet. The Parrot backend was used to nail down the object system. Supposedly, the mostly-working JVM backend will be used to nail down threading semantics.

Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.

Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @01:26PM (#6206987)
Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005.

Parrot started in 2001, and there was at least one P6 implementation in the works shortly after:

https://github.com/parrot/parrot/commit/9bb281bf85088000ee40...

The Parrot backend was used to nail down the object system.

That's not how I remember things. Jonathan may have implemented the current object system on Parrot, but then he prototyped one on the CLR and one on the JVM (or vice versa), then wrote one for Rakudo based on that.

Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.

That's a very charitable interpretation of what they're doing.

Re:Perl 5.18.1. Yes, it's alive by sampo on Tuesday August 13, 2013 @09:38AM (#6205591)
"Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005."

But if we believe in the Osborne effect, then already from 2000 the announcement of Perl 6 started to eat momentum from Perl 5.

http://en.wikipedia.org/wiki/Osborne_effect

Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:46AM (#6206029)
Exactly. The early announcements, the O'Reilly book etc. all combined to make me want to stop Perl 5 work and wait a bit for Perl 6 to come out.

I was fully expecting to sit down at a machine and type "perl6" instead of "perl" to invoke early versions of the language. I was even willing to deal with semantics changes in the language for a while till that settled down.

But 5 years is a long time to wait before implementation even started and 13 years is even worse and still not really be able to sit down at a terminal and "perl6 -v".

Re:Perl 5.18.1. Yes, it's alive by lelf on Tuesday August 13, 2013 @01:47PM (#6207096)
> and still not really be able to sit down at a terminal and "perl6 -v".

Wait, that's not entirely true

  Betty:~ lelf$ perl6 -v
  This is perl6 version 2013.06-200-gee08521 built on parrot 5.5.0 revision RELEASE_5_5_0
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @03:06PM (#6207595)
well...okay. Now that gets my juices flowing.
Re:Perl 5.18.1. Yes, it's alive by muriithi on Tuesday August 13, 2013 @10:09AM (#6205764)
How would the Perl 5 => Perl 6 transition compare to the Python 2 => Python 3 transition?
Re:Perl 5.18.1. Yes, it's alive by latk on Tuesday August 13, 2013 @10:26AM (#6205888)
Python is a very strict and comparatively easily parsed language. Python 3 is the clear successor to Python 2, and feels mostly the same for a programmer.

The idea for Perl 6 was the same: Clean up the language, add new features at the expense of compatibility, and create a v5 → v6 transition tool. During the evolution of Perl 6, this original goal became less important. Nowadays, Perl 5 and Perl 6 are seen as two sister languages in the same family, which take inspiration from each other, but are independent. There won't be mass migrations to v6 once it “arrives” (it already did in the form of Rakudo Star). There are, however, efforts to run v5 and v6 code in the same VM.

Re:Perl 5.18.1. Yes, it's alive by muriithi on Tuesday August 13, 2013 @06:24PM (#6208673)
Thanks.
Re:Perl 5.18.1. Yes, it's alive by swash on Tuesday August 13, 2013 @08:46AM (#6205323)
We're using Perl for a new startup. Our team has a background in computational biology where Perl is still big. Some of us have more than 10 years of Perl experience and if you know the language well it's just insanely productive.

Readability was never an issue. We follow a few common guidelines and with Perl::Tidy we get consistently formatted code.

So in principle Perl is perfect for us, the only drawback is that there is less and less library support for Perl. Most services like for example Stripe have libraries for Python, Ruby but don't bother with Perl (and I don't blame them). Third party libraries from CPAN are usually not that robust and well maintained.

But in general the Perl backend is the most robust part in our codebase and I would not trade it for any other language.

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @08:58AM (#6205389)
Good luck finding any decent Perl programmers to hire. And if you do find them, good luck paying their exorbitant hazard pay and keeping them happy enough to stick around. And then after they leave, good luck finding more Perl programmers to willing to clean up the unmaintainable mess they left behind.
Re:Perl 5.18.1. Yes, it's alive by arc_of_descent on Tuesday August 13, 2013 @09:25AM (#6205527)
Whats with the luck factor? You can hire newbies and train them to learn Perl. The Learning Perl books are fantastic.

If you have an experienced team and new programmers willing and eager to learn Perl, lady Luck can go for a fuck.

Re:Perl 5.18.1. Yes, it's alive by Diederich on Tuesday August 13, 2013 @09:26AM (#6205539)
I do a fair amount of Perl hiring, and here in the south bay (silicon valley), it's been pretty easy to hire good Perl talent.
Re:Perl 5.18.1. Yes, it's alive by antitrust on Tuesday August 13, 2013 @09:21AM (#6205503)
You should come to one of our local PerlMongers meetings (http://pm.org/).

I think it would change your mind about a number of things!

Re:Perl 5.18.1. Yes, it's alive by lelf on Tuesday August 13, 2013 @06:19AM (#6204889)
I feel it got a reputation of @#$@#(==~/s(.*)+) language that was updated last time in 1995. Not that it is uncapable of @@->$/=+s{}. But when you

  use Modern::Perl;
  use Moose;
it's quite different thing. Perl6 may become cool, but it's a different story.

(Moose is full-grown object system, with meta object protocol, nice syntax and implemented completely as a library).

Re:Perl 5.18.1. Yes, it's alive by _delirium on Tuesday August 13, 2013 @08:34AM (#6205273)
I kind of like the non-modern parts of Perl myself, for some of the original purpose of making a superset of sed+awk+sh with better control flow constructs and better performance. I don't entirely understand why sed/awk are so popular on HN but old-style Perl isn't, since it's generally nicer and usually faster, for most things the sed/awk/sh combo would be used for.
Re:Perl 5.18.1. Yes, it's alive by antitrust on Tuesday August 13, 2013 @09:12AM (#6205453)
I agree. Perl is great and often the fastest way to git 'r done, especially across multiple operating systems.

Perl got a bad rep for two reasons. First, writers of boutique languages wanted a reason to feel good about themselves. Second, certain segments of the Perl community (I won't name names) insisted on writing obfuscated, baffling code that read like line noise from a modem.

The Perl community counteracted this, but there were still enough of these people out there to give it a bad rap.

In the meantime, if you're a Perl programmer who can write functional, efficient, clean and readable code, there's no shortage of stimulating work.

Re:Perl 5.18.1. Yes, it's alive by LekkoscPiwa on Tuesday August 13, 2013 @06:39AM (#6204957)
I used to work with Perl 6 years. As much as I like it, going to Ruby was such a relief and joy! I never looked back. Perl is just way too @$%{}__ for me. And some stuff, like OO really, really not only looks but also feels like a dirty hack put on top of something else.
Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @06:58AM (#6205008)
Ah, so you left the Perl world just before Moose -- and don't even know about it? :-)
Re:Perl 5.18.1. Yes, it's alive by mdellabitta on Tuesday August 13, 2013 @07:19AM (#6205072)
That's a good explanation of me.

I just took a quick look at the manual. The class definitions look seriously verbose. I guess with some coding templates or macros, it wouldn't be too bad, though.

Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @07:28AM (#6205097)
Well, you have a ~ typing system for attributes, good roles, etc. And if you don't like the syntax, see e.g.

http://search.cpan.org/~ether/MooseX-Method-Signatures-0.44/...

http://search.cpan.org/~flora/MooseX-Declare-0.35/lib/MooseX...

[Edit: I might add -- the OO system is mature and largely inspired by Common Lisp. It is better than the "competition" among the scripting languages (says the ones with heavier background in those environments than me).]

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @09:03AM (#6205407)
Well you should just use Common Lisp if you want an object system like Common Lisp's. It comes without all the baggage and duct tape of Perl.
Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @09:19AM (#6205492)
I could be happy using either just a nice Lisp or Perl the rest of my life. (Perl do look more likely, since e.g. the last time I checked the Lisps I didn't even find good Unicode support, etc.)

But you didn't expect a serious answer.

You've written five(!) troll comments in this discussion -- as of now, total comments are 28. The last four trolls in 12 minutes.

In short: You're a complete drag on HN signal-to-noise and give pathetic waste-of-air language war trolls a bad name.

(All complex language environments have duct tape and baggage. And... ah, why feed the stinking trolls?)

Re:Perl 5.18.1. Yes, it's alive by antitrust on Tuesday August 13, 2013 @09:25AM (#6205526)
This is great news. Thanks for posting it.

To me, Perl represents the most organic language out there. It arose from a collection of traits in other languages and macro vocabularies. It's held together by a series of lexical assumptions that work because they mirror our intuition.

But even more, it's kind of the anarchy zone. You can write whatever type of code you want. However, the people who make readable, clean, efficient, and functional code are the ones who rise.

With CPAN, and the ingenuity of millions of Perl hackers, there's nothing it can't do. If you've never tried it, play around in it awhile. You might like it... and stay forever.

Re:Perl 5.18.1. Yes, it's alive by ajtaylor on Tuesday August 13, 2013 @10:20AM (#6205835)
I first tried perl (and programming in general) back in the mid 90's when I got tired of writing HTML via Word macros and wanted something more interesting. This was perl4 (oraperl to be exact since DBI didn't exist). I haven't looked back.
Re:Perl 5.18.1. Yes, it's alive by Flimm on Tuesday August 13, 2013 @08:54AM (#6205367)
I'm at a Perl conference right now with hundreds of other attendees. Perl definitely is alive.
Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @09:08AM (#6205428)
Are they still selling misogynistic t-shirts?

http://geekfeminism.wikia.com/wiki/Perl_is_my_bitch

It's so telling how Randal Schwartz, purveyor of hooters booth babes and publisher of "amihooternot", chimes in about how it's bad because it gives Perl an image of being the tool of "teen perl hacker misogynist guys," and that's harder to sell to Corporate America. Yet it doesn't even occur to him to mention that it's also bad because it's WRONG and disrespectful to women and offensive to people who aren't sexist.

The Perl community certainly has a long standing and well earned reputation of being "teen perl hacker misogynist guys," that drives away both women and Corporate America.

See also:

http://geekfeminism.wikia.com/wiki/Randal_Schwartz

http://geekfeminism.wikia.com/wiki/Stonehenge_OSCON_parties

http://geekfeminism.wikia.com/wiki/Acme::Playmate_talk

http://www.stonehenge.com/merlyn/WebTechniques/col59.html

Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @09:21AM (#6205504)
You are talking about something from year 2000 -- and ... ah, you've written 5 troll comments, the last 4 in 12 minutes.

There were less than 30 total comments in this discussion, including those five.

You must be the saddest troll on HN. I'll not feed you. Sorry for not brightening your "life".

Re:Perl 5.18.1. Yes, it's alive by npongratz on Tuesday August 13, 2013 @09:20AM (#6205498)
Re:Perl 5.18.1. Yes, it's alive by laichzeit0 on Tuesday August 13, 2013 @07:03AM (#6205023)
And those of us who know Perl will continue to use it as syntax and a couple of cute features is hardly enough impetus to throw away years and years of accumulated experience in the language and libraries to learn Python or Ruby or whatever else is the New Perl (tm). And I will continue coding in C and PHP because those are workhorses I'm equally expert at.

Newfags always gonna hate oldfags and their rusty (but trusty) old battle-hardened toolboxes.

Re:Perl 5.18.1. Yes, it's alive by Mithaldu on Tuesday August 13, 2013 @11:57AM (#6206476)
While i appreciate the start of this post, there is no need to attack others or resort to name-calling.
Re:Perl 5.18.1. Yes, it's alive by aaronbrethorst on Tuesday August 13, 2013 @03:45AM (#6204482)
What on earth was the point of the quote that introduced this release? It felt like a retread of Andreessen's famous "poorly debugged set of device drivers" line. Are we still on Slashdot? Is it 2005? Hot grits! Natalie Portman!
Re:Perl 5.18.1. Yes, it's alive by Mithaldu on Tuesday August 13, 2013 @04:52AM (#6204671)
In short: Larry started it by quoting Lord of the Rings, later release managers rolled with it. They aren't necessarily reflective on the release or current issues, but mostly there because the release manager felt like it. For more detail: http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/epigra...
Re:Perl 5.18.1. Yes, it's alive by stiff on Tuesday August 13, 2013 @04:50AM (#6204666)
Seems like a tradition of the Perl folks:

http://www.nntp.perl.org/group/perl.perl5.porters/2012/05/ms...

The Chuck Moore quote is especially ironic given what Perl represents in the programming language design space...

Re:Perl 5.18.1. Yes, it's alive by ehsanu1 on Tuesday August 13, 2013 @06:50AM (#6204988)
Point or not, I actually found it interesting. Quoting part of the quote:

You’ve got gigabyte disks; you’ve got megabyte RAMs.

The book this appears in was published 2009, though the interview with Chuck Moore surely happened somewhat earlier. But yay for triple order-of-magnitude improvements!

Re:Perl 5.18.1. Yes, it's alive by lmm on Tuesday August 13, 2013 @09:09AM (#6205436)
Don't forget "perl 6 is a mistake".
Re:Perl 5.18.1. Yes, it's alive by cmccabe on Tuesday August 13, 2013 @03:58AM (#6204519)
Yeah, it's pretty bizarre.

Was slashdot still relevant in 2005? Was perl? I feel like they both peaked right around the turn of the century.

Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @05:14AM (#6204733)
This was funny.

Yesterday, cmccabe was snarky about subtle changes in versions of the Python/Ruby std libs. Today, he/she is snarky about a similar language, which really take backwards compatibility seriously. (Google darkpan/backpan for discussions.)

(But ok, he do seem to not have looked at Perl since the turn of the century.)

Re:Perl 5.18.1. Yes, it's alive by cmccabe on Tuesday August 13, 2013 @06:15AM (#6204876)
OK, I admit it was a cheap shot. But I'm not the only one in the thread making it. And the quote is definitely bizarre. Can you explain how it's related to Perl?

I agree that Perl has done a very good job with backwards compatibility. I have run many ancient Perl scripts that all work fine, and yes, CPAN is huge. I never liked the language, but that for other reasons, not worth going into here. Feel free to mod me down or whatever, just speaking what is on my mind.

Re:Perl 5.18.1. Yes, it's alive by mpyne on Tuesday August 13, 2013 @11:55AM (#6206464)
> OK, I admit it was a cheap shot. But I'm not the only one in the thread making it.

"I wasn't the only one" is a very weak justification for actions.

Either way, why does the quote have to be related to Perl?

I've been reading Stroustroup's 4th Edition of TC++PL and it has quotes at the beginning of every chapter, not all of which pertain directly to C++. Is that not Stroustroup's right as the author to choose whichever quote he feels best appropriate?

Re:Perl 5.18.1. Yes, it's alive by berntb on Tuesday August 13, 2013 @06:38AM (#6204953)
>>OK, I admit it was a cheap shot. But I'm not the only one in the thread making it.

Thanks for making HN a bit more like bad Reddit today, with even more brainless language wars!

[Edit: Seriously, why even write if you have nothing to add but a "cheap shot" -- which is even written by others ("not the only one")!? Do you try to destroy this website?]

[Edit 2: I realize that the language wars idiots in some communities usually votes up comments like this about Perl, but take some damn responsibility for HN quality. Karma is not money.]

>>Can you explain how [the quote is] related to Perl?

If you're curious, please check the comment by Mithaldu, written before my first comment.

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @03:57AM (#6204511)
Were people still excited about Perl in 2005??!
Re:Perl 5.18.1. Yes, it's alive by ttflee on Tuesday August 13, 2013 @10:19AM (#6205820)
I was excited about Perl for the first time when I learned it in about 2005. I was using perl to glue data and NCBI Blast to do some naive BioInfo pseudo research, from today's perspective.