Slashdot Mirror


Larry Wall On Perl 6, Language Design, and Getting Kids To Code

M-Saunders writes: Perl 6 has been a long time in the making, but Larry Wall, the language's chief developer, now says it should arrive in time for Christmas. In this interview with Linux Voice, Wall explains why Perl 6 took so long, and describes how his background in linguistics influenced the design of the language. He also discusses ways to get kids interested in coding, and notes that Python has done a better job so far in this respect.

133 comments

  1. In other news.. by BVis · · Score: 0

    Perl still exists.

    --
    Never underestimate the power of stupid people in large groups.
    1. Re:In other news.. by Anonymous Coward · · Score: 0

      In other news....user BVIs is someone who doesn't work in any sort of systems role.

    2. Re:In other news.. by dintech · · Score: 3, Funny

      If I have children, before they are allowed to use the internet, the first thing I'll do is educate them to be careful about the dangers of Perl.

    3. Re:In other news.. by NoNonAlphaCharsHere · · Score: 3, Funny

      Sure, I'd let my kids play with used syringes and loaded guns, but Perl?? Whaddya think I am, a bad parent?

    4. Re:In other news.. by Anonymous Coward · · Score: 1

      Perl 5 is still widely used, continues to be updated, and is still one of the best text processing languages out there.

      Perl 6 on the other hand is the Hurd of programming languages. This was not unexpected though. You can't take a project that had existed for over a decade and then redesign it from the ground up. That almost never works because it's a huge, impossible, endeavor. Hence, Perl 6.

    5. Re:In other news.. by bytesex · · Score: 1

      Exactly. There is one big danger in programming and that is... well, there are *two* big dangers in programming and those are... Anyway, *amongst* the biggest dangers in programming we find the problem of parsing. Combine things like BER encoding (responsible for such wonderful not-at-all critical things like SNMP and X509), and languages like C (I absolutely love C, mind) and well.. you have the cocktail you have today. No, but absolutely not a single language at all took the hint from perl and made a semantic description of a parsing problem a core primitive of a computer language. They should have - I absolutely *crave* a compiled system-language that can do what perl can do with regexes and string-packing.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    6. Re:In other news.. by citizenr · · Score: 0

      writing in perl is great for job security, no one will be able to decipher your spaghetti garbage.

      --
      Who logs in to gdm? Not I, said the duck.
    7. Re:In other news.. by aberglas · · Score: 1

      +1. Drugs are far safer than Perl.

    8. Re:In other news.. by Anonymous Coward · · Score: 1

      God. Ain't that the fucking truth. I have to code with that shit at work. It's bad. Very bad.

      Basically if your go-to language for anything other than UNIX scripting type shit or _very_ simple CGI scripts is Perl you are an asshole. An unmitigated fucking asshole.

      I fucking hate Perl now. It's great for its intended purpose but unfortunately a bunch of assholes sysadmins who can't code thought they could code and started cranking out larger and larger "apps" with Perl. Fuck them, and fuck Perl. It's a shit, read-only language that has no place outside of a very narrow niche for basic, short automation.

    9. Re: In other news.. by Anonymous Coward · · Score: 0

      Oh boy. Perl is a perfect tool in the hands of a real software engineer. Just because you and your colleagues don't fit the bill means nothing.

    10. Re: In other news.. by Anonymous Coward · · Score: 0

      The perl interpreter should limit itself to 10 lines of code max, get in, open file, parse, regex, etc. close get out. Anything else go to Python.

    11. Re:In other news.. by david_thornley · · Score: 1

      I told my son that I could deal with drugs and porn, but if I ever see him with a COBOL manual, we're going to have a talk about it.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    12. Re: In other news.. by Anonymous Coward · · Score: 0

      Lol. Sure it is. All the cool kids use Perl, grandpa.

    13. Re:In other news.. by otavio.pereira · · Score: 1

      writing in perl is great for job security, no one will be able to decipher your spaghetti garbage.

      If you do this in Perl you can do it in any language! Bad practices apply to any language.

    14. Re:In other news.. by Anonymous Coward · · Score: 0

      It's a shit, read-only language

      FTFY: It's a wonderful, write-only language

    15. Re: In other news.. by Anonymous Coward · · Score: 0

      Nope, cool kids do drugs. Cool programmers do perl.

  2. I'd be a Walmart greeter by Anonymous Coward · · Score: 0

    Before I'd ever code in Perl.

    1. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Before I'd ever code in Perl.

      First you have to get a job. Then your opinion will be worth more than a wino's spit.

    2. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Do you sell toy rifles with scopes? I'd like to get one for my nephew.

    3. Re:I'd be a Walmart greeter by Jawnn · · Score: 5, Informative

      Before I'd ever code in Perl.

      One of the defining traits of a skilled craftsman is her ability to choose the right tool for the job. In other words, not everything is a nail, rookie.

    4. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Some tools are never right.

      That applies both to tools and "tools".

    5. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Of course we do, fine customer. Would you like that toy rifle with scope to fire AirSoft BBs, steel BBs or .22LR? We recommend steel BBs because they can put an eye out, but are much easier to find in stock than .22LR ammo.

    6. Re: I'd be a Walmart greeter by Anonymous Coward · · Score: 1

      I think he was just describing his chances to land either position.

    7. Re:I'd be a Walmart greeter by Jawnn · · Score: 2

      Some tools are never right.

      That applies both to tools and "tools".

      If you are talking about perl, you are not in the "skilled craftsmen" group. For certain jobs, it is unparalleled. Now pick up your hammer and start whacking those nails.

    8. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      As someone who used to extensively program in perl, I've moved on and have seen other do so too. It is not that perl is bad, or that there isn't some really narrow cases where it blows things away, but that in the real world there are often more requirements than just text manipulation & regex, and other languages have edged in enough that often other requirements become more important. A rookie might see everything as a nail that needs a hammer, but that doesn't mean every screwdriver is equal. And there is a cost in terms of maintenance and staff to have a wide variety of languages in a particular shop, not as easy as having a wide variety of screwdrivers. So some compromises get made, and it seems the edge perl in many cases is not enough to displace languages that have other edges.

    9. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 2, Insightful

      There is quite a bit of hate for Perl, and I think this is because it has become one of those things where groupthink is largely to blame. i.e. if you don't hate Perl, you're not one of the cool kids.

      The sad thing is, I can't think of a better tool for processing text easily and efficiently. Not only that, but Perl is excellent for "one liners", whereas python is just a bear at that task by comparison.

    10. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      I can't think of a better tool for processing text easily and efficiently. Not only that, but Perl is excellent for "one liners", whereas python is just a bear at that task by comparison.

      I can't agree more. Perl's reg ex library just plain makes me happy. While Python is handy for some things (I occasionally use Sage for some number theory computations, which is incredible), I absolutely hate Python. Those stupid colons and the god forsaken tab indentations drive me up the wall.

    11. Re:I'd be a Walmart greeter by david_thornley · · Score: 1

      I don't understand hating languages you don't have a personal connection with. I tried Tcl and Prolog, and came to the conclusion that I didn't like either. I found a simple solution: I don't use them. I've written plenty enough COBOL to have a personal connection, and that's a language I really dislike. Why would I waste time and energy hating a language I've never really used, when I have Perl and C++ and Common Lisp implementations for the stuff I want to do?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    12. Re:I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Perl is crap for "one-liners", because after you've compressed something into an utterly unreadable "one-liner", nobody can ever change it because it's damn gibberish, and most Perl scripts I've seen are actually slower than an equivalent implementation in supposedly-slow shell scripts.

    13. Re: I'd be a Walmart greeter by Anonymous Coward · · Score: 0

      Because you are stupid.

  3. DNF only took 15 years by Anonymous Coward · · Score: 0

    Their devs obviously rushed it to market compared to Perl 6.

  4. To teach kids to code you need an incentive by Wycliffe · · Score: 5, Insightful

    Growing up in the early 80s on an apple II, one of the things that helped me learn to code was that I could edit and modify existing code like Oregon Trail to cheat. It also helped that there was a limited amount of other things. We didn't have 24 hour kid cable channels so once I got bored then I needed something else to do. I see the same things in my kids. They love kodable on the ipad because it gives them a new character every time they completed a level. A similiar game cargobot they aren't interested in at all because it doesn't have any rewards. I also notice that when they are grounded from their playstation is when they immediately start reading more books, playing the piano more, exploring new apps on my ipad, going outside more, etc... Just like adults, kids are going to gravitate towards what is most enjoyable at the moment and unlike adults they have very little concept of delayed gratification so doing something for their future self is not on their radar. The best way to get kids to want to code is give them something they can do with it whether it is control a robot, create a webpage to show off to their friends, etc... When I was in school alot of kids knew basic javascript and html because that was the only way to have a geocity webpage. Facebook and the likes have allowed kids to have a presence on the web without any need to code. It's still possible to get kids interested in coding if you can show them "cool to them" stuff they can do with it.

    1. Re:To teach kids to code you need an incentive by Anonymous Coward · · Score: 0

      Goodness. Please use the return key in breaking up brick walls. It makes reading much more pleasant.

    2. Re:To teach kids to code you need an incentive by temcat · · Score: 4, Funny

      You should give him an incentive to do it.

    3. Re: To teach kids to code you need an incentive by Anonymous Coward · · Score: 0

      It was a meaningful post, and you had to add your moronic haiku. Moving your eyes is that hard?

    4. Re:To teach kids to code you need an incentive by fluffernutter · · Score: 1

      Doh! My dad and I used to spend hours copying machine code from the pages of Byte magazine, only to get a little blip in the middle of the screen instead of seeing the glory that was 'Ring Quest' ! Where were you to fix our code??

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    5. Re:To teach kids to code you need an incentive by fyngyrz · · Score: 1

      The incentive is there, and the person you're replying to simply pointed it out.

      To explain it somewhat differently, the OP will receive additional readers for each bit of readability added.

      It's just that the OP -- and you, apparently -- don't fully understand the game yet.

      By the way, failure to understand the value of readability may be due to too much coding in Perl. :)

      --
      I've fallen off your lawn, and I can't get up.
    6. Re:To teach kids to code you need an incentive by mlw4428 · · Score: 1

      I find these kinds of replies often. However I always wonder: did your parents try and get you to learn how to code or was that something you did yourself? Perhaps the whole premise of "getting kids to code" is a faulty one. The kids that WANT to code will do so on their own. Many of us started coding and it's not like we had a massive amount of push to do it. It was fascinating, empowering, and an interesting challenge. Also there's the whole idea that parents are lame and their ideas of fun are lame. Perhaps we could just let kids do what we all did: discover the real magic behind computers on our own and THEN seek out guidance versus having it thrust at us like it's a job?

    7. Re:To teach kids to code you need an incentive by SvnLyrBrto · · Score: 3, Interesting

      Likewise. I learned a fair bit of my early programming (And a good bit of math too. Though I guess you can argue that programming is math. But they're still separate skills in my head.) from opening up Apple ][ game files and modifying the code to cheat too. And not just games. I also knocked up programs to open up the data files from some of those educational programs they used in school and pull the answers to the math and english quizzes they made us take. Sorry Mrs. Brown. But those quiz programs you thought were challenging problems were weak sauce compared to Rocky's Boots and Robot Odyssey.

      I wonder how many kids are losing out in these days of developers' policies that: "Our code is ours, now and forever. You may never look upon it or change the way it runs in any manner whatsoever. And by virtue of that code, we may also screw with your hardware or online accounts.". Mess with their precious code, and Valve will flag your account as abusive and lock you out of some games. Microsoft will brick your xBox. Some companies (Sony, for one.) will actually sue you. It's pretty sad. I'm far from being an RMS acolyte. I don't think of "free software" as some kind of moral imperative. But does really bug me when corporations actively attack people for tinkering with the hardware or software they paid for.

      --
      Imagine all the people...
    8. Re:To teach kids to code you need an incentive by Anonymous Coward · · Score: 0

      Woosh...

    9. Re:To teach kids to code you need an incentive by Wycliffe · · Score: 1

      I find these kinds of replies often. However I always wonder: did your parents try and get you to learn how to code or was that something you did yourself? Perhaps the whole premise of "getting kids to code" is a faulty one. The kids that WANT to code will do so on their own. Many of us started coding and it's not like we had a massive amount of push to do it. It was fascinating, empowering, and an interesting challenge. Also there's the whole idea that parents are lame and their ideas of fun are lame. Perhaps we could just let kids do what we all did: discover the real magic behind computers on our own and THEN seek out guidance versus having it thrust at us like it's a job?

      My point was not to try to push kids to code but give them a carrot so they want to code. I installed kodable on my ipad several years ago and just left it there for them to discover and they only recently took an interest in it. I also have scratch and a few other games installed that they dabble with but haven't really got in to. Many of the apps my kids like are things that let them create. Kids like to create and show you what they created. Programming is a great way to create but one issue I see today is that it is harder to create cool stuff in most programming apps today than it is to create cool stuff in other non-programming apps.

  5. Read the article, it's full of great quotes by hattig · · Score: 5, Funny

    “People who made early implementations of Perl 6 came back to me, cap in hand, and said “We really need a language designer.””

    “I was almost explicitly told: “Stay out of the implementation! We saw what you did made out of Perl 5”

    “With Perl 6, we found some ways to make the computer more sure about what the user is talking about.” ...

    1. Re:Read the article, it's full of great quotes by NoNonAlphaCharsHere · · Score: 4, Funny
      How about this one:

      We say in Perl that it's "strangely consistent".

      Because, god knows, if anything in Perl is consistent, it's strange.


      Then there's the use of "Larry Wall" and "language designer" in the same sentence...

  6. I teach kids at a middle school by Hasaf · · Score: 1, Offtopic

    Is there anything as simple as Basic for introducing kids to the "basics" of programming that is easily installable on Windows based computers?

    After am introduction to programming my interest shifted to systems dynamics model programming (principally vinsim). However, I would like to be able to help the students learn the basic concepts (7th grade) While C++ has a lot of tools, it is too abstract and complex to keep the students attention. Hour of cide has a Logo toy. Really, I would like an up to date Basic that can be used easily but features that allow a person to do more with it.

    1. Re: I teach kids at a middle school by Anonymous Coward · · Score: 0

      Your comment may be off topic, but I'll give you an answer. Would not recommend basic or vb (not familiar with BASIC, so I don't know if it's similar to vb). Use a higher level language with a C-like syntax. As a C programmer I agree with your conclusions, C/C++ can be a tough first language. My personal selections for a first language in order would be: python, javascript, java, and C#. As you can see I would favor an interpreted scripting language for simplicity, but my first language was java and that's a fine choice. All of the languages I named are widely used. I just don't see much wide use if BASIC, and from what I understand the syntax is funky.

    2. Re: I teach kids at a middle school by Anonymous Coward · · Score: 0

      I second the recommendation of Python, Java, or C#. I wouldn't recommend Javascript for an intro to programming. While it is a widely used high level language, it has a lot of oddities and strange design decisions, and often poor error catching. While those are often only minor annoyances to experienced programmers, they could be very confusing and distracted to new programmers. While Python has some of the same issues, they're much more minor. The advantage of Python (over Java and C# and similar languages) is that there's little or no boilerplate. You can jump straight to the point in your code, which can be helpful when teaching the basics of programming. Having a REPL interface can be a useful teaching and experimenting tool as well. Java and C# are extremely similar to each other and well suited for teaching programming, especially object oriented programming. Java has the advantage of being available on pretty much every platform (Microsoft is working on this for C#, but support for non-Microsoft platforms is still not nearly as developed for now). C# has the advantage of many helpful features that Java is still waiting on (some of which could even be helpful for people learning programming) and a very helpful (albeit slow and resource hogging) and easy to install development environment on windows. Both of those languages are better about providing helpful error messages and catching potential problems with the program before it's compiled/run. But that comes at the cost of more boilerplate code and the extra step of compilation (but a good development environment can help with both of those).

    3. Re: I teach kids at a middle school by Hasaf · · Score: 1

      I don't happen to think it is terribly off topic as the topic includes the words "Getting Kids To Code."

      And no, basic was nothing like VB, it was a form of Fortran.

      I find it interesting that you mention the syntax. That was one of the appeals, the syntax was simple.

      I notice that both respondents are mentioning Python. I may look at some books on it in, what is left of, my summer.

  7. Perl 6?? does anyone care? by Anonymous Coward · · Score: 0

    This would have been great 8 years ago.

    1. Re:Perl 6?? does anyone care? by CauseBy · · Score: 1

      Eight years ago it had been in development for seven years, which was already five and a half too many. We're so far past the due date for Perl 6 that its high school photos show it wearing bell bottoms.

  8. Lock them in room, give them problems to solve by Anonymous Coward · · Score: 0

    Correct answers get food.

    1. Re:Lock them in room, give them problems to solve by Anonymous Coward · · Score: 0

      +1

  9. Perfect summary of Perl from Larry himself by abies · · Score: 2, Interesting

    "I started trying to teach myself Japanese about 10 years ago, and I could speak it quite well, because of my phonology and phonetics training – but it’s very hard for me to understand what anybody says. So I can go to Japan and ask for directions, but I can’t really understand the answers!"

    This is exactly what Perl is about. You can write code, but have no chance of understanding code of other people.

    1. Re:Perfect summary of Perl from Larry himself by Anonymous Coward · · Score: 1

      Sounds like early C++ projects where the developers tried to use every feature of the language possible. Including those that shouldn't have been in the language in the first place.

    2. Re:Perfect summary of Perl from Larry himself by fluffernutter · · Score: 1

      Visual Basic is still uglier.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    3. Re:Perfect summary of Perl from Larry himself by Anonymous Coward · · Score: 0

      Not as ugly as your mom though.

    4. Re:Perfect summary of Perl from Larry himself by MagickalMyst · · Score: 1

      # Comments help you understand other people's code, regardless of the language
      # - unless the source that you are looking at was written by a coding mime...
      # ... in which case the code should be sent to /dev/null for clarification.

      --
      Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    5. Re:Perfect summary of Perl from Larry himself by Anonymous Coward · · Score: 0

      Bullshit. You can write just as horrible code in ruby or C or have unmaintainable HTML/javascript page.

    6. Re:Perfect summary of Perl from Larry himself by swb · · Score: 4, Insightful

      Disclaimer: My longest Perl programs were around 500 lines, designed mostly to process log files and provide some kind of selectable reporting capabilities.

      Is this a function of Perl itself or a function of the people writing code adopting poor coding and commenting practices? Just because the language lets you use weird shortcuts to compact several atomic steps into one line, should you?

      In my case, the scripts were dependent on the log files being in a specific format for parsing and analysis. A couple of times over the five year time I used them the vendor changed the log format, requiring me to modify the parsing and in one case make some non-trivial changes to a reporting summary due to differences in the log format.

      I never had a problem going back to the script 18 months or so since the last time I edited it and understanding what I did or how I did it, thanks to generous comments and avoiding the kind of obfuscation Perl let you -- but doesn't require you -- to do.

      I'm not a coder by trade and I thought Perl was very easy to learn. My sense is the complaints about Perl code are more a function of a language that's easy to learn and is thus adopted by a lot of amateur coders who then churn out a lot of code that they think is "made better" by some of Perl's shortcuts. I think it was one of those things where the user culture was such that the "smart guys" in the forums an newsgroups wrote obfuscated code and since they're elite, well, maybe I should to because it just might trim .025 seconds of execution time or something.

      More complex languages are adopted by people with more discipline and experience and they just naturally impose more discipline on their coding style.

    7. Re:Perfect summary of Perl from Larry himself by qwijibo · · Score: 2

      It really comes down to the developers mindset.

      If you're writing something obfuscated to show how clever you are, it shows that you don't work in teams. I know perfectly intelligent people who like Perl 1-liners, but don't realize that the compactness means other people can't use or build on that work. Whenever I wanted to use one of those 1-liners, I always spent the first 20 minutes translating it into readable code with variable names so I could figure out where to add new features. That kinda loses its value if the useful part of the code would only take 5 minutes to reproduce from scratch.

      I write Perl like I learned to write C, which means using functions where appropriate, sometimes creating Perl modules to keep all of the related functionality separate so the module could be used from multiple other scripts in the future. I've had new developers come in to a project I was previously working on my own and they were impressed that they could read the Perl code, it was documented, everything was in subversion, etc. If you're doing something with a lifespan and scope of more than one person, keep the next guy in mind when you start. And never forget that the next sucker to inherit your code may be your future self, so be nice to him too.

    8. Re:Perfect summary of Perl from Larry himself by fyngyrz · · Score: 1

      "every feature of the language" ... "Including those that shouldn't have been in the language in the first place."

      Ah, redundancy. :)

      (still writes in c)

      --
      I've fallen off your lawn, and I can't get up.
    9. Re:Perfect summary of Perl from Larry himself by fyngyrz · · Score: 1

      Your mom still uses gotos and line numbers.

      In fact, I heard she uses punch cards.

      --
      I've fallen off your lawn, and I can't get up.
    10. Re:Perfect summary of Perl from Larry himself by abies · · Score: 1

      And there is a good chance Larry would understand you trying to speak Japanese. It is just those 120 million other people he cannot understand.

    11. Re:Perfect summary of Perl from Larry himself by abies · · Score: 1

      Grrr... It was of course supposed to be "understand himself trying to speak Japanese".

    12. Re:Perfect summary of Perl from Larry himself by phantomfive · · Score: 1

      "I started trying to teach myself Japanese about 10 years ago, and I could speak it quite well, because of my phonology and phonetics training – but it’s very hard for me to understand what anybody says. So I can go to Japan and ask for directions, but I can’t really understand the answers!"

      Most likely you couldn't speak it as well as you thought, and despite your phonetics training, your accent was really quite awful. Which is a good metaphore, because:

      This is exactly what Perl is about. You can write code, but have no chance of understanding code of other people.

      As someone else said, "You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience."

      --
      "First they came for the slanderers and i said nothing."
    13. Re:Perfect summary of Perl from Larry himself by jandrese · · Score: 1

      One can argue that Perl is more featureful in its implicit behaviors that are massively confusing to people who don't them. In C you generally have to be pretty explicit with what you're doing, but in Perl you can leave out some of the details and let the interpreter figure them out for you. This is the first area where newcomers get lost. Much of the "crazy punctuation" ends up being helpful once you spend a couple of minutes understanding the basics of the language, clearly denoting which tokens are variables and what kind of access the coder wants. Complex data structures are far far less ugly now than they were in the early days of Perl 5 too, and a normal human being can actually make them without trying a thousand different combinations of dereferencing operators to figure out exactly which one they need. I wouldn't call them "good" or fun to use, but it's not like pounding nails through your dick anymore.

      --

      I read the internet for the articles.
    14. Re:Perfect summary of Perl from Larry himself by Stinky+Cheese+Man · · Score: 2

      I couldn't have said it better myself. I have been programming in Perl for 20 years and my mantra has always been "It's better to be clear than to be clever." There are two types of coder that are a curse to the Perl language: beginners who write stupid code because Perl lets them do it, and "elite" coders who delight in obscure difficult-to-read idioms (which often cover up poor basic logic). Saying that someone's Perl code looks like C is meant in a derogatory way by some Perl coders, but I think Perl would have a better reputation if more people coded in such a clear, straight-forward manner instead of trying to show everyone how clever they are.

  10. Amelia the perl camel is dead! by Anonymous Coward · · Score: 0

    So is perl 6!

  11. Perl is better than you think by Anonymous Coward · · Score: 5, Informative

    You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience.

    I've been in IT far longer than you have, I guarantee you that. Perl has fallen out of favour, but it is not a bad language. There are things you can do in Perl better than any other language. Full stop. The Internet of the 90s and early 00s was largely built on Apache, Perl, and Linux.

    Perl is masterful at text manipulation. There is nothing extant better than Perl for regex. Nothing. Detractors poo-poo Perl because there "is more than one way to do it". Perl code can be treacherously obfuscated, but that's part of the fun. As long as good code is well documented, there is no harm.

    Perl is far better than awk, sed, and other, older tools. Better even than Python for text work and regex. Python is the darling of the coder world, but has its own share of warts that even the Python camp gets their knickers in a twist over. Perl 1 still runs. Try running Python 3 in a Python 2 environment. You cannot. Perl is backwards compatible with itself, Python is not. The libraries in Python are wholly incompatible most times. Perl has CPAN, the likes of which don't exist in Python.

    It's my opinion that for what Perl excels at, one can get off the ground quicker and easier in Perl than in Python. CPAN helps enormously with this. In closing, Perl is no longer the beauty queen, but she is the girl next door who is a reliable friend, who is acknowledging of her weaknesses and uses, but who does what she does better than anyone else. Perl runs in surprising places. Perl is arguably also faster than Python compiled or interpreted. Just my .02.

    1. Re:Perl is better than you think by NoNonAlphaCharsHere · · Score: 3, Insightful

      Perl code can be treacherously obfuscated, but that's part of the fun. As long as good code is well documented, there is no harm.

      To quote something I read somewhere:

      You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience.

    2. Re:Perl is better than you think by qwijibo · · Score: 4, Informative

      Totally agree.

      As much as Python is touted as the replacement for Perl, compatibility between Python versions is painful. While it's possible to write code that works in 2.4, 2.7 and 3.0, it's much harder and more limiting. I'm sure Python is great for environments where there's only one OS image and version of Python to support, which covers small to mid sized companies pretty well.

      However, large enterprises tend to have legacy systems (RHEL 3/4 still run fine in VMs if you don't have to keep up on security patches) and non-Linux based systems. Solaris is pretty painless, but AIX can be painful.

      Perl 5.8 has most of the functionality needed to be productive and covers systems with bundled versions of Perl 10+ years old. If you really want to reach, being compatible with 5.4 gets you to almost 20 years ago.

      It's not that hard to write Perl so it's readable and maintainable by groups of people, as long as they agree to pretty basic standards. Functionally, it's no different than any other collaborative development.

      Perl's biggest strength is how easily it can act as the glue between many different utilities, data sources, etc. There's so many CPAN modules available that it's not hard to find most of the big pieces of code and write what's left.

    3. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      OP here...

      I've been in this game forever, the intention of the comment was to say to experience Perl guys that some people write "treacherously ofuscated" code with zero documentation. I've inherited this taking over new jobs, especially in Web hosting. Some coders love to never document, never thinking someone may come along behind them.

    4. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      I think Larry himself described Perl as "Awk on steroids, plus..." Leaving aside the "plus" part (which I've totally forgotten), that's already an excellent use of Perl. No more convoluted shell scripts that repeatedly invoke awk and sed (btw which support incompatible regex syntaxes), because none of the three tools has all the requirements to do the job.

    5. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      As long as good code is well documented, there is no harm.

      good code shouldn't need documented

    6. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      Been reading slashdot for 11+ years (26 now - and yes, even I've seen the dice induced quality decline)

      Never have I wished I had an account and mod points more than now. well played nonoalphacharshere. +1 informative, insightful and funny (maybe a touch of troll but very well deserved)

    7. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      Really? What planet do you live on? This may have been the idea back in the day with guys that kept moving jobs every year, but in a real IT shop, try not documenting your code and see how long you can go without being lynched.

      Documentation is essential for coders. Good coders always document their code, even if they are the only person to use the code. I document everything. Doesn't make me better than you, but it allows others to get a quick idea of what's happening with code, even if they can read it. I have no issue understanding what most coders write in Perl/Python, but when there is a dearth of comments or documentation, it makes it more difficult to understand a nuance here or there, to perhaps improve on something, to make something clearer.

      Always document and comment your code. To do otherwise is an insult to those who come behind you.

    8. Re:Perl is better than you think by __aaclcg7560 · · Score: 0

      The Internet of the 90s and early 00s was largely built on Apache, PHP, and Linux.

      FTFY

    9. Re:Perl is better than you think by bondsbw · · Score: 1

      The best code is self-documenting code. You start there, and then add comments.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    10. Re:Perl is better than you think by digsbo · · Score: 2

      Some coders love to never document, always fearful someone may come along behind them.

      FTFY.

    11. Re:Perl is better than you think by Anonymous Coward · · Score: 2, Informative

      Maybe in your world, but I worked for one of the largest Web hosting companies in the world in the late 90s and we had almost no one using PHP. It was, as I said, largely Linux, Apache, and Perl. LAMP began in earnest around '98, but for server programming, over 90% of our users, and we had tens of thousands, were using Perl. So much so, in fact, we had more Perl guys than any other language. There were almost as many of them as there were sysadmins. The good old days.

    12. Re:Perl is better than you think by Marginal+Coward · · Score: 1

      As long as good code is well documented, there is no harm.

      Funny that you should mention that. Many years ago, before I discovered Python, I used Perl as my primary scripting language. I eventually discovered that I found it hard to read even my own code in Perl. So I applied the same solution I already used to the only other language I knew where I had the same problem: assembly.

      I had learned over the years that in order to make assembly readable, you need to comment (nearly) every line. I started doing that with Perl, and voila!, problem solved.

      Then I discovered Python. I soon transliterated all of my favorite Perl scripts into Python. Fortunately, the two languages are fairly similar at a semantic level, just not at a syntactic level. So transliteration was pretty easy. I was amazed to discover that even though Perl was famous for being compact (though perhaps not the way I wrote it - no one-liners allowed), my Python scripts ended up having both fewer lines and fewer bytes than their Perl equivalents. Just getting rid of braces does a lot to reduce line count - which seems obvious in retrospect.

      Oh, and I also removed nearly all of the comments. That significantly reduced the byte count. And I could read my own code again!

    13. Re:Perl is better than you think by digsbo · · Score: 5, Informative

      The best comments explain the "why", such as "this is an arbitrary business rule Joe asked for so a salesman could close a contract and get a BMW. Yes, it breaks the flexibility of the architecture and will never be fixed."

    14. Re:Perl is better than you think by Anonymous Coward · · Score: 2, Interesting

      This is BS and you know it. I started coding in 1982. I followed in the footsteps and was taught by guys who started in the mid 60s. I was taught to comment everything. Yes, it can be laborious, but I've been praised for how easy my code is to understand, comments aside, because I give a damn. I'm old school. I'm a pedantic old school guy who takes to time to go the extra mile. I don't live in fear of who is coming behind me. I do what I do because I was taught by people who did things well, gave a damn, and who were at the top of their game.

      With the advent of huge amounts of RAM, huge HDDs, and faster processors, people have gotten sloppy. I remember coding close to bare metal, when you had to take care to write clean, documented code. These days, most guys write code that could be done in literally half the lines if they better understood what they were doing.

      Case in point: a friend of mine works closely with HW devs in the *NIX embedded industry. An open source driver his shop wanted to use was over 30k lines of code. That code was re-written to do the same thing and more in under 10k. I've seen the code. This was a six week job. As you know, embedded stuff needs to be tight and work perfect, taking maximum advantage of HW and available memory. The re-written code was better commented as well. Still all under 10k lines of code.

      Well-documented/commented code is the hallmark of profressional, old school programmers who started off right and stay right.

    15. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      I sincerely hope you choke on a horse cock and die in a fire before you shit up the remainder of the industry with this attitude.

    16. Re:Perl is better than you think by __aaclcg7560 · · Score: 1

      I went back to school to learn computer programming after the dot com crash. The Perl class got cancelled due to an overwhelming lack of students. I didn't learn that Perl was still around until several months ago.

    17. Re:Perl is better than you think by digsbo · · Score: 1

      Well-documented/commented code is the hallmark of profressional, old school programmers who started off right and stay right.

      Yes, I agree. I was pointing out that there are lots of unprofessional assholes out there who refuse to document because they started off wrong and stayed wrong.

    18. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      Perl has CPAN, the likes of which don't exist in Python.

      Ever heard of pypi and pip mate ?

    19. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      Different AC here. Most of the stuff I've written over the years uses comments very sparingly yet it's lauded by other developers for being clean. I'm not a fan of yours
      // this method frobnosticates a gnar
      void frobnosticate (gnar g)

    20. Re:Perl is better than you think by phantomfive · · Score: 1

      this is an arbitrary business rule Joe asked for so a salesman could close a contract and get a BMW. Yes, it breaks the flexibility of the architecture and will never be fixed."

      If that breaks your 'flexibility,' the code wasn't very flexible to begin with.

      Flexible code handles unexpected and weird cases.

      --
      "First they came for the slanderers and i said nothing."
    21. Re:Perl is better than you think by tgv · · Score: 1

      > Comments like these are usually from people with zero real life experience.

      Well, I've had my experience with Perl, and it did not please me. I'm not even referring to the antics of parameter passing or obscure syntax use. No, Perl couldn't even get a simple while ( && ) right. Being able to combine conditions is not an idiotic requirement, it is Compositionality 101. It is the basis of logic, and it permeates natural language. That's what Wall's background as a linguist amounts to. He just wants to create some vaguely interesting language, not a solid one from an engineering point of view.

      > Perl has CPAN, the likes of which don't exist in Python.

      Some people would argue otherwise. But if the size of the library matters, you should program in Java.

    22. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      I really wanted to mod you funny just from the smile I got from reading your code, but I only have 2 mod points left, so instead you get my best regards. (:

    23. Re: Perl is better than you think by Anonymous Coward · · Score: 0

      That is Perl's fault how?

    24. Re: Perl is better than you think by digsbo · · Score: 1

      When did I say it was Perl's fault?

    25. Re:Perl is better than you think by minstrelmike · · Score: 1

      You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience.

      Ditto. I remember trying to write reports for people in Fortran and C out of an Oracle dbs.
      When I discovered the text processing capability of Perl, I was hooked. And so were my users.
      Seems the almost all of our important data, on the reports, is text, not id fields like we use in the dbs.
      I can use Perl to resort the reports any which way at all without retouching the dbs.

      You can write poorly in any language: C#, JavaScript (the LAMP stack replacement) and different folks either write well or poorly in Englyshe.

    26. Re:Perl is better than you think by Anonymous Coward · · Score: 0

      Perl is no longer the beauty queen, but she is the girl next door ... Perl runs in surprising places.

      True, but Perl really ought to be careful with the Cthulhu orgies and letting mutant caterpillars live in her womb. It might turn out bad for everyone.

    27. Re:Perl is better than you think by Slashdot+Parent · · Score: 1

      There is nothing extant better than Perl for regex. Nothing.

      That may have been true 15 years ago, but it's blatantly false today. I have a client with a legacy Perl text processing job that was beginning to run too slowly to keep up (log processing was starting to take longer than the log files were generated). They were going to buy an expensive log analysis tool, so I asked them if they actually wanted the tool or if they were happy with the output of their Perl script. They preferred the output of the script. So I said, "Give me a few hours."

      A few hours later, I had translated the Perl script, line-by-line, into (I shit you not) Java. Ran two orders of magnitude faster. In Java.

      Yes, slashdot's favorite whipping boy of a language bested Perl by two orders of magnitude.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  12. "notes that Python has done a better job" by Viol8 · · Score: 4, Insightful

    Yeah , wonder why. Could it be because its actually readable and has a sane syntax that doesn't look like the aftermarth of an explosion in a punctuation factory?

    1. Re:"notes that Python has done a better job" by Anonymous Coward · · Score: 0

      I use both Perl and now Python. This right here is why I am moving toward Python v3.

    2. Re:"notes that Python has done a better job" by Anonymous Coward · · Score: 0

      Yeah , wonder why. Could it be because its actually readable and has a sane syntax that doesn't look like the aftermarth of an explosion in a punctuation factory?

      Python is beautiful with one exception... fscking whitespace*

      *said as a designer/developer/3d artist who uses python a lot and understands the visual qualities of whitespace... but still cannot grasp the concept of it in a programming language.

      Anyone else who's used Houdini 3D/'Hython' in combination with regular python will understand where I'm coming from. Brilliant and powerful combination but the whitespace quirk should not bork your sh!t because a fellow artist wrote code in a different text editor/IDE/whatever... Especially when it's meant for deployment on a heterogeneous render farm.

    3. Re:"notes that Python has done a better job" by fyngyrz · · Score: 1

      aftermarth of an explosion in a punctuation factory

      I'm going to be appropriating this gem. Minus the 'r' in "aftermarth", that is. :)

      --
      I've fallen off your lawn, and I can't get up.
    4. Re:"notes that Python has done a better job" by Anonymous Coward · · Score: 0

      Sounds like you need a commit hook in your scm - something like `python -m py_compile ` should work.

    5. Re:"notes that Python has done a better job" by GougeMan · · Score: 1

      Perl will rise back to the top like a Phoenix from the ashes. Larry Wall is a genius and deserves way more respect than what others have been giving him as of late.

  13. Perl 6 by VAXcat · · Score: 1

    I use Perl eveyrday. I like Perl. I've seen Perl 6. I'll stick with Perl 5, thanks...

    --
    There is no God, and Dirac is his prophet.
    1. Re:Perl 6 by UPi · · Score: 1

      Why is that?

      As a fellow daily Perl 5 user, I would be very interested to see your experience with Perl 6. Have you just "seen" it, or have you actually used it?

  14. Awesome! by MagickalMyst · · Score: 4, Interesting

    It will be nice to see what "bells and whistles" Perl 6 has added.

    I can code in several different languages and, while Perl is by far my favorite, I have to say that it was by far the most difficult language to learn on my own. The reason was because the syntax just seemed too cryptic. By contrast, I learned to code in Assembly when I was 14 by reading a book on the subject and trial and error.

    In order to get my head around Perl I took a 1 week crash course which really demystified the language. I have now found Perl to be the most useful and versatile language that I have ever used - especially for system administration tasks. It is also great for writing spiders, parsing text, communicating with system resources and interacting with databases. Of course, each programming language is a different tool for getting certain jobs done. Perl is akin to a swiss army knife.

    What's also wonderful about Perl is that it is native to Linux and also available on Windows (I use Strawberry Perl at work to monitor hardware as i'm forced to use a Windows Desktop).

    I know that a lot of younger coders will scoff at Perl (usually out of ignorance) whilst touting the superiority of VB or Java (which is laughable). To each their own.

    It's really nice to see that Perl is still being actively maintained and has a new release coming out. I don't know about the rest of you, but i'm salivating over this one :)

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    1. Re:Awesome! by Electricity+Likes+Me · · Score: 1

      ...People tout the superiority of Visual Basic?

      I think you're hanging out with a weird crowd of "young coders".

    2. Re:Awesome! by Anonymous Coward · · Score: 0

      It won't be nice, because nobody gives a SHIT about Perl6 anymore. It's on the same league of being a joke as GNU Hurd, or Duke Nukem Forever.

      Perl5 is perfect for its intended purpose, text munging and simple UNIX automation. It is absolute shit for anything much more complex, and Perl6 won't change that. Nobody wants it and nobody cares but a few obsessive old nerds.

  15. Why Python is so popular by Anonymous Coward · · Score: 0

    I think python is popular because it's parameter passing is so similar to Java. Starting from Perl I found pythonic parameter passing to be insane, but it all became clear once I did Java. Perl 6 is for DSL geeks. Which I hope to be one day. Write less code, you'll make fewer bugs.

  16. Programming for kids by Atrox666 · · Score: 0

    Isn't Perl considered child abuse in most states?

  17. Perl is Perl. by fyngyrz · · Score: 4, Insightful

    Try running Python 3 in a Python 2 environment

    Why... would you do that? Python 3 is not a new version of Python 2. Python 3 is "other." I think you're just confused by the (admittedly very poor) naming convention they have adopted. It probably should have been called Serpent or something along those lines, because it really isn't an attempt to "be" Python 2 at all. Furthermore, if your code is tested and running, why would you convert it to Python 3 and then have to re-test? Seems to me the number of good business reasons to do such a thing would be a very small number (of course, you might want to do it for fun or educational value, but that's not really germane.) Python 3 is for new code, if you want to go that way (and you certainly don't have to.) Python 2 is solidly emplaced and not going away. It's a different thing. It's not a "you need to upgrade" thing or a "you have to move your code" thing or a "now Python is this other thing" thing. Python 2 is Python 2, Python 3 is other. That's all you need to know.

    Perl is backwards compatible with itself

    No, it isn't. For instance, later versions of Perl will choke -- the code will fail and/or act differently -- on various early usage patterns, such as hash references.

    Perl has CPAN, the likes of which don't exist in Python.

    https://docs.python.org/dev/distributing/index.html

    CPAN itself is a bunch of usable Perl. There's a huge amount of usable Python out there as well. It's disingenuous to suggest that CPAN, which is merely a repository, represents a meaningful difference.

    Better even than Python for text work and regex.

    Meh. I haven't run into any text processing problems that I couldn't solve with Python that made me think, "gee, wish I had X Perl feature." And I wrote in Perl for quite a few years, I know the territory fairly well. Python's got some pretty solid regex handling as well. Python 2. No idea what Python 3 has, could care less. Different language and all that. :)

    It's my opinion that for what Perl excels at, one can get off the ground quicker and easier in Perl than in Python

    Oh good grief no. Perl is hard to read by nature. Python is easy to read by design. Now, if you had said "for the experienced Perl programmer who knows little or nothing about Python", then sure. But otherwise, just no. Perl is horribly obscure in terms of "getting off the ground." Moving to Python from Perl was like having a huge splinter pulled out my butt for that very reason. I can actually read other people's code and understand it without having to keep in mind a whole raft of special characters and the like. Instead, what is happening is almost always spelled out fairly explicitly in what nearly amounts to plain English, requiring much, much less of my brain to be dealing with the language, and leaving much, much more of it free to be dealing with the program logic.

    I've been in IT far longer...

    Not the OP, but I've been in IT since ~1972. You may have been at it longer, but I've been at it long enough to come to the conclusion that the objective of a programming language is to solve a problem, and specifically to do it in such a way that the solution is maintainable, effective, and doesn't naturally hide bugs because of ingrained opacity. Something may come along that is better at these things than Python, but I've not run into it yet, which could certainly be a result of me not looking at things that are already out there -- but it isn't a result of not looking at Perl. I've written an enormous amount of Perl, and if there is one thing I will say about it consistently with benefit of hindsight, it is that I wish I'd been able to write it all in Python. Because Python is much, much easier to write, clearer to read later, easier to debug, easier to fix, and yes, actually more fun.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Perl is Perl. by Anonymous Coward · · Score: 0

      Perl has better (or more consice) syntax for regexes.
      Also, they have more builtin patters for things like digits, hexnumbers, etc.

    2. Re:Perl is Perl. by fyngyrz · · Score: 1

      So.. what you're saying, essentially, is that Perl has more obscure regex handling. Okay. I agree. :)

      More seriously, regex is a last resort for me; I only go there if I *really* need to. Which is rarely. So little tweaks like those you're describing don't particularly figure in language choice, as long as it's there if I need it. Regex fans have other motivations, and that's fine. Can't see this as any reason to inflict Perl on kids, though. Butterfly or not.

      --
      I've fallen off your lawn, and I can't get up.
    3. Re:Perl is Perl. by GargamelSpaceman · · Score: 2, Insightful

      A regexp is almost always cleaner and easier to read and understand than other code that does the same thing.

      Learn regexps. Learn to love them. Bite the bullet.

      And Perl is as readable if not moreso than many other languages. I'd rather have a rich language full of concise ways to do what you want than one that forces you to do everything the same way even if it is roundabout.

      I care more about the person that uses it every day being able to read it than someone who has never used it being able to pick it up.

      Let the wizards set the standard noobs should aspire to, not the other way around.

      Perl's real problem is that Perl has too long lacked critical features that other languages have been getting while Perl did not because of waiting for Perl 6.

      It may have been harder to do, in terms of total work, but adding the features piecemeal to Perl 5 would have at least preserved the Perl community which is now essentially gone.

      Perl 6 might as well not even be called Perl ( and might be better off not being called Perl )

      It's a new language with a new learning curve for the new features and no users.

      Perl 5 is a dead feature lacking language with few users.

      --
      ...
    4. Re:Perl is Perl. by gustygolf · · Score: 1

      Perl's real problem is that Perl has too long lacked critical features that other languages have been getting while Perl did not because of waiting for Perl 6.

      So, what are these 'critical' features?

      I can't think of almost any post-5.8 feature I could call 'critical', with the possible exception of better unicode support. 5.8 was released in 2002.

      --
      "Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
    5. Re:Perl is Perl. by GargamelSpaceman · · Score: 1

      When I left Perl thread support STILL sucked.

      --
      ...
    6. Re:Perl is Perl. by gustygolf · · Score: 1

      The thread support has been the same for a long time. I'm not fond of its model, but I can't say it's bad either.

      I can't really work much with the very vague description of 'sucked' though.

      Perl uses a different thread model than most programming language: variables are explicitly shared (everything is thread-local by default), rather than implicitly (everything is shared). The implicit model gives you concurrency problems (race conditions). The explicit model gives you high memory usage.

      I hear that some new programming languages [citation needed] are designed with the explicit model, so it's likely a matter of opinion which one is better.

      You can also use the CPAN module of forks. It's a drop-in module that gives you higher performance / lower memory usage at the cost of slower cross-thread communication.

      I've not significant experience with Perl's threads (as I said, I'm not fond of them), so take of this what you will.

      --
      "Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
    7. Re:Perl is Perl. by GargamelSpaceman · · Score: 1

      The below from http://perldoc.perl.org/thread...

      WARNING

      The "interpreter-based threads" provided by Perl are not the fast, lightweight system for multitasking that one might expect or hope for. Threads are implemented in a way that make them easy to misuse. Few people know how to use them correctly or will be able to provide help.

      The use of interpreter-based threads in perl is officially discouraged.

      --
      ...
    8. Re:Perl is Perl. by gustygolf · · Score: 1

      Yes, that is exactly what I was referring to when explaining its threading model. That warning was (quite recently) added because people thought the implementation'd be like in every other language, but it isn't.

      --
      "Slow Down Cowboy! It's been 58 minutes since you last successfully posted a comment" -- slashdot, driving users away.
  18. Released by Christmas? by jeffb+(2.718) · · Score: 1

    Still waiting to lazily evaluate which year, are we?

  19. Perl 6 has been an AWFUL long time coming... by Anonymous Coward · · Score: 0

    One day, I will meet Larry Wall, and I will ask him, "So, what's it feel like to be beaten to market by Duke Nukem Forever?"

  20. Not a pedagogical language by JazzHarper · · Score: 3, Insightful

    I've used Perl for 20 years and still find it more productive than most other languages, but I would _never_ recommend it as a first programming language to anyone.

    1. Re:Not a pedagogical language by beatboxchad · · Score: 1

      FWIW, Perl was my first language. My timing sucked -- I learned Perl just a few years ago, right before the anti-Perl fad hit its fever pitch.

      Everybody thinks it's cool to bash on Perl and PHP, right. I wouldn't call myself a seasoned enough dev to have an informed opinion, but I will say that that Learning Perl book from O'Reilly is one of the best-written language learning books I've read, and that teaching myself Perl gave me an advantage in my tech career.

      It's not that I got to use it very often (I learned Perl before breaking into the tech industry as a very green sysadmin/software support engineer), but in picking up languages after the fact, I've never met a book as well-written. The exercises, in particular, are well-thought-out and pertinent to the material presented. Information that somebody savvy with the computer science *probably* knows but maybe not, is included. No extra knowledge is required to complete the exercises. Contrast that with the Programming in Lua book. Although it's a good reference book, and I still refer to it sometimes, the exercises seem to require a working knowledge of several higher mathematical concepts, and the actual content of the book refers to formal computer science concepts by name as part of explaining how to use the language. Don't get me wrong, I *love* stuff like that -- how else is a high-school-dropout autodidact gonna get seasoned with the theory? But for the purpose of showing somebody how to code and how to use a language, it's not a good fit. If Programming in Lua had been my first, I would have gotten stuck.

      As it turned out, I was able to quickly pick up the subsequent languages I actually ended up using day-to-day by virtue of my experience with Perl. If somebody offered me a job writing Perl all day I'd happily take it.

      Though, my pipe dream is to end up writing DSP and DAW software in C++. But I mean, aside from career wrangling, Perl's fine. I'm glad I have that perspective. I've also decided PHP is my next language, just cuz I have a bunch of new webdev friends that ask me questions about it. Every language sucks in some way. I'm over it.

    2. Re:Not a pedagogical language by CauseBy · · Score: 1

      " I learned Perl just a few years ago, right before the anti-Perl fad hit its fever pitch."

      When exactly? Perl has been dead for more than a decade. George W Bush hadn't even been re-elected when Perl was already comatose.

  21. Well. by waspleg · · Score: 1

    At my high school, which has no programming classes, my co-worker does lead the robotic's club which uses a simplified version of C to make the robot do things.

    We also included Alice on all of our netbooks. It does seem like Scratch is probably more popular these days.

    DISCLAIMER: I am not affiliated with any of these and I've only used one of them for like 5 minutes so YMMV. I'm not a programmer at all and the only languages I've spent any time with at all are C and Python and I would barely consider myself an amateur at Python and a nothing at C.

  22. Perl's problem: popularity, not functionality by quietwalker · · Score: 3, Interesting

    I've been around long enough to see Perl go from the glue of the internet to object of scorn. It's no longer the preferred tool of sysadmins or the easiest way to write web applications outside of raw C. I've had a good deal of time to consider why that's the case, and I keep circling back to it being an issue of popularity.

    We like to think that we're engineers, scientists, deep thinkers, whatever - and that we as software devs therefore make sound evidence based judgements, at least more often than other disciplines. The fact of the matter is that we're just as led by emotions as anyone else. We have 'Holy Wars' over OSes and languages and frameworks, and what most of them boil down to is justification of personal preference more than anything else. Not features, not availability, just personal preference.

    In that light, I've been seeing a lot of fad languages in the last decade or so. I usually refer to them as toy languages though that phrase may have a number of inaccurate definitions. Simply, they're a new toy to play with. Scripting languages are especially prone to this because they tend to have a lower barrier to entry. In recent memory, I seem to remember it going something like Ruby + RoR => Python => Scala => Javascript via node.js => and now the big thing I'm hearing about is R. The claim is that each one is so much better, but the reality of it is, it's just so much newer, and the differences in implementing identical functionality is not as important as the flash and sizzle. Even when the sizzle is backed by something useful, people stop paying attention once it stops. In fact, most of these languages have been around for a long time - several of them almost as old as Perl itself. They've just briefly become popular, not making any sort of surprising forward leap to become capable or more feature rich.

    Of course, one big part of the popularity is maintaining buzz, and with what was effectively a 15 year hiatus from any real forward development, much less promotion, Perl dropped out of the limelight.

    This is pretty standard though. People seem to forget so quickly; at one time, ColdFusion, Java Applets, Flash and PHP were the darlings of their day. Perl too.

    Now, if someone were to take Perl 6, produce a framework for it that tried to force a remedial coding style (Python), require webapps follow a specific directory layout and naming convention (RoR, many JS webapps) as well as page templating (PHP, JSPs, Razor/Webforms, etc), add some human-friendly data query language features (Java Streams, C# LINQ), provide tools for automatic dependency search and import (Maven, Ruby Bundler), and then really play up the functional aspects of the language, and perhaps Perl will rise again too.

    If that's really the features people are looking for. I deliver that line with only marginal sarcasm; I note that the number one complaint against Perl is ugly code, which we know is the domain of the author, not the language - and other languages 'fix' this by taking away developer agency.

    Even without those new features, and though I don't use it as often, I still like the ole' "swiss army chainsaw," just a little bit more than these other choices. I guess you could say it was just a matter of personal preference.

  23. As long as you do not optimize for performance by lano1106 · · Score: 1

    I am a C/C++ programmer and before my professional Perl experience, every problem seemed to be solvable with a C/C++ solution. I have been doing Perl for 18 months with a team of fanatical/religious Perl developers. I guess that is where the term "Perl monk" comes from. They were are blind as I was but instead of seeing C/C++ solutions, every problems for them where solvable with Perl.

    It was extremely frustrating to be imposed using Perl when it was obvious that C/C++ would have been a superior choice. I was laughing in my beard when I saw the rest of the team spending energy for weeks to optimize some Perl code and they were excited to finally have increased the performance from 12 iterations/minute to an awesome 18 iterations/minutes when C would have given them thousands of iterations/minutes without effort.

    The most horrible part of Perl that I have witnessed is object-oriented Perl with Moose and its huge module dependencies. Its seems like you need the include the whole universe to use some of the most complex Perl modules.

    Back then, I hated Perl but since dust has settle down, I have now made peace with Perl and even surprise myself choosing Perl for some tasks that I need to get done such as parsing mbox files. The thing is Perl is the best choice for some specific tasks. For huge software development in Perl (Yes I have seen that. Horrible, absolutly horrible), the problem is that if you have a function supposed to take some numeric input, crunch it through some math formula and give you the result, with Perl, you could pass the string "Potato and carrot" and the function will happily crunch it and give you a meaningless result. Now, try to find out the problem in hundreds of thounsands of lines of Perl code. Good luck!

  24. Isn't the latest version of Perl called Ruby? by joeblog · · Score: 1

    I find it strange Ruby is never mentioned in the interview since my impression of Ruby is "object oriented Perl" and I'd guess many of the web application type things traditionally done in Perl have migrated to Ruby.

    --
    If it works, it's obsolete
  25. Perl wins. by Anonymous Coward · · Score: 0

    Perl is awesome. Fact. Also, Larry Wall is a hilariously funny guy; read some of his quotes sometime.

    All you hipster douches get over yourselves and realize that not everyone is part of your trendy "it's cool to hate Perl" groupthink.

    1. Re:Perl wins. by CauseBy · · Score: 1

      Perl 6 was announced in 2000. Your argument made sense in 2001. By 2002, this whole "Perl 6" thing was starting to sound ridiculous.

      And 2002 was twelve years ago.

      Hating Perl isn't trendy -- it's retro, super retro.

    2. Re:Perl wins. by CauseBy · · Score: 1

      And by twelve years ago I mean so many years ago that it's even more than twelve years.

  26. Perl 6 out by Christmas? by wheelbarrio · · Score: 1

    Next up: sustained, controlled nuclear fusion around mid-2025.

  27. Perl Bashing - Denser vs Cleaner by bradgoodman · · Score: 1
    I think a lot of the bashing and criticism of Perl comes from the fact that Regular Expression handling is an inherent part of the language - rather than being left out of the language design and relegated to just another set of functions in just another library. Regular Expressions are inherently hard to read - as they are complicated and dense - but even the most casual novice of Perl would be able to easily identify that what they are seeing is just a regular expression - and hopeful a comment or two would give them some insight as to what the "big picture" behind that particular exgexp was - if there was any doubt.

    The alternative would be nasty - let's break out a protracted set of functions, variables, loops, etc to process this piece of text in a more "readble" way? No thanks - let me bang-out the regexp and be done.

    Also - At least Perl uses a normal open/close (braces) to begin and end a scope - unlike Python - which relies on the number of leading spaces. (I've been using Python for years - can handle that - but still think it's a very bad idea).

    For me - Pearl's biggest downside has been that the world has simply gone to Python largely, and so have I.Whereas I used to love Perl, I find it hard to keep switching back-and-forth.

    That being said - I miss the ease at which Perl can fork a subproces, then scrape and parse it's output. Yes you can do this with Python - but it does take more keystrokes. From a linguistics point of view - it comes down to Information Density. Thus, we can argue that Python looks cleaner, but Perl's code is denser.

  28. Dead Language by Anonymous Coward · · Score: 0

    To start off I'd like to I'm a great believer in the best tool for the job, however in the 21st century Perl is not the best tool for anything.

    Perl is a dead language and has been since the rise of Python and Ruby the only people who don't realise are the Perl heads. The best thing that could happen would be for linux distributions to stop shipping it and then it would naturally die off.

    The only people who are pushing it are the die hard Perl heads.

    I'm not trying to belittle Perl's place in the development of programming languages because without it we would not have Python or Ruby as they had to be invented to replace Perl. It's time for Perl to head off to the retirement home.

    Besides for data manipulation I can do everything I need to do in shell, sed and awk.

  29. Stop kidding me by CauseBy · · Score: 1

    Larry, let's get real, fifteen years is a stupid amount of time to work on a single point release of a piece of software. People forgot about you and Perl 6 in 2003. I sure did. I've used a little Perl since then, but I haven't given any consideration to release 6.