Slashdot Mirror


Perl 6 In Time For Next Christmas?

An anonymous reader writes Larry Wall has reportedly announced at Fosdem that "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." From the article: "There is going to be the inevitable discussions, comments and probably some mileage from detractors to come. However ever were it so, for us in the Perl Community these are quite exciting times. We have two strong languages and a strong community, I think there is a lot that binds us together so here's looking forward to Christmas."

135 of 192 comments (clear)

  1. Re:Betteridge by fisted · · Score: 2

    You really don't need Betteridge to know that Perl 6 isn't going to happen. Really, it's like Perl Forever.

  2. Enjoy years of splitting between 5 and 6 by Qzukk · · Score: 3, Insightful

    How's Python 3 adoption coming along? (and they worked so hard to make it forwards and backwards compatible if you remember to put parentheses around your print arguments!)

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
    1. Re:Enjoy years of splitting between 5 and 6 by fisted · · Score: 4, Informative

      Sorry to break it to you, but perl has use <version>; for a long time now.

      That the Python people went about the version bump in about the most ham-fisted way imaginable does not mean that this would somehow be the case for all languages now.

    2. Re:Enjoy years of splitting between 5 and 6 by Caesar+Tjalbo · · Score: 1

      One thing is 'legacy' projects and distro's wanting to support them.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    3. Re:Enjoy years of splitting between 5 and 6 by HiThere · · Score: 1

      Some libraries have only been written for Python2. For me that means I use a different library, but I can understand not wanting to change something that's currently working.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    4. Re:Enjoy years of splitting between 5 and 6 by paskie · · Score: 1

      ^ this. You have (i) existing modules in your project that are not python3 compatible, (ii) existing external modules that are not python3 compatible.

      The situation is a lot better now than it used to be, but for example you still cannot use the deep learning theano-based libraries. This means people still produce python2 code at this point, which means issue (i) will be going to be an issue for even longer... (Even if you are starting a project from scratch, you often want to borrow some code from a different project you have access to - which may be python2.)

      (Actually dealing with unicode was always painful for me in python2 and python3 typically results in less code therefore. Depends a bit on what you do.)

      Still, the transition to Python3 is much smoother than it'd be to transition to Perl6. It seems to me kind of unfortunate that they chose "Perl 6" as a name for this newfangled language that has not that much to do with the current Perl. C++ is more "backwards" compatible to C than Perl 6 is to Perl 5, it seems to me. I think the idea of transition is not on the table at all for 80% Perl developers; you just go to Perl6 if you want to pick up a new language that seems fun. Whereas regarding Python I think even most 9-to-5 code-grinding guys recognize that migration makes sense (in a few more years).

      --
      It's not the fall that kills you. It's the sudden stop at the end. -Douglas Adams
    5. Re:Enjoy years of splitting between 5 and 6 by skids · · Score: 4, Interesting

      Also I'll be enjoying (really, not sarcastically) years of using Perl5 and Perl6 in the same file due to the easy integration between the two, replacing that part of Perl5 that was ugly at my leisure, or not, and still having things work.

      I really like this language a lot.

    6. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 4, Interesting

      ... replacing that part of Perl5 that was ugly at my leisure, or not, and still having things work.

      I actually did that about 15 years ago. I switched to Python, then transliterated all of my Perl code into it.

      BTW, it was remarkable to me at the time that in every case of transliteration, the resulting Python files were smaller in terms of both number of lines and number of bytes. Then I realized that since the two are semantically similar in so many ways, Python's lack of braces was a big advantage in terms of code compactness. To be fair, though, I never was one to pack as much code into a single line of Perl as possible. Which is, of course, why I prefer Python: it was never designed for that sort of thing.

    7. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 4, Interesting

      I actually find Python 2.6.x to be nearly perfect. The fact that it won't be getting any new features, only bug fixes, is actually one of its very best features for me.

      In contrast, Python 3 has always seemed to me to be Guido indulging himself in whittling down the "Python warts" list. Although Python 3 is objectively better in many ways, the improvements don't seem compelling enough to me to bother to really learn, and porting code to it - even with the help of the automatic conversion tool - likewise doesn't seem worth the trouble. And I still kindda like "print" as a statement.

      I do take some satisfaction, though, in the fact that Python 3 became the sort of technical success that Perl 6 never was, and never will be. To be fair, I think Guido drew some important lessons from the Perl 6 debacle, the most important of which was to make changes around the edges rather than try to totally reinvent the language. See Gall's Law:

      A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.

      Then again, there was much less need to reinvent Python.

    8. Re:Enjoy years of splitting between 5 and 6 by rubycodez · · Score: 1

      your saying someone would take the time to rewrite piles of perfectly working code? Nope, backwards compatibility is one thing more open source projects should learn to value.

    9. Re:Enjoy years of splitting between 5 and 6 by skids · · Score: 3, Interesting

      To be clear, what I meant to say is, I only have to rewrite those portions I feel like rewriting: you can use Perl 5 from inside a Perl 6 file pretty painlessly these days, as long as you aren't looking for heavy performance or too much complex async. Perl 5 and Perl 6 are considered more "sister languages" than a necessary upgrade, with Perl 5 continued to be maintained and even developed.

    10. Re:Enjoy years of splitting between 5 and 6 by CAIMLAS · · Score: 1

      The reasons why perl is still (heavily) used is because of several reasons, I think (for good or bad):

      1) The only people who can really read the code in an effective fashion are those who wrote it
      2) The perl code that was written is immensely featureful/powerful for what it is, and it does its job well.
      3) The types of people who work on software are not the same caliber of 'systems' people as the perl people from yester-year
      4) Societal linguistic ability, as well as what we are able to appreciate, has somewhat declined (become more terse) in the past 20 years...

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    11. Re:Enjoy years of splitting between 5 and 6 by phantomfive · · Score: 1

      My understanding is they've developed a way to integrate Perl 5 and Perl 6 code together. I think that's the whole point of Parrot.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:Enjoy years of splitting between 5 and 6 by skids · · Score: 1

      Current intergration is through libperl, and future integration will likely be independent of the VM, just a "slang" using the grammar engine and MOP on the backend. Parrot was aimed at being a polyglot VM, but other VMs started to catch up in that regard so Perl 6 began to target those runtimes as well.

    13. Re:Enjoy years of splitting between 5 and 6 by WrecklessSandwich · · Score: 1

      Any particular reason for Python 2.6 over 2.7?

    14. Re:Enjoy years of splitting between 5 and 6 by steveha · · Score: 1

      IMHO, the sooner the world standardizes on Python 3.x, the better. It contains numerous small improvements, no one of which is invaluable, but together which add up to a better language.

      As for print as a statement, I only miss that for interactive use, and you can assuage the issue by using ipython with the --autocall feature enabled. And I like the simple way you can now control how the output is formatted and where it goes, and you can re-bind the name print to completely hook the behavior of printing. Overall it's a win.

      The big shocking change is that you are now required to be careful about character encodings on I/O because all strings are Unicode. My own name can be perfectly written with 7-bit ASCII, but there are many people in the world whose names require more than ASCII provides, and Python 3.x programs will work out of the box for those people. I wish everyone using a web framework to build a website would use Python 3.x and be international-ready from day 0.

      As for Python 2.6.x, there are some things in Python 2.7.x that I definitely want. I find it odd that you called out 2.6 specifically.

      P.S. I agree with you that Python was already pretty darn good even in 2.x.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    15. Re:Enjoy years of splitting between 5 and 6 by americanpossum · · Score: 1

      The main problem that I have with Python 3 is that there are still many libraries which have not been ported to it and are still Python 2.x only. However, for my day to day development, the warts that 3.x fixed from 2.x make a significant difference.

      How significant? Google "python unicode subprocess windows" and you'll get the tip of the iceberg. Some things that are impossible to do with 2.x are routine with 3.x. I'm fine with using 2.x when it suits my needs, but I do enjoy progress and ease of use as well.

    16. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      No, sorry - I actually meant Python 2.7. That said, I haven't had much need for new features in the last few versions of Python 2.x. I think the last big feature that was added that I actually use is "list comprehensions", which goes back a ways.

    17. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      Sorry, I had meant Python 2.7. Anyway, I probably should reconsider Python 3 again at this point. I looked at it when it first came out, and library support definitely was an issued. The Unicode improvements of 3 never were that useful to me because nearly all of my Python work involved small personal utilities that were easy enough without those improvements.

      I'm glad to hear that it's getting traction. If library support is better now, that might help a lot. Even though Guido seems to have managed the transition very well, these things still take time.

    18. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      The reasons why perl is still (heavily) used is because of several reasons, I think (for good or bad):

      1) The only people who can really read the code in an effective fashion are those who wrote it

      I first got disillusioned with Perl many years ago when I realized I couldn't even read my own code! Then I found Python - it was the perfect solution: the same important powerful concepts such as dynamic typing and regular expressions, without all the $_!@ noise. There are times when I miss Perl's easy syntax for operations on results of regular expressions, but Python's clunkier way of doing that ultimately is the correct way for Python to do it.

    19. Re:Enjoy years of splitting between 5 and 6 by TheGratefulNet · · Score: 1

      I have always joked about perl being a 'write-only language'. and it many cases, when I look at perl code, I have zero idea what the hell is going on. reminds me of APL (which is not a good thing).

      I recently 'converted' over to python and while the indentation was a bad idea (I've seen posted code be ruined simply due to posting procedures ruining the indenting on web forms) and the v2 vs v3 stuff is really broken and a bad idea, the language at least is headed in the right direction and the v2/v3 stuff will fade away over time.

      at this point, given how much demand there is for python devs, I would not spend even a single minute learning perl (unless there is an existing project codebase that cannot be converted). all new development would be in python, for any project that needs scripting. the richness of the rtl libs are about the same; both have full libraries that can do anything you'd want to do.

      perl's syntax is just weird and its time to let that language finally die...

      --

      --
      "It is now safe to switch off your computer."
    20. Re:Enjoy years of splitting between 5 and 6 by phantomfive · · Score: 1

      In my experience, people who prefer Python over Perl don't handle regular expressions very well.

      --
      "First they came for the slanderers and i said nothing."
    21. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      In my own case, I don't claim to be any master of regular expressions, and I never do anything too fancy, but I can use them effectively when needed. In Python, I usually have to pull up the corresponding docs - which is either a bad sign indicating that the design could be better, or maybe it's just inevitable for someone who doesn't use REs "regularly".

      I've also learned to use "redemo" which is a very handy little GUI utility that comes with Python that allows you to interactively hone your REs. Whatever one's language of choice may be, redemo or something like it is highly recommended.

    22. Re:Enjoy years of splitting between 5 and 6 by jbolden · · Score: 1

      Perl solved 2 key problems:

      1) It acted as a good system admin language a better way to do what admins were doing with shell scripts
      2) It solved the HTML forms problem via. CGI.

      (2) has been replaced by JavaScript frameworks and other frameworks. (1) there is more competition and it is less important since admin GUI tools have gotten better. So it is less used but lots of people know it. It doesn't solve a problem people have today.

      Perl6 OTOH brings a lot of functional ideas in. It will be ahead of Ruby, Python, JavaScript... conceptually. It won't be ahead of languages like Swift though. Whether that's enough at this point I don't know. Its been 20 years since Perl was the new kid on the block. Did it simply take so long that no one cares anymore? Can Perl6 catch up? Or do functional features matter so much that they create an opening. For example easy multithreaded shell scripts are at least concievable in Perl6. I suspect among admins, the original Perl1-4 crowd Perl6 thrives. I'm not sure what happens after that though.

    23. Re:Enjoy years of splitting between 5 and 6 by wiredlogic · · Score: 1

      Won't be a problem for me. I've been writing Py3-styled 2.x code for years by using most of the from future imports. It gives the best of both worlds. You can still use libraries that aren't ported to 3.x and the code will cleanly convert using 2to3 99% of the time. Their efforts at forward compatibility are a complete win in my book.

      --
      I am becoming gerund, destroyer of verbs.
    24. Re:Enjoy years of splitting between 5 and 6 by doom · · Score: 1

      I first got disillusioned with Perl many years ago when I realized I couldn't even read my own code!

      The number of people who think this is a witty thing to say still amazes me to this day. So, uh, you have no sense of discipline, you don't know how to organize code and are incapable of writing documentation, and you think this makes you a way cool hip programmer dude because, uh...

    25. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      Good troll, dude. OK, I'll bite. What amazes me is that you believe you can infer my entire professional competency from a single sentence. I bow to your greatness...

      Since I'm not, in fact, nearly as incompetent as you suggest, I did a couple of things to combat the Perl problem: 1) I wrote a comment at the end of nearly every line of Perl, just as I would do in assembly code, and 2) I switched to Python and returned to writing the density of comments I normally write, or even fewer.

    26. Re:Enjoy years of splitting between 5 and 6 by smash · · Score: 1

      You're saying that non-Unicode supporting applications are "perfectly working"? The vast majority of the population do not speak English.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    27. Re:Enjoy years of splitting between 5 and 6 by david_thornley · · Score: 1

      Seriously, I have no problem writing Perl I can read years later. (I'm not going to claim that all Perl programs are written that way, but mine are.) I don't know what your problem is.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    28. Re:Enjoy years of splitting between 5 and 6 by Marginal+Coward · · Score: 1

      Clearly, my problem is that I'm not nearly as brilliant as folks like you and Tom Christiansen. ;-) But at least you're a little nicer about putting down the less brilliant than he is.

      But seriously, maybe it's just a matter of taste. It's nice that you find Perl readable but I don't. Likewise, I also don't much care for Hip Hop or Country Music, but I don't claim that people who do have any sort of "problem". Heck, maybe they're just more brilliant than me.

    29. Re:Enjoy years of splitting between 5 and 6 by rubycodez · · Score: 1

      As far as a first through second language, English is #1 on the planet. They study it in school in most places, including China, India, South America, Europe, etc. In Africa many countries have English as official language.

      So yes, a program that only outputs 7 bit ascii enlish is working perfectly for most use cases. Good enough, anyway.

    30. Re:Enjoy years of splitting between 5 and 6 by smash · · Score: 1

      You're still boned as soon as someone attempts to enter their name if it uses characters that are not available in ASCII, and say, link that to data from a Unicode application somehow. Amongst a heap of other seemingly trivial use cases that will render your application pretty useless.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  3. Perl is more expressive by Okian+Warrior · · Score: 5, Interesting

    Perl's strength is that it's expressive. It's not a language which is easy to learn or which generates heavily optimized code.

    In the demo phase, you're not really worried about performance. The goal is to have something showing as quickly as possible, and not worry too much about how fast it runs, or how much memory it takes. Overspec your demo system for the time being (ie - make it really fast and install lots of memory), and once you have a reasonable interface go back and recode it in a simpler language which can be more easily optimized.

    Languages which are simple to learn (c++, for example) are generally not very expressive. You end up spending tons of time debugging issues of memory allocation, library interface details, and datatype conversion.

    Expressive languages are harder to learn, but any individual line in the expressive language does a lot more. Since you are writing fewer lines, and since the fewer lines do more, you end up making programs more easily and in less time.

    Yes, the programs will execute a little slower, but as mentioned, this is not important in the demo stage. Your productivity will be much higher. And there are lots of places where performance simply doesn't matter. Scripts usually fall into this category.

    Perl was designed by a linguist, not an engineer. As such, it's harder to learn (it's got tons more keywords and context), but once you get the hang of it coding is much more efficient. The following single line:

    @Lines = sort { $a->{Name} cmp $b->{Name} } @Lines;

    unfolds into several lines of C++, plus a subroutine definition with datatype definitions. The following line:

    @Files = <c:/Windows/*.exe>;

    can be implemented using one of over a dozen possible library calls in C++, but is builtin in perl. You don't have to look up the library call interface specific to your system.

    And note that writing unreadable/unmaintainable code is an aspect of the *coder*, not the language. If you disregard perl because "other people use it to write poorly" you are probably one of those people, in which case you should avoid coding altogether.

    1. Re: Perl is more expressive by Anonymous Coward · · Score: 4, Interesting

      std::sort(lines.begin(), lines.end(), [](auto &l, auto &l2) { return l1.name l2.name; });

      Pretty simple in c++14 as well

    2. Re:Perl is more expressive by NoNonAlphaCharsHere · · Score: 4, Funny

      And note that writing unreadable/unmaintainable code is an aspect of the *coder*, not the language.

      That's the funniest thing I've read today. We're talking about a language that has 82 ways to say a = a + 1, 81 of which are completely, gobbletygookly incomprehensible (and look like cartoon swearing) to the average (non-brain damaged) programmer. The FACT is, the language is deliberately designed to reward the cuteseypoo "I (self) graduated from VisualBasic, and I'm WAY cleverer than the rest of you", combined with the "this is a contract job, and I've never ever ever had to maintain somebody else's code" effect, produces the worst, most unreadable, most unmaintainable code on the planet. Get the average Perl programmer, point a .357 magnum at their heads, and ask them to modify something they wrote six months ago, and watch the bloody hilarity ensue.

    3. Re: Perl is more expressive by Billly+Gates · · Score: 1

      std::sort(lines.begin(), lines.end(), [](auto &l, auto &l2) { return l1.name l2.name; });

      Pretty simple in c++14 as well

      Mod parent up.

      It is funny as I have not coded in either language in over 10 years but this C++ version is very readable compared to the perl version. Also mentioning STD in C++ can be a little nasty and difficult to read yet I understood this much easier.

    4. Re:Perl is more expressive by dskoll · · Score: 2

      I think it's the contract jobs that produce bad code. My company produces commercial software mostly written in Perl. It's been under development for 15 years and the code base is quite readable and easy to understand. That's because the programmers are not contract programmers and they have sufficiently good taste and motivation to avoid the worst of Perl's cuteness. You can write readable, maintainable Perl. It just takes a lot of work.

      Of course, that applies to any other programming language as well.

    5. Re: Perl is more expressive by Drishmung · · Score: 1
      Well, they are both tending towards line noise in my opinion, but doesn't the c++ version have a typo :) ? (auto &l should be auto &l1).

      Personally, I find the Perl version a little clearer, but to a c++ geek, the familiarity probably makes the construct obvious and the Perl version ugly; a Perl geek draws the opposite conclusion.

      --
      Protoplasm. Quiet Protoplasm. I like quiet protoplasm.
    6. Re:Perl is more expressive by paskie · · Score: 1

      C++ is the wrong language to compare Perl to. Python is what you need to align with it. And it is so much tougher to build a good case for Perl in that light. (Not impossible, but it probably won't be very convincing. Perl is the anarchocapitalism of programming languages - you have near-absolute freedom to choose your ways, which is delightful for the top 20% users, but unfortunately most people choose the most awful and dirty ways in the face of this freedom, typically just for lack of experience.)

      (I love both Perl and Python. But in the past few years, I find myself writing vastly more Python that Perl code, except the oneliners of course.)

      --
      It's not the fall that kills you. It's the sudden stop at the end. -Douglas Adams
    7. Re:Perl is more expressive by rubycodez · · Score: 1

      Nah, a programming langauge needs to be well designed, by an engineer type, so the clean and expressive way comes out naturally without a dozen hard to read and difficult to maintain variations.

      Lines.sort_by! { |hsh| hsh[:Name] }

    8. Re: Perl is more expressive by skids · · Score: 1

      Perl6 version, FWIW:

      @Lines .= sort: *.Name

    9. Re:Perl is more expressive by dmbasso · · Score: 1

      Ok, in this thread there are already C++, Ruby, and Perl 6 versions of your snippets, so I'll add the Python ones.

      @Lines = sort { $a->{Name} cmp $b->{Name} } @Lines;

      lines.sort(lambda a, b: a.name < b.name)
      or
      lines.sort(key=lambda o: o.name)

      @Files = <c:/Windows/*.exe>;

      from glob import glob
      files = glob("c:/Windows/*.exe")

      I think a good analogy would be Perl is Finish, Python is Esperanto. When you have hundreds of thousands of LoC to maintain, I guess a more direct and unambiguous language is preferred.

      It occurred to me that perhaps Perl is an attempt to seduce the computer... too bad it will take some time before it can appreciate language nuances... ;)

      --
      `echo $[0x853204FA81]|tr 0-9 ionbsdeaml`@gmail.com
    10. Re:Perl is more expressive by skids · · Score: 1

      Languages need to scale to talent, so a codebase maintained by veterans of the language can use advanced constructs, while a codebase meant to be maintained by newbies can stick to the babytalk. Which is where Perl 5's flexibility can be leveraged well. I think you'll find Perl 6 to be a joy to work with, and if you have the privilege of working with a devel team that gets good at it, it will be an awesome experience, plus you can still "talk down" for stuff you need to throw to the public to maintain.

    11. Re:Perl is more expressive by guacamole · · Score: 1

      The problem with Perl is not just the time to learn it. The biggest problem is that Perl developers believe in TMTOWTDI (There is more than one way to do it) principle. As a result, numerous Perl idioms exist for doing the exact same thing. No matter how much time you spend reading Perl programming books and coding yourself, you keep running into idioms that look slicker and better (or just bizzare) relative to what you know.

      Why is this bad? This is a difficulty for big application development projects where there are many developers working on the same code. The more expressive the language is, the harder it is for others to understand each others code. On the other hand, Python's inventor Guido van Rossum goes into great lengths to ensure that Python has one way for expressing a given task, and usually that it is the simplest of all alternatives. The result is a simple and tidy programming language that's easy to learn and understand.

      Another problem with Perl is that it looks like an alien language for anyone who is not a unix wizard. At its core, the original idea of Perl was to have ONE language that combines the ideas of Unix shell programming, C, awk, grep, and other unix tools. To a unix wizard Perl makes total sense. To anyone who is not an expert in the unix environment, Perl looks like a gibberish. And even if they take time to learn what it means, they never understand the design decisions behind it without spending a good amount of time with unix and OS X command line tools.

    12. Re:Perl is more expressive by Marginal+Coward · · Score: 2

      Perl was designed by a linguist, not an engineer.

      Now you've got me wondering: was Esperanto designed by an engineer, not a linguist?

    13. Re: Perl is more expressive by Marginal+Coward · · Score: 1

      std::sort(lines.begin(), lines.end(), [](auto &l, auto &l2) { return l1.name l2.name; });

      If I may paraphrase an old saying, "You can write Perl in any language."

    14. Re: Perl is more expressive by DrJimbo · · Score: 1

      @Lines = sort { $a->{Name} cmp $b->{Name} } @Lines;

      to assign to @lines, when not raising lines is a sign your not just another Perl hacker.
      @names would be the better choice, @sorted_names is another.

      The Perl code is sorting hashes based on the value associated with the "Name" key in each hash. Presumably the other data in the hashes are what make a "Line" and the Name is just one of possibly many attributes. Therefore you suggestions don't make much sense to me. Perhaps you were thinking of the much simpler:

      @Names = sort @Names;

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    15. Re:Perl is more expressive by phantomfive · · Score: 2

      Languages which are simple to learn (c++, for example) are generally not very expressive.

      This is the first time I've ever heard someone say C++ is easy to learn. I've been programming in it for years and I still don't feel entirely confident.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:Perl is more expressive by skids · · Score: 1

      That's downright weird looking.

      ...if you don't grok closures/anonsubs. If you do, it looks much neater.

    17. Re:Perl is more expressive by unity · · Score: 1

      "Perl's strength is that it's expressive. It's not a language which is easy to learn "

      Meh, Perl4 was the first programming language I ever learned and first got a job doing. I found it all rather intuitive and easy to learn.

    18. Re:Perl is more expressive by 91degrees · · Score: 1

      Perl's built-in regex handling is a plus point. Python regex library can do the same but I always found that perl just worked far more often than I would have expected.

    19. Re:Perl is more expressive by SkepticalEmpiricist · · Score: 1

      > This is the first time I've ever heard someone say C++ is easy to learn.

      C++ is easy to teach and easy to learn. Much easier than Java, for example. But I should stress that I mean 'modern C++'. Yes, technically, all C code is valid C++ code. But modern C++ has replacements for pretty much every C feature, especially the hard to teach stuff from C. A good teacher of introductory programming will teach C++ and will not teach C. For example, raw pointers are just obsolete now. In fact, you could teach a lot of introductory programming without any pointers or references or anything else that gives magical "action-at-a-distance" properties.

      I've had great fun with friends, who are trying to get into programming, by confusing them with Java (and C). An int is passed by value in Java. But if you have an Address structure in Java, changes made in a function are magically visible outside. There is no easy way to force by-value passing in Java. Finally, there is a third kind of behaviour in Java. When you pass a String, you basically get value semantics instead (because you do s = "updated"; instead of s.assign("updated")). (Not a criticism of Java only, the same problems occur in C. "I though you said int arrays are (kinda) passed by reference thanks to pointer decay, so why did my code char_ptr = "updated" not cause the change to be visible in the parent function?")

      Frankly, I think it's undignified that teachers are bogged down trying to explain this nonsense at the very earliest stages of teaching programming. It's already difficult enough trying to explain that parameter names in functions don't really mean anything but are merely placeholders for "first argument", "second argument", .... If a function parameter has the same name as the local variable in the parent function that's passed to it, then that is just a coincidence basically. It's difficult to have to say "well, sometimes the effects are visible outside the function, so I guess the 'outside' name can appear to be meaningful".

      In the early stages of teaching, it's best to be able to say that a function just takes the values and is a black box that gives you a new answer. In C++, everything is passed by value by default, and returned by value. That's really consistent, and easy to teach. You can teach a lot of introductory programming with value semantics, writing some fun programs. Best of all, there are none of the "magical" side-effects of pointers/references to confuse the student. Every desired side effect must be explicitly done, perhaps printing of output or via return values.

      When the programmer wants reference semantics in C++, they can explictly use C++ references to get them. The teacher can introduce them when the class is ready, rather than being forced to introduce them too early, as in Java or C.

      Everything is, by default, passed by value in C++. And anything can be passed by reference when requested. Two kinds of passing, under the explicit control of the student. But Java basically has three kinds of passing (primitives, classes, and the String-like behaviour that's kinda like a primitive but not really). Why should we have to explain stacks and heaps and memory layouts at such an early stage?

      And C++ developers never have to think about allocation and deallocation. Nor about pointers. Nor about action-at-a-distance. A vector of ints is passed the same way as an int is. The standard implementations of all the containers just work, on any type and by-value. The student can declare a class struct Person { string name, int date_of_birth }; and can be confident that everything will be allocated and deallocated automatically as need.

    20. Re:Perl is more expressive by drinkypoo · · Score: 1

      Frankly, I think it's undignified that teachers are bogged down trying to explain this nonsense at the very earliest stages of teaching programming.

      Isn't that why we have teaching languages, like LOGO? Whatever happened to that whole idea?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    21. Re:Perl is more expressive by dskoll · · Score: 1

      Actually, from what I've seen of Perl 6, I think I'll stick to Perl 5. Perl 6 is much more complicated and is waaaay over-engineered. If the Moose is any indication (I believe that's an attempt to back-port P6's object model to P5), P6 will be a bit of a bloated mess.

    22. Re: Perl is more expressive by Mr+Z · · Score: 1

      There's that typo and the fact that the < got eaten.

      Personally, I don't see the point in a pissing match between Perl 5 and C++14. I use both. Perl's great for rapid prototyping and programs that need a certain flexibility. C++14 is great for rapid execution.

      The perl code is fairly idiomatic, and a perl programmer would type it without thinking. It'll likely compile into an optimized sort, since this type of sort is common in perl.

      The C++14 version is also idiomatic to C++14 (although I think non-member begin/end would be preferred there), and has the advantage that it'll compile an optimized sort for whatever type you're sorting.

      In C++14, I can use std::vector, std::map, std::unordered_map, std::regex, std::shared_ptr, std::unique_ptr, gobs of standard algorithms, range-based for() and lambdas. These give me very similar containers and tools to what I have access to in Perl 5. That makes the conceptual leap between the two shorter. I quit worrying about syntax ages ago. Know the syntax for the language you're programming, and spend your energy on the semantics of the program and problem you're trying to solve. This is work, not a beauty contest.

      I've been waiting patiently for a usable Perl 6. I did install a version of Rakudo Star a couple years ago to compete in a Perl 6 coding contest (over Christmas, it so happened). It was fun picking up the language, and I was able to implement some interesting stuff quickly, including an A* search. But, it was definitely not ready for prime time. I ran into several rough edges, and execution time was uninspiring. I've gotten accustomed to how fast Perl 5 is.

      Now I'm hoping for a nice Perl 6 Christmas present this year, although I won't get my hopes up too high. :-)

    23. Re:Perl is more expressive by hondo77 · · Score: 1

      Give people a sharp chef's knife and they will find 81 ways to cut themselves. Give a skilled chef a sharp chef's knife and he/she will get the job done correctly and injury-free. The lesson is not that chef's knives are bad tools, it's that the unskilled are better off with plastic because they're not ready for the real thing and they'll hurt themselves, otherwise (and then blame the tool).

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    24. Re:Perl is more expressive by phantomfive · · Score: 1

      C++ is easy to teach and easy to learn. Much easier than Java, for example.

      ok, you started with the dumbest two sentences I've seen on the internet today.

      Now, if you lived up to your name, and had some empirical evidence for your hypothesis, I would be impressed. But I've seen too many people struggle through C++ classes, so I roll my eyes.

      --
      "First they came for the slanderers and i said nothing."
    25. Re:Perl is more expressive by phantomfive · · Score: 1

      Yeah, I've seen amazing results from teaching with LOGO. I don't know why it's not used very often. Scratch is probably worth a look, too.

      --
      "First they came for the slanderers and i said nothing."
    26. Re: Perl is more expressive by Alomex · · Score: 1

      Go is timid update on C/Pascal. My response to it is meh. We can do a lot better than that.

      Python has two big problems: (1) no strict type checking/variable declaration and (2) it's interpreted/compiled to byte code.

      It also has a small problem: code indentation really doesn't work. Nice idea, but no, didn't work.

    27. Re: Perl is more expressive by tepples · · Score: 1

      doesn't the c++ version have a typo :) ? (auto &l should be auto &l1).

      One advantage of C++ over dynamic languages is that name typos like this get detected at compile time, not much later.

    28. Re:Perl is more expressive by tepples · · Score: 1

      Because the TurtleGrafx-16 was discontinued at the end of 1994, perhaps?

    29. Re:Perl is more expressive by Wee · · Score: 2

      Get the average Perl programmer, point a .357 magnum at their heads, and ask them to modify something they wrote six months ago, and watch the bloody hilarity ensue.

      Funny you mention it. Not an hour ago, I added some stuff to a perl script I wrote in 2009. It's not a large script (barely 1,000 lines), but my 150-line addition didn't seem to cause any great mirth or merriment.

      If you write shit code, you're writing shit code. The choice of language doesn't matter, aside from the insignificant notion that perl might give you more ways to write that shit code differently than some languages.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    30. Re:Perl is more expressive by Wee · · Score: 1

      In our case, the regexes we needed to use were between 5 and 7 times faster with Perl than Python. We had some existing Perl code that could also be used, and so there it is.

      I think it's about the right tool for the job. But I also think you can write bad code in nearly any language. Perl just gives you more ways to express yourself badly.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    31. Re:Perl is more expressive by doom · · Score: 1

      If Moose bloat bothers you, you use a stripped-down Moose. Moo is currently pretty popular. I often use Mouse at work (it's installed more universally there) and haven't seen many problems with it.

    32. Re:Perl is more expressive by david_thornley · · Score: 1

      C++ is often taught badly. You may or may not consider that to be a problem with the language.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    33. Re:Perl is more expressive by david_thornley · · Score: 1

      Raw pointers are still useful, but not as owning pointers. Ownership is expressed by std::unique_ptr and std::shared_ptr. If you write "delete" explicitly nowadays, you're probably doing something wrong.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    34. Re:Perl is more expressive by phantomfive · · Score: 1

      True point.

      --
      "First they came for the slanderers and i said nothing."
    35. Re:Perl is more expressive by SkepticalEmpiricist · · Score: 1

      > Raw pointers are still useful, but not as owning pointers.

      I do agree they will be used, alongside all other kinds of pointers, in much modern software. And rightly so. And, of course, I use them in my own code. But I'm thinking strictly of teaching programming to complete beginners. Perhaps I shouldn't have said they are obsolete in general, I should have said "obsolete for teaching purposes when teaching beginners". I would argue that, at first, everything should be passed by value in such a course, then eventually building up to the use of C++-references where the side effects are desired. Then I would introduce shared_ptr, but only after the students have made a lot of progress with the use of by-value and by-reference parameters.

      A lot of progress could be made in teaching with a combination of by-value, `&`-references and `shared_ptr`. Any interesting data structure or algorithm can be taught using these three. There would be no need to panic about writing destructors, or about pointer arithmetic, or any of that stuff. Students could focus on their algorithm and not on the nasty error-prone stuff that's not directly helpful to the real-world algorithm they're trying to write. ("I just want to sort a list of strings that the user has entered, why should I care about pointer-arithmetic, and double-deletion, and memory layout and so on?")

      All of the unnecessary stuff (pointers, C arrays, object orientation) can be delayed until quite late in the students' education. None of them are necessary for writing linked lists, or implementing quicksort, or interacting with the user and/or filesystem. And even if we feel that pointers must be taught at some point in the undergraduate education, then we should still delay them until after they are very comfortable with shared_ptr and are comfortable with the whole idea that some objects are shared between multiple variables (variables which may have very different names).

  4. Wahoo I can open my 2003 Christmas presents by Billly+Gates · · Score: 1

    I thought it was done over a decade ago but was so different due to strange stuff like 100 different identifiers that no one used it?

    1. Re:Wahoo I can open my 2003 Christmas presents by skids · · Score: 1

      No, you may be thinking of an early prototype, named pugs, written in Haskell as part of the whirpool design process. The pool has whirled several times since then. I really admire the attention to detail that's been put into the Perl 6 specification and the implementation is coming along nicely and is already very usable for both small ad-hoc scripts and larger stuff, too. Just not for high performance quite yet and a few places where you have to work around some TODOs.

  5. SEE: Python v2 vs Python v3. by grep+-v+'.*'+* · · Score: 1, Informative

    EOM

    --
    If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
  6. Crazy numbering scheme by sanvila · · Score: 1

    Version 1.0 of Perl 6.0? Why not just "Version 6.0 of Perl"?

    1. Re:Crazy numbering scheme by KermodeBear · · Score: 1

      As I have learned through many painful lessons, anything language X can do, Perl can do too - in an unnecessarily confusing manner.

      --
      Love sees no species.
    2. Re:Crazy numbering scheme by BarbaraHudson · · Score: 1

      No no - they're going to pull a Microsoft and call it Perl X (perl 10). For the number of years everyone's been waiting.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    3. Re:Crazy numbering scheme by skids · · Score: 1

      IIRC, the Christmas release will be tagged 6.0.0. That was sort of a misinterpretation of an off-the-cuff remark.

  7. Re:Betteridge by BarbaraHudson · · Score: 2

    Maybe it will happen, but by then everyone reading this today will be 61+.

    Adoption is going to be slow. The current perl is like XP with one important difference - it's still being distributed.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  8. Perl Forever by Jaro · · Score: 1

    Perl 6 is the developers equivalent of Duke Nukem Forever. I'll believe it when I see it.

    1. Re:Perl Forever by Marginal+Coward · · Score: 1

      My money's on fusion reactors being commercially viable before Perl 6

      Maybe it will be used by Doc in the next "Back to the Future" movie instead of "Mr. Fusion".

    2. Re:Perl Forever by PerlPunk · · Score: 1

      Perl 6 is the developers equivalent of Duke Nukem Forever. I'll believe it when I see it.

      Appropriate simile.

  9. Re:Betteridge by Billly+Gates · · Score: 1

    Perl 6 .. from what I read a decade ago ... has 100 different data types? It is a monster which should be avoided for any project where people have to read this stuff. Larry Wall is a linguist turned programmer where Perl is based on expressiveness.

    I have not seen Perl used at work for many years besides some dependency for some Linux distro app.

    In other words it is the SystemD of programming languages compared to Perl 5.

  10. over a decade of hard work at getting it right by raymorris · · Score: 4, Informative

    From a decade ago until now, the Perl devs have spent those ten years improving upon what you either misunderstood or are exaggerating for comedic effect.

    Java was rushed out quickly, and early versions of Java made that obvious. Perl6 is the opposite - they've taken all the time needed to perfectly implement their vision, to make it exactly what it's supposed to be. Not everything is nail, so a hammer isn't the right tool for every job, but Perl6 is a mighty fine hammer. If you have a task well suited to what Perl6 is made for, it's a fine tool for the job.

    1. Re:over a decade of hard work at getting it right by Billly+Gates · · Score: 1

      Unless Larry took features away my guess is he added more identifiers, data types, and other things as that is what he does. I could be mistaken.

      If there are now 1,000 statistical combinations to add/substract and print out 2 sets of numbers I think I would not count that as a success.

    2. Re:over a decade of hard work at getting it right by danbuter · · Score: 1

      Perl 6 is Design by Committee. Make of that what you will.

  11. Thanks for the pointer by Okian+Warrior · · Score: 1

    That's a fair point.

    Thanks for the info - I'll go brush up on C++ again.

  12. Re:Betteridge by BarbaraHudson · · Score: 1

    When they introduced the idea, and that it would run on a virtual machine called "parrot", I wasn't the only one who made Monty Python "but it's dead" jokes. Almost a decade later, Perl 6 is still dead.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  13. Re:What are they doing? by grcumb · · Score: 2

    They've been working at Perl 6 for - what? Ten years now? In that time one can develop an OS from scratch. What's Perl going to do? Give you minty fresh breath all day long and unlimited sex with multiple, highly-desirable partners of your choice?

    No, that was Perl5. Perl6 is all of that, with Asian twins.

    ... oh, and regular expression grammars, but hey: Asian twins!

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
  14. version 1.0 of 6.0...is silly by dAzED1 · · Score: 1

    It's farking 6.0. That *is* the farking version. What is the "6.0" thing if 1.0 is the version?

  15. Perl lets me do what I want by duckgod · · Score: 4, Insightful

    I look forward to seeing what Perl 6 brings. However, I can't imagine it makes any improvements on the core reason I use Perl5. Perl puts no restrictions on how I program and I am able to get something running by myself faster than any other language.

    I am an adult and when I am programming for my own enjoyment I don't want to be told how I have to program. I definitely don't want to have to worry about squeezing my design into some Object Oriented bullshit. I want to tabulate my code the way I feel best. If I want to enjoy some dynamic variable scoping so be it. Mix up some functional with some procedural go for it. Create some cryptic one liner that I won't understand later, live and learn.

    Bonus points for still serving its original purpose stellarly. Give me some text and I will mold it to how I want. This is what a majority of commercial software does anyways.

    1. Re:Perl lets me do what I want by jandrese · · Score: 2

      A lot of the wins from Perl6 have already been backported to Perl5. At this point I'm in no rush to switch to Perl6 even if it does come out.

      --

      I read the internet for the articles.
    2. Re:Perl lets me do what I want by Prof.Phreak · · Score: 2

      I'm a huge fan of Perl... Perl5 that is.... I'm just hoping they don't screw up the language with 6. Perl5 works great for me---the few bits of Perl6 that I've seen look akward :-/

      --

      "If anything can go wrong, it will." - Murphy

    3. Re:Perl lets me do what I want by bill_mcgonigle · · Score: 1

      A lot of the wins from Perl6 have already been backported to Perl5. At this point I'm in no rush to switch to Perl6 even if it does come out.

      The easy wins, yes; the low-hanging fruit, yes, absolutely. Perl5 really does benefit.

      But there is some stuff in Perl 6 that requires you to think about languages differently - stuff that doesn't map well to perl5. New stuff unless you're an academic language geek, that's just creeping out of the lab. Stuff that's hard to wrap your head around at first, and then you go, "ohhhhhh ... so ... wow."

      It's hard to write an article about that kind of thing. Sit down and try it out for a couple hours to get an inkling.

      I know, everybody wants to pronounce "wise" judgments without having to do the hard bits.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re:Perl lets me do what I want by CAIMLAS · · Score: 1

      I agree with everything you said. Having said that, however, perl should not be used but for the simplest of things in the professional world... it's simply not maintainable, because its use encourages the "many ways to do it" mentality, and then nobody can grok what over developers have done. It's certainly at least part of the saying "perl is the only thing that can interpret perl" saying.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    5. Re:Perl lets me do what I want by skids · · Score: 2

      You don;t have to worry -- your Perl 5 code is safe, since there is no directive at all being pushed to "replace" Perl 5 with Perl 6. They will exist as sister languages, won't fight each other when installed together, and there is a thriving Perl 5 community actively developing and maintaining Perl 5 for the forseeable future.

    6. Re:Perl lets me do what I want by drinkypoo · · Score: 1

      it's simply not maintainable, because its use encourages the "many ways to do it" mentality,

      No. Much perl code is simply not maintainable, because perl is easy enough to grok that people who are not good coders are capable of producing relatively powerful code. Good coders will produce comprehensible code in any language which permits it, and perl does that. It's not brainfuck.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Perl lets me do what I want by jandrese · · Score: 1

      My thought on this is that I'll check it out if/when it ever comes out.

      --

      I read the internet for the articles.
    8. Re:Perl lets me do what I want by enaso1970 · · Score: 1

      a
      b

  16. 15 years. That the new :O ==8 operator by raymorris · · Score: 1

    Perl6 began July 19, 2000, announced by Larry Wall in his State of the Onion address.

    Yes, it will indeed include the feature you requested, via this new operator, which looks much like Perl's other operators: :O ==8

    There's actually a lot of truth in that joke. It's been fifteen years not because nothing was being done, but because a lot was done, and done very thoughtfully, after thorough analysis. The goal was not to get it to market quickly (ala Java) or to solve a pressing business need right now (Google's assorted languages and tools). The goal was to do it RIGHT, really right. Based on the Perl idea of right, of course. Perl6 is like Pavarotti - neither everyone's favorite nor appropriate for all occasions, but damn good at what it does.

  17. Perl Nukem Forever by goombah99 · · Score: 2

    I hear they changed the name.

    --
    Some drink at the fountain of knowledge. Others just gargle.
  18. yes. Ex: some overuse of punctuation removed by raymorris · · Score: 2

    >. Unless Larry took features away

    The first thing decided about Perl6 was that some things would go away, meaning you wouldn't have automatic full backward compatibility. Certain constructs that result in a dense line of punctuation marks were an early example.

    To be clear, you can now do those things in a more clear, consistent, general and intuitive way - the power wasn't removed, rather special cases and sparse syntax were replaced with concepts that are more generally applicable, using a more clear syntax.

    1. Re:yes. Ex: some overuse of punctuation removed by CAIMLAS · · Score: 1

      That was /is a big part of the appeal to perl 5 for me.

      Perhaps this is a bad example, but "five plus five, which is then divided by seven" may be more clear and consistent, but (5+5)/7 is easier to express - and i'ts formulaic, so it's easier for me to remember.

      I really don't want to be verbing nouns and nouning verbs to write a regular expression.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  19. Re:15 years. That the new :O ==8 operator by rubycodez · · Score: 1

    No, Larry and co. screwed around for 15 years, trying to throw in everything and the kitchen sink, and made a badly designed hodge-podge of a mulligan stew. And Perl 6 still isn't done. The world has moved on, only legacy code in Perl 5. Perl 6 is doomed if it even comes out, nothing of note will be done with it.

  20. Re:But even better Christmas gift would be by Greyfox · · Score: 1

    Eeh. It's not so bad. I've had to maintain code from a few perl programmers recently, and it's usually not too hard to follow it. If I were in charge of corporate coding standards, they'd have to use "use strict" everywhere, and justify any global variables to a design review board. Also, I'd create a design review board. But that's more of an issue with bad programmers than a bad language.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  21. Re:There's more than 1 way to do it? by dbIII · · Score: 5, Insightful

    Help out with grading student programming projects and you'll see that anything can be a write-only language.

  22. Re:Python 3 has been a great success. by rubycodez · · Score: 1

    ha, never seen anyone use Python 3. Python 2.x frameworks are huge and everywhere though

  23. really? by CAIMLAS · · Score: 1

    I was actually not aware that Perl 6 was still, actually, being developed as "someone may use this for real".

    I, unlike many people, like perl. Please don't get me wrong - I'm not trying to flame here. I personally love perl (5), and I'd say it's the language I'm most comfortable/familiar with. It's what I've used for years when I've needed to write something.

    But I fully realize that perl is not preferred by many, if not most, these days. It has been replaced in preference by python for many (most?) sysadmins and devops. Legacy mission critical perl code (second to, perhaps, old PHP) is, in my experience, the most reviled thing out there - not because the language is bad, but because so many truly horrible developers (think: those who work on Enterprise Java now for a living) wrote it - and bad perl is worse than pretty much anything and everything else due to how 'creative' it let people be. Most developers really shouldn't try to be creative; it ends badly for everyone but the developer (should he want a perpetual job maintaining the code).

    Perl just isn't used all that much anymore, and you tend to get yelled at for trying to do so. I personally think this is sad: what other scripting language will work (often without having to install much, if anything, to get it working) on everything from Windows, to Linux, to FreeBSD, to AIX, and god knows what else, completely seamlessly (assuming it was only written in perl and did not system() stuff all over the place). BASH and even simple SH scripts will not do this.

    Perl was written and adopted in the era when CGI was still common, if not still relatively young - almost 20 years ago. In the interim, other languages have come on (ruby, python) which are more pragmatic if you're dealing with common developers with common tasks, and it's use (as well as the many, many modules available for use have gone out of repair. What's more, perl 6 largely fragmented interest in further maintenance/development of perl.

    I'm really not sure what perl 6 has to offer over perl 5, or other languages - it does appear to be quite the paradigm change, from what I recall reading a couple years ago... I wish it well but doubt it'll see much adoption.

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    1. Re:really? by Mr+Z · · Score: 2

      We actually use Perl quite heavily where I work, and its use is only growing. We've built rather significant pieces of our infrastructure around it, including a rather impressive internal project that uses Perl as a metaprogramming language. You'll get yelled at if you deviate from the standard perl-based development flows we've put in place.

      So, "isn't used all that much anymore" may be more anecdotal than not? I guess it really depends on the shop whether perl use is increasing or decreasing.

  24. 15 years is almost a decade? JVM, .net, JavaScript by raymorris · · Score: 2

    FYI it can target most any virtual machine. Parrot is just one. The JVM is another. For example, Rakudo Perl is a Perl 6 implementation which targets JVM, MoarVM, JavaScript and Parrot.

  25. Hurrah for performance improvements! by jensend · · Score: 2

    With all the work that has been poured into MoarVM, MoarVM Perl 6 is now painfully slow.

    This is a tremendous improvement. The best they'd ever managed with Parrot was "abysmally slow." Before that, perl 6 implementations ranged from "diabolically slow" to "the madness-inducing manifestation of the visage of Gn'oguracha, Elder Slug-God of Unspeed."

    A typical statement from a recent presentation: "2013.08 was about 3,600x slower than Perl 5. 2014.08 is 34x slower. Better. But still sucks."

    If they keep pouring in the effort, eventually they may reach parity with Perl 5, which was simply very slow. It is unlikely they will ever approach the performance of modern javascript engines, which are just plain slow.

    1. Re:Hurrah for performance improvements! by skids · · Score: 1

      This is a tremendous improvement. The best they'd ever managed with Parrot was "abysmally slow." Before that, perl 6 implementations ranged from "diabolically slow" to "the madness-inducing manifestation of the visage of Gn'oguracha, Elder Slug-God of Unspeed."

      Hilarious. And yes it was very, very, very, slow. And yes it continues to speed up. At this point it's OK for scripts that run occasionally, and for some medium-duty stuff if you don't mind spending a bit of time doing some tweaking-you-shouldn't-have to.

    2. Re:Hurrah for performance improvements! by Lisandro · · Score: 1

      That's painful to read :( Say what you want about Perl 5, but it is by far the fastest interpreted (ok ok, "byte-compiled") language around.

  26. Re:Python 3 has been a great success. by rubycodez · · Score: 1

    You are funny, we don't use Ruby where I work. Plenty of Python 2.5 and 2.6 there though.

    Ruby I just use for personal things, it's fun.

  27. Re:Betteridge by BronsCon · · Score: 1

    In other words it is the SystemD of programming languages compared to Perl 5.

    Fuck! Don't say that! Red Hat might adopt it shortly before Ubuntu starts cramming it down our throats!

    --
    APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
  28. Re:Betteridge by skids · · Score: 1

    In other words it is the SystemD of programming languages compared to Perl 5.

    I've found several choices made by systemd relatively deplorable. I find Perl 6's choices rational and convenient, pretty much all of them. So no.

  29. Re:What are they doing? by PerlPunk · · Score: 1

    Regular expression grammars? Perl 5's regexes still beat everyone else's hands down. Significant advances here--especially if performance optimized--would be something to have a look at.

  30. given the state of python, ruby, haskell etc ... by Zeio · · Score: 1

    who is waiting for this with bated breath? i think the wait is over, we've moved on from needing anything from perl6.

    --
    Legalize the constitution. Think for yourself question authority.
  31. Is that $year++ or ++$year ? by Alain+Williams · · Score: 1

    With all the delays I hope the first and not the second.

    Whatever happens: congratulations and thanks to a team who have done so much over the years!

  32. Re:But even better Christmas gift would be by WaffleMonster · · Score: 1

    God, what a nightmare is to try to actually understand existing code from a different coder.

    Where have I heard this? I'm sure someone uttered this phrase before I just can't place ... oh well I'm sure it will come to me.

    Before you blame me for being my fault, trolling, etc...

    "How come" every time "everybody" starts a paragraph with this phrase disaster is certain to follow?

    How come I don't have any problem with any other language?

    We all keep lists of languages YOU don't have a problem with.

    How come everybody sane I know avoids it as well?

    We also know everyone you know whom you deem to be sane.

    NSA is actually a bunch of wannabee chumps next to your average Slashdotter with karma to burn.

  33. Re:Interesting comment. by dbIII · · Score: 1

    Ah, shooting the messenger time! Perhaps, but I didn't actually do the teaching myself or even meet the lecturer so no bullet for me.
    My point is that choice of language does not completely prevent poor habits. Spaghetti can be constructed even from languages with structures that discourage it. Whether that's from poor teaching or other causes I do not know, but there is some pretty bad code out there in a wide range of languages for whatever reason.

  34. She might be chubby, but she's fit! by nick_urbanik · · Score: 1

    but Perl is that slightly chubby girl with the wry smile that is always reliable and willing to go to the dance with you.

    Perl still runs fast.

    And, before running, detects typing mistakes in variables when you "use strict;" (which, of course, your editor automatically inserts). Python has this little problem that such mistypings are still a run-time error. When the code that uses them executes. Oh the horror.

  35. Re:Betteridge by itzly · · Score: 1

    But it's got wonderful plumage, don't you think ?

  36. I wonder if matters any more by DrXym · · Score: 1

    The likes of Python, Ruby and Node.js have eaten much of Perl's lunch and what they haven't eaten is already served by Perl 5. Unless migration is relatively simple (unlike some previous Perl upgrades), I could well see the world choosing to stay with 5.

  37. Re:Where is the video of Larry's talk? by kthreadd · · Score: 1

    Fosdem has over 550 talks, and is completely run by volunteers. It will take some time, but will most likely end up on http://video.fosdem.org/2015.

  38. HUGE issue: Code sloppiness. by Futurepower(R) · · Score: 1

    No, not shooting the messenger. I understood from what you said that you were not the teacher.

    (I notice that, when someone in the U.S. says something unusual, people in the U.S. often feel that the intent may be to attack them.

    I suggest you visit Brazil. People are much happier there than in the United States. There are many shortcomings in the Brazilian culture. However, Brazilians are likely to consider that what someone says is just that person expressing himself or herself, and not an attack.)

    "... there is some pretty bad code out there in a wide range of languages for whatever reason."

    To me, that is a HUGE issue.

    There don't seem to be any well-written books about C++ or HTML, for example. My wife and I spent several hours a few months ago reviewing 18 books about HTML. All were terribly written.

    Generally, books about C++ don't educate readers about which constructs are appropriate. So, programmers try everything as a way of educating themselves.

    1. Re:HUGE issue: Code sloppiness. by david_thornley · · Score: 1

      Allow me to recommend the Scott Meyers "Effective *" books on C++ for a start. I agree that C++ books often cover what you can do rather than what you should do, but there are exceptions.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  39. Re:15 years is almost a decade? JVM, .net, JavaScr by BarbaraHudson · · Score: 1

    So what? Doesn't change my point - perl 6 is still MIA and DOA. Just like the bird in the Monty Python skit.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  40. Re:Betteridge by fizzer06 · · Score: 1

    I'm 61 right now. I'll be 62 when (if) it happens. Do I need to add, "you insensitive clod"?

  41. Re:Betteridge by fizzer06 · · Score: 1

    I re-read and see you DID write "61+", so I fail at reading comprehension.

  42. Jumped the shark at 4 to 5. Re .... 5 and 6 by ron_ivi · · Score: 1

    Personally I think they jumped the shark at Perl 5. My favorite Perl by far was Perl 3 -- when it was a better awk+sed. Now every language seems to want to follow the C++ trend of moving away from it's original strengths ---- and glomming on some really bad object-oriented model on itself during the late 1990's ---- and glomming on some really bad almost-but-not-quite-functional programming features during the 2010's. Seems the programming world would be a better place if the tools focused on their strengts, and didn't all try to be some "oooh, I'm object oriented too", "oooh, I'm functional too" game.

  43. Ranto by tepples · · Score: 1

    Perl is Finish, Python is Esperanto

    Your analogy is especially apt because just as Python isn't perfect, neither is Esperanto.

  44. the nice thing about perl by doom · · Score: 1

    The nice thing about perl culture, though, is you don't have to deal with quite so many people who think esr knows what he's talking about.

    1. Re:the nice thing about perl by sg_oneill · · Score: 1

      I dont think you'll find that many ESR fan in python world either bro. The dudes a bad smell wherever he turns up.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  45. Re:What are they doing? by grcumb · · Score: 1

    Regular Expression Grammars. If Perl6 consisted of nothing else, I'd still love it.

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
  46. 'Twas the night before Christmas... by enaso1970 · · Score: 1

    'Twas the night before Christmas
    When all through the house
    Not a creature was stirring
    Not even a mouse.
    The stockings were hung
    From the chimney with care
    In hope that St. Nicholas
    Soon would be there.
    And Ma in her nightgown
    And me in my cap
    Had just settled down
    For a long winter’s nap
    When across on my laptop
    There arose such a clatter
    That I got out of bed
    To see what was the matter
    Everywhere curly braces
    Did litter the halls
    And I knew this disaster
    Was from one Larry Wall.
    I felt woe in my heart
    For the many poor coders
    Who would follow this prophet
    And down many sodas.
    Their programs pre-doomed
    To illegible hell
    'Til the day they heard clearly
    Their career path death knell
    I did try to warn them
    On Twitter and Slashdot
    But on they coded like lemmings
    Who'd smoked too much hash-pot
    But before I despaired, I remembered one fact
    Perl 6 had been threatened 'ere machines like the fax!
    So I went back to bed full of Christmas Good Cheer
    Knowing that Perl 6 would never appear.

  47. Thanks! by Futurepower(R) · · Score: 1

    Thanks for the recommendation. Is there a particular Scott Meyers C++ book that covers general C++ techniques that you would recommend?

    An Amazon search shows other books besides those written by Scott Meyers. So does Google. Also, there is no good way to understand what is the focus of each book, other than reading the very general title and the reviews.

    I will start with Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14. Wow, 27 reviews, and all 5 stars.

  48. Re:Betteridge by danbuter · · Score: 1

    Lol! Wish I had mod points.