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."

192 comments

  1. Betteridge by Anonymous Coward · · Score: 0

    ...Says No

    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. 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.
    3. 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.

    4. 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.
    5. 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.
    6. 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.

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

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

    8. Re: Betteridge by Anonymous Coward · · Score: 0

      What would you know about it Tom? Programming isn't for dickgirls.

    9. 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"?

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

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

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

      Lol! Wish I had mod points.

  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 Anonymous Coward · · Score: 0

      Why didn't people migrate to py3k anyway? It's better than python2 in almost every way, the only disadvantage I've experienced is it supports unicode so you sometimes have to write a little more code to deal with bytes or encodings (but the upside to that is unicode actually works, unlike on certain websites that think shitting up the UI is more important than supporting standards).

    3. 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."
    4. 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.
    5. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      Distros need to version bump, and leave the legacy python apps in legacy versions of the distro.

    6. 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
    7. 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.

    8. 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.

    9. 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.

    10. 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.

    11. 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.

    12. 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
    13. 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."
    14. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      With a version bump those piles of working code wouldn't exactly be working anymore, now would they?

      The version bump would hopefully motivate people to actually update their shit, so switch to a different language. Its its needed, it will get fixed, if it's not needed it will get dumped.

      Right now people are just writing more shit maintaining a dead-end platform. Unless all those py2 apps are working perfectly, and bug free with no features or bug fixes being added.

      So come on just Let it go!

    15. 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.

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

      Any particular reason for Python 2.6 over 2.7?

    17. 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
    18. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      Although Python 3 is objectively better in many ways, the improvements don't seem compelling enough to me to bother to really learn

      Well, that is catch-22 in action -- you will probably not really get the improvements unless you actually explore them. If reading about the changes is not enough (though perhaps it is, but you have not read enough), and all the Python developers saying "you should really go to Python 3" is not enough, then perhaps the only thing that will convince you is diving in and experiencing the differences on a deeper level.

      For me, as someone who has not grown up in an unambiguous ASCII-society and has felt the pains of handling input in strange encodings, the improved Python 3 string handling is a killer feature on its own. I will not look back.

      There are two libraries holding back some of my projects: wxPython (where a Python 3 rewrite is under way) and MySQLdb (a Python 3 rewrite was under way, but has been dead since 2012; today there are several options, though). Those projects stay in the "if it aint broke"-pile until further notice. Other than those (well, only wxPython, really), I have no gripes about missing modules any longer.

      And I still kindda like "print" as a statement.

      That is probably the most superficial change of them all, fixable by search-and-replace, yet the one that people get stuck on :-) . It makes a lot more sense to have the parenthesized form, immediately allowing automatic string continuation over lines, optional keyword arguments (end='' is quite useful), etc.

    19. 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.

    20. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      "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."
      Given that the aim of perl 6 was to invent a new language, that is a very stupid thing to say. And I don't see a debacle, just lots of people that refuse to understand what perl 6 is, and what timetable it is on.

    21. 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.

    22. 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.

    23. 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.

    24. Re: Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      Python 3 isn't better in any way that counts to most people. And it risks gratuitous and hard to find compatibility problems.

      If I have to spend the time to port and verify my code for Python 3, I might as well port to one of the newer better languages.

    25. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      Since in unix/linux text is just bytes python2 makes more sense compared to implicit conversion of input to unicode, which will fail if you pipe binary data

    26. 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."
    27. 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."
    28. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      In other words, you're old, and don't want to learn new things, even if you recognize that they are better. That will work for a while, but don't get too comfortable.

    29. Re: Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      this is true. i was one of those people.

    30. 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.

    31. 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.

    32. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      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.

      Sounds like you were not very proficient in Perl and therefore had no problems switching to a different language that you weren't proficient in.

    33. 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.
    34. 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...

    35. 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.

    36. Re:Enjoy years of splitting between 5 and 6 by Anonymous Coward · · Score: 0

      Personally, since the vast majority of my programming consumes webservices, I am absolutely fucking psyched that PEP-461 (bytes % interpolation) got accepted into python 3.5 and can't wait to be able to write a multipart form data HTTP file upload request without having to either A) guess the payload length and toss the header into the stream before tossing the payload onto the stream one line at a time, which is totally doable and will break into a trillion pieces as soon as someone touches the code B) append together a billion little fiddly bytestrings, three or so for each post variable, more if it's a file being uploaded.

      Or I can go back to python2 and use requests or poster or...

    37. 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.
    38. 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
    39. 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.

    40. 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.

    41. 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 Anonymous Coward · · Score: 0

      Please site 82 ways ...

    6. 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.
    7. 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
    8. 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] }

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

      Perl6 version, FWIW:

      @Lines .= sort: *.Name

    10. 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
    11. 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.

    12. 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.

    13. 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?

    14. 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."

    15. Re:Perl is more expressive by Marginal+Coward · · Score: 0

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

      Congratulations to you and the others who were able to decode the original Perl snippet. Hopefully, I would have been able to do that the last time I wrote Perl, but that was about 15 years ago.

    16. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      FWIW, 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.

    17. 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
    18. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      Maybe because
      Program|script|Builtin |perl -e 'statement;statement;statement'|grep bar |tee bar.txt
      works, and delicate white space whores like Python don't, and a lot of on the fly fixing looks closer to the pipeline than a nicely architected piece of software where white space counts ???

    19. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      That's hardly impressive. I'd say it's worse to read than in any other language I've ever used (far too many of them). Parameters (the sort comparator) in curly braces, but then the other argument (the list of lines) not within anything? Angle brackets to find files? That's downright weird looking.

      Say, if one was to combine both of your examples, getting all executable files from the windows directory, then sorting them alphabetically, here's how you'd do it in C#. The only "funky" bit is the OrderBy extension method which is quite readable if you've heard of lambda expressions before:

      var files = Directory.GetFiles(@"c\windows", "*.exe").OrderBy(x => x);

    20. 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."
    21. 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.

    22. 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.

    23. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      I haven't written Perl since 2001, and no program at all since 2003 (not counting a few Excel macros), and still found the Perl version quite readable--more than the C++ version, in fact. To each his own.

    24. 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.

    25. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      In this specific case the Perl version is more readable than the C++ one, and shorter.

    26. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      And now, 20 years later, with move c'tors, it would even match performance of Perl!

      20 years later!

      Many things in Perl for many years worked acceptably fast. Occasionally exceeding C/C++ performance, because Perl has already many operations optimized, in C/C++ one has to code every optimization explicitly.

      And even then, on a rare occasion, it might be still slower, because some Perl's optimizations are aware of the data dimensions and cardinality. And achieving that in C/C++ often degenerates into a clusterfuck of spaghetti code.

    27. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      We're talking about a language that has 82 ways to say a = a + 1, 81 of which are completely, gobbletygookly incomprehensible

      But as real world experience, you can achieve the same, for example in Java, or any other language. Though for comic effect, it is better to use one of those "there is only one way to do something."

      How about a pile of adapters for Spring framework, which use pile of queues to bounce a value between threads of a pool (or pools?) which terminate the task when the value was finally successfully incremented by one?

      And that's not the worst use of "design patterns" I have seen in real life.

    28. 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.

    29. 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.'"
    30. 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.

    31. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      "Perl is Finish, Python is Esperanto"
      That is a very strange way to say that python is better. Esperanto is a dead end and always have been.
      I personally like perl a lot, maybe the main problem with that line is the ugly ->{}, that would be nice :
      @Lines = sort { $a.Name cmp $b.Name } @Lines;

    32. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      Most of this example you have given is partially grok-able by somebody with little ruby experience. However, is your example self modifying the Lines? I am guessing it is by virtue of the obtuse sort_by! with that rather confusing ! tacked on there. But it is mostly just a guess.

      Meanwhile the perl 6 example is easily grok-able without any perl 6 experience. It introduces things I haven't seen in other languages such as the .= construct but based on common idioms in other languages such as += I can readily guess what it is doing. I also find the single-expression lambda generator in perl6 cleaner, less repetitive, and more readable than the ruby or python or c++ examples.

        I also find it laughable that any c++ people are complaining about perl line noise and then celebrating that obtuse conjunction of magic symbols in the one line counter-example.

    33. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      Go is a throwback to the 1980s. It really needs to die along with Perl

    34. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      It's not that at all. It's the not using any words to call a function to find files. Just angle backets to combine a path and wildcard and find files all at once, whereas in every language I've ever used (c, c++, c#, java, bash, javascript, pascal, sml, f#, various basic dialects over the years and many more -- including markup like html, xml and what not), angle brackets are used for entirely different purposes.

      I get closures, functors and all that. And anon subs are really common in other languages too, like c# (they're called anonymous methods instead). It's still the worst/less readable function I've seen in any language thus far. Sorry.

      In fact, everything I've ever seen in perl seems downright hostile to a programmer. Like modes for opening files -- unless you do perl everyday, the difference between modes +> *has* to be looked up (hey, more angle brackets used in a weird way!). Every other language does it simpler. For example, in C#:

      FileStream fs = File.Open(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)

      Makes it obvious, without looking up anything, what it does (open a file, returns a stream), and also what the mode is, if it creates a new file if none is present and all. That's a LOT easier to read for 99% of the population.

    35. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      I often have these discussions that in perl/groovy/ruby/whatever you can write the same in just a few lines of code compared to 10-20 lines of Java. On which I always reply "exactly, and that's immediately the main problem with these languages."
      You don't need working code (well, it's a nice side effect if you get it right the first time), you need maintainable code.

    36. Re: Perl is more expressive by Anonymous Coward · · Score: 0

      Worth noting that using a modern language, the same things are just as "easy" and are far more readable.

      lines = lines.OrderBy(l => l.Name);

      var files = Directory.GetFiles(@"C:\Windows", "*.exe");

    37. Re:Perl is more expressive by Anonymous Coward · · Score: 0

      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.

      Eh...the first part is true.

      The second part, I see what you mean...but some of us preferred the old way better :)

      Not that perl is anywhere alone in this regard...just that "cramming a gazilion features into perl" is not how we do things...
      give me 200 separate utilities (please port them everywhere and maintain them!) and let me pipe stuff around...

      it does not fit every problem, but even then, unix shells are fugly...separate utils + a modern shell (that doesn't
      have to worry about any legacy compatibility) would go a long ways...

      I am in the minority I think...it "makes sense" but I still think far too many people nowadays, don't know any shell at all...
      no, not everyone is an admin, it is just strange to me.....all these commands at your fingertips, unused, just sitting there...

      it is not like learning "bc" or "find" and "xargs" is super hard...

      I have met many web developers (who know many things I don't too!) who are near-helpless at a command line...many bosses and managers with 20+ years experience too.....

      they are not dumb, they are not lazy, they are not ignorant of programming...maybe it is the progress of UNIX/Linux people can
      use it every day for years, not know a thing about the command line?

    38. 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. :-)

    39. 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.
    40. 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."
    41. 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."
    42. 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.

    43. 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.

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

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

    45. 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.

    46. 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.

    47. 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.

    48. 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
    49. 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
    50. Re:Perl is more expressive by phantomfive · · Score: 1

      True point.

      --
      "First they came for the slanderers and i said nothing."
    51. 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. 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 Anonymous Coward · · Score: 0

      And that is not the only similarity. Both Perl and Duke Nukem Forever have plenty of good one-liners.

    2. Re:Perl Forever by Anonymous Coward · · Score: 0

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

    3. 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".

    4. 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.

  8. Re: Not "Next" Christmas. by Anonymous Coward · · Score: 0

    You're right. Next Christmas is optimistic.

  9. 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 Anonymous Coward · · Score: 0

      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.

      "Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community."

      Larry Wall, State of the Onion speech, TPC4

    3. 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.

  10. 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.

  11. What are they doing? by Anonymous Coward · · Score: 0

    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?

    1. 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.
    2. 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.

    3. Re:What are they doing? by Anonymous Coward · · Score: 0

      Give you minty fresh breath all day long and unlimited sex with multiple, highly-desirable partners of your choice?

      Perl 5 already had this. Waiting for Python to catch up.

    4. 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.
  12. 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?

  13. But even better Christmas gift would be by postmortem · · Score: 0

    no new Perl.

    God, what a nightmare is to try to actually understand existing code from a different coder.
    Before you blame me for being my fault, trolling, etc... How come I don't have any problem with any other language?
    How come everybody sane I know avoids it as well?

    1. Re: But even better Christmas gift would be by Anonymous Coward · · Score: 0

      Because you think you know perl, but real only grasp the baby talk, and want to be using something else.

    2. 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?

    3. 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.

    4. Re:But even better Christmas gift would be by Anonymous Coward · · Score: 0

      I think the problem with bad perl code, is that at one point (early web) perl was very popular, so lots of newbees started writing perl code without actually knowing perl (not using strict being the worst example of that).

  14. 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 Anonymous Coward · · Score: 0

      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.

      Perl 6 is extremely flexible, and can do all of those things without a problem. In addition, you can wrangle the meta-models objects as you please, add new operators freely, include entire sub-languages in your scripts without source filters, redefine core functions, methods, and operators to suit your needs, derive from and extend any core object, create and use hygienic macros, and there's much more besides what I've just come up with off the top of my head. All without sacrificing introspection, since these are all supposed to be first-class operations instead of hacks like Perl 5 source filters. On the other hand, when you start to really play around with some of this things on this list, you'll notice Rakudo still has some major bugs and things that aren't yet implemented. We're working on it :)

    6. 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.

    7. 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.'"
    8. 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.
    9. Re:Perl lets me do what I want by enaso1970 · · Score: 1

      a
      b

  15. Python 3 is seeing great adoption. by Anonymous Coward · · Score: 0

    I take it you're not a Python user in any form. If you were, you wouldn't have asked such a dumb question.

    Python 3's adoption is going very well, in fact.

    It didn't negatively affect any existing Python 2 users at all. None were forced to upgrade against their will. Python 2 has seen continued maintenance to support these users.

    At the same time, Python 3 has been rapidly maturing. Libraries have been adopting it a good pace, and the implementation has stabilized very nicely. It's trivial to support both versions of the language, and there are even tools to automatically convert Python 2 code to Python 3 code with excellent results.

    Users have started to use Python 3 more and more for its better Unicode support, among other advantages. If they're porting a Python 2 code base, they aren't forced into unreasonable deadlines. They were able to migrate at a pace that suited them, thanks to Python 2 being maintained.

    As more and more users adopt Python 3, Python 2 will slowly fade out of existence over time. That's the ideal scenario; nobody suffered any negative consequences, and the entire community is now better positioned to move into the future.

    If you consider Python 3 to be a "disaster", then I don't even know what the Perl 6 debacle would be considered. It must be a combined tragedy, catastrophe, cataclysm, fiasco, wreck, and calamity, at the very least.

    We've been able to use Python 3 to build massive production software systems for years now. We can barely run a "Hello, world!" Perl 6 script at this point with Rakudo Star, which is like the third or fourth failed attempt at a Perl 6 implementation.

  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. Python 3 has been a great success. by Anonymous Coward · · Score: 0

    What exactly is it that you're trying to say here?

    Python 3's adoption is going very well, in fact.

    It didn't negatively affect any existing Python 2 users at all. None were forced to upgrade against their will. Python 2 has seen continued maintenance to support these users.

    At the same time, Python 3 has been rapidly maturing. Libraries have been adopting it a good pace, and the implementation has stabilized very nicely. It's trivial to support both versions of the language, and there are even tools to automatically convert Python 2 code to Python 3 code with excellent results.

    Users have started to use Python 3 more and more for its better Unicode support, among other advantages. If they're porting a Python 2 code base, they aren't forced into unreasonable deadlines. They were able to migrate at a pace that suited them, thanks to Python 2 being maintained.

    As more and more users adopt Python 3, Python 2 will slowly fade out of existence over time. That's the ideal scenario; nobody suffered any negative consequences, and the entire community is now better positioned to move into the future.

    If you consider Python 3 to be a "disaster", then I don't even know what the Perl 6 debacle would be considered. It must be a combined tragedy, catastrophe, cataclysm, fiasco, wreck, and calamity, at the very least.

    We've been able to use Python 3 to build massive production software systems for years now. We can barely run a "Hello, world!" Perl 6 script at this point with Rakudo Star, which is like the third or fourth failed attempt at a Perl 6 implementation.

    1. 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

    2. Re:Python 3 has been a great success. by Anonymous Coward · · Score: 0

      I switched to 3 and it's just fine at this point. Aside from the parens in print, most of the new features are very welcome.

    3. Re:Python 3 has been a great success. by Anonymous Coward · · Score: 0

      Imagine that. Somebody named "rubycodez" is clueless about how Python is used in the real world.

    4. 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.

  19. Who cares? by Anonymous Coward · · Score: 0

    Makes no difference to anybody. Who cares?

  20. There's more than 1 way to do it? by Futurepower(R) · · Score: 0

    Perl is a write-only language? There's more than 1 way to do it? But who wants to look through and understand all the interactions of all the ways?

    1. 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.

  21. 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
  22. Been a fan since 1999 by Anonymous Coward · · Score: 0

    Since graduating college in 1999, I've been a Perl fan. Yes, it's an awkward language, but one of Perl's mantras is "there is more than one way to do it'. One of Perl's greatest strength is that is doesn't tell programmers how to program. It allows creative programming, which for people like me (admittedly I'm not a great programmer), is a great thing.

    Perl is to the Linux and UNIX server admins the duct tape that makes creative systems creative. Beautiful language I hope never really ever goes away.

    Python has become the prom queen, but Perl is that slightly chubby girl with the wry smile that is always reliable and willing to go to the dance with you.

    God bless,

    Perl Man

    1. Re:Been a fan since 1999 by Anonymous Coward · · Score: 0

      Python has become the prom queen,

      Trendy, chatty, valley, like OMG everyone must pay attention to me!!!

      Yeah, that is the impression I get too.

      My impression of Python it is pushed as "friendly" everywhere but "advanced" enough for people who aren't
      noobs too...

      Which is not a bad thing either side of that...just the python proponents I met, don't seem to see any use
      case for anything else, ever...

      which is good for their needs, but doesn't fill all of my mine.

  23. 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.

  24. 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.

  25. 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.

  26. 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 Anonymous Coward · · Score: 0

      javascript is getting quite fast nowadays. In fact I'd be happier if the developers spent more time making perl5 as fast as the fastest javascript engines, than trying to produce perl6 (which will probably have a similar target market as common lisp except it'll be even tinier).

    3. 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.

    4. Re:Hurrah for performance improvements! by Anonymous Coward · · Score: 0

      Perl 5 can be faster than "naive" C for string stuff (unless you do fancy tricks).

      Javascript nowadays is faster than perl 5 for some stuff (and maybe getting faster? Seems like people are trying to reimplement "everything" in javascript on browsers ;) ).

  27. RUBYcodez, Ruby fan. You'll mature. Right tool for by raymorris · · Score: 0

    I see you chose the nick "robycodez" to declare your allegiance to Ruby. As you mature in your profession, if you choose to mature, you may find that information systems isn't high school football, and that what works best is to use the right tool for the job. The "fan" thing wears thin as the guy or gal in the office next to you produces validated, documented, elegant, efficient, maintainable, correct systems in half the time it takes with whatever language or vendor you've sworn allegiance to. You may find that he uses Perl for one thing, C for another, Python a week later, and the Python calls a .Net assembly, with translation between them done by declarative xslt. Right tool for the job, he may say, use the right tool for each job.

  28. Interesting comment. by Futurepower(R) · · Score: 0

    Interesting comment. Let's take that 1 step further. If you can't easily read programs written by students, doesn't that mean the teaching has been extremely inadequate?

    1. 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.

  29. 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.
  30. Perl for Christmas? by Anonymous Coward · · Score: 0

    We must have really been naughty.

  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. 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.

  33. Where is the video of Larry's talk? by Anonymous Coward · · Score: 0

    I'm spoiled. The Linux Conference Australia people get their videos of all 100+ talks out within days. I've not see the link to the video of Larry's talk. Anyone know where it is?

    1. 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.

  34. 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.

  35. 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
  36. 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.
  37. 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.

  38. 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.

  39. Re:given the state of python, ruby, haskell etc .. by Anonymous Coward · · Score: 0

    Given the state of python, ruby, Haskel, etc... It's not hard to imagine that Perl programmers are satisfied with what that had in Perl 5 and patiently waiting to see if Perl 6 is worth the upgrade.

  40. 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.
  41. '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.

  42. 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.