Slashdot Mirror


Larry Wall on Perl 6

Nate writes "Linux Format magazine has an interview with Larry Wall, the eccentric linguist and coder behind Perl. Larry discusses some of the new Perl 6 features ready to rock the world, and if you're not planning to move from Perl 5.8, he has a few musings on that too."

49 of 265 comments (clear)

  1. Perl is a trainwreck - retire it by Anonymous Coward · · Score: 4, Funny

    Gentlemen, the time has come for a serious discussion on whether or
    not to continue using Perl for serious programming projects. As I will
    explain, I feel that Perl needs to be retired, much the same way that
    Fortran, Cobol and C have been. Furthermore, allow me to be so bold
    as to suggest a superior replacement to this outdated language.

    To give you a little background on this subject, I was recently asked
    to develop a client/server project on a Unix platform for a Fortune
    500 company. While I've never coded in Perl before I have coded in VB for
    fifteen years, and in Java for over ten, I was stunned to see how
    poorly Perl fared compared to these two, more low-level languages.

    Perl's biggest difficulty, as we all know, is the fact that it is by far
    one of the slowest languages in existance, especially when compared to
    more modern languages such as Java and C#. Although the reasons for
    this are varied, the main reasons seems to be the way Perl requires a
    programmer to laboriously work with chunks of memory.

    Requiring a programmer to manipulate blocks of memory is a tedious way
    to program. This was satisfactory back in the early days of coding,
    but then again, so were punchcards. By using what are called
    "pointers" a Perl programmer is basically requiring the computer to do
    three sets of work rather than one. The first time requires the
    computer to duplicate whatever is stored in the memory space "pointed
    to" by the pointer. The second time requires it to perform the needed
    operation on this space. Finally the computer must delete the
    duplicate set and set the values of the original accordingly.

    Clearly this is a horrendous use of resources and the chief reason why
    Perl is so slow. When one looks at a more modern (and a more serious)
    programming language like Java, C# or - even better - Visual Basic
    that lacks such archaic coding styles, one will also note a serious
    speed increase over Perl.

    So what does this mean for the programming community? I think clearly
    that Perl needs to be abandonded. There are two candidates that would be
    a suitable replacement for it. Those are Java and Visual Basic.

    Having programmed in both for many years, I believe that VB has the
    edge. Not only is it slightly faster than Java its also much easier to
    code in. I found Perl to be confusing, frightening and intimidating with
    its non-GUI-based coding style. Furthermore, I like to see the source
    code of the projects I work with. Java's source seems to be under the
    monopolistic thumb of Sun much the way that GCC is obscured from us by
    the marketing people at the FSF. Microsoft's "shared source" under
    which Visual Basic is released definately seems to be the most fair
    and reasonable of all the licenses in existance, with none of the
    harsh restrictions of the BSD license. It also lacks the GPLs
    requirement that anything coded with its tools becomes property of the
    FSF.

    I hope to see a switch from Perl to VB very soon. I've already spoken
    with various luminaries in the Perl coding world and most are eager to
    begin to transition. Having just gotten off the phone with Mr. Alan
    Cox, I can say that he is quite thrilled with the speed increases that
    will occur when the Linux kernel is completely rewritten in Visual
    Basic. Richard Stallman plans to support this, and hopes that the
    great Swede himself, Linux Torvaldis, won't object to renaming Linux
    to VB/Linux. Although not a Perl coder himself, I'm told that Slashdot's
    very own Admiral Taco will support this on his web site. Finally,
    Dennis Ritchie is excited about the switch!

    Thank you for your time. Happy coding.

    1. Re:Perl is a trainwreck - retire it by elrous0 · · Score: 2, Insightful
      I think clearly that Perl needs to be abandonded. There are two candidates that would be a suitable replacement for it. Those are Java and Visual Basic.

      For relatively simple cgi tasks, Perl is still, by far, my favorite:

      • It's simple and relatively easy to learn.
      • It doesn't have to be compiled.
      • It doesn't require any special software to write Perl programs or modify them.
      • There is still a very active Perl open source community.
      • And it's almost universally supported on virtually every web server and platform out there (hardly the case with VB or Php).

      Now maybe I'm just saying this because I'm an old dog and haven't learned the latest tricks. But I think it's way too early to be writing Perl's obituary. It has saved my butt many times and continues to do so today.

      -Eric

      --
      SJW: Someone who has run out of real oppression, and has to fake it.
    2. Re:Perl is a trainwreck - retire it by musterion · · Score: 2, Informative

      I hope everyone reads this post entirely. It is obvious satire. It would be a troll if you don't read it all.

    3. Re:Perl is a trainwreck - retire it by LarsWestergren · · Score: 2, Funny

      Ouch, such cutting edge satire. Thank you for reminding us that brevity is the soul of wit.

      --

      Being bitter is drinking poison and hoping someone else will die

  2. The Perl 6 VM is Parrot by YA_Python_dev · · Score: 5, Informative

    The virtual machine that will run Perl 6 is Parrot, an innovative register-based JITed VM optimized for dynamic languages.
    It can also run a subset of Python (compiled with Pirate), Ruby, Tcl, brainf*ck, Ook!, Common LISP, BASIC, Lua, m4 and a few others, all of which are more or less incomplete.

    More details on the Parrot site and the Wikipedia page on the Parrot VM.

    If you like that sort of things, you can help!

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  3. Why I like Larry Wall. by AltGrendel · · Score: 4, Insightful
    We're not interested in telling people what they can't do.

    I like that.

    --
    The simple truth is that interstellar distances will not fit into the human imagination

    - Douglas Adams

    1. Re:Why I like Larry Wall. by code65536 · · Score: 3, Interesting

      Me too. :) And expanding that wonderful philosophy to the language itself, that is exactly why I don't like Python--I like the freedom of Perl (even if it results in syntactical messiness... but that freedom of expression leads to some of the most elegant code in the world, in a non-syntactical sense). I don't want some paternalistic syntax dictating how I should best express using the langauge.

    2. Re:Why I like Larry Wall. by asdfghjklqwertyuiop · · Score: 3, Insightful

        Me too. :) And expanding that wonderful philosophy to the language itself, that is exactly why I don't like Python--I like the freedom of Perl (even if it results in syntactical messiness... but that freedom of expression leads to some of the most elegant code in the world, in a non-syntactical sense). I don't want some paternalistic syntax dictating how I should best express using the langauge.


      The freedom of the language has nothing to do with its syntactic cleanliness. I don't know what makes you say Python dictates how you express yourself. If you had said Java instead I might agree more. Python is very clean and simple, but dictates very little at a higher level.

    3. Re:Why I like Larry Wall. by hackstraw · · Score: 3, Interesting

      We're not interested in telling people what they can't do.

      And on the same vein, "There is more than one way to do it".

      I love Perl.

      Is it pretty? Not really.

      Does it do OO? Pretty much, but its not pretty.

      Can it go from a one liner to a pretty large app? Yup.

      Is it portable and extensible. Hell yeah.

      Is it fast? Fast enough. -- I remember on older machines you would run a perl script, and you could "feel" it compile itself by a slight lag before input or output, but I only notice a lag on machines that have not used that perl app yet (not cached) and uses tons of modules or whatever that need to be found on the disk. Once the program has been run, it starts as fast as any other. The runtime speed is anywhere between much slower to 4x slower than C or C++, but being that it usually takes 10x time to write C or C++ that Perl can do better, I'll go by the maxim of optimize later if needed.

      I've not looked into Perl 6. 5 is fine with me. 6 embeds 5, so there is supposed to be no or very little backwards compatibility issues. 4 was not that good compared to 5, and the compatibility was not as good. Yuck, those people who still do &subroutine(); Thankfully, I don't see module'subroutine() syntax any more if it is still even supported (I think I remember the syntax correctly).

      Perl is very powerful. Not the right tool for every job, but many of them. For most everything you want to do, there is a module that can be easily and portably installed (or 2 or 3) that can reduce the "reinventing the wheel" issue. The CPAN module and module dependancy can not be as fun as apt-get install CGI.pm, but perl is excellent and I hope it does not become an "old school" language. Its simply too easy to start to use, and go from there.

    4. Re:Why I like Larry Wall. by asdfghjklqwertyuiop · · Score: 2, Interesting

      Excuse me... have I stumbled into the wrong conference room^H^H^H^H^H...programming language? You are talking about Python, right - the language that *begins* by forcing a style of indentation....? No?


      I knew somebody would start bitching about the indentation. The indentation is just Python's syntax for denoting block structure. It doesn't remove any power from the programmer, it is just a different syntax. Does Perl (5, anyway) grant the freedom to denote blocks with indents instead of curly braces? No? So does that aspect make it less expressive than python? No, it is just a different syntax.



      The freedom of the language has nothing to do with its syntactic
      cleanliness.

      That's off. On the contrary, having a flexible grammar allows you to do, well, flexible things. I for instance was able to throw together my own data modelling syntax using Perl's function prototypes. When the language is willing to *bend over backwards* to accomodate you, no matter how unreasonably outrageous of a demand you make, you can twist it into he wildest contortions and pure art emerges.


      Perhaps I worded that wrong. What I meant and should have said was: A clean, simple syntax (or as you deemed it, paternalistic") does not imply lack of power or expressiveness. See Lisp for example, which has less syntax than perl or python.

      But anyway, getting down to specifics, I'm not sure about your perl prototypes example. Prototypes in perl have a few different effects: some degree of compile-time type checking, ability to imply pass-by-reference (irrelelvant in python since, like Java, almost everything is a reference anyway) and making paren-less function calls even less clear.
    5. Re:Why I like Larry Wall. by chromatic · · Score: 2, Insightful

      If you're a decent programmer and you have productive experience in a couple of languages already, it's likely you can pick up enough of a new language (especially an Algol-derivative) in a week or two and be productive. Perl and Python and Ruby and PHP aren't too different in that sense.

      If you're not a programmer, it really doesn't matter how the language looks. Not only do you have to learn the purpose of the system and the design of the code already, you have to learn how to program. If your manager threw you into that point, not knowing the language is just one of many, many problems.

    6. Re:Why I like Larry Wall. by chromatic · · Score: 2, Interesting

      Hm, I didn't type my full thought.

      If you're a good programmer already and you learn the language, you can maintain the code. Then it doesn't matter if you could read the program before you knew the language. You know the language.

      If you don't know how to program, you have no business maintaining the program before you learn to code. It doesn't matter if you think you can read the program.

      If you're a good programmer and you suddenly have to maintain a program written in a language you don't know, the learnability of the language is important... but you're still in trouble.

      In one job, I had to fix a website for a client developed in ASP with VBScript. I don't know VBScript, but it was close enough to other languages I knew so that I could stumble through a book and figure out just enough to fix things. It wasn't a brilliant solution and it probably wasn't even the optimal solution, but it worked. Still, it was a bad situation.

      I think it was only VBScript's similarity to other languages I'd used (and my familiarity with web programming at that point) that made it possible to fix the bugs. If it had been another language designed for human readability (COBOL, for a totally unfair example, or AppleScript), I'm not sure the readability of the language would have helped at all.

      Fortunately, the client only needed that little bugfix and I didn't have to learn VBScript and ASP to keep supporting them. Sure, my rule about not maintaining code in a language you don't know is an ideal rule and you can't always avoid it, but if people stuck with it we might be in a lot less trouble code-wise.

  4. Re:Full article text by gowen · · Score: 5, Funny
    you have to buy the magazine to get the full text...
    And yet you felt the need to copy and paste the bit they gave you, and title it "Full Article Text".

    You sir, are a cretin.
    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  5. Hard Enough to Understand by Anonymous Coward · · Score: 5, Interesting

    I'm not going to debate the fact that Perl is an immensely powerful language. It can do an amazing amount of stuff...but I'm worried about giving the programmer control over the actual grammar of the language itself. It seems that that will cause some of the same issues that C macros can cause (which is why Java doesn't include them), in terms of making the code just next to impossible to follow. Perl is hard enough to maintain with how obfuscated it can get. I'm not sure this is going to help.

    1. Re:Hard Enough to Understand by H0p313ss · · Score: 2, Funny

      This must be an obscure usage of the word survive of which I was previously unaware.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    2. Re:Hard Enough to Understand by Anonymous+Brave+Guy · · Score: 3, Insightful

      Then again, it could also cause some of the issues LISP macros can cause. Powerful language features aren't inherently bad things, but powerful language features in the hands of unskilled users are dangerous things, so it depends a lot on who you're trying to help.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  6. Terrorists caused book sales to plunge by digitaldc · · Score: 4, Funny

    O'Reilly had run into really tough times because of the plunge in book sales, which was already starting before 9/11 but very much accelerated at that point.

    I remember on 9/11 thinking: That's it, I will never buy any more books! The terrorists have won.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
    1. Re:Terrorists caused book sales to plunge by skribble · · Score: 3, Insightful

      Well actually that's apparently exactly what happened. Maybe not just to computer books, it could have been more of a global . o 0 { I'm not buying anything except bottled water, canned food and shotgun shells } but it certainly had a hugh effect on computer book sales. Part of this was happening anyway, it -seemed- when the burst of the .com bubble stifled innovation and there just wasn't anything that new that people needed a book to learn. While that was true to a point what really was going on was that people needed to learn different things and no publisher was providing it (and largely still don't today). In overly simplistic terms, the bulk market shifted from how do I use my computer to how do I accomplish "x" with my computer. It's also important to realize that the "x" changed too. Most publishers on a whole still don't get this (some do, but the industry on a whole is very reactive so change is slow). O'Reilly has been burned by this just like everyone else. While there is still a good market for well written programming books which has traditionally been O'Reilly's market (and has saved it many times since it traditionally avoided the fickleness of end user consumers) even that is changing. Right now to try to save themselves most Publishers are just attempting to do the same thing by making superficial changes in how books look and selling this facelift as the next big thing ("Head First Java" anyone?) The problem is these books still teach the same old topics which have diminishing interest. It's not the approach... Heck.. IMO "The C Programming language" by K.&R. is still the best computer book out there and much of that has to do with the simple presentation of the material without all the pretense and gimmicks of today. The problem isn't the approach, it's the topic.

      But a babble off on some rant... the fact remains 9/11 hurt the book industry along with everyone else, the computer book industry took an extra hit because when people started to buy stuff again they realized that none of the computer books on the shelves dealt with the topics they wanted to learn.

      --
      --- Nothing To See Here ---
  7. Parrot more interesting than Perl 6 by porkThreeWays · · Score: 4, Interesting

    For as long as I've been following Perl 6, I've felt Parrot is more interesting than Perl 6 itself. Parrot is in many ways like .net (obviously there are many internal differences, but the idea is the same). Compile to a common bytecode that a virtual machine understands. This is interesting because it already supports (albeit incompletely) more languages than .Net and is a whole hell of a lot newer. I think Parrot is going to get the attention of a great chunk of languages haven't really considered using a VM before. We could see the age of 3 common bytecodes in practice. Java VM (whatever it's called), .Net, and Parrot. Maybe one day instead of seeing "Ruby 1.8 or greater required" we'll see "Parrot X.X or greater required". It'd be nice if we actually saw the day of the Parrot VM browser plugin or (pipedream) Windows coming with the parrot VM.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
    1. Re:Parrot more interesting than Perl 6 by Jaykul · · Score: 4, Informative
      This is interesting because it already supports (albeit incompletely) more languages than .Net and is a whole hell of a lot newer

      I'm all for another multi-language VM, especially if it's built from the ground up for dynamic typing, but you're joking about the languages, right?

      I count 33 Parrot Languages (including duplicates) but only 15 that have ANY tests (even ones that fail).

      Of all the lists that I checked, the only one that short was the one for the Mono Project (and they list 13)...

      I mean, it's certainly fair to claim that Parrot is newer, if by newer you mean "still not done" (at the current rate, we might see .NET 3 before Parrot 1.0), or "released a beta most recently" (0.4 came out JUST after .NET 2 went gold). But to say it has more languages is just ignorant.

      --
      Anger is never without a reason, but seldom with a good one. -- Benjamin Franklin
    2. Re:Parrot more interesting than Perl 6 by Abcd1234 · · Score: 2, Informative

      I think the main thing that sets .net apart is not so much language support, but the rich software library which is conveniently accessable from *any* of those languages.

      You do realize that the goal of Parrot is to allow exactly that, right? So a Python programmer could, conceivable, leverage modules from C6PAN, or vice versa. But, like .NET, whether this will work in practice remains to be seen.

  8. Re:About Larry by mike77 · · Score: 4, Funny
    He has won the International Obfuscated C Code Contest [ioccc.org] twice

    So much has now become clear about Perl!

    Don't get me wrong though, Perl is my code of choice.

    --

    --Keeping the flame wars alive, one post at a time

  9. Grammatical mutability... by Dystopian+Rebel · · Score: 5, Funny
    This lets different kinds of grammatical mutability sneak into the language, and lets people experiment with different syntaxes and different ways of attaching those syntaxes to new kinds of semantics.


    Translation: "Perl 6 code will be the most unreadable Perl ever."

    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
    1. Re:Grammatical mutability... by code65536 · · Score: 5, Insightful

      Ahem! There is a difference between syntactical messiness and semantic messiness. Perl is very ugly syntactically, but I've found it so very beautiful semantically, and its fluidity is exactly what makes Perl so perfect: it allows the fusion of functional (e.g., Lisp-like), imperative (e.g., C-like), and OO paradigms of programming. While many languages fuse the latter two (like C++), few are able to successfully fuse in the first (with things like functions being first-class expressions and something similar to an equivalence of statements and expressions) (and no, just because Python has "lambda" doesn't make it more Lisp-like in the broad picture--in fact, they are even thinking about retreating from that--grrr).

      If someone feels that using the full scope of Perl results in messiness, they aren't forced by any means to use that full scope. There are many Perl coders who limit themselves to the "C subset" of Perl. But unlike certain other unnamed languages, Perl doesn't try to play the role of parent in telling you what you can and can't express so those who are more comfortable with a wider breadth of linguistic forms can take advantage of that and make code that is, in a word, elegant.

      As for the syntactical ugliness (the $, @, %, etc.) that most people are referring to when they say that Perl is ugly... well, you learn to live with that pretty early on. But beneath that superficial ugliness lies a sparkling beautiful language.

    2. Re:Grammatical mutability... by diggem · · Score: 2, Interesting

      Yeah, I read that same line and thought the same thing. Great! Now you can make Perl look like Java, or C# or ... assembler! I'd say you could make it look Klingon but it already does if you include much regex.

      I love perl and I love perl modules, but debugging code written using perl modules makes me want to tear out my already thinning hair. I was going to write a "quick and dirty" script using the libwwwperl module but ended up going with some cURL calls in a shell instead. It was easier to see what the problems were and cURL did all the "heavy lifting" for me.

    3. Re:Grammatical mutability... by kpharmer · · Score: 2, Insightful

      > If someone feels that using the full scope of Perl results in messiness, they aren't forced by any means to use that full scope. There are
      > many Perl coders who limit themselves to the "C subset" of Perl. But unlike certain other unnamed languages, Perl doesn't try to
      > play the role of parent in telling you what you can and can't express so those who are more comfortable with a wider breadth of
      > linguistic forms can take advantage of that and make code that is, in a word, elegant.

      Hmmm, I find that there is more elegance in a solution that uses just a few components consistently and well, than in a solution that has a vast number of components in a variety of ways.

      'One way to do things' is language philosophy that may occasionally increase implementation costs, but usually shrinks learning curves and maintenance costs. That's usually a good deal.

  10. Cover Quote by holdp · · Score: 5, Funny

    The dead tree version had on the cover a very Larryish
    quote - (roughly) We have 80% of Perl6 done and we are now working on the next 80%.

  11. Re:Perl? Are you kidding me? by paradizelost · · Score: 3, Interesting

    I do think you should take a look at the web pages your looking at. as far as i can tell, the .pl at the end of the page name means it's written in perl. So, is slashdot written in perl? i think so.

    --
    "In a world without walls and fences, who needs Windows and Gates?"
  12. Re:About Larry by H0p313ss · · Score: 2, Funny

    Larry is a God but Perl makes my head hurt just thinking about it...

    Obfuscation by design?

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  13. Re:About Larry by H0p313ss · · Score: 3, Funny

    Now that would make a great O'Reilly title:

    Application Development in Perl: Obfuscation by Design

    Forgive me Larry... I must be grumpy today.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  14. it's the community by SmallOak · · Score: 5, Informative


    I think one of the strength of Perl is a very active community and, dare I say it, they are nice bunch of people.

    I have been to two Perl YAPC and found the people very helpful and very welcoming to people with limited programming background like myself.

    The other big strength of Perl is CPAN, it's like a huge store for free. I used the CPAN shell a lot at one point and I was very pleased in the way it resolved dependencies. IN general I found the documentation for the CPAN Libraries I was using very good. Your mileage may vary. Sitll I found that creating your own Classes is a bit more work than in some other languages.

    I worked on a big project that was pretty much all in Perl. How did they do it? Good old fashion project discipline. They set coding style rules (programming and indentation), Perl's Perldoc for documenting, good versioning, and object naming conventions.

  15. In related news... by Billosaur · · Score: 2, Funny

    Larry Wall has announced plans to hardwire Perl 6 into his brain to make it easier for him to do updates in the shower.

    --
    GetOuttaMySpace - The Anti-Social Network
  16. Re:Wow by j-pimp · · Score: 4, Interesting

    And the George W. Bush award for using 9/11 as an explanation for something completely unrelated to 9/11 goes to .... Larry Wall.

    I don't know about nationally, but there was a major recession in the NY area after 9/11 for a good year and a half. I was stuck workign at burger king at one point. Granted, I choose the worse time to drop out of college, it was even hard for a high school graduate with some college and a solid skillset at the time for entry level IT work to get a minimum wage service job.

    The company I work for now is an ISP/developmenthouse. They are based out in eastern longisland 36.9 miles from my house in Queens according to google. There business core was out east. They had inroads and a solid plan to break into Manhattan, but they were, and still are a longisland company. Before september 11th they were looking at adding phone lines. Afterwards, the phones stopped ringing. There development work almost stopped. They had to lay off several people.

    Anyway, claiming September 11th had a negative aspect on the business of computer book publishing is far from unbased.

    --
    --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
  17. Better critics by VincenzoRomano · · Score: 2, Interesting

    It would be much better for the communities to have Larry talk about PHP and maybe Rasmus provide his thoughts about Perl.
    At least we'd get an interesting cross-flame session!

    --
    Maybe Computers will never be as intelligent as Humans.
    For sure they won't ever become so stupid. [VR-1988]
  18. Re:Real hackers use Python. by kpharmer · · Score: 4, Insightful

    > I made it to page 149 where it says "Python uses the indentation of statements under a header to group the statements in a nested block."
    > I stopped reading and tossed the book on my bookshelf on a shelf full of unused & unloved technical manuals.

    One of the best things a programmer can do is try different languages. Try lisp, sql, haskell. Play with xml and yaml. Compare J2EE to Ruby on Rails. Try a language that doesn't use ALGOL-inherited code blocks. Just like an 80s ACM article said, the single best way to evaluate a programmer is by the number of languages they're fluent in.

    At the end of the day Python's indentation causes a few programs, but seems to solve more. It makes it hard to share source code via email. It rules out the use of tabs. I can live with those limits. On the flip side it helps reinforce readable code. That's a very good thing - and consistent with the fundamental philosophy of the lanuage: the code must be easy to maintain.

    But if you really can't get your head around that, then try Ruby. Like Python it's a well-designed, easily maintained language with a great community and future.

  19. Then use perl persistently... by Etcetera · · Score: 2, Informative


    Perl is compiled every time you run a Perl program. It causes an annoying slowdown in my programs.

    It doesn't have to be... you should look into SpeedyCGI/PersistentPerl or even PPerl. I use the former for various web cgi's that are hit constantly (including one framework where all hits are rewritten to execute a single index.pl script) as well as for various scripts that need to execute very quickly as part of a qmail/vpopmail shell chain.

    As long as it's already use strict compliant, neither of these options require any changes to your code (unlike mod_perl), but should give you a significant increase in speed... for exactly the reason you specified.

    In fact, when you remove compilation from the equation, I've seen well-written perl code that executes faster than almost any other language... (your opcodes are basically boiling down to C anyway).

    Of course for CGI-only usage you can use mod_perl, but that does bring in some added complexity. The solutions above work from the command line as well, and require nothing more than a shebang line change.

  20. Perl: love it and hate it... by FellowConspirator · · Score: 2, Interesting

    OK, I'm a computational biologist by profession, so it goes without saying that I use gobs of Perl. I also use gobs of PHP, Java, R, Python, and to a lesser extent C++ and C.

    I end up using all of those languages of course, because all of them have their strengths and weaknesses. Perl is not the best performer, but much of my work is working ad hoc problems and Perl is very simple and concise for many common problems. It also is a great alternative to shell programming. I love it for those things.

    However, I hate writing web-based stuff in Perl because the ease of use and clarity (basically speed of me getting somethign done tempered by the chance that I can figure out what I did later when I need to) are not as high as, say, when using PHP. It pains me to see awfully written Perl code when thigns could more clearly and easily be solved using something else -- in which case I hate it. I frequently get legacy stuff that is over engineered or fanatastically complicated because someone didn't recognize or didn't know how to use something that would have been simpler; doubly an issue since this also tends to produce more opportunities for bugs.

    I could go on, but I've been doing this for some time now and have a very good feel for which language is the best tool for a specific aspect of my job and I use that (because the language used to implement a solution is NEVER a concern for those whom I'm providing solutions to).

    I'm really interested in Perl6 -- the new VM (looks like .Net has some serious competition) and the greatly improved performance, but more importantly the language features allow grammars and rules for natural language processing in a very clean and efficient style. I've a number of projects analyzing literature where this would be a boon and there's nothing comparable in other general purpose languages...

  21. Re:Perl 6 for serious projects? by Lost+Found · · Score: 2, Informative

    Perl 6 is currently a serious development project. But since you must ask, check out the first CMS written in Perl 6:

    http://search.cpan.org/~brentdax/WWW-Kontent-0.01/ WWW/Kontent.pm

  22. how will extensions work? by CoughDropAddict · · Score: 2, Interesting

    Here's something I've been wondering about Parrot for a while. How will extensions work? How can I extend Parrot-based languages with C, either to optimize an algorithm, or to wrap a C library?

    In my opinion, Parrot needs to get this right to be useful.

    1. Re:how will extensions work? by Abcd1234 · · Score: 2, Informative

      Umm... that already exists in the form of Parrot's NCI, or Native Call Interface. It's been used to bind, among other things, SDL to Parrot.

  23. Re:Real hackers use Python. by julesh · · Score: 3, Interesting

    I made it to page 149 where it says "Python uses the indentation of statements under a header to group the statements in a nested block." I stopped reading and tossed the book on my bookshelf on a shelf full of unused & unloved technical manuals.

    Hold on... it gets to page 149 before pointing out the most important thing to be aware of in the language's syntax? That's a terrible book. Get another one.

    Seriously, though, I was put off Python for a long time for the same reason. I've used whitespace-significant languages before (COBOL, and a functional language called Miranda) and had no end of trouble with indentation issues. But when I tried Python, it just worked, flawlessly. I've never had an issue because of indentation. The language works, it's easy to write, and programs are easier to read due to the lack of excess symbols. The syntax is very clean and readable.

  24. Re:I migrated from Perl 5.8 by Lost+Found · · Score: 2, Insightful

    Fair enough. I've tried to learn Ruby so I'm not a dolt... but the syntax, to me, is downright offensive.

    It's sad that people have trouble with Perl's syntax because hiding behind the scary surface is a brilliant sort of orderly chaos that's unlike any language I've ever used. In terms of Perl, as a language, I think I've begun to enter a class of 'Perl Mastery', and there are still things I find out about every now and then that the language does that are just utterly fantastic.

    It is possible to write clean and understandable Perl code. What it takes is simply clean and understandable programming. A guy once told me, referring to Java, "You can take shitty programmers and put them in the language, and despite all of its efforts to stop them, they will write shitty code." Most people writing Perl are still basically writing C code... and that's when you really do miss what Perl has to offer.

  25. Re:Real hackers use Python. by simon_hibbs2 · · Score: 3, Insightful

    An interesting post for those of us interested in your personal biases, but since you didn't actualy try it out, we have no idea whether you would actualy have found it useful or easy to adapt to. I have to admit I came across discussions and introductions to Python several years before I actualy tried it out and the whitespace issue did put me off. I immagined it would be awkward to use and would overly complicate code editing. I was wrong. In practice I found it wasn't. Instead it makes the code so much cleaner and easier to read. You might have found the same thing, and you might not, but we'll never know. Simon Hibbs

  26. Plagiarism much? by daVinci1980 · · Score: 4, Informative

    You know, if you're going to steal an article, verbatim, from wikipedia.org, the least you could do is cite a reference to it.

    But in the future, maybe you should just post a link to the article instead.

    -1, Plagiarised for you.

    --
    I currently have no clever signature witicism to add here.
  27. Re:About Larry by Lost+Found · · Score: 3, Insightful

    Have you ever been in perl's guts? It shares a property of Perl that I find most interesting... when you first look at it and try to become comfortable with it, well, it makes grown men cry.

    But then you have this moment where something in your head *clicks* and then you understand... and after that it is beautiful and logical and makes infinite sense.

    It really was better than acid...

  28. Re:Real hackers use Python. by Coryoth · · Score: 2, Insightful

    ...but what about the ol' copy-paste from a block one level deeper that would throw everything off.

    Any editor worth its salt has a python mode/plugin, and in that there are convenient functions for "shift left" and "shift right" which will move the selected text one indentation level left or right. Cut and paste your code, then just shift it to the indentation level required. It really isn't that hard.

    Jedidiah.

  29. Re:funny? !LOL Re:Perl is a trainwreck - retire it by gnuLNX · · Score: 2, Funny

    Are you having a Homer Simpson DUH!!! moment yet?

    --
    what?
  30. Re:Isn't Duke Nukem Forever coded in Perl 6? by chromatic · · Score: 5, Informative
    Perl 6 has got to be the vaporiest vaporware out there, almost.

    Funny, I have working Perl 6 code.

    The development on this thing has been going on forever.

    Like the C programming language or Java or C++ or Python 3000 or Ruby or PHP or....

    Six really is going to be the horse developed by committee.

    What does that even mean? Is Larry a committee now? (Yes, I know about @Larry. That doesn't make a meaningless cliche mean anything.)

    How much of the stuff in there was cool back in '00 really matters now?

    Off the top of my head, cleaner syntax, better consistency, improved FFI, more powerful grammars, multi-methods, improved OO, a better VM, true garbage collection, better speed, currying, optional type inference, hyperoperators, junctions, improved reflection, integration of regular expressions and tree transformations, role-based typing, better distribution options, JIT, true macros, and built-in set operations matter. I probably missed a few.

  31. Re:Real hackers use Python. by Coryoth · · Score: 2, Informative

    I think you need to invest some time in learning block shifting commands. In Emacs under Python mode that would be python-shift-left and python-shift-right, conveniently bound to Ctrl-c < and Ctrl-c >; that will collectively shift the selected text one indent level left or right, preserving indentation within the selection. Any other editor worth using has similar commands. To move code around for refactoring just cut and paste then shift the whole block you cut and paste left or right to the appropriate indentation level. Simple, easy, and efficient.

    Jedidiah.