Perl 6, Early, With Rakudo Star 220
Perl 6 may have been "finally coming within reach" in 2004, but now it's even closer. Reader rnddim writes "The Perl 6 implementation Rakudo Star has been released today for 'early adopters.' This release of Rakudo is different from the normal monthly compiler releases in that it is bundled with a draft of a Perl 6 book, and several modules. It's not complete, and it's not as fast as it should be, but Rakudo in its current state is proving to be usable and useful. Rakudo Star releases will come monthly or as major features or bugfixes are made. It is available for download at github.com."
Heh (Score:5, Funny)
Calling anything whatsoever that involves Perl 6 'early' is the funniest thing I've seen in weeks.
Re: (Score:3, Funny)
Wow. SC2, now Perl 6. Can Duke Nukem Forever be far behind?
Re: (Score:2)
Not more than another decade or so behind, I'd imagine.
Re:Heh (Score:5, Funny)
Can Duke Nukem Forever be far behind?
This actually pushes out their launch date as they have to update all their Perl 5 code.
Re:I've had the book since 2004 (Score:2)
Is it this book [bahut.alma.ch] which is included?
A decade too late. (Score:2, Insightful)
If this had come out in 2001 or 2002, shortly after Larry's original Perl 6 announcement in 2000, then it might be useful. But 2010 is far too late.
Perl 6's ship has sailed. Perl 5, which was already very well established, has had enough difficulty fending off PHP, Python and Ruby. Perl 6 has no hope in hell. The benefits it brings are minimal, and surely not enough to drag anyone away from Perl 5, PHP, Python and Ruby, among the many other languages it's competing against.
Perl 6 is a stillborn fetus, left
Re:A decade too late. (Score:5, Insightful)
Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.
(That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)
Re:A decade too late. (Score:5, Insightful)
Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.
(That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)
Minimal to perl's real audience: sysadmins.
I would wager that 80%+ of perl coders are Unix/Linux sysadmins. That's certainly where I've seen the language most widely used. By the time something is big enough to be a real development project - or it comes from a natural "a developer writes this" angle - people are usually working in python or ruby.
Time was when perl was a web development language. Slashdot - created in 1998 - is an example. But few people start a new web project in perl. (Yes, I'm sure you're jumping in now to paste URLs....I said few people, compared to php, python, java, ruby, etc.). Desktop GUI programming in perl? Can be done but rarely is/was. Glue code? Sure...tying together things and using DBI, etc. But mostly perl is used for system things, not application things.
I love perl. But it has never outgrown its roots as a log-processing utility. Yes, sure, you can do all kinds of amazing things with it - talk to DBs, write GUIs, handle web CGI, OOP, etc. But few people do that. HTML::Mason (perl's answer to php)? Sure, you can find some older sites where it's rooted in their ecosystem (e.g., Amazon), but not many people are firing up new HTML::Mason projects. How many books were published for HTML::Mason? One. CakePHP has at least four and Ruby on Rails has God knows how many, which gives you an idea of mindshare, and those are very new frameworks. Heck, even symfony and CodeIgniter have books. Not that I'm endorsing them, but how many new perl books have been published? Where are the great perl-based frameworks? Perl is a systems utility language. Not many new books are published on bash or awk these days, either.
BTW, what languages can you program in for the Google App Engine? Java and Python, not Java and perl. Who did Google hire? Guido, not Larry. Next language to be added to GAE? Probably Go or maybe php. Perl is not on the radar.
Again, I love perl. Used it since 3.x-something. Coincidentally, Damian Conway's Object Oriented Perl is sitting two feet from my monitor as I type this. But who really does large OOP projects in perl? There's a book on php design patterns, for pity's sake, but no one has publishedone on perl. There is a wiki, but to me that speak volumes (no pun intended) about where the developer mindset is.
You can say that's unfair, or short-sighted, or just crowd fashion. Fair enough. But people vote with their eyeballs.
So no, I don't think most people care about perl6. Most people who use perl don't do more than open a file, run some regex, and maybe make a DB connection.
Re:A decade too late. (Score:5, Insightful)
I'll do you one better: it's hearsay supported by anecdotal evidence. The existence of one Mason book versus a hundred PHP/MySQL books is evidence of... publishers. Larry's not working at Google is evidence of... he turned them down. Did you know that the top Perl books sold still outpace the top Ruby and Rails books sold?
You're welcome to argue that your perceptions and feelings add up to evidence of something, but "Languages which hipsters with ironic facial hair hack in coffee shops in San Francisco" is a very small data point, even if you could measure it accurately.
Re: (Score:2)
I've still got the t-shirt that ORA gave out at LISA '96, signed by Larry, Tom, and Randal when the first camel book came out. I recall they gave out free ice cream that night too.
But I have to agree, all my perling has been to muck with router and server stuff.
Re: (Score:2)
I'm glad mucking with Perl worked out for you. But there's a lot of modern Perl programmers turning out beautiful, terse and elegant code. So please don't globalize your experience. I wrote a Java applet once in 1995 but I don't keep saying that's all Java is good for.
Re: (Score:2)
FYI: Your information about Amazon is old. Mason is disliked by most current Amazon SDEs and generally considered legacy crap. Calling it part of Amazon's ecosystem is just not accurate anymore. Maybe in year 2000, but not today. Sure there might be a couple teams left supporting mason but it's often some obscure admin tool used no one wants to touch. Clearly the vast majority of new Amazon dev work is in Java. A bunc
Re:A decade too late. (Score:5, Informative)
From someone who worked there 2 years ago- mason and Java are in totally different places and not competing with one another. The backend is dominated by C++ and Java. Mason was never used for backend- it's a front end concept. And it's widely in use there by the front end. I don't know of any front end code written in java or JSP. For frontend mason wasn't going anywhere, it was too easy to integrate perl with the middleware stack to talk to backend services. There wasn't any way as of 2 years ago to do that with php, python, etc. THey may end up using a different framework than mason, but it'll stay perl due to that.
you obvously don't work in an established company (Score:4, Interesting)
Most of my career has been in telecom/datacom companies, and perl is the preferred language for testing and infrastructure. The last stint I did at a true startup ended in 2003 (I got the hell out) and they used tcl for testing. Since then I've only seen perl. Perl certainly is less popular in CGI and LAMP than it used to be, but that is the only major pull back I've noticed. But it isn't new and sexy, which is fine by me, and that is what many people seem to notice.
That said, I'm not sure if/when I'll adopt perl6. I like much of what I've seen, but I've got an install base to worry about. I either need a killer reason to switch, or a lot of dead time in my schedule. I jumped on perl4 -> perl5 back in the winter of 94/95, but that was such a huge step forward that it could not be ignored.
- doug
Re:A decade too late. (Score:5, Insightful)
In the old days the people that used perl were mostly script kids and because there wasn't much else on the web for doing fancy server stuff. All the resources at the time pointed to perl this perl that, because it was the easiest path. Nobody bothered to fire up the c compiler and write their CGI programs that way. This was the mid to late 90s and at that time object oriented programming was starting to pickup steam with C++ and Java. For that time, perl was certainly a competitor but all languages still carried major faults.
A few years back I was browsing through job listings for perl positions and not surprisingly there weren't many. I had also done some Java based stuff so I also took a look at the Java positions. But most of the positions available were PHP positions and maybe a few Python positions here and there. Ruby was available but still too new to be in use; I didn't see any Ruby positions.
Between the interviews the surprising thing to note is the Java positions were largely big corporate based things and people would grill you on the intricacies of Java instead of talking about what the job really was about. It was very not personal, not that it needed to be, that's just the vibe I got. The perl interviews still grilled you but I noticed a huge difference in the demeanor of the interviewers. They were much humbler Maybe it was the fact that perl5 really was that big of a pain therefore made you humbler as a software dev or maybe it was the fact that they couldn't find any *good* perl developers. Anyway, I also made it a point to ask the perl shops why they chose perl. The answer is largely the same, "we were stuck with it". Somehow, someway, perl was chosen and nobody wanted to rewrite everything just so they could use ruby or python. After all, the language is a tool, not necessarily the actual solution.
The huge difference was, the perl people of today were no longer the script kids of the 90s. They were actual software engineers. Perl was typically just one piece of the puzzle and they were using a bunch of technologies together to get to their solutions. Meanwhile the Java shops were hooked to whatever the latest framework happened to be. At the PHP job listings seemed tailored to script kids. All kinds of widely varying positions from full blown systems to cheesy scripts for some person or small website. So to me it seemed that PHP slurped up all of the script kids that perl once was popular for and Java was still trying to be fashionable (not sure why).
Sure I understand your point and accept it; people today, right now, don't care about perl6. But not all of them are sysadmins. Some of them actually are legitimate software houses.
Now will all of these people move to perl6? That's a tough question. I sometimes ask myself if that would be a good business decision. For the business, having readily available devs for your language of choice means more candidates available to hire. In that sense Perl6 and even Ruby aren't good choices. You will definitely be forced to use what is mainstream if you are a seasoned or senior developer. The risks in using a new cutting edge technology aren't worth it if you don't need the cutting edge features to implement your solution.
But I don't doubt that history will repeat itself and some young software dev will make the same age old mistake and proclaim "we should use *this* because it is the newest and it is cool." That is after all how Ruby and Python got their starts. Some sort of fancy project called Ruby on Rails got a lot of publicity and suddenly everyone was interested.
Perl6 does have a lot to offer that is cutting edge so it does have a chance. Take a look at the PDF and the Regex Grammars section where they implement JSON in a few pages. And it isn't in "one liner" style. It is in true language grammar style just like everyone learns (or should learn) in their compiler studies. That's at least worthy of something.
I am also *very* interested in the perl6 object model as it seems to understand objects in a
Re: (Score:2, Informative)
> I would wager that 80%+ of perl coders are Unix/Linux sysadmins.
You'd probably lose. Its everywhere.
> Where are the great perl-based frameworks?
Catalyst is where its at. And if you need a one-off framework, CGI::Application is easy as pie.
Coupled with the CPAN, the ecology of other languages look pretty useless to me.
There are a lot of people using perl. I've been introduced to new several new industries lately, and perl lets me develop apps that would need a team of HPCs and millions of dollars to
Re: (Score:2)
To me the biggest reason people don't hear much about perl is because its proponents and users are too busy getting stuff done.
Or spending our time writing docs, blogs or more open source code to add to the vast opensource Perl ecosystem.
Some Companies using Perl to build Big Site (Score:5, Informative)
http://wiki.catalystframework.org/wiki/sitesrunningcatalyst [catalystframework.org]
That's just those using Catalyst (a popular Perl based Model View Controller system) but if you glance down the list you are going to see some huge sites with big, big traffic loads. All new stuff, things launched within the past two/three years max. BBC iPlayer alone is one of the heaviest hit sites on the web, and that's Perl.
So you are wrong in your guess that "80%" of Perl programmers are sysadmins writing cron jobs. Whoever modded you up should have done a bit of checking, because marking your opinion as insightful is highly inaccurate.
There have been several new Perl books written just for Catalyst in the past two years, so just because you are not finding anything new for Mason (which is probably not the framework of choice for the modern Perl programmer anyway) that is not much of an indicator. There's tons of FREE docs and examples for Perl in any case (http://search.cpan.org/)
As far as Google's lack of commitment to Perl, well, I'm sorry to hear about that, but that's one company. Google Appengine is a pretty small garden, and the Perl interpreter has trouble running under its confinement. To be honest, Python doesn't run everything under appengine either, you need to write code for appengine. I think getting PHP or other languages to run under it will be equally difficult.
If you want to program in Perl on the cloud you have a ton of options, such as EC2, Rackspace cloud and pretty much any cloud provider with an open system (not Appengines walled garden) Oh, and if you want a smarter search engine, trying http://duckduckgo.com/ [duckduckgo.com], which is written in Perl and I find more useful than Google search.
I realize that the Perl community needs to do a better job showing that we are not stuck in 1998, so I forgive your lack of knowledge in this matter. I do actually appreciate the opportunity to discuss it, since this is really the only way this perception problem with be solved. However I hope you can meet me halfway and do a bit of checking on modern Perl before you make such sweeping judgments again. Because to be honest this exact opinion you've expressed I've seen over and over again for several years, and it's totally different from what I see everyday, as a fulltime, highly paid Perl programmer for at least 15 years. Take a look at Moose (http://moose.perl.org/) if you think Perl's OO is lagging, or Plack (http://plackperl.org/) if you think Mason and mod_perl is all we have, for example. Our community is smart, diverse, highly active and strongly focused on the next 20 years of Perl.
John Napiorkowski
Re: (Score:2)
Because a significant factor in Perl's success in the 90s was the absence of competitors that were similarly powerful and accessible. Nowadays Perl 6 has to compete for community-share with PHP, Python, and Ruby. Will Perl 6 be good enough, and come with enough supporting software like web frameworks, to steal mindshare back from those communities?
Re: (Score:2, Informative)
What suggests that any new language or version of a language has to "steal" attention from any other existing language to succeed?
Re: (Score:2)
If I'm programming in Python, then I'm not programming in Perl.
In the 90s, programming on the web meant programming in Perl; in the Unix world, it meant either Perl or SH (assuming you weren't going straight to C).
The problem for Perl 6 is that it has competitors now that are of arguably the same quality, if not better for various arguable reasons, and that IT professionals have an embarrassingly large array of choices in technologies to use, so much so that they consciously limit what they learn to keep it
Re: (Score:2, Informative)
There are six and a half billion people in the world programming in neither. Now I suffer no illusion that all of them will become programmers, but it's no long bet to believe that more of them will become programmers. I care about that helping them solve their problems far more than about getting the mayfly attention of people who flit between the latest releases of dozens of languages, because the latter will move on to Haskell Prime or Ja
Re: (Score:2)
Growing the community with new members, rather than stealing community from others, is a viable strategy. But I don't see Perl winning there against PHP.
The reason PHP is where it is today is because it was easy for web hosting companies to offer it, and it was easier to make PHP pages than to make Perl CGI scripts. It became the entry level web programming language, and that's how and why it caught on and flourished despite being manifestly worse than Perl and Python. And what holds back Python and Ruby
Re:A decade too late. (Score:4, Informative)
I don't know. My interest lies in doing other things with Perl 6. I'd like to see a minimal hosting environment for Perl 6 applications based on something like Parrot bytecode, but we're not quite to the point where we can bundle an entire application, run it in its own memory space, and offer sandboxing and other limits.
(I agree completely about PHP's advantages in the cheap shared hosting world.)
Re: (Score:2)
You missed the point I made a couple lines later. As an IT guy, I have a bunch of choices of languages, frameworks, platforms, whatever. I have no choice but to pick and choose what I spend my limited brainpower on, and choosing X means not choosing Y. Choosing A, B, C, and D means getting familiar with them all, but master of none; choosing only A and B means mastery of one or both.
Along comes Perl 6, a language whose predecessor I last used 10 years ago, after I've made my professional repertoire heavi
Re: (Score:2)
Will Perl 6 be good enough, and come with enough supporting software like web frameworks, to steal mindshare back from those communities?
That depends. Do you want it to be?
Ruby was around for quite awhile before Rails. Rails put it on the map, in a world that already had PHP, Python, Perl, Java, .NET... and Ruby, of course.
Now, at the moment, I don't particularly care about Perl6 -- it's on my radar as "interesting", but not really where I want it to be, yet. The same is true of Parrot, and it continues to surprise me that no one cares much about it -- implementations like Cadinal (Ruby on Parrot) seem to have died. Still, a killer app/frame
Re:A decade too late. (Score:4, Insightful)
Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.
The main reason isn't technical. Mindshare matters. Programmers are as fashion-conscious as any group of teens, and, for various good and not-so-good reasons, are far more herd-like. Sad to say, I think if they changed the name it would have a better chance of getting a chance. As is, people are playing with a new batch of languages, young programmers will mostly only run into Perl when they brush against system administration or legacy systems, and the name typically elicits a (frequently uninformed) "Yuck!" from a lot of people.
All of which I find sad - I love Perl. I still write most of my personal stuff in it, because it scales so insanely well from one-liners to complex apps. And it was a great, if only partial, counterpoint to the bondage-and-discipline bullshit Java got way too many people used to. But so i goes.
Re:"Amazing" features offered by Haskell years ago (Score:5, Insightful)
Nonsense.
They're significantly different from Haskell's typeclasses, Haskell being a language which tends to avoid the OO paradigm.
I've never used SML or Scala. Can you modify the grammar of the language in place?
Does Haskell offer parametric pattern guards?
Indeed it has, and no one familiar with languages would claim otherwise.
That process sounds much more manual than Perl 6 hyperoperators.
Even if that were true, so what? (Mature poets steal.) My point was that a hypothetical Perl 6 released in 2001 wouldn't have had those features.
a decade too soon (Score:4, Interesting)
That's an appropriate sentiment for a guy who choses his programming language the same way he chooses his girlfriend.
The true test of Perl 6 is how many of the new genes baked into Perl 6 show up in Python/PHP/Ruby ten years from now. That would make Perl 6 an important language, even if it never gets laid.
At some point I'm going to give Perl 6 a shot with an open mind, and see whether all those years paid off with a mature reflection on the nature of womanhood. Even if it's not girlfriend material.
Can they... (Score:2)
Can they bundle it with a copy of ( insert your favorite vaporware here )..???
Re: (Score:2)
Well, I am rewriting Duke Nukem Forever in Perl 6, so I can port it to the Hurd.
Let me be the first to congratulate (Score:4, Funny)
$$][/^&]l/:^$& :&}::*'%'''^';^;
(To prove my point, the Perl that powers Slashdot told me I hit the junk filter. The ironing is delicious.)
Re: (Score:2)
Re: (Score:2)
Re:Let me be the first to congratulate (Score:5, Funny)
Personally, I found that the ironing left my tongue without any functional taste buds.
Re: (Score:2)
You know, that would be great if it was actually executable, and I've seen worse-looking intentionally-obfuscated Perl.
Unfortunately, it isn't actually executable, at least as far as I can tell.
Welcome Rakudo Star (Score:5, Informative)
The Welcome Rakudo Star [perl.com] post on the new Perl.com explains some of the motivations for the Star releases and why this is such a big milestone for all of Perl.
Does anyone care? (Score:3, Insightful)
Re:Does anyone care? (Score:5, Informative)
Re:Does anyone care? (Score:5, Insightful)
Considering that Python 3 scripts are being written, I see no reason to doubt that Perl 6 scripts will be written too.
Well, Python 3 is pretty much just the same old Python with some nifty new features added and a couple of long-deprecated "mistakes" removed. Perl6, OTOH, is almost a completely different language from Perl5. People are going to have a bit of a learning curve if they're planning on transitioning to this new version.
Re:Does anyone care? (Score:4, Interesting)
Perl6, OTOH, is almost a completely different language from Perl5
So you've never known anyone to learn and work in two similar languages? Personally, perl 5 is my staple tool for developing data and text processing applications at work. However, I also do a lot of hacking in Python and sh (including heavy use of sed, awk, and grep) because, well, they are sometimes more convenient to work in for different things. Just because they are similar, but different, doesn't mean I can't or shouldn't bother learning them all.
When it comes to perl 6, I realize that it is basically a different language than perl 5. That said, I will continue to program and maintain my work in perl 5 where it makes sense to do so. However, the driving reason that I use perl 5 as my primary language is the general philosophy displayed by the language. The overall quirkiness and linguistics-centric nature of the language make it both enjoyable and interesting to work in, for me. I am wagering that the designers of perl 6 tried to keep some of the perl 5 cultural and philosophical elements of the language when writing the new language (at least it sounds like they did based on what I've read so far). That said, I intend to start learning perl 6 slowly, and trying out some new stuff with them just like when I picked up perl 5 the first time. If I like it and find a use for it, I will keep learning both perl 5 and perl 6. If, however, I decide that it is clunky, does not get done what I need it to get done, and is an all around pain in the ass to work with, I will probably just stick with perl 5.
So the moral of the story is: Yes, it is new and different. That doesn't mean it's bad. It might be totally awesome like Perl 5 was (for me). So Perl 5 coders may as well try it out and see what they think.
Re:Does anyone care? (Score:5, Interesting)
The first time I wrote any serious code in Perl 6 (five years ago), I had to look up a few pieces of unfamiliar syntax, but the whole experience felt very comfortable. Perl 5 and Perl 6 share the same essence, the same perlishness.
Re: (Score:2)
"Considering that Python 3 scripts are being written, I see no reason to doubt that Perl 6 scripts will be written too."
Apple to oranges. I have no doubt that Perl 5 scripts will be written long after Perl 6 hits "stable". But I do too think that Perl 6 day was five/six years ago or never.
I myself come from the sysadmin camp (and on the develoment side that means "apprentice of everything, master of nothing") so I hacked together my fair share of Perl rubish as well as Bash or C -and the more I went into
Re: (Score:2)
There definitely are: http://wiki.catalystframework.org/wiki/sitesrunningcatalyst [catalystframework.org]
And thats just those written in Catalyst (a Perl MVC web development framework). Thanks for giving us the benefit of the doubt?
Re: (Score:3, Interesting)
Re:Does anyone care? (Score:4, Interesting)
More computers are available in the hands of more people today than at any other time in recorded human history. More novice programmers exist now than at any other time in recorded human history. What worry about sheep stealing from other languages (as if programmers or novices can only ever use or learn a single language at a time) when hundreds of millions of people could write useful programs?
Re: (Score:2)
More computers are available in the hands of more people today than at any other time in recorded human history. More novice programmers exist now than at any other time in recorded human history. What worry about sheep stealing from other languages (as if programmers or novices can only ever use or learn a single language at a time) when hundreds of millions of people could write useful programs?
In Perl? L O L.
Re:Does anyone care? (Score:5, Funny)
A subtle but scathing point! I apologize and amend my comment: hundreds of millions of literate people could write useful programs.
Re: (Score:3, Funny)
In Perl? L O L.
Re:Does anyone care? (Score:4, Insightful)
Yes. Look, I mostly prefer Ruby out of the trio of Ruby/Python/Perl, with Python a close second, but Perl obviously has an active community and there are obviously quite a lot of people interested in Perl 6.
Yeah, in some ways its a big change from Perl 5 and there is going to be some time for people to hop on board (just as with Python 2.x to Python 3 and Ruby 1.8.x to Ruby 1.9.x) and sure, some people might prefer Python or Ruby to Perl (just as some people prefer Python or Perl to Ruby, and some people prefer Ruby or Perl to Python.)
Why do people insist on thinking that if they don't prefer something, no one else in the world is interested in it?
Re: (Score:2)
Thank you for giving us, the Perl community, the benefit of the doubt. The world is big, and there's lots of room for intelligent people to have rationally based differences.
perl is community (Score:3, Insightful)
Would anyone convert existing perl 5 scripts to perl 6? Would anyone write new scripts in perl 6 as opposed to Python or Ruby or Perl 5? Really, would anyone except the most diehard Perl addicts even notice or care about Perl 6?
Yeah, I can't wait. I like programming in perl and ruby but not python. It doesn't mesh with me. But perl5's object system is a pain in the ass. perl6 takes what I love about java and ruby and expresses it like perl. :my hero:
perl is fast as hell and light on memory. Python tend
Re:Does anyone care? (Score:5, Insightful)
It's flexible, powerful, and easy to extend. 84,296 modules are freely available from the CPAN (at least when I checked; the upload rate is staggering). It has an immense culture of quality and testing. It's amazingly portable. It scales from the freshest novice writing baby Perl to large-scale applications which must not fail, written by experienced professionals. It's malleable; you can program in a compiler-checked subset of the language or express yourself in the most clear or (if you don't care about maintainability) the most expressive, creative way possible.
It has amazing libraries for network access and databases. It sets the standard for text processing. It's been an integral part of usable Unix installations for years. You can find it just about everywhere, and you can do just about anything with it.
Re: (Score:3, Interesting)
No mod points, so all I can say is that I totally agree. I suppose the people who hate Perl are the same sort of people who this quote refers to:
many Computer Scientists have come out in opposition to the Art of Programming. In trying to make programming predictable, they've mostly succeeded in making it boring [linuxjournal.com]. And in so doing, they've lost sight of the idea that programming is a human pursuit. They've designed languages intended more to keep the computer happy than the programmer.
For anyone who doesn't know Perl and wonders what other people like so much about it, I think the interview linked to above is worth reading.
Re: (Score:3, Informative)
[L. Wall]: They've designed languages intended more to keep the computer happy than the programmer.
The problem is that programming in Perl quite often is not a happy experience for the programmer. Too much magic. Too much line noise. I do admit, though, that there's a quite useful subset of Perl that is fun to program in -- for scripts, anyways. Anything larger that benefits from data structures gets to be a mess, fast.
Re: (Score:2)
The problem is that programming in Perl quite often is not a happy experience for the programmer. Too much magic. Too much line noise.
From the Perl 6 examples I've seen so far, the Perl 6 solution to this seems to be—more magic, and more line noise.
Re: (Score:2)
Without disputing anything you say, how is this different from PHP, Python, or Ruby? Is there a reasonable chance that Perl 6 will regain the ground it lost to those competitors when it languished under Larry Wall's negligent stewardship?
Re:Does anyone care? (Score:5, Insightful)
Only Python comes close to having anything resembling Perl's level of testing. (Ruby's improved a lot thanks to Rubinius, but to my knowledge the latest stable releases don't include test suites.) PHP's testing was abysmal, last I checked.
None of those languages have anything like the CPAN, despite saying for years "We should build something like the CPAN."
None of those languages are as malleable as Perl 5; see MooseX::Declare [cpan.org] for example, or even Moose [perl.org].
PHP is still easier to deploy for web programs than Perl. Python has an advantage with GAE, and I understand Ruby has something called Heroku.
Healthy communities flourish from the healthy interactions between and cooperation of many individuals. If you thought Larry's job was to make sure that everyone is happy and doing exactly what he thinks they should do, you've never understood Larry or the Perl community.
Re: (Score:2)
CPAN is overrated. Those 85,000 modules contain duplicates, inconsistent coding standards and interfaces, and cover a wide variety of things I just don't care about. And the last time I looked at CPAN for something, in 2000, it was pure frustration to me.
What I have in PHP (which I'll happily stipulate is a kidney stone of a language) is Drupal, which offers, for web stuff, a relatively clean and complete framework that I can use for 90% of what I want to
Re: (Score:2, Insightful)
I see it this way: you get deployment right, you get ease of getting your first task done right, or you get libraries right. If you don't get any of those right, you get to work on screencasts.
Re: (Score:2)
Is there a reasonable chance that Perl 6 will regain the ground it lost to those competitors when it languished under Larry Wall's negligent stewardship?
err...so, riddle me how the person who created it was negligent? If the community wanted X to happen, it was all open. You could, at the very least, specify that he was a bit lax in the last several years...the word "recently" might make sense before "negligent" there.
Re: (Score:2)
"Without disputing anything you say, how is this different from PHP, Python, or Ruby?"
They offered somehting smelling "new" and the ability to do something percieved as "new" at the time of their (percieved) birth: PHP brougth web development to the masses; Python brought "modern" programming paradigms to the masses; Ruby brought web frameworks to the masses.
What is the "new with a new name" that Perl 6 will bring to the masses? Remember that specially regarding mass adoption it doesn't need to do so much
Re: (Score:2)
I find this to be Perl's killer feature. I've rarely encountered a situation where there wasn't a module to make something easier for facilitate interfacing with something.
Re: (Score:2)
If I have even a pretty sophisticated script written for perl 5.6, it will almost certainly work exactly the same in perl 5.10, even if I make use of CPAN sourced content. If I write a complex script for python 2.3, python 2.7 is likely to break it. As a community/implementation, python has a goal of providing what they feel the best experience at the time is, even if it means script authors have to pay a significant maintenance price to keep up. In Perl, the development is a lot more conservative, being
Perl is COBOL (Score:3, Insightful)
Perl is COBOL. If you can deal with it without getting sick, there's some steady jobs out there. That's it. Stick a fork in it. It's done.
Huge! (Score:5, Funny)
This is going to be huge! Every application that comes out for the next 10 years will use this I predict.
Just an FYI: I eat paint chips.
News Forecasting (Score:2)
A) A total stock market crash?
B) The unintentional creation of a true, maniacal AI?
C) The Singularity?
D) The decoding and translation of the Voynich manuscript?
E) A
F) All of the above?
Re: (Score:2)
I guess tomorrow will be like most others, I'll go to work and get well paid to write Perl.
I must have been misinformed. (Score:4, Funny)
I'd heard that Visual C# killed Rakudo Star.
Perl 6 introduction? (Score:2)
Anybody know of a well-written, up-to-date Perl 6 introduction? That is, an introduction to the Perl 6 feature, not a programming tutorial. There are many resources about Perl 6, it's difficult to know which one is worth reading and which is outdated. Even if it doesn't take off, it seems that Perl 6 brings enough new and interesting concepts to the table that it's worth reading about.
Re:Perl 6 introduction? (Score:4, Informative)
Rakudo Star includes a PDF of the Perl 6 introduction book [github.com]; the print version should come out late next month. Moritz Lenz's Perl 5 to 6 [perlgeek.de] article series is always informative and useful. The official Perl 6 site's documentation page [perl6.org] links to current and accurate documentation.
Why all the Perl-bashing? (Score:5, Insightful)
I really want to understand this phenomenon as I doubt most of these people bashing Perl have never even seen any Perl code written in the last 4 years. Hell, I could bet that a lot of people have never seen any *real* Perl code at all.
Perl 5 is a modern language which has the features of other currently more trendy dynamic languages and more. We have modern [mojolicious.org] web [perldancer.org] frameworks [catalystframework.org]. We have robust database bindings [perl.org] and state-of-the-art ORM libraries [cpan.org]. We have have a well-tested modern object-system [cpan.org] with optional declarative syntax [cpan.org]. Perl is used by several high profile sites which, at this point, everyone already knows (BBC, DuckDuckGo, Slashdot, etc).
Perl 6 is a different language but shares a lot of the common minds behind all these awesome Perl 5 tools. However, even if you don't like Perl 5 for whatever reason keep in mind that Rakudo Star is a completely different thing (as a matter of fact, the name "Perl 6" should probably be dropped in favor of Rakudo - to avoid all this cargo-cult).
Re:Why all the Perl-bashing? (Score:4, Interesting)
It's not hip to bash Perl these days, it's actually a sign of old-fogeyism.
There's a lot of pent-up irritation with Perl. It comes from the fact that a large number of us started with Perl, and watched it languish as competitors like PHP and Python and then Ruby ate its community. Then Perl 6 was announced, and Perl loyalism was given a shot in the arm--whee, Perl will evolve and take back its rightful place as king of scripting languages! Then it languished again for more than a decade while the famously squirrelly Larry Wall gave talks on religion and postmodernism in programming. Perl won't die; Perl 6 will find a community. But Perl as king of scripting languages, as the indispensable tool in your toolbox, as the mark of the geek, is a dead letter now, and to anyone who invested a lot in mastering it, that stings a bit.
Re:Why all the Perl-bashing? (Score:5, Insightful)
Perl did languish for a while.
Perl6 gave the language dabblers an opportunity to experiment with new ideas and concepts. Take the best of perl5, but not be afraid to be wildly incompatible, and see where it goes.
However, while all the cool kids were doing stuff in perl6, the perl5 folks realized they could do really cool things in perl5 too, right now. Perl5 now has Moose, Plack (Stolen from Ruby's Rack), new web frameworks to match and even better those of ruby, python, and even PHP. Perl5's maintainers started to actually chase down long standing bugs, and actually kill off the things that have been giving deprecation warnings in perl5. There's even a Perl Foundation grant out for someone doing full-time perl5 bug triage + fixing. (And if you've seen Perl5's source, you'll know that's no small feat)
My company's work in perl5 pays my bills. Perl5 is not going anywhere anytime soon, so I'm confident we can continue to move forward with it. Perl6, now that it's becoming more and more usable will inspire the imagination of developers, and continue to evolve, and the perl5 folks will continue to cherry pick the nifty features they can backport into perl5.
It's a very exciting future for perl all around, and I'm happy to be on board.
Re: (Score:2)
I invested a lot of time mastering Perl, and continue to add to it everyday. I'm not unhappy about that bit at all. I think you get what you give. If you make the effort to be part of the community of Perl, to contribute code, write docs, blogs, anything, like patches or new ideas, you get a lot more out of it. And I get well paid to do it everyday. I'm sorry for those that had a different experience, but if you want to get back to Perl I am open to helping out, feel free to message me.
Re: (Score:2)
It's not hip to bash Perl these days
I disagree!
I'm a recent graduate. I bet the majority of students, even those in the Linux club, would be hard pressed to write hello world in Perl without Googling. Speaking of, the culture at my school was very dictated by Google, and Google doesn't have much to say about Perl these days.
I don't think I did a single assignment in school which required me to even touch a line of Perl, and we had projects in assembly, C, etc. which I understand some programs these days don't touch so much (and focus on m
Re: (Score:2)
It seems like the current way to be hip in developer circles is to make fun of Perl.
You have to remember that most developers are, on the inside, insecure teenage girlie-men living in someone's basement.
The Java kiddies (circa 1999) would say things like -- "What, like C++? That is so five minutes ago. God, you are so, like, old!" And I believed them at the time.
And before the Java kiddies there were the UNIX kiddies knocking Fortran and COBOL, and before that assembler programmers made fun of the old guys that didn't code algorithms, they _built_ algorithms out of tubes and wires.
it's not hipness (Score:2)
Well, I can't speak for others, but I have used Perl for nearly twenty years. Perl's syntax and type system still suck, even in Perl 6. But unlike other badly designed languages (C and C++), there are fortunately excellent real-world alternatives available to Perl. I see little risk of Perl ever coming back, thank God.
Re: (Score:2)
Re: (Score:2)
Would you mind saying why you think it sucks?
Because this still works:
And what other languages do it better?
Just about any other language.
Re: (Score:2)
Well, this is a feature which I appreciate. Keep in mind that if you do:
my $i = "aaa" + 10;
It will complain (if you're coding using the best practices). So I can't see what's the issue.
Re: (Score:2)
I doubt most of these people bashing Perl have never even seen any Perl code written in the last 4 years.
Exactly.
Re: (Score:2)
New perl user (Score:2, Interesting)
Re: (Score:2)
The ships are BIG, neither are sinking anytime soon.
If you want a job now, you probably should spend time on Perl5, since the bulk of work is there today. But if you want to join a dynamic community which is building a cool new language from scratch, and where you individual efforts can have a huge impact, you might want to check out Perl 6. That's my thoughts at least.
Fortune of Perl (Score:5, Informative)
Trying to remember what specifically was wrong with Perl; issues that eat up hours of time the first time you encounter them or when they aren't freshly in your memory:
having a $1 instead of a $l.
Arrays of arrays. Hashes of hashes. References to hashes of arrays... etc. Then pass them into a subroutine that is part of a class.
Using the debugger.
Trying to understand someone else's regular expression
a mysterious $_ in someone else's uncommented code
A class's function's reference. WTF does "can't create sub Main:: " mean? If I can call the function why can't I reference it?
Trying to use parenthesis to change precedence only to accidentally create an array instead.
Not knowing that parenthesis can create an array
Trying to create a naked hash
Thinking my $a, $b, $c = @something; is the same as my ($a,$b,$c) = @something;
Coming across the heap corruption bug in IO::uncompress in earlier versions
Not knowing how to typecast using squiggly brackets
Not realizing the requirement that arrays and hashes be typecasted after being dereferenced from a reference
Trying to read from standard input
Trying to write to a file
Not understanding the difference between print and printf
Not being able to slice a substring from a string
Not being able to index a character in a string
Trying to use a class like you would in C++
Trying to use a $ when it should be a @ or vice versa.
Trying to see if a file exists
Trying to use @somearray to get the number of elements, as directed by a website, only to get the array instead. (i.e. not knowing about the scalar keyword) Trying to read a line of Perl out loud
And more...
And Perl 6 doesn't improve anything at all. Be ready to do some legitimate stuff that won't do what you thought it would do... all over again!
Some of my favorites:
Was: $#array+1 or scalar(@array)
Now: @array.elems
The easy to read __FILE__ is now $?FILE
Was: $str =~ m/^\d{2,5}\s/i
Now: $str ~~ m:P5:i/^\d{2,5}\s/
Was: if (-r $file && -x _) {...}
Now: if $file ~~
Yes sirree, they really helped improved the shortfalls of Perl. It really was not $$bugprone.enough(@{($confusing, $hardto$read)}).
Re: (Score:3)
I'm sorry you inherited a complex, and idiomatic perl application. However I don't think its fair, computer scientist or not, to project that experience onto the entire modern Perl ecosystem. Good luck with your career.
Re: (Score:2)
Github most certainly has free accounts. What paid accounts gets you is the ability to make private repos. Why would anyone interested in Freedom need that?
Great part of Git is that it's distributed. Even if github was a trap, you could escape with exactly zero effort.
Re:github is a trap (Score:5, Informative)
Re:github is a trap (Score:4, Informative)
most code is written with the intent of releasing
Not true.
Re: (Score:2)
All forms of server side scripting, SaaS, just about everything written in SQL, most shell scripts, little glue programs (i.e. things you might write in Perl), etc.
Re: (Score:3, Funny)
Re:github is a trap (Score:5, Informative)
Care to elaborate?
One would think the meaning is obvious, but I'll spell it out: the vast, vast majority of code is developed to be used in-house. A tiny, miniscule fraction of code "is written with the intent of releasing an application to the general population."
And what does that have to do with Github? (Score:2)
Generally, the reason I'd post something to somewhere like Github is precisely because I want the public to see it. If you want a private version, it's trivial to create a private branch and never push it to Github, or even push it to somewhere else.
This isn't like Facebook. Leave Github, and you may lose some of the additional tools (like issue tracking, wikis, etc), but you don't lose the code at all -- if you have even a single checkout of your code, you have the entire version history.
Oh, and Github doe
Re: (Score:2)
The important part with hosting services is that they have a good working data export, not that they run Open Source. In fact many Open Source based hosting solution have a rather incomplete data export, giving you lock-in even so it is all Open Source. No idea what Github allows you to export, but at least the core git repositories are trivial to move to a different host.
Re: (Score:2, Informative)
My business does just fine starting new things in Perl, and I'm by no means alone in that.
Re: (Score:2)
Maintaining them, on the other hand, is orthogonally related.
Re:What is that "Perl" you speak of? (Score:5, Interesting)
There are still plenty of text processing tasks to be done, and Perl is still strong for those tasks.
Re:What is that "Perl" you speak of? (Score:4, Interesting)
And the absence of comparably useful alternatives, something that's no longer the case.
I would be interested in seeing a competitive analysis between Perl 6, Python, Ruby, and PHP for performance and features. My suspicion is that Perl 6, even if it delivers everything it promises, will still fall behind the others, or not be significantly ahead enough to tempt large scale switching from them back to Perl.
Re: (Score:3, Interesting)