Perl 6, Early, With Rakudo Star
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."
Calling anything whatsoever that involves Perl 6 'early' is the funniest thing I've seen in weeks.
Ice Cream has no bones.
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 lying on the ground for a decade, getting all smelly and rotten.
Can they bundle it with a copy of ( insert your favorite vaporware here )..???
Let me be the first to say "congratulations!" to the Rakudo team. This is great news and an important milestone.
$$][/^&]l/:^$& :&}::*'%'''^';^;
(To prove my point, the Perl that powers Slashdot told me I hit the junk filter. The ironing is delicious.)
The Welcome Rakudo Star 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.
how to invest, a novice's guide
Seriously. What if a complete, bug-free Perl 6 implementation were released today (as opposed to the "early" version described in TFA)? 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?
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.
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.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
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.
I'll save you the trip to Google/Wikipedia: Perl was an important language back in the dot-com frenzy. It is a script language which is known for making programmers produce highly effective but unreadable and thus unmaintainable code. It's success largely stemmed from an implementation of regular expressions. The Perl regex syntax has since been adopted by countless tools and languages. Perl is like 8-bit computer emulators: Important for preserving the heritage, but you wouldn't start anything new with it.
So does this mean tomorrow's headlines be about:
/b/ tard winning the Nobel Prize?
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?
Motorcycles, Robots, Space Gossip and More!
The GPL does not require you to make your changes public, stop spreading the FUD. You are free to keep your changes private, just as much as you are free to do so with the BSD and MIT licenses. The only difference is that the GPL requires you to make the source code available to everyone you give the program to under the same license. You are not required to distribute your program to anyone, you are only required to follow certain rules if you do distribute your program.
Palm trees and 8
I'd heard that Visual C# killed Rakudo Star.
How can I believe you when you tell me what I don't want to hear?
Is it this book which is included?
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.
Switch back to Slashdot's D1 system.
You really need to brush up on what other languages are offering if you think those "features" are "amazing".
Perl 6's "roles" are merely interfaces, which even Java has had since the very beginning. They're significantly less powerful than Haskell's typeclasses.
"Grammars" is very similar to the pattern matching you see in languages like Haskell, SML and even Scala.
Perl 6's "constraints" are significantly less powerful and less flexible than the pattern guards of Haskell.
"Multidispatch" has been offered by Common Lisp's CLOS system for many, many years now. Haskell's polymorphism is far more flexible than Perl 6's multidispatch support.
"Autothreading hyperoperator"-like functionality has been offered by the GHC Haskell compiler for a long time now. Hell, we could even do the same years ago with collection classes written in C++, where we'd override certain operators to spawn threads and process different parts of the collection simultaneously.
Just about every "benefit" of Perl 6 is something that Haskell alone has offered in a usable form for years, if not decades.
It seems like the current way to be hip in developer circles is to make fun of Perl.
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 web frameworks. We have robust database bindings and state-of-the-art ORM libraries. We have have a well-tested modern object-system with optional declarative syntax. 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).
Taking into account most code is written with the intent of releasing an application to the general population, the previous AC has a point. The freedom to not make your changes public is in fact important.
Don't get me wrong, there's nothing wrong with the GPL. It's just not for everything. The GPL does in fact require to make your changes public, if you release the application publicly. This isn't a problem with the license mind you. If this is what the original author of the code intended, then the license is working just fine.
I personally find this argument of which license is most "free" (libre or beer) to be an idiotic one. As the author of code, don't pick a license simply because it's most "free". Pick a license based strictly on what you want the end user to be able to do with both the code and binary. End of discussion.
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.
how to invest, a novice's guide
This puts a lot of new users to perl in a bad situation. Start learning Perl 5 syntax or jump to the possibly already sinking ship, Perl 6. Hopefully my camel book will be sufficient to learn both from a basic level.
This is not the penguin you're looking for.
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.
most code is written with the intent of releasing
Not true.
Palm trees and 8
Care to elaborate?
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.
$ make available
Sure. GP is right, and you're wrong.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
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."
"Convictions are more dangerous enemies of truth than lies."
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 tends to eat memory an ruby tends to be slow.
But most important to me is the perl community. Not just the perlmonks nerds, the guys who do release planning, application design, Q/A, test metrics, run CPAN, module maintainers. They do lots of things right.
Ruby is nearly there with GEM's, but darned if getting Rails working isn't an exacting science of matching old GEM versions. Security patch in the latest one? TFB.
Python has some great libraries and frameworks, but CPAN is much more comprehensive.
Which leads to the best part of perl6 - its parrot vm. The perl6 VM has implementations for python and ruby. I'm sure they're not complete or fully optimized yet, but the potential exists. Ruby stuff can run fast, python stuff can run light. And most importantly, we can all share a library - write the module in your language of choice and everybody who's using a parrot language can use it.
perl6 is still the future of high-level open source languages. Whether you like perl or not you should like perl6 because it's what open source is all about.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
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 doesn't insist on the GPL, as far as I know.
Don't thank God, thank a doctor!
Perhaps not everyone is willing to deal with the other features of Haskell, such as monads. Perhaps they want these features in a language that resembles something they're already familiar with.
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.
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
As a fairly skilled computer scientist I absolutely hate Perl. I recently inherited a perl project that was fairly large and fairly complex and had to really dig into the more complex parts of perl with it. The biggest problem with perl is it's readability and the fact its a "do what I mean" language that rarely does what you mean. If you've rarely dealt with shell scripting, the logic behind the syntax for it is nearly non-existent. It has a massive learning curve, which is probably why they sell so many damned Perl books. The worst part about perl is that its difficult to look up how things work online. Perl's insistence on using special characters instead of words makes things difficult to read, understand, and look-up, and the number of special exceptions to things make things damned impossible at times when something is syntactically correct and yet still doesn't work right. I've found an amazing number of websites give simple incomplete examples for Perl. For example one popular reference website lacks a lot of useful and common parts of perl, like something as basic as getline.
:r & :x {...}
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)}).
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.
http://wiki.catalystframework.org/wiki/sitesrunningcatalyst
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/, 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
Peace, or Not?
We all know that Duke Nukem is gonna be written in Perl 6 and run on HURD.
It makes me laugh to read comments from Ruby and Python users masquerading as neutral commentators on a Perl6 release, damning it with faint praise in a futile attempt to kill it.
In a year or so Perl6 will be the cool scripting language to brag about and Ruby and Python will look staid and old hat by comparison. All your attacks will simply feed interest.
Learn it now or be left behind suckers.
Me too, but Python (and a proprietary language which shall be unnamed) are preferred here. There's some Perl in vital places, but it's mostly written by old farts like me.
Just about every "benefit" of Perl 6 is something that Haskell alone has offered in a usable form for years, if not decades.
As you seem to be in the Haskell community, you are probably aware that GHC development has been pushed by Audrey Tang's work on its own Perl 6 implementation (Pugs) by experimenting advanced features of GHC. So the Haskell community has already benefited from Perl 6.
I don't really know, as I am pretty much a Lua guy, but, isn't Perl somewhat obsolete in favor of Python? I have even seen Perl apps ported to Python recently (such as Zim). Am I too shortsighted or Perl is losing userbase?
My unborn grandson's grandson will look forward to a pre-alpha version of perl6.
Tang's work had little to no impact on GHC, or the wider Haskell community. He/she was a brief blip around 2005. Haskell has a long history stretching back into the 1980s, with GHC going back years, as well. It takes far more than a failed Perl 6 interpreter to affect Haskell in any appreciable way.
Can you modify the grammar of the language in place?
Why would you want to do something as monstrous as this ? To ensure that you are the only coder who will ever be able to understand the code ? I thought using Perl was already enough for that purpose... If you can use rules to turn a language into another that is entirely your own, I'm sure I won't want to use it. Yeah, I like Ada but not Perl, clarity for me is a lot more important than conciseness and 'absolute power'.
Non-Linux Penguins ?
I haven't tried Rakudo Perl yet but my impression is that Perl 6 and Parrot will enable many things to be possible.
For example with parrot (correct me if I'm wrong) you would be able to mix different libraries written in different languages together easily. And Perl 6 is intended to be more advanced and flexible than other languages for the next 20 or 30 years. So in that sense it is far premature to be writing anti-Perl things when the first public release for a wider audience to try Rakugo Perl has been announced.
It should be celebrated not dissed. Finally, in terms of lines of code and how freely creative one may be, and how fun it is to use, Perl beats Java and Perl 6 may turn out to be awesome, who knows? The stupidest post of all was by a self-described "pretty sharp computer scientist" who never read a single manual on the language and dove in to a big program without understanding it. I mean the guy didn't even know that $_ is the default input, i.e. the next line read from a file. I think this really tells on the current totally ungeeky, uncool, unintelligent, inexperienced status of the average Slashdot reader.
I've met some of the people building Perl 6. They are cool, intelligent, funny, altruistic, geeky, and having tons of fun at what they are doing. They've spent a long time on it and they've plundered the state of the art in language design to do it. They aren't insular or hating other languages, they love cool stuff like Haskell and Ruby. My impression is the language is totally customizable if you are smart enough too. If I had more free time I would be investigating all kinds of stuff like Erlang and Scala, dive deep into Perl 6, any language is going to stretch your mind.
Oh, sorry, is Python the last thing you will ever need to know? Hah. I bet Perl 6 and Parrot will be great and I hate to hear people say detrimental things about something like that which has plenty of promise. $Foo on you! The rest of us are applauding them for their magnificent achievement and ongoing dedication. Plainly enough, they are heroes and deserve medals of honor and knighthoods.
Going to the perl6 website I was greeted by a butterfly named Camelia...
Further investigation into the website brought up this awkward little snippit:
"Certain variants are also permissible; since Camelia knows how to :)"
change her wing colors at will, any color scheme (or lack thereof)
in the same pattern is fine. She just happens to like bright colors
most of the time because they make her happy. But she's willing to
blend in where necessary.
*steps away slowly*
You really need to brush up on what other languages are offering if you think those "features" are "amazing".
Nice troll, I'll bite. FWIW, I've been learning Haskell over the last few months, and I really like the language, but let's face it: Perl6 is a language that 90% of people (who can program at all) can use, whereas maybe 10% of people can use Haskell. After listening to their users, the Python community decided to deprecate the reduce operator. Haskell, on the other hand, has about a dozen fold operators throughout its standard library, and that's a standard way to express most algorithms.
So, yes, these features, in a usable form, are pretty amazing. I'll have to see if Perl6 beats Python3 or Ruby, but it's just not a competing in the same arena as Haskell.
Perl 6's "roles" are merely interfaces, which even Java has had since the very beginning. They're significantly less powerful than Haskell's typeclasses.
Roles / interfaces are entirely different from typeclasses. Haskell's Hadley-Milner based type system, while very powerful, doesn't allow for inheritance.
"Grammars" is very similar to the pattern matching you see in languages like Haskell, SML and even Scala.
Not even remotely. Pattern matching is a basic technique in functional languages, whereas Perl6 is an OO imperative language. Grammars in Perl6 are used to build new sublanguages, which most other languages don't even attempt.
Perl 6's "constraints" are significantly less powerful and less flexible than the pattern guards of Haskell.
Possibly, though again Haskell's guards are based on its type system which is less flexible than Perl's.
"Multidispatch" has been offered by Common Lisp's CLOS system for many, many years now. Haskell's polymorphism is far more flexible than Perl 6's multidispatch support.
But, again, no inheritance, no OOP in Haskell. And while it is flexible, it has its limitations, as anyone who has run into the monomorphism restriction can attest.
"Autothreading hyperoperator"-like functionality has been offered by the GHC Haskell compiler for a long time now. Hell, we could even do the same years ago with collection classes written in C++, where we'd override certain operators to spawn threads and process different parts of the collection simultaneously.
But that's not in Haskell98.
Just about every "benefit" of Perl 6 is something that Haskell alone has offered in a usable form for years, if not decades.
Try doing a GUI in Haskell.
Why would you want to do something as monstrous as this ?
Many problems can be simplified greatly by recasting them in a language that expresses them naturally.
And that's why, more often than not, large projects involve writing a sublanguage of some sort. And if the mechanism used to write the sublanguage is standardized, it makes it that much easier for someone else to come along and understand what's going on.
Keep in mind that most of OOP is actually writing a sublanguage. That's what a class hierarchy really is; it's just that the syntax is usually horrible and clunky. With grammars you just get the ability to express it naturally.
By "hacking" I mean "slamming out some quick-and-dirty program." I can see the 500 replies to this decrying my misuse of the word Hacking comnig. In anticipation of that, consider that the word can be used in many ways to convey nuances of meaning, and I think this works. Moving on...
Everyone I know still doing Perl (including me sometimes) is working in the systems space. Service management, system monitoring and management... Perl is just a better shell scripting language in this context.
I don't know anyone doing application development in perl anymore. My friends and peers who used to walk on water with their god-like perl skills have all moved on to Python and Ruby, and I'm heading that way myself now. One friend remarked to me "I wish I'd switched from Python to Perl sooner. Ten years of Perl man ... that shit rots your brain." One person who is still heavily involved with the perl development community informed me within the past year "What people don't realize about Perl 6 was that it was a research project."
Um.... well, that's clearly what Perl 6 became. But I remember when Perl 6 was announced - it was not framed as "I'm going to do a research project while other people take care of the production perl." That's what effectively happened, but that's not really what was planned based on my recollection of OSCON talks and previous slashdot articles.
Anyway... while Perl can do almost anything, I think other languages do a lot of those things more cleanly, and in a manner more conducive to writing code that doesn't suck to maintain. That said, I look forward to Perl 6 finally being "mostly done" so it can truly be assessed on its own merits, not its lamentable history.
And why do people like to hate on Perl 6? In my opinion its simple - missed commitments on schedule. Lots of them.
Interesting that someone is talking about regular expressions and mentionning
> the absence of comparably useful alternatives, something that's no longer the case.
Other languages have indeed borrowed and extended the regular expression engine without questioning the initial design that is contemporary of the first Unix, with commands like sed. At some point, one has to sit down and redesign a feature set to clean it up and integrate it to the whole. That's the very point of Perl 6 and the grammar syntax is only a part. It may be debatable that the Perl 6 design is great or not. But the regular expression engine is now a full grammar engine. It is used to bootstrap the Perl language so it is the part that has been the most exercised.I don't ever hear someone that has used it saying that the design is unsound.
"But Perl has often been tagged as a language in which it's easy to write programs that are difficult to read, and it's no secret that regular expression syntax that has been the chief culprit. Funny that other languages have been borrowing Perl's regular expressions as fast as they can..." says Larry Wall in http://dev.perl.org/perl6/doc/design/apo/A05.html
The problem with all general purpose languages except Perl 6 is that regular expression is a side language or a library. The perl 5 interpreter has to resort to hand-lexing and yacc to parse Perl programs. And you had to use libraries if you wanted to do serious parsing, like Parse::Yapp, Parse::RecDescent or more recently Regex::Grammars.
Now, contrary to Perl 5, the parser engine is correctly integrated in the language and is used to parse Perl 6 programs which is a good clue to think it can handle very complex grammars.
Perl 6 is doing just what Perl had done in its time. Concentrating in a coherent whole what was scattered in many places. The price to pay is abandoning retrocompatibility and changing your habits for better ones.
I agree that the engine is slow, but that is an (early) implementation problem, not a design one.
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."
Where do you get your numbers from?
Let us assume we are only talking about useful code. So not including learning/pet projects or other non- Most people and organizations use a multitude of general purpose software and only a fraction of custom code. The amount of code used to write the OS and tools with which the "custom code" is usually a multitude of code which is actually produced. Then also take into account the code to run said custom code (frameworks, libraries, ...) and I would say the balance is not so clear cut.
Now also take into account all the code that goes into appliances from digital thermometer to MRI machine.
The bulk of the industry is using general purpose software with only a fraction of custom code. You would be amazed at how little actual code goes into factory automation and even those programs are usually written by the manufacturers which then would not qualify as code for "in-house" use. Custom code is mainly used by IT shops, financial institutions and governments and a lot of these tasks are outsourced and performed by consultants or software houses rather than actual "in-house" developers.
Is your conclusion based on actual information or more personal experience?
I recently moved my office, so I don't have my copy of The Practice of Programming handy. If you do, see chapter 9.
how to invest, a novice's guide
Perl 6 is doomed. I develop in Perl 5 every day and love it. I also like the Perl community. But Perl 6 is the classic example of a software project heading for failure:
What we have is a classic Second System.
I have some very basic and simplistic measurements of Rakudo Star vs. Perl 5 on my blog and the numbers are downright depressing.
But seriously... We just wrote an enterprise, line of business application in Perl using Catalyst, Moose, DBIx, Template Toolkit, etc. After that experience this 44 year old programmer says "You can pry Perl from my cold dead fingers". In just over a year, my small team of two accomplished what takes competitors 2+ years with actual staff of 5+. Additionally I am not even sure we could have met the performance requirements with .Net or Java.
Writing large apps in Modern Perl has been frigging wonderful, people. I like going to work again.
That is why Perl isn't "dead".
I am looking forward to Perl6, because I am all about leaving on time. Every day.
Which Perl enabled me to do now.
Congrats Rakudo Star team!
1 Dachshund + 1 Dachshunds = A Paradox.
I can't believe how much people are calling the language "dead"... I mean, the first usable version just came out, and you are saying that is dead?
If it took 10 years, so what?... I think the huge ammount of features (all very useful by the way) justifies it. I don't think they took 10 years in just one version. They probably started from scratch again and again in many aspects... but that's much better than keep on going with a not-so-flexible architecture.
All in all, i certainly expect that the critics here spends half an hour reading the introductory with this rakudo release. I did it, with a console, a text editor and the PDF book opened, and man, perl6 is cool... Slow.... but cool. We just can expect speed to improve...
Now a rant:
I just wish they didn't use the name perl6 for that.... that kinda stops perl5 evolution, (from a shallow, "commercial", perception). Rakudo is a cool name for a language, even Perl++
And Camelia should die!