18 ms·
Perl 6 developers will attempt to make a Version 1.0 release by Christmas 2015
- nemo 12y agoGood on them, really hope they make the release.
- trollian 12y ago15 years late...
- wantarray 12y agoLate for what, exactly? Do people no longer write code? Because if they do, some of them might might choose to use Perl 6 for that, and that's all the success a programming language can hope for. I see no reason why Perl 6 can't find its niche among people who prefer the Perlish over the Pythonic way to approach problems, but want a modern, consistent, cruft-free language (which Perl 5 is not).
- alexandre_m 12y agoIf they wanted a modern, consistent and cruft-free language then those people most likely already moved to something better. I'm not against Perl or its evolution, but I don't see the point to learn this today when you have so many better scripting language alternatives with established community and rich libraries available.
- mfrager 12y agoBetter in this case is purely a value judgement... The Perl language is very elegant and powerful, that's why most of the other languages were modeled on it. Perl is a language that is still ahead of its time. Also, Perl's library system, CPAN, is far more comprehensive than many languages. By the way, Python is a great language, except for all the tabbing nonsense.
- DonHopkins 12y ago>"most of the other languages were modeled on it." Having a regexp library is hardly "modeling a language on Perl". "Most" of exactly WHICH languages are you claiming were modeled on Perl? >Perl is a language that is still ahead of its time. Perl's time was 15 years ago. >"Also, Perl's library system, CPAN, is far more comprehensive than many languages." A library and a language are apples and oranges. Python's library ecosystem is more comprehensive than Perl's language. Because most any language minus all of its libraries is less "comprehensive" than another language's libraries, simply because most mature library ecosystems are much more massive than the language itself. Even if you compare apples and apples then oranges with oranges, Perl is a terrible language compared to most other languages, and most of CPAN is terrible outdated crap compared to other language's libraries. Python, Ruby, Java and JavaScript all have much richer and more up-to-date library ecosystems than CPAN. >"By the way, Python is a great language, except for all the tabbing nonsense." Is the worst thing you can say about Python that it forces you to indent your code? Then I'd hate to see the haphazardly indented code you write in Perl. Good programmers don't find that to be a problem, because they indent their code properly anyway, and Python simply lets you do that without inserting a lot of punctuation. But inserting lots of punctuation is what it's all about with Perl, isn't it?
- kbenson 12y ago>>"most of the other languages were modeled on it." >Having a regexp library is hardly "modeling a language on Perl". I don't know about most, but both PHP and Ruby were heavily influenced by Perl. If you've used both, this should be apparent, if not, you can easily find references on record to the effect. The original statement may have been a bit hyperbolic, but in context and with constraints something similar isn't unwarranted. E.g. "Perl was very influential to many of the most popular scripting languages today."
- DonHopkins 12y agoIt's true that most popular scripting languages today were influenced by the same scripting (and other types of) languages that Perl was influenced by. Namely shell scripting and Lisp. What I object to are the terms "most" and "modeled on", each of which are hyperbolic, but taken together are "hyperbolic squared" (to stretch the mathematical metaphor). And Perl 6 hasn't had much influence at all, since nobody's been able to use it for anything practical in the last 15 years. At best, Perl 6 has influenced people to learn other languages than Perl, which is a good thing, I suppose.
- muraiki 12y agoModern scripting languages with... parametric polymorphism, built-in parallelism/concurrency, grammars, constraint-based multiple dispatch, etc.? Yes, it will be very important to build up a Perl 6 community and an ecosystem of libraries. That being said, if you want to talk about modern scripting languages, Perl 6 seems like a good choice. Ok, to be fair to functional programmers a lot of these things are old features. But for the mainstream scripting languages, these are really new and powerful tools -- tools worth learning.
- chromatic 12y agoModern scripting languages with... parametric polymorphism, built-in parallelism/concurrency, grammars, constraint-based multiple dispatch, etc.? Not everyone thinks that ticking off a list of feature checkboxes satisfies the most important adoption criteria.
- kamaal 12y agoTrue, but at the same time If I'm writing a code base that will likely have a >5 year life. I'd rather write it in a feature rich backwards compatible language. Else you are left with a Python 3 like scenario where you will have to undergo a decade plus migration path just to get a few improvements over a for loop and a print statement.
- chromatic 12y agoIf I'm writing a code base that will likely have a >5 year life ... then don't write it in a language with negligible documentation, negligible tooling, barely-there library support, nearly zero users, and a roadmap based on the promise that, after almost fifteen years of working on the "It'll be ready when it's ready!" principle, sufficient volunteer mindset will change to "Let's ship a production-ready release to meet a hard deadline!"
- muraiki 12y agoI can't seem to reply to chromatic, but my point here was to address one of the parent post's specific criticisms, that of being "modern". At least here on HN, rising languages such as Go, Scala, Elixir, and Clojure offer many of these features to help address developers' pain points. The authors of Go have themselves expressed surprise that their real audience ended up being disaffected Python programmers. If we want to talk about modern languages we have to of course talk about their features. There's more to a language than features, but there was once a time when none of the above languages had much of an ecosystem or community. Rather, they all offer something compelling, such as type safety in Scala, concurrency in Elixir, etc. I just wanted to touch upon how Perl 6 offers many of these things.
- deleted 12y ago[deleted]
- cwyers 12y agoProgramming languages aren't minivans, you can't just increment the number of features and say that the sticker price should go up.
- deleted 12y ago[deleted]
- cwyers 12y agoLate to having a large, committed community and momentum. 15 years ago, Perl was Real Big (although I think even then PHP was starting to eat its lunch). If you launched Perl 6 then, you had a lot of active Perl projects you could talk into switching. Now, Perl 6 is Just Another Language, and it faces most of the struggles any new language/runtime would face, plus the added burden of carrying everyone's preconceptions about what Perl is along with it.
- ugexe 12y agoThis is not Perl 5. They are not the same language. Any whatever language you currently favor is Just Another Language that will be (or has been) displaced by [Current Fad Language]. Perl 6 hasn't even had its "Show HN: flappy bird/blog platform/etc" flavor-of-the-month phase yet, and you still claim its too late for the language? You come off as someone who does not want to expand their developer tools, because there is no reason to make the vague "claims" you have.
- chromatic 12y agoPerl 6 hasn't even had its "Show HN: flappy bird/blog platform/etc" flavor-of-the-month phase yet, and you still claim its too late for the language? After almost 15 years in development, surely that lack should indicate something.
- b2gills 12y agoI'm actually glad it took this long. If it didn't it would probably be like all these other new languages which only attempt to improve upon the art of programming in one or two aspects. Another good thing about it taking so long is that it took a few tries before anyone figured out a decent way to implement Perl6. If everybody had just settled for the first halfway decent implementation, we would have been bridled with a language that was half as good as it could be. And the worst thing about that is that there would be people relying on the features the way they were implemented then, making it far harder to break backwards compatibility and get here in as little time as it has so far taken. ( There is still at least one big breakage that will come before Perl6 is officially released ) That's ignoring a few stumbling blocks like illness and some mismatch between the goals of Parrot and Rakudo. Without which it could have been done possibly 5 years sooner.
- bonif 12y agoAfter 15 years you're like sed || awk. Something you know is there, and you can use. Not something to start a new project with. PS. 15 year ago a Pentium 3(750Mhz) was a top class CPU
- Diederich 12y agoAs I said over on perl.org: From the bottom of my heart, thank you. I have been keenly looking forward to this for a long, long time. I think there's a good chance that Perl6 will not only become 'relevant in the large', once again, but also, once again, be a driving force in the overall improvement of our industry.
- DonHopkins 12y agoI agree: Perl could lead the industry by example to slow down and take 15 years to ship everything. Then everybody wouldn't have to work overtime so hard and so often, toil late into the night burning the midnight oil, and ignore their families, pets and social life.
- kbenson 12y agoI want to downvote you for the played out jab, but your sentiment on the industry in general is worth being heard.
- mseepgood 12y agoIn hexadecimal?
- muraiki 12y agoIf you want to have an idea of what makes Perl 6 compelling, check these slides that were submitted a few days ago, "Perl 6 for Mere Mortals" (which is also another talk at FOSDEM): https://news.ycombinator.com/item?id=8953368 https://news.ycombinator.com/item?id=8953368 I hate to repeat a comment of mine, but for the sake of emphasizing just how different Perl 6 is, here's a version of Fibonacci in Perl 6: subset NonNegativeInt of Int where * >= 0; proto fib (|) is cached returns NonNegativeInt {*} multi fib (0) { 0 } multi fib (1) { 1 } multi fib (NonNegativeInt $n) { fib($n - 1) + fib($n - 2) } say fib(100) Edit: Another good recent talk is "Adventures in Perl 6 Asynchrony," which shows off promise combinators, channels, and supplies: http://jnthn.net/papers/2014-yapceu-async.pdf http://jnthn.net/papers/2014-yapceu-async.pdf
- walterbell 12y agoThanks for the presentations. Have you seen any performance benchmarks? It would also be good to see Lua included in the language comparisons.
- muraiki 12y agoI'm not sure about any current Perl6 vs other language benchmarks; older benchmarks aren't terribly useful because within the past year MoarVM both became the dominant P6 VM and also received substantial performance optimizations. My understanding is that this is one of the big goals of this year. Another one of Johnathon's excellent presentations goes into depth about the kinds of optimizations being made in MoarVM: http://jnthn.net/papers/2014-yapceu-performance.pdf http://jnthn.net/papers/2014-yapceu-performance.pdf
- walterbell 12y agoThe new VM seems to be a good foundation, hopefully the Whipuptitude and Manipulexity can be made performant in high-use operations.
- brrt 12y ago
- JadeNB 12y agoI can't find it right now, but I like how this harks back to the original announcement that Perl 6 would be ready in time for Christmas—just with no commitment to which Christmas.
- chromatic 12y agoThis original announcement, which said "18 to 24 months, with a prerelease targeted for [July 2001]"? http://use.perl.org/use.perl.org/articled5d3.html?sid=00/07/19/161217 http://use.perl.org/use.perl.org/articled5d3.html?sid=00/07/...
- FROGGS 12y agoAnd at that point they found out that Perl 6 will be a complete rewrite and not just a cleaned up Perl 5. I also guess that the Second System feeling already arrived in some minds, the problem IMO is more that the 'by Christmas' joke has been kept alive for so many years, without specifying a year.
- mfrager 12y agoI hope Perl 6 has better runtime speed and memory efficiency because those are the only downsides of Perl 5. However I seriously doubt that will be the case. Perl 6 will most likely be more bloated and slow, but I very much hope that I'm wrong. Just for reference my company's software is all built with Perl 5 and runs great. Most of the execution time is within the database calls so there is no impact from using Perl over a marginally faster runtime like Python or Java.
- rurban 12y agoWith perl5 + Moose, perl6 beats perl5. In startup time and run time. With simple small scripts the small startup footprint of perl5 still elevates it over perl6. perl6 has much more features than perl5, it's a completely different world. I wouldn't call that bloat.
- pwr22 12y agoWonder how Moo compares?
- SwellJoe 12y agoWhen did Python become faster than Perl 5? I'm not trying to be argumentative, but the last realistic comparisons I did had Perl running quite a bit faster. For example comparing ack to grin, which are very similar projects in Perl and Python respectively...at the time, admittedly several years ago, ack was an order of magnitude faster than grin. I also wrote a few log parsers in both Perl and Python (at a time when I was working in a Python shop, so they preferred everything be done in Python). The Perl parsers were much faster than the Python variant, for exactly the same work (again, an order of magnitude difference). Perhaps this is just an example of Perl's domain of expertise...processing text is a big part of its origin story, and has always been a big part of what people use it for. Or, perhaps Python has made remarkable performance improvements in those intervening years. I haven't worked with Python in that time, so haven't followed development. Perl 5 has gotten faster in that time, too, though, so I'd be surprised if Python is dramatically faster for the same real world tasks.
- 12y ago
- pekk 12y agoWow, pre-congratulations! Let's hope this inspires some renewal in the Perl community. It never made any sense to me that some people would rather see Perl stagnate and die and complain from the peanut gallery than they would help it move forward.
- chromatic 12y agosome people would rather ... complain from the peanut gallery than they would help it move forward. That's not entirely fair. Some of us doubters spent a lot of time, energy, and resources trying to help it move forward before deciding it wasn't worth it.
- kbenson 12y agoHave you been checking it out at all again, or are you considering it? It's been my secret hope for a long time that you would get involved again, if not at the compiler level then at the community and ecosystem level. Your blog[1] was always insightful and a good read, and I think the community is worse without it being active. I'm talking about Perl 6 here, but I could say the same for Perl 5 and it would be at least as true. 1: http://modernperlbooks.com/ http://modernperlbooks.com/
- chromatic 12y agoHave you been checking it out at all again, or are you considering it? No. I have my doubts about yet another announcement and nothing I've seen since I stopped contributing suggests that the project will provide anything I need that I can't get better elsewhere.
- pekk 12y agoI'm interested in why you removed "stagnate and die" from that quote. The problem I described is when people actually prefer to kill a project through stagnation than to help it move forward - often by active resistance to any real change. Living projects periodically change. Even goals like improving speed often require redesigns and replacements of old components. When the process of change and renewal is shut down or nobody contributes to it, everyone starts wandering off and the project dies. I'm not a developer of Perl. I'm sure all your input was appreciated by someone. It's a personal decision whether you want to keep putting in that effort, or switch to other tools. I just don't see any sense in attacking Perl 6 any more.
- lawnchair_larry 12y agoUgh, I hoped we had all moved past perl.
- cwyers 12y agoIt says a lot about the history here that Perl 6 gets a 1.0 release, not a 6.0.
- eCa 12y agoThat is because it is version 1.0 of Perl 6. The '6' is not a version: 'Perl 6' is the name of the language. Meanwhile, Perl 5 will have its 22.0 release this May.
- cwyers 12y agoPeople can say that as much as they like, calling the thing that comes after Perl 5 "Perl 6" certainly SOUNDS like a version number, and the reason it sounds like it's supposed to be a new version of Perl is because once upon a time it was going to be.
- kbenson 12y agoMaybe at the point of the 1.0 release, a naming change could take place. I think any time before then would be a mistake though, as it would maximize the baggage and minimize the usefulness of the new name. I'm torn on whether a new name, if it happened, would be better off explicitly referencing Perl (e.g. NG Perl), or leave it out entirely for something new.
- emmelaich 12y agoMy guess is that "perl6 1.something" will be followed by "perl 6.something". But that would require an enormous amount of compatibility with perl5.
- kbenson 12y agoWell, with Inline::Perl5 and "use p5", that may not be entirely unfeasible. You can read more about Inline::Perl5 here[1], but the TL;DR is that it uses a Perl 5 interpreter along with Perl 6 to pass code back and forth, allowing pure perl modules and modules that interface with libraries to run fairly smoothly in Perl 6. There's also an Inline::Python that works the same way... 1: http://niner.name/talks/Leapfrogging%20the%20bootstrap/Leapfrogging%20the%20bootstrap.pdf http://niner.name/talks/Leapfrogging%20the%20bootstrap/Leapf...
- smegel 12y agoThey are seriously running the "done by Christmas" line again? They are holding us in contempt.
- melling 12y ago"Perl 6 Developers will attempt to make a development release of Version 1.0" We are upvoting non-news? It'll be a great announcement if they ship it, but it's just hype now. Also, consider all they are announcing is a version for developers.
- kbenson 12y agoThat's not what it says: "Larry has announced that the Perl 6 Developers will attempt to make a development release of Version 1.0 of Perl 6.0 in time for his 61st Birthday this year and a Version 1.0 release by Christmas 2015."
- perlgeek 12y agoI'm a Perl 6 core developer (compiler, test suite, docs, design documents, infrastructure). Ask me anything :-)
- xiaq 12y agoIIRC the new VM (MoarVM) is around for quite a short time and it replaced Parrot in a dramatically short time. What are the advantages of MoarVM over Parrot and why were we stuck at Parrot for so long before giving it up?
- brrt 12y agoI'm the developer of the MoarVM JIT (but not the developer of the MoarVM bytecode specialisation framework, which is typically seen as part of the JIT). The weakness of Parrot VM was it's ambition - to be an efficient VM for all dynamic languages. This may have seemed possible in the past but recent work (i.e. v8, luajit2, etc) has invalidated that; it's much better (and much easier) to build a VM for a specific target than for all possible targets, as there are simply fewer points where you need abstraction. (For instance, NaN is false in javascript boolean context, but not in Perl6). More importantly, MoarVM has been designed and developed by a small set of developers applying all the lessons learned from parrot, while parrot was in many ways an experiment by committee.
- chromatic 12y agoYou say potato, I say "Parrot was designed to implement the semantics of both Perl 5 and Rakudo in the same process." You say "It's better to build a specialized VM", I say "Emscripten, Clojure, Niecza, Truffle, and Jakudo."
- brrt 12y agoWell, that's a good point, really. The JVM and the CLR do run many (dynamic) languages quite efficiently. On the other hand, that is in no small part due to the man-centuries spent trying to optimise both the JVM JIT and the language-to-JVM compiler. And as a counter-example, luajit2 was built by one man (mostly) over the course of a few years, and runs very efficiently indeed, in no small part due to the lua-specific choices that have been made. So what I'm trying to say is that there is a second tradeoff, somewhere between programmer efficiency, runtime efficiency, and running time, and that MoarVM is making a better tradeoff for perl6 than parrot is.
- bonif 12y agoI got my first job in 2000 because I knew Perl. Perl 6 was coming. Fast forward .. 15 years have passed.. Please stop insulting us ...
- jackmaney 12y agoI have a fondness for Perl 5, as it was the first general-use programming language in which I became proficient. But let's not kid ourselves: Perl 6 is the Half Life 3 of programming languages.
- lisa_henderson 12y agoNo joke, this time Charlie Brown is really, really, really going to kick that football.
- runn1ng 12y agoYes, Virgina, there really is a Santa Claus.
- pcunite 12y agoThe first line of code I ever wrote was in Basic. It was copying something in a book. Then I wrote routines on a Ti calculator for school. Then I found Perl. I felt all grown up! Maybe, just maybe I could be a "real" programmer. Thank you Perl.