Slashdot Mirror


Happy Birthday Perl!

Puppet Master writes: "Just remembered that Perl was created on this day (12/18) in 1987 by Larry Wall..." Check out the Time Line and the discussion on use.perl.org and I'll take this chance as a reminder to donate to the Damian Conway/Dan Sugalski slavery fund.

17 of 168 comments (clear)

  1. For everyone who wants to learn perl too.. by linuxrunner · · Score: 5, Informative

    I don't normally plug things but, this is free, and it seems appropriate:

    Currently Barnes and Nobles and their partnership is currently offering FREE Learn Perl courses online....

    They try and sucker you in to buy the book, but it is not necessary for those who don't want to, but again, it is a very good book, therefor I would recommend it.

    So if you ever wanted to know what we were all talking about when we say "PERL", now's your chance...

    --
    www.slightlycrewed.com - Because aren't we all?
  2. Re:This post... by Frothy+Walrus · · Score: 5, Funny

    what part of

    $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142 ;$ t=255;@t=map{$_%16or$t^=$c^=(
    $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110 ;$t^=(72,@z=(64,72,$a^=12*($_%16
    -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271 );if((@a=unx"C*",$_)[20]&48){$h
    =5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[- -$ h+84])}@ARGV;s/...$/1$&/;$
    d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3] ;$d=$d>>8^($f=$t&($d>>12^$d>&gt ;4^
    $d^$d/8))<<17,$e=$e>>8^($t&($g=($q =$e>>14&7^$e)^$q*8^$q<<6))<< 9,$_=$t[$_]^
    (($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}p rint+x"C*",@a}';s/x/pack+/g;eval

    don't you understand??

  3. It's about that time... by MicroBerto · · Score: 5, Funny
    Ahhh, 14 years old. Perl is now going to become (even more) rebellious, may stop talking to its parents, and will insist on being called a man, or more mature.

    Don't be surprised if you begin seeing Perl tend to lean towards more pornography and opposite-sex modules. Excitement will soon begin for the car and driving modules as well!

    Larry, although Perl doesn't want to talk with you as much during these rebellious years, please make sure that it takes care of itself during its bodily changes, including washing its face, as acne outbreaks are rampant during these years and can ruin its complexion forever.

    --
    Berto
  4. 14 years of Perl by Krapangor · · Score: 4, Funny
    have taught us one thing:

    You don't have to use C to confuse people.

    --
    Owner of a Mensa membership card.
  5. Laziness, Impatience, and Hubris by kryzx · · Score: 5, Interesting
    Here are a bunch of interesting conversations with Larry Wall:
    http://paulagordon.com/shows/wall/

    Also, this would be a good time to remember the principles of good programming:
    • LAZINESS: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer.
    • IMPATIENCE: The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least that pretend to. Hence, the second great virtue of a programmer.
    • HUBRIS: Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer.
    --
    "I don't know half of you half as well as I should like, and I like less than half of you half as well as you deserve."
    1. Re:Laziness, Impatience, and Hubris by dangermouse · · Score: 4, Insightful

      That's False Laziness. A real lazy programmer documents his code thoroughly, so that he doesn't have to put any effort later into understanding or explaining it.

  6. I would like to say Happy Birthday by Pinball+Wizard · · Score: 4, Interesting
    to the fastest and most complete cross-platform language that I know of. Yes, this includes C# and Java.


    Seriously - what else can do system admin scripting(on many different systems), database programming, web programming, network programming, and do it all on just about any platform, not to mention virtually everything C, awk, sed and shell scripting can do.


    Nothing, that I know of.

    --

    No, Thursday's out. How about never - is never good for you?

  7. Perl, Perl, the musical fruit by Dancin_Santa · · Score: 4, Interesting

    Perl is really the reason I stay with programming. Trained in Cobol, Pascal, C, and C++, I thought that coding was an adventure like delving into the depths of Mayan pyramids - difficult and yet rewarding. There's only so much grinding one can take, though, and I was at the point of giving it all up to focus all my time on engineering new toys for all the boys and girls.

    Then I found Perl. Built-in data structures, a text-parsing mechanism that's second to none, and a community that's more interesting than a barrel of camels. Programming in Perl is like painting, it's fun, engaging, and every bit of creativity that rolls from the tips of your fingers is reflected in the code.

    Besides, I've had the opportunity to have lunch with Randal, and he was much more interesting than Bjarne (who couldn't be bothered, but I'm sure is a nice guy).

    No coal for you this year, Larry.

    Dancin Santa

  8. Why perl is the holy Grail by TeleoMan · · Score: 4, Insightful

    Because it has all the great functional features that can make Lisp programmers happy.
    Because it has a wonderful OO model which can make all OO programmers happy.
    Because it has super fast compilers that can make C and C++ programmers happy.
    Because it is great for imperative programming and for functional programming.
    Because it is great for procedural programming and for OO programming.
    Because it is as multiplatform and portable as Java.
    Because it is designed to please everyone without compromising on anything, and, put more simply, because it can reconciliate the C, Java, Lisp and C++ community.
    Because it can even be used indifferently as a scripting or a system language.
    Because it is great for teaching AND for the real world.
    Because its compilers are libre software and its design and developement are made in a very open fashion.

    --
    "buckle your seatbelt, dorothy - kansas is going bye-bye."

    --
    $6.21 is the number of the beast before sales tax. Meh.
    1. Re:Why perl is the holy Grail by jtdubs · · Score: 5, Informative

      > Because it has all the great functional features that can make Lisp programmers happy.

      Yeah. Of course it does. It support first-class functions perfectly, and of course, can handle lambda abstractions and currying without breaking a sweat. It can also do perfect continuations. It prefers recursion to looping and eschews side-effects too. Well, actually, perl 6 does do currying and first-class functions.

      > Because it has a wonderful OO model which can make all OO programmers happy.

      Yes, naturally. It's obvious perl was designed from the ground up to be the holy grail of OO programming. But seriously, it does have increasingly good OO support. OO in Perl 6 is nice. It's not the best OO language around, though. It's not even in the top 10. Well, maybe top 10. There aren't many OO languages that don't suck.

      > Because it has super fast compilers that can make C and C++ programmers happy.

      I mean, yeah, it's not slow. It doesn't have the god-awful long start-up time of Python. It's not C. It's not C++. It's not assembler. It is fast for a language of it's kind.

      > Because it is great for imperative programming and for functional programming.

      Imperative programming, fine. Functional programming, I think not. Not being lambda-calculus based, Perl may have a rough time with that whole mathematical provability of correctness thingy. It also doesn't do list comprehension for shit. Hell, who needs that stuff anyway. :-)

      > Because it is great for procedural programming and for OO programming.

      Procedural, fine. OO, see above.

      > Because it is as multiplatform and portable as Java.

      Multiplatform, check. Portable as java... are we counting GUI's? If not, check.

      > Because it is designed to please everyone
      > without compromising on anything, and, put more
      > simply, because it can reconciliate the C, Java,
      > Lisp and C++ community.

      You CAN'T please everyone without compromising on anything. Plus, nothing will ever reconsile the Lisp community with anyone... :-)

      > Because it can even be used indifferently as a scripting or a system language.

      Ok.

      > Because it is great for teaching AND for the real world.

      Real world... yes... for smallish programs. You don't see many enterprise-class million-line-long programs written in Perl.

      Teaching... good god i hope not. If you ever get my kids started with a language as cryptic as perl with it's magic variables that it uses without asking you and it's $var syntax I'll shoot someone. You may want to check out Python though. Imagine Perl without nearly as much support or maturity, but with beautiful syntax and good OO, and it's improving real quick.

      > Because its compilers are libre software and its
      > design and developement are made in a very open
      > fashion.

      Ok.
      Anyway, I like Perl. It's a wonderful language for some things. I mean, it IS the glue of the internet. But it is NOT the holy grail of programming. It does not satisfy everyone, it can not do everything. It is a good language though.

      Justin Dubs

  9. Ummm .. hold on here ... by TheViffer · · Score: 4, Informative
    Dec 18 .... Dont you mean October 18!!!

    Come on guys ... lets check these facts before posting them!!

    --
    -- Knowing too much can get you killed, but knowing who knows too much can make you rich.
    1. Re:Ummm .. hold on here ... by tycage · · Score: 5, Informative

      The Perl Timeline says December 18th.

  10. Don't judge Perl based on the article by TeleoMan · · Score: 4, Offtopic

    Look, a lot of you people come from what I call the Computer Science Student mentality. This unfortunately something I've noticed as a side effect of the way computer science is taught in most schools. It's quite unfortunate, because that clearly isn't the aim of the Professor's when they are teaching classes this way.

    I'll use my school as an example. When I started at the University of Dayton, about 7 years ago, every class was taught in ADA. It was a horrible horrible expierence. The ADA compilers were horribly lacking at the time, and anybody who has done any work in ADA will know that it is an extremely strict and picky language. That has it's good and bad sides when it comes to teaching programming, but I'll save that for a different discussion. I had no problems, since, well, I had a good solid 4 years for Pascal and C/C++ programming experience before I even started college, but this seriously affected the other students in my class.

    The problem was, about two years into the program, my school decided (thank god) to switch the department over to C++. This was a great move, because now the students were being taught a language that they could actually apply in the real world (beyond the confines of the Wright Patterson Air Force base anyway). It worked out quite well for the newer students, but my classmates were blindsided. Most of them suffered through half a semester of C (the other half of the semester was 360 assembler) and never even touched upon C++. They should have just been able to pick up a C++ book, apply the concepts they learned from their ADA classes and the syntax from the C++ book and their C course and move on, but most of them had a hard time doing it.

    Why was that? They all knew the concepts. They all knew how to write their algorithms, and their trees, and their stacks and queues. Yeah, they weren't taught how to write real software, but they clearly knew the basics. I spent more time helping others learn these concepts than I did doing my own homework the first two years, so I know what they were capable of from first hand experience.

    The problem was entirely in their minds. C++ is a huge ugly beast, and it is a bit imposing when you first start. But if you've got two solid years of programming behind you, it should be a relatively smooth and easy transition. Most of them didn't realize this though. They were scared of C++, they were scared of new languages, and they suffered as a result.

    The simple fact of the matter is, if you know one language, you know them all. It's not the syntax that makes the difference, it's the concepts that you express within the framework of the language's syntax that are the real guts of programming. My classmates took awhile to realize this (and I'm sure many of them still don't). That's the same thing with Ruby, or Python, or Perl, or just about any language. Unless you are making the jump from procedural to OOP, or OOP to Functional for the first time, you *CAN* pick up a book and learn a new language in a days time. The only thing stopping you is yourself.

    Now, the other part of this is, why would you do that? I love learning new languages, and I love learning new languages for a few reasons. These reasons apply to every programmer, and I honestly don't understand why some people are so opposed to learning something new. I guess that's what seperates a good programmer from a bad programmer. So if you want to know why you should learn Perl, or LISP, or Haskell, or even Visual Basic, I'll tell you why.

    1. It helps keep your skills in tip top shape. Perusing a computer manual may remind you of algorithms or techniques you haven't used in a long time and forgotten.

    2. You always seem to learn something new. Not some new technical trick that only works in one lanuage (although that definitely happens), but just a different way of approaching problems that sometimes can transcend language boundaries.

    3. You may find a new language that allows you to get the job done faster!

    4. You're enhanced knowlege of languages looks great on your resume no matter what you use as your primary language.

    5. You learn the way other people think. And I don't want to gloss over this one. As a programmer, you frequently have to work with other programmers. Learning new languages is a *GREAT* way to see how other people do things. To learn the way other people think, so to speak. By learning Perl and Smalltalk, you start to learn why people in those communities are so die hard about OOP programming styles. By learning LISP or Haskell you start to learn why Functional styles even exist! And it all comes back full circle. Techniques I learned from Haskell I now use when writing C++ programs and vice versa. It only made my C++ code better.

    Knowlege is power, and learning new languages is one (of many) ways of increasing your knowlege. Go ahead and try it, even if you think you won't use the language, and even if you're just starting out and don't think the transition from your learning language to a new one will be easy. You just might be surprised by how much you already know, and how much you have yet to learn. That's the real benefit of it.

    It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward

    --
    $6.21 is the number of the beast before sales tax. Meh.
  11. Re:wow! by plover · · Score: 5, Funny
    And on the second day, Larry rested.

    (It didn't start out big enough to take seven days!)

    John

    --
    John
  12. Let's get that fund growing! by Marx_Mrvelous · · Score: 4, Insightful

    I don't know abouy you guys, but Perl has become a huge part of my livelyhood. Let's try to all donate at least $5, we've got enough slashdotters that we could really make a huge difference.

    I may be a poor college student, but without Perl, I wouldn't be able to be here at all!

    --

    Moderation: Put your hand inside the puppet head!
  13. Ok .. its Dec 18 ... by TheViffer · · Score: 4, Informative
    after spending a little time with google newsgroups I was able to find this post from the camels mouth



    Larry Wall stating where to get perl and when it was put there

    --
    -- Knowing too much can get you killed, but knowing who knows too much can make you rich.
  14. Timeline discrepency, Yes to Dec 18th by Dave21212 · · Score: 4, Interesting
    Another poster pointed out that there are two birthdates published in different areas of the perl.org website. This interesting entry from the recent timeline should clear things up... of course the significance of "publicly released" as it relates to "birthday" is up to the reader ;)

    The Oxford English Dictionary investigates the origin of the word "Perl" while considering it for an entry in the next edition. Perl will be included and the entry will resemble the entry below.

    Perl Brit.
    Perl, perl, irreg. PERL
    Computing.
    perl n. ,
    arbitrarily chosen for its positive connotations, with omission of -a- to differentiate it from an existing programming language called Pearl. Coined by Larry Wall in the summer of 1987; the program was publicly released on 18 December of that year. Acronymic expansions of the name (such as Practical Extraction and Report Language and Pathologically Eclectic Rubbish Lister), though found in the earliest documention for the language, were formed after the name had been chosen. Coinage details confirmed by personal communication from L. Wall, May 2000. A high-level interpreted programming language widely used for a variety of tasks and especially for applications running on the World Wide Web. The form Perl is preferred for the language itself; perl is used for the interpreter for the Perl language.

    1988 J. Vromans Perl Reference Card.
    --
    "Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin