Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Perl Christmas Cheer Open Source Programming Upgrades

Perl 6 Gets Beta Compiler, Modules and an Advent Calendar (thenewstack.io) 131

An anonymous reader writes: A "useful and usable distribution of Perl 6" was released Saturday, a new beta version of the Rakudo compiler to support the coming production release this Christmas. And there's already 467 Perl 6 modules on the new archive at proto.perl6.org (though Perl 6 will also be able to load modules written in other languages). "Perl has a huge community of avid users that continues to thrive in spite of detractors," says one developer, pointing to new applications for big data, in a new article reporting that over one million people have downloaded ActivePerl's own Perl distribution just in 2015. And this week also saw the release of two new "Advent Calendars" of programming tips, one for Perl 5 and one for Perl 6.
This discussion has been archived. No new comments can be posted.

Perl 6 Gets Beta Compiler, Modules and an Advent Calendar

Comments Filter:
  • by JoeyRox ( 2711699 ) on Friday December 04, 2015 @08:27PM (#51060939)
    That's always a sign of a healthy and thriving development language.
    • by Anonymous Coward on Friday December 04, 2015 @08:45PM (#51061003)

      As somebody who has used Perl since Perl 3, I've been following the Perl 6 disaster on and off since its very beginning around 15 years ago.

      As somebody who also relished the fantastic Perl and CPAN communities of the 1990s, I'm sad to say that I've generally been quite ashamed of the Perl 6 community.

      First and foremost is their inability to get anything done. Seriously! They've fucked around with so many incomplete implementations now that I've lost track. Rakudo is just the latest failure in a long string of Perl 6 failures.

      Second is the way they've handled criticism of Perl 6. I see people on Reddit and HN make good points about how awfully Perl 6 has been handled, and these people are savagely downvoted by the Perl 6 community.

      Third is the way they claim that Python 3 was a disaster, when the opposite is clearly true. Python 3 improved Python 2 in important ways, it's well supported by libraries, it sees frequent updates and improvements, and most importantly they've been able to deliver stable production-usable releases for years! Python 3 has been a resounding success in a fraction of the time it has taken Perl 6 to go absolutely nowhere.

      Fourth is the way that Perl 6 isn't actually that much of an improvement over Perl 5, assuming that it actually is an improvement at all. This is difficult to evaluate because of the lack of reliable, complete implementations.

      Fifth is the way that they've tarnished the reputation of Perl as a whole. Now when people hear the name "Perl" they think of Perl 6 and its 15 years of screwing up. They no longer thing of the scripting language that, while maybe not the prettiest, was damn expressive and very effective to use. "Perl", which once evoked a sense of pride in many people now evokes a sense of disappointment and shame.

      Even if the language does turn out to be better than Perl 5, I don't think I'll even bother using it. I just don't want to have to deal with the people who make up its community!

      • I gave up on Perl around version 4 but still dabbled with it...and then version 5 came out, and my response was a resounding, "Hell no!"

        I watched perl go from a very cool, somewhat terse language to a complete clusterfuck of unimaginable proportions. When carp started crashing in response to a bad bug I realized that perl was only going to cause me more heartaches, headaches, and wasted hours of trying to track the problem to the offending line.

        And as much as people hate php, it's nearly impossible to crash

        • Re: (Score:3, Interesting)

          by Anonymous Coward

          I lost interest in Perl when they announced Perl 6 would be incompatible with Perl 5. If I'm going to have to learn a whole new syntax to stay current, why not just switch to a new language that isn't hated by half the planet? Now if they had released Perl 6 in a decent amount of time and it was good I might have gone back, but at this point I've moved on and so has everyone else.

          • by Anonymous Coward

            I almost held back from Python 3 because I kept having to type in print statements twice. Once without the parentheses, and then again to fix them :-)

        • Re: (Score:3, Interesting)

          by Crazy Taco ( 1083423 )

          With C++, Java, PHP, or C# there is usually at least some consistency to the code from programmer to programmer...but not with perl. There are probably 500 different ways to do any common thing ("Hello world!") and what is clever, clear, and obvious to programmer A is completely unreadable and opaque to programmer B. Yes, there may be "more than one way to do it" in perl, but trust me, that's not always a good thing.

          Hang on, you've obviously never coded much with C++ in the real world. I'll give you that Ja

          • by Anonymous Coward

            C++ is nowhere near as bad as Perl for consistency. For example, C++ has only one way to define a function which takes multiple arguments: the way defined by the language. Perl doesn't define any specific way to do this and so every developer implements it differently.

        • The Achilles heel of Perl is the references. Like in Java, JS and many others (PHP also but with copy-on-write) Perl should only have a references layer that is hidden from the dev perspective.
        • I gave up on Perl around version 4 but still dabbled with it...and then version 5 came out, and my response was a resounding, "Hell no!"

          I watched perl go from a very cool, somewhat terse language to a complete clusterfuck of unimaginable proportions. When carp started crashing in response to a bad bug I realized that perl was only going to cause me more heartaches, headaches, and wasted hours of trying to track the problem to the offending line.

          I think you must have had a couple of unusually bad experiences very early on. Perl 5 is in my experience (and god knows how many lines of Perl code I've written by now) a very mature and stable language. I can't recall an experience in which an error wasn't simple and straightforward to debug thanks to a clear error message pointing me to the exact issue in the code.

        • by serviscope_minor ( 664417 ) on Saturday December 05, 2015 @07:51AM (#51062275) Journal

          When carp started crashing in response to a bad bug I realized that ...

          Really? That sounds fishy to me.

          • Really? That sounds fishy to me.

            We, the jury, find the defendant gill-ty of terrible fish puns.

            (Or maybe I just needed more time to mullet over.)

      • by PerlPunk ( 548551 ) on Friday December 04, 2015 @09:44PM (#51061225) Homepage Journal

        Aha! A Python-eer in Perl-monger clothing!!

        O vile Apostate! May your Python 3 and all of its descendents forever live in the shadow of Python 2!

        Since the Apostate hath claimed to have been a devotee of Perl, let us, the faithful Perl-Mongers, treat him as the apostate he is and casteth his anonymous screed into the depths of -2 anonymity.

        May all the faithful cast aspersions and down-votes upon the vile post of the parent!

      • Python 3 has been a resounding success

        It's fractured the community for years, and probably will continue to do so for years to come.

    • I recently got hired (july) and found out I was to learn perl to maintain their current infrastructure.

      I'm 25% done with rewriting the infrastructure - and should be free of perl and autoit by this time next year.

      Sorry, While I appreciate a fan base carrying stuff on - perl is just.. ick.

      And the documentation - I looked online and say I could get documentation by just typing in dod, so I made the mistake of doing so, and page after page after page after page after page after page after page after page after

      • by spauldo ( 118058 )

        page after page kept paging in the dos window before I three fingered the pc and rebooted

        Wait...

        Do you mean you were actually using Perl in DOS, or that you actually rebooted a Windows machine rather than just close the command window?

        Care to rephrase? Because honestly, no one has had to do either in over a decade.

      • I recently got hired (july) and found out I was to learn perl to maintain their current infrastructure.

        I'm 25% done with rewriting the infrastructure - and should be free of perl and autoit by this time next year.

        Hang on ... you were hired to maintain code in a language you didn't know, and have responded by -- instead of learning the language and maintaining a mature code base -- by rewriting everything? And you're doing it all in Windows ...

        This all seems ... inefficient.

      • Maybe I'm missing something here, but if you're willing to chuck a whole codebase just because you don't know what a pager is, maybe your employer hired the wrong person.

        • Yep. At no place in my resume did I list perl. If they wanted the same disaster they should fire me. I'm 100% with you on that.

          They seem quite happy at my progress. Specially since I can actually do things without relying on silly things like having scheduled jobs and the stuff I coded already being much more efficient and faster might hinder me being fired.

          Crazy talk, I know. Clinging to perl is the only right solution. Cause like, there's tons of perl people out there that can step right in and Grok it.

    • That's always a sign of a healthy and thriving development language.

      Could you point me to exactly where detractors are "called out" in the release? I can see no reference to detractors, or indeed any external commentary -- good or bad -- in the release announcement.

  • by Snotnose ( 212196 ) on Friday December 04, 2015 @08:41PM (#51060997)
    I've used Perl since the first release, gotten pretty good at it 5-6 times over the years, and loved it for it's capabilities. But I've also become disgusted with the whole idea of There's More Than One Way to Do It. What TMTOWTDI means in the real world is that, if you have to maintain someone else's perl script, you're in for a world of hurt unless you're a guru at it.

    I don't want to bash perl, it was a great solution back in the day. But nowadays I tend to solve perl problems in either Python or Java (don't get me started on Java, please...). They may be a bit more inconvenient and awkward for some tasks, but when push comes to shove and I have to modify a script I've never seen before I don't have to pull 3 books off the shelf and thumb through them wondering "WTF?"
    • by Marginal Coward ( 3557951 ) on Friday December 04, 2015 @09:12PM (#51061097)

      I've used Perl since the first release, gotten pretty good at it 5-6 times over the years, and loved it for it's capabilities. But I've also become disgusted with the whole idea of There's More Than One Way to Do It. What TMTOWTDI means in the real world is that, if you have to maintain someone else's perl script, you're in for a world of hurt unless you're a guru at it.

      I, too, once loved Perl for its capabilities. Then, a couple of years later, I found Python. I haven't looked back. It's remarkable that two languages which are fairly semantically similar (you can do most of the same things in about the same way) have such converse philosophies: Perl has "There's More Than One Way to Do It" and Python has "There should be one-- and preferably only one --obvious way to do it."

      Even before I found Python, I became disenchanted with Perl for the fact that I found that I had to a comment on nearly every line of my own code to be able to read it later - much as I had learned to do with assembly language. In contrast, I use comments very sparingly in Python because it reads so beautifully.

      Therefore, it's hard for me to imagine why the world would ever need such a thing as Perl 6 - and particularly why the world was supposed to wait 15 years for the privilege. Oh, I forgot...you get to use braces...

      • by JustAnotherOldGuy ( 4145623 ) on Friday December 04, 2015 @09:32PM (#51061169) Journal

        I found that I had to a comment on nearly every line of my own code to be able to read it later

        Yep...I go back and look at old perl stuff I wrote 4 or 5 years ago, and I swear to god it looks like line noise. I couldn't debug one of my own programs now to save my life.

        • by KGIII ( 973947 )

          The best part is you can append gibberish to it and tell everyone that you've done lots of work and nobody will know the difference. Hell, it might actually do something useful!

          I am going to admit that I write (or have written) some Perl. I've even given it away. I'd also like to take this time to apologize for my Perl.

          I wrote a "safe list" script for a friend, it was really damned simple. People signed up and sent email messages to each other for the purposes of MLM - that's not why I wrote it, that's just

          • A little part of me is kind of proud of that but my formal statement is, indeed, an apology.

            Lol, yup, this is how a lot of potentially insecure code propagates. And not just perl, of course, but php, python, java, ruby, etc etc etc.

            I remember seeing a perl script that passed the database queries around in the URL as a parameter. Something like "http://domain.com/foo.pl?query=SELECT%20name%20FROM%20users%20WHERE%20userid=123"....

            That one made my head explode. He should have just named the script "HACKME.pl".

            • by KGIII ( 973947 )

              Mine wasn't quite that bad but you had a hard link to the admin page which could be brute forced. Passwords were kept in passwords.txt and adminpass.txt (or something like that - it's been a *lot* of years). You were *supposed* to change the directories AND names but I don't think anyone who "borrowed a copy" ever did - they also didn't change permissions or deny folder access or do any of the suggested things. If they edited it at all it was to remove my name from the bottom where the link my buddy had was

              • It was horrible. I laughed. Oh did I laugh. I am, of course, a wee bit sorry for the resultant mayhem.

                Lol, it's like committing a heinous crime for which there is no penalty and that you can't be held responsible for.. :)

      • I use comments very sparingly in Python because it reads so beautifully.

        Not if you have Nystagmus [wikipedia.org]

      • It's remarkable that two languages which are fairly semantically similar (you can do most of the same things in about the same way) have such converse philosophies: Perl has "There's More Than One Way to Do It" and Python has "There should be one-- and preferably only one --obvious way to do it."

        Not that remarkable -- there's more than one way to think about code, after all :) I think most people will always fall into one camp or the other, and it's probably a good thing that the choice is available.

        • I agree wholehearted. In fact, I've often likened writing in Perl to a circus performer walking on a high wire without a net: it's quite entertaining to watch, and I'm glad folks have the opportunity to impress us with their skill and daring in the face of danger but I'm glad I don't have to do it myself. In fact, if I were up there, I'd want a close net, a safety harness, and a really, really, thick wire. (Thanks, Python!)

      • There should be one-- and preferably only one --obvious way to do it."

        Except that's rubbish. It's the nature of programming languages that there are almost infinite ways to do anything. Take python. How can you iterate over an array? Well, there the for loop, there's a for loop using indices, with either range or xrange, there's while loops with indices, there's list comprehension and straight up recursion.

        That's 6 ways of doing the most basic of things which I can think of off the top of my head and we ha

        • Although you did pick up on the important word "obvious," you missed another important word: "should." Notice that it isn't "must." It's more of a goal than a hard-and-fast rule.

          I don't think we should take any of the Zen of Python too literally. In that vein, Tim Peters gives us a little wink in that regard with his next line, "Although that way may not be obvious at first unless you're Dutch." (Guido, the inventor of Python, happens to be Dutch.)

          Part of the process of learning Python involves learning

          • Although you did pick up on the important word "obvious," you missed another important word: "should." Notice that it isn't "must." It's more of a goal than a hard-and-fast rule.

            Dude, you're the guy who can't read your own code. You're not one to be philosophizing about what a programming language "should" be.

            • Lemme guess: you're one of those "geniuses" who thinks that the assembly code (and Perl) they write is so obvious that it doesn't need any comments...

              I used to read comp.lang.perl many years ago and soon became horrified at they way Tom Christensen consistently skewered any newbie who wasn't as much of a genius at Perl as he was. (Kindda makes you wonder why he ever bothered to write a book about it if he didn't want to teach newbies.) I've always wondered: what is it about Perl that attracts "geniuses" l

              • Assembly code? Maybe not (although modern assemblers are a lot easier), but seriously, if Perl code is hard to read, it's the author's fault.
                • ...but seriously, if Perl code is hard to read, it's the author's fault.

                  Now, let's be nice to Larry Wall. It's not all his fault. He's actually made a tremendous contribution to programming languages by helping jump start the web via Perl/CGI, and by popularizing many good ideas in programming languages. Most importantly, Guido van Rossum might have made many more mistakes in Python if he didn't have Perl as a counter-example. So, God bless() him.

                  • Most importantly, Guido van Rossum might have made many more mistakes in Python if he didn't have Perl as a counter-example.

                    Hmmmm I see your point.
                    I don't know that Guido could have made any more mistakes than he already did, though. He made Python, after all.

                    • Sounds like we'll have to agree to disagree on our preferred scripting language. But I'm curious: which things do you feel are the most mistaken about Python? (Besides blocks-by-indenting - practically anyone who dislikes Python cites that as a showstopper for them so I'll go out on a limb and guess that it is for you, too...)

              • On the other hand, you did find a way to make it readable, even if it was by using tons of comments, so you'd probably be a good person to have as a coworker.
      • Even before I found Python, I became disenchanted with Perl for the fact that I found that I had to a comment on nearly every line of my own code to be able to read it later

        Do you realize this makes you look like a sucky programmer, and invalidates your expertise in the rest of the program? Seriously, if you had to comment every line to understand your own code, the problem was you. You should have looked at your code and said, "What was wrong with me?"

      • by jbolden ( 176878 )

        The argument for Perl6 was to fix a lot of problems that scripting languages in 2000 were suffering from. For example no effective way to compile them. No way to run them safely (i.e sandboxing). No way to run multiple scripting languages on multiple environments.... Those were good objectives to solve. The project just took way too long.

        • Coincidentally, you answered something I was wondering about: what niche is Perl 6 supposed to serve? I like the idea a scripting language that is designed for compilation, but I wonder how well that would actually work in practice. Various compilers are available for Python, though they don't seem to have caught on - presumably because the speed benefits aren't compelling. Facebook created a PHP compiler of some sort, which I assume they use. Fundamentally, though, the basic principles of a scripting l

          • by jbolden ( 176878 )

            The compilation system for Perl is/was a bit more sophisticated. Parrot would be designed for dynamic languages and thus support types further abstracted from machine types natively: hash or arbitrary length string for example. Thus the compilation to Parrot wouldn't require static variables. .NET incidentally does some of this but doesn't have quite the same levels of support for dynamic languages.

            It is BTW intriguing. Perl if it works will be a huge step forward even today. But of course .NET already

            • Thanks, that was also interesting. I don't know much about Parrot or other virtual machines, but now that .NET has been opened up by Microsoft, I could imagine someone porting it to Parrot if it offers some sort of run-time advantage. Got any thoughts on that?

              • by jbolden ( 176878 )

                They aren't close enough. OTOH the .NET compiler is extremely sophisticated for in terms of what it allows statically typed languages to do. I think a cross platform C#, and other languages would be terrific. Heck now that Microsoft doesn't own it, you could build a Java compiler that takes all the code and makes it run 2-3x times faster with enough work.

    • I've used Perl since the first release, gotten pretty good at it 5-6 times over the years. . .

      That's a bit like saying "I've gotten pretty good at riding a bicycle 5-6 times over the years." Once you learn how to ride a bike, if you go back to it after 20 years of not riding it, you still remember how to ride it.

      What I'm saying here is that there is a certain depth of the language that is more in the realm of intuition and nature rather than syntax but yet is integral to the language itself. If you achieve that depth, you never have to get good at it again. But if you never reach that depth, like th

      • That's a bit like saying "I've gotten pretty good at riding a bicycle 5-6 times over the years." Once you learn how to ride a bike, if you go back to it after 20 years of not riding it, you still remember how to ride it.

        You still remember how to ride it. That's far from actually being good or even okay at it. The same goes to all skills: use them or lose them.

        This is even more true when the design of the tool in question has gone over six major iterations in those 20 years.

    • by GuB-42 ( 2483988 )

      Still, Perl is unmatched for throwaway scripts.
      Python has disappointed me. It looks cleaner, it has a faster learning curve but in the end, when things become more complex, I tend to run in the same problems with both languages, mostly related to weak typing. It feels like of a schizophrenic language, offering a clean (but inconvenient) syntax on a messy (but convenient) core.
      Java is the complete opposite of Perl. So much that I don't understand how one can use it to solve Perl problems unless that's all yo

    • by jbolden ( 176878 )

      TMTOWTDI was a core idea behind Perl. Perl was designed to allow people migrating from multiple tools to do things their way. Compare 20 lines of Perl to a hodgepodge of C, Bash, TCSH, CSH, Sed, Awk, and a few other command line utilities. That's what it was replacing

    • People keep saying that TMTOWTDI is harmful but nobody ever bothers citing a single example where there are actually more than two obvious ways of doing something.

      This rather irritates me. So please provide a concrete example where TMTOWTDI is harmful.

  • by KermodeBear ( 738243 ) on Friday December 04, 2015 @08:55PM (#51061045) Homepage

    Perhaps it was momentary insanity, but I expected the syntax of Perl 6 to be more readable and less obstuse. Looking through the Perl 6 advent calendar, I noticed that, somehow, the people working on Perl 6 seem to have made it even worse.

    Perl will always be the ugliest language in the world.

    • Different intent (Score:4, Interesting)

      by Okian Warrior ( 537106 ) on Friday December 04, 2015 @09:31PM (#51061165) Homepage Journal

      Perhaps it was momentary insanity, but I expected the syntax of Perl 6 to be more readable and less obstuse. Looking through the Perl 6 advent calendar, I noticed that, somehow, the people working on Perl 6 seem to have made it even worse.

      Perl will always be the ugliest language in the world.

      Perl isn't meant to be simple, it's meant to be expressive.

      A simple language is wordy, requires a lot of typing and keywording to express a thought. Cobol has things like "move a to b", which is simple and readable, but requires a lot of typing. Basic has things like "for index = 1 to 10 step 2" which is very readable, but requires you to type out "step" and "to".

      Perl is meant to be terse and expressive, which in practice means that things you typically want to do in programming can be called out in short sequences. Larry took a look at all the things that programmers want to do and encapsulated them in the syntax as a sort of short hand notation. Sort of like how emacs macros do complex things tersely, which could also be done with a bunch of keystrokes.

      Perl is also a non Von Neumann [wikipedia.org] language, meaning that it does not reflect the underlying Von Neumann architecture. It focuses on functionality instead of the machine, and as a result things like file operations are part of the syntax and not a library call.

      For example, variables do not represent memory areas like they do in C. This allows Perl to do things like automatic allocation and garbage collection, and be unicode compliant. (Characters are not specifically 8-bit entities in Perl.)

      This means that a lot of what you do in Perl is completely portable across architectures. File I/O and filename searching are part of the language, and thus not architecture specific.

      Sometimes these are important. Being able to run on multiple architectures, or getting a prototype up and running quickly, or not having to debug allocation errors makes the act of programming more efficient.

      ...but at the cost of requiring the programmer to know a more complex syntax.

      • by KermodeBear ( 738243 ) on Friday December 04, 2015 @09:34PM (#51061177) Homepage

        > Perl isn't meant to be simple, it's meant to be expressive.

        I can express myself by writing a comment, or I can run down the middle of my town naked with peanut butter smeared all over me while shouting gibberish.

        I know which one I am doing right now.

        • > Perl isn't meant to be simple, it's meant to be expressive.

          I can express myself by writing a comment, or I can run down the middle of my town naked with peanut butter smeared all over me while shouting gibberish.

          I know which one I am doing right now.

          If you need language constraints on your programming style to prevent you from, metaphorically, running around naked and screaming gibberish, then Python is right for you.

        • Re: (Score:3, Funny)

          by wwalker ( 159341 )

          I can express myself by writing a comment, or I can run down the middle of my town naked with peanut butter smeared all over me while shouting gibberish.

          Hi, neighbor, you missed a spot.

        • by KGIII ( 973947 )

          There's something to be said for ubiquitous mobile connectivity! I still want to know how you typed so well while running?

          Hmm... I do remember some freakish dude who tooled around on a recumbent bike a long, long time ago (in tech years). He had cellular connectivity, a helmet, and a computer mounted on his bike. He typed with a few buttons on either handlebar and had some early HUD-like thing. I think he was based out of Ohio but I'd not swear to it. He was unusual. He was even using cellular connectivity

      • Re: (Score:3, Interesting)

        Perl isn't meant to be simple, it's meant to be expressive.
        A simple language is wordy, requires a lot of typing and keywording to express a thought.

        Interesting point, but when I first learned Python many years ago, I converted my set of useful Perl scripts into Python, partly as a learning exercise. I was surprised to learn that each one was smaller in terms of both number of lines. After doing a post mortem, I realized that the elimination of braces more than made up for Python's more explicit keywords.

        That said, I would never claim that one can create powerful "one liners" in Python as one famously can in Perl. But I consider that a feature.

        • by Anonymous Coward

          This is why you write everything on the same line and don't waste perfectly good lines on braces. You just perl wrong.

        • Interesting point, but when I first learned Python many years ago, I converted my set of useful Perl scripts into Python, partly as a learning exercise. I was surprised to learn that each one was smaller in terms of both number of lines. After doing a post mortem, I realized that the elimination of braces more than made up for Python's more explicit keywords.

          That's interesting, and on reflection, I think you're right.

          I've used a lot of programming languages. (There are over 60 mentioned on my CV.) Without getting into the language pissing contest, it suggests that "number of lines" isn't necessarily the measure of "terseness" that most people want. The main measures for me are: How much information can fit on a screen, and how much effort does it take to say what I want to say?

          In modern editors with smart autoindent it takes the same number of keystrokes to do

      • by mbkennel ( 97636 ) on Saturday December 05, 2015 @01:34AM (#51061761)
        | A simple language is wordy, requires a lot of typing and keywording to express a thought. Cobol has things like "move a to b", which is simple and readable, but requires a lot of typing. Basic has things like "for index = 1 to 10 step 2" which is very readable, but requires you to type out "step" and "to".

        I have learned how to type and I can type "step" and "to" rather quickly now, and certainly remember what they mean, a whole bunch faster than remembering what ^%::() means, right now in this file in this programming language given that I have to sort of remember 5-7 of them for my job.

        I'm just an ordinary human with an ordinary human neocortex. Us in the hoi polloi have evolved brain circuits for natural language which have been trained to recognize sequences of letters known as words, and we've learned what they mean somewhat automatically since we were about 4 years old.

        Note that when we have to explain "for index = 1 to 10 step 2" we don't say,. 'well of course it really means j/x&&*10(2)", but instead we use the communication protocol which has words in it. A cortex is not lex and yacc.
      • by Anonymous Coward

        #A simple language is wordy, requires a lot of typing and keywording to express a thought.

        bah, a simple language is clearer and more readable, and that is the key to understandability and maintainability.
          we dont need to save individual keystrokes in 2015. There's nothing that perl can do that cant be done in a more
        understandable way in an equivalent language. The 90s are long gone and we have many better alternatives, buh-bye to perl.

      • by Anonymous Coward

        Perl isn't meant to be simple, it's meant to be expressive.

        Obfuscated is not expressive, it is actually pretty much the opposite.

      • This allows Perl to do things like automatic allocation and garbage collection, and be unicode compliant.

        Exactly! That's exactly why slashdot was written in Perl!

    • You see, I had a perl necklace joke thing goin' right there and you assed it up...

      Crazy good sig.

  • The Zen of Perl (Score:5, Interesting)

    by Marginal Coward ( 3557951 ) on Friday December 04, 2015 @09:34PM (#51061179)

    After observing above that Perl and Python have converse philosophies on the point of "There's more than one way to do it," I realized that a Zen of Perl could be formulated by creating the Zen of Python's [python.org] evil twin:

    Ugly is better than beautiful.
    Implicit is better than explicit.
    Complex is better than simple.
    Complicated is better than complex.
    Nested is better than flat.
    Dense is better than sparse.
    Obscurity counts.
    Special cases aren't ordinary enough to follow the rules.
    Although obtuseness beats clarity.
    Errors should sometimes pass silently.
    Unless you tell them to die.
    In the face of ambiguity, refuse the temptation to delineate.
    There's more than one way to do it.
    Although those ways may not be obvious at first unless you've consulted the manual.
    Fifteen years is better than three.
    Although never is often better than *fifteen* years.
    If the implementation is hard to explain, it's a good idea.
    If the implementation is easy to explain, it may be a bad idea.
    Namespaces are one honking good idea -- let's use as many as possible!

    Presumably, this applies to Perl 6 as much - if not more - than to Perl 5. Otherwise, exactly what sort of "improvement" is Perl 6?

    (with apologies to Tim Peters for applying a little Artistic License to his fine work.)

  • by Marginal Coward ( 3557951 ) on Friday December 04, 2015 @09:36PM (#51061193)

    I look forward to the day that Slashdot is rewritten in Perl 6. Heck, maybe it can even be used to breathe life back into the late great Beta.

  • If you were to learn a new scripting language today, would you start with Perl or Python?
    • by Anonymous Coward

      I'd start with Javascript. It's not just for making annoying websites anymore. In the last five years it has gone though some amazing advances, culminating in ECMA6 this year.

    • Can we please add suicide as a third option?

    • I'm actually faced with this dilemma now, and I'm strongly considering Perl 6. I have to do a considerable amount of work with configuration files and text parsing as part of my job, and I'm willing to bet Perl can still do that better than anything else if I can achieve enough mastery in it, since that's basically what it's designed for. And Perl 6 is supposed to finally be adding objects, which was one of my big turn offs for Perl 5, so I'm hoping it will be a good fit for me. Also, I'm often under the gu

      • by spauldo ( 118058 )

        If you're doing text manipulation, Perl's probably the way to go. The base language is set up well for it, and CPAN is full of text manipulation libraries.

        I'd never suggest Perl as a first language, but it sounds like you've got other languages under your belt already.

        I'd hate to use it outside of UNIX, though. Perl's very UNIXy. But I came to it as a sysadmin, not as a programmer, and I use it as a glue language more than anything else, so maybe that's just me.

        Perl 5 has objects, BTW. The syntax is jus

        • ES6 is moving JS closer to looking like Java. ES7, due out next year, does so even more. With Babel & Webpack, you can use ES6 today.

          • by spauldo ( 118058 )

            Yeah, I saw that. It's definitely a step in the right direction.

            Javascript is schizophrenic to the extreme. It's always struck me as a poorly implemented LISP that was pounded into something that looked like C. It's not so horrible once you get to know it, but learning it was a major pain in the ass.

            My university is considering making it the first language they teach. I suggested to the instructor that it was probably not a good idea.

    • If you were to learn a new scripting language today, would you start with Perl or Python?

      no, i wouldn't start either. instead i would start with learning POSIX shell scripting because it will run on anything remotely POSIX-y.

      • Agreed.

        When you have to do flips to find ount something like

        if ($foo ne "Email") fails when you read a line in because while it is Email only without the quotes, there' s something wrong.

        And in strawberry, why can't you use say ? say is supposed to let you print without having to do \n.

      • by dskoll ( 99328 )

        POSIX shell scripting is all fine and dandy until you deal with filenames with spaces in them, at which point it's nothing but tears. Shell script variable substitution is a real pain to get working in all situations.

  • But.. but... what about the separation of Church and Perl?

  • by Crazy Taco ( 1083423 ) on Friday December 04, 2015 @11:59PM (#51061563)

    It's funny how everyone here says "No one is going to try that". Actually, Perl 6, if it releases by Christmas, will probably be the hottest language around in the next year or two. And I'm not necessarily saying that because of it's merits (which I have not definitively assessed one way or the other). I'm saying that because developers are pretty much all about "Hey new shiny thing over here!".

    It seems like pretty much every time a new language drops there's a stampede to it by developers just because its new. Hey, Ruby on Rails! Hey, there's C# over there! Hey, F#! Hey, Erlang! Hey, Javascript framework of January! Hey, Javascript framework of February! Hey, Javascript Framework of the second half of February! Whoa look, it's Coffeescript! ......... Hey, it's Perl 6!

    Some of these of course are decent languages and frameworks and have staying power... others, perhaps not as much. We'll know after five years or so where Perl 6 is going to end up. But don't underestimate the ability of developers to stampede at something for no other reason than that it is new. I expect considerable chatter at some point just because it's the new kid on the block.

    • No. Perl is not new no matter how much they tard [sic] it up. It's a great language for scripts and text manipulation that a bunch of hack sysadmin types started writing inappropriately large apps in.

      Perl is the pinnacle of what a perl based language can be and nobody halfway smart will lock themselves into perl again.

  • by dskoll ( 99328 ) on Saturday December 05, 2015 @09:48AM (#51062595) Homepage

    I develop and maintain a product with a medium-sized code base in Perl 5. We have pretty thorough style and coding guidelines and the Perl is quite readable and maintainable. One of the nicest things about Perl that hardly anyone mentions is POD --- the abiility to put documentation right in the .pm files. This makes it much easier to keep the docs and the code in sync.

    But yeah, Perl 6 is a disaster and some of its ideas have started to infect Perl 5 modules with ridiculously baroque and over-engineered code (I'm talking about you, Moose.)

    Anyway, even the Perl 6 people admit that Perl 6 is not an upgrade to Perl 5, but a different language. So I'll ignore it and continue reasonably happily on Perl 5.

  • What happened to the parrot?

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...