Slashdot Mirror


Apocalypse 5 Released

Simon Cozens writes "The Apocalypses are Larry Wall's explanation of the design of Perl 6. In Apocalypse 5, Larry turns to redesigning regular expressions. He set out to intentionally 'break' a lot of the regular expression culture we're all used to, and these are the results - and they're mindblowing."

234 comments

  1. Changing regular expressions? by damieng · · Score: 1, Redundant

    Bah, and I've only just got the hang of em.

    I hope somebody's going to write some automatic conversion tools because going back to one even a few days later is a hairy experience indeed.

    --
    [)amien
    1. Re:Changing regular expressions? by tjwhaynes · · Score: 3, Informative

      I hope somebody's going to write some automatic conversion tools because going back to one even a few days later is a hairy experience indeed.

      Guess you haven't seen txt2regex? It doesn't support Perl 6 yet - but it supports about 20 languages at this point so I think you can reasonably expect to see more in the future :-)

      Cheers,

      Toby Haynes

      --
      Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
    2. Re:Changing regular expressions? by pbrammer · · Score: 2, Interesting
      Automatic conversion tools??? According to Larry, that won't be a problem per se... That is you'll still be able to code in the "old way."

      Quote from Apocalypse 5:

      Given all this, I need to warn you that this Apocalypse is going to be somewhat radical. We'll be proposing changes to certain "sacred" features of regex culture, and this is guaranteed to result in future shock for some of our more conservative citizens. Do not be alarmed. We will provide ways for you to continue programming in old-fashioned regular expressions if you desire. But I hope that once you've thought about it a little and worked through some examples, you'll like most of the changes we're proposing here.


      Phil
  2. Regex by inflex · · Score: 4, Insightful

    Why do we always have to keep changing regex [and many othe things]. Isn't enough that we have to learn one format for almost every language. Sure, there are perhaps easier ways to express certain logic situations, but over all, do we /need/ another regex format?

    1. Re:Regex by joeykiller · · Score: 3, Insightful

      Perhaps we need to change regex and a lot of other things because the way they work today is not too optimal, or even logical (not that Perl itself is) or intuitive.

    2. Re:Regex by Anonymous Coward · · Score: 0

      regex is not Perl, nor did it come from perl. Perl simply has a regex implementation. Personally, I like it just fine the way it is. Larry, in addition to writing a poorly documented, sometimes cryptic language, is making another mistake.

      I can't completely knock Perl, but the docs could be a little less like shmungarian prose, and the types could be better organized. As well the documentation examples would be better if we could see the example in the context of the larger script.

      While powerful it is difficult to learn and master.

      This regex thing is yet another reason to continue moving away from Perl (Painful exercise (in a) runaway language)

      l8
      -AC

    3. Re:Regex by jaffray · · Score: 1, Redundant

      Yes, we do need another regexp format. Larry spends several pages explaining why, if you'd read the article.

      Furthermore, 80% of your existing Perl5 regexps will work unchanged in Perl6. *, +, *?, +?, (), ?, all unchanged. Most of the backslash-letter character classes, unchanged. Dot and ^ and $ are the same for most purposes, trivial to port when they aren't. 80% of the remaining cases can be ported by changing [] to <[]> and escaping spaces or replacing them with \s or \h (which they often should have been anyway).

      I'd rather spend half an hour every fifteen years to learn something new than put up with the inferior old scheme for another decade or more. Unreadability of regexps is one of the biggest complaints people have about Perl, and this addresses those concerns head-on.

      (Incidentally, people made all these same complaints the last time Perl changed regexps, when Perl5 came out. And now every other language in existence has recognized that

    4. Re:Regex by jaffray · · Score: 5, Informative

      Yes, we do need another regexp format. Larry spends several pages explaining why, if you'd read the article.

      Furthermore, 80% of your existing Perl5 regexps will work unchanged in Perl6. *, +, *?, +?, (), ?, all unchanged. Most of the backslash-letter character classes, unchanged. Dot and ^ and $ are the same for most purposes, trivial to port when they aren't. 80% of the remaining cases can be ported by changing [] to <[]> and escaping spaces or replacing them with \s or \h (which they often should have been anyway).

      I'd rather spend half an hour every fifteen years to learn something new than put up with the inferior old scheme for another decade or more. Unreadability of regexps is one of the biggest complaints people have about Perl, and this addresses those concerns head-on.

      (Incidentally, people made all these same complaints the last time Perl changed regexps, when Perl5 came out. And now virtually every other popular language has recognized that the Perl5 design is better than its predecessors, and has adopted a Perl-compatible regular expression syntax or library. Larry's got a pretty good track record here.)

      (BTW, the preceding incomplete post was a slip of the mouse. Mods, please kill it.)

    5. Re:Regex by Thing+1 · · Score: 2
      I'd rather spend half an hour every fifteen years to learn something new than put up with the inferior old scheme for another decade or more.

      Would it be that difficult for you to learn something new while others could continue to play with their toys the way they knew how?

      I mean, just invent a new regex delimiter for the new regexes, and leave the old ones alone.

      A similar thing happened in South Florida, which is extremely irritating: BellSouth, in their infinite wisdom, decided everyone should learn to dial 10 digits instead of 7, because they're adding a new area code.

      Monopolies suck. It would have been better for the users (and probably more expensive for the equipment) to leave 7-digit dialing for the 954 area code, and have calls to the new 754 area code be 10 (or 11) digits.

      But no, they had to go and fuck it up for everyone. At least my cell phone (Nextel) doesn't require 10 digits. This screwed up my internet connection, and I lost some shows while I was out of the country because my ReplayTV wasn't informed.

      That rant leads to my first paragraph: legacy code should execute unchanged. New code should be identified as such, either with a "#!/usr/bin/perl -v6" (or similar) as a first line, or a separate extension (".pl6"), or some other delimiter for regexes, such as "regex( ... )" (the regex in the "...") or "[/ ... /]". (No, I didn't read the whole 24 pages, so he may have mentioned some reason why these ideas suck.)

      --
      I feel fantastic, and I'm still alive.
    6. Re:Regex by jaffray · · Score: 2

      You're in for a pleasant surprise. The Perl6 interpreter will automagically recognize Perl5 libraries and use them unchanged. Perl5 main programs will, at worst, require a -5 command-line switch. In other words, they already plan to do everything you're asking for!

  3. Perl changes... Sadness ensues by ObviousGuy · · Score: 1, Funny

    Well, for those of us who actually like the way Perl 5 does its thing, we can always stick to our old gnat covered camel carcass.

    On a completely different note, people have often commented that I look identical to Simon Cozens. I dunno, though. They're basing it off of his picture on the Wrox book.

    --
    I have been pwned because my /. password was too easy to guess.
  4. Breaking expressions by somethingwicked · · Score: 4, Funny

    He set out to intentionally 'break' a lot of the regular expression culture we're all used to

    I hope he can break "Don't go there" and "Talk to the hand" There are many others, but this would be a good start

    --

    ---"What did I say that sounded like 'Tell me about your day?'"---

    1. Re:Breaking expressions by wheany · · Score: 1

      One expression that is abused on Slashdot far too often, is ^H^H^H^H^H.

      I hope they break that...

    2. Re:Breaking expressions by DrSkwid · · Score: 2

      I often say "talk to the face cos the hands aint listening"

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:Breaking expressions by DrSkwid · · Score: 1

      aye, don't these young pups know about ^W !

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:Breaking expressions by Wiener · · Score: 2, Funny
      I often say "talk to the face cos the hands aint listening"

      I know a rather..ahem...well-endowed woman who often says "talk to the face 'cause the boobs aren't listening"

    5. Re:Breaking expressions by Anonymous Coward · · Score: 0

      Thanks for fixing your sig, we all appreciate it.

    6. Re:Breaking expressions by jandrese · · Score: 1

      I've made my choice. -- Homer Simpson.

      --

      I read the internet for the articles.
  5. Apocalyptic numbering by distributed.karma · · Score: 4, Funny

    So, when Perl 6.final is released, will the release notes be called "Apocalypse.Now"?

    --

    --
    If you moderate this, then your children will be next.

    1. Re:Apocalyptic numbering by Salden · · Score: 1

      Yeah and then when version 6.1 comes out, it'll be Apocalypse Now: Redux.

    2. Re:Apocalyptic numbering by tandr · · Score: 1

      Nah... with new tradition of naming it would be more like or Perl.NET or Perl.XP(ressions?)

  6. New regexes by Dacmot · · Score: 5, Insightful

    The new perl 6 regexes are crazy. They seem "weird" and awkward compared to the perl 5 ones... but then again I thought the same when I started learning perl (at version 5.6).

    A lot of this makes a lot of sense however, especially the default /x to allow for easier reading of code and allow for comments inside the regexes. Some of the new features make the regexes a bit longer to type, but in general they are significantly smaller. There's also a much better and more consistent use of different types of brackets. Not having to look at the end of the regex to understand the whole thing is going to be great. I hate having to skip the regex to look a the flags first.

    Brilliant I think. I can't wait for it to come out. I hope they make a perl5->6 translator though :o) I also wonder what the speed of the interpreter is going to be like compared to perl5. Hopefully faster :o)

    Good job Larry, Damian et al.

    1. Re:New regexes by Anonymous Coward · · Score: 1, Interesting

      Perl IS awkward and crazy. I've never understood the attraction to it. The few times I've had to dabble it in, it's just been frustrating, limiting, and ugly as hell. Bleh. I wish someone could explain it to me. I've had to do tons of scripting things, and frankly, after experiencing a ton of them in short order, I'd rather use the loathsome Vbscript crap than Perl. I once heard Perl described as a "write-only" language because it was so arcane and inscrutable. I'm not even sure about that. It just sucks.

    2. Re:New regexes by Anonymous Coward · · Score: 0

      he says in one of the apocalypses that perl6 has no significant speed gains. cant remember which one sorry :(

    3. Re:New regexes by JimPooley · · Score: 2, Insightful

      Amen to that. Perl just has to be the most annoying 'language' (if gibberish can be held to be a language) I've ever had to use, it's like it was cobbled together out of scraps of this and bits of that in a completely haphazard and random fashion. Eugh!
      Hate Perl. Hate it!

      --

      "Information wants to be paid"
    4. Re:New regexes by RevAaron · · Score: 3, Funny

      If you ask Wall, he says that it looks like garbage because it's more "natural," and in alignment with "how we think." If perl is the most efficient way to express the way Wall thinks- be afraid. Be very afraid. :)

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:New regexes by Jonny+Ringo · · Score: 1

      That's all well and good, but it gets confusing when your not in Perl and trying to use Regular Expressions. I wish I could use the same type of Reg x's in emacs that I use in perl. Is there a way to do this?
      "replace-regexp" is what I use a lot.

    6. Re:New regexes by hummassa · · Score: 2, Interesting

      I really don't understand your point. I program in Perl since perl4, and I have always considered it:

      * Ultra-good awk replacement, for one-liners

      * excellent language for scripting, going where m/[ba|c|k]?sh/ can't go.

      * (since perl5) nice OO-language for building GOOD programs, acessing databases, generating XML, HTML, and any-other-format stuff.

      * it's got GOOD huffman encoding (things you do often are concise), and I hope it will become even better in perl6.

      * it's NOT AT ALL write-only. take a look at the CPAN modules. they are readable. i can read AND understand them, easily. try it out.

      regards,

      --H.

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    7. Re:New regexes by RevAaron · · Score: 2

      Don't look at me, I never said it was write-only. I was making a joke about Wall's presumption that perl is more natural than other languges. Perhaps you mean to reply to my parent?

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    8. Re:New regexes by Anonymous Coward · · Score: 0

      Everything I"VE tried to script, PERL is worse. And the on-line references suck. I just want to copy a file. In every scripting language on earth except perl, I can just "copy file". But in PERL I have to fucking write a routine to open the file copy all the bits out and close both files. Bleh. And in every scripting langauge, doing a "hello word" just works. In PERL I had to fucking wave some arcane symbols around in order to get the damn buffers to just flush, dammit. Perl SUCKS. It's annoying as fuck, unreadable, and it just SUCKS SUCKS SUCKS for everything I've tried to use it for. BLEH. Working in perl is like having to slog through hell. Of course, it'd help if it had halfway decent documentation. Can someone point me to a good PERL reference page for those god-awful days when I must poke my nose into the stinking pile of shit that is perl? Thanks.

    9. Re:New regexes by Anonymous Coward · · Score: 0

      Hmmm. Sounds to me like you're just not smart enough to use it. I guess you should go back to Visual Basic.

    10. Re:New regexes by Not+The+Real+Me · · Score: 1

      The lure of Perl is that Perk junkies think that if they create a script that does in 5 lines what a C/C++, Java or VBScript server app takes 50 lines of code that they are working with something superior. This is completely false because I know I can code a C/C++, Java or VBScript faster than it takes a Perl fanatic to debug and get their crappy 5 line script to work "correctly", and my code is actually readable and maintainable by someone other than the author.

      There is no such thing as a maintainable Perl script longer than 10 lines.

    11. Re:New regexes by PythonOrRuby · · Score: 1
      I also wonder what the speed of the interpreter is going to be like compared to perl5. Hopefully faster
      Take a look. It's going to be quite a bit faster, and I suspect, though I have't finished reading A5, that the new RE syntax will also decrease the time spent parsing. The positioning of modifiers at the beginning of the pattern should help, since it permits the parser to know how to deal with the pattern itself, rather than reading in the pattern, then finding out how to parse it.
    12. Re:New regexes by Anonymous Coward · · Score: 0

      Sorry, no. I seem to be smart enough to be an excellent C++ developer, as well as knowing C, Java, Jscript, shell script (korn, bourne, csh, bash), and half a dozen other arcane languages (including BLISS, and a few different assemblers).

      Perl is still the most annoying and frustrating and idiotic language I've ever used. VB is a close second (I hate that one with a passion). It's too arbitrarily arcane, and there is too much tribal knowledge needed to do even the simplest things. And it's totally unreadable.

    13. Re:New regexes by cyberkreiger · · Score: 1

      #!/usr/bin/perl -w

      use strict ;

      use File::Copy ;

      copy($file1, $file2) ;

      --
      Stumbling in the dark
      I hear slavering of jaws
      Eaten by a grue.
  7. Just what Perl needs by 00_NOP · · Score: 3, Funny

    Something to make the code that little bit more unmaintainable. That keep those PHP whores on their toes :->

    1. Re:Just what Perl needs by twoshortplanks · · Score: 1
      Did you even read the link? This is all about making the code more maintainable.

      It's not nice to insult PHP programmers either.

      --
      -- Sorry, I can't think of anything funny to say here.
    2. Re:Just what Perl needs by GoRK · · Score: 3, Interesting

      Hmm PHP. Talk about a language that breaks things between versions! #include behavior was changed between two revision numbers!

    3. Re:Just what Perl needs by Anonymous Coward · · Score: 0

      sheeeit anyone that uses perl for everything is a masochist.
      I only use Perl for the stuff that PHP can't do or doesn't do well (a few CGI's and system administration crap).

      I use PHP because I like to actually get real work done, in a reasonable amount of time.

  8. Perl's had it's day - It's become like COBOL by ajm · · Score: 3, Interesting

    For instance there is now OO COBOL but the only people that use it are COBOL programmers who are stuck, perhaps because of their company's dictates, perhaps by choice, with COBOL. In the same way perl may be heading towards irrelevance wrt "mainstream" language. I've written commercial perl in the past, it was a pain then and it's still a pain now. The thing is that now there are alternative languages in the same space (python, ruby etc., php for web side) that do the "perl thing" better than perl.

    Perl was great, it introduced many people to programming, just like COBOL did. But now it's time to move on. To move on to languages that learnt from perl, that improved on it, that don't have to drag around a syntax and culture that values neat tricks and trying to guess what the programmer really meant over providing the needed building blocks and letting you build code that does what you say, not what it thinks it heard you say. Or even, dare I say it, to move on to languages outside the perl family for some programming and choose the right tool for the job for a change.

    I'd prefer to think of this as provocative rather than a flame, there is a difference you know.

    1. Re:Perl's had it's day - It's become like COBOL by 00_NOP · · Score: 1

      Reasons to like Perl/why parent is wrong:

      1. It's fun

      2. It's reusable - mainly because you use it to do similar things again and again.

      3. It's on far more web servers than PHP or ruby (what's that?)

      Perl is the tool for the job as far as many web site developers are concerned.

    2. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 1, Offtopic

      Troll???? That's a bit unfair. It's the only post with the beginnings of any thought or discussion so far. As sensible thought as well. People need to rethink there automatic "I'll use perl for this" bias.

    3. Re:Perl's had it's day - It's become like COBOL by kisrael · · Score: 3, Interesting

      As a developer who has done a reasonable amount of Perl and Java, the choice of when to use one or the other is becoming more and more interesting.

      Sometimes, it's just a matter of environment: the places I host my websites have Perl available, (sometimes Java, but it's more of a pain) so that tends to be my first choice.

      There's a lot to be said for the convenience of Perl. Edit code, save, and run has benefits greater than you'd expect by just seeing that edit, save, compile, run is one extra step. (And pushing that one step further, the sheer # of files is one of the things that's a huge drawback to EJBs...)

      And of course there's what the language makes simpler. I know there are Java classes that give it full Perl regexes and the like, but somehow they seem evil to me. I don't like to go crazy with the Perl syntax shortcuts, but being able to so easily open up files and the like, and not have to jump through hoops to read a line at a time...there's a lot to be said for that.

      On the other hand, OO in Perl is pretty disgusting to anyone who grew up with objects in C++ and Java. It even makes PHP's object syntax look normal.

      So, in the end, I don't know. It certainly seems easier to sell my Java skills in today's ugly jobmarket, and it certainly seems easier to update my personal websites in Perl. For now, I guess I'll be keeping up my skills in both.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    4. Re:Perl's had it's day - It's become like COBOL by costas · · Score: 2

      I certainly agree. Perl doesn't 'feel' right, it feels/looks contorted somehow, a square peg trying to fit into a round hole and all that --yes, I know awk and sed and ksh and I wouldn't want to program a big web app in any of them or a blend thereof.

      I am a Python fan and I can readily admit to some Python weaknesses, but overall Python feels cleaner and predictable. For instance, Python already has changed regexes; but because they don't come built in to the main language syntax (as they shouldn't; not everything is about text), it was a painless transition for everybody involved. I am sure that if Perl6's regexes gain acceptance, there will soon be a new Python module to accommodate them.

    5. Re:Perl's had it's day - It's become like COBOL by ArthurDent · · Score: 2

      You know what, you're right. Just not as right as you might think. Anytime a new language comes around, people try to use it for everything. Witness Java. When Java came out it was crowned the Best Thing Since Sliced Bread(tm), and everybody tried to use it for *everything*. Well, guess what. It didn't work that well in all those apps. Java found a niche and lives on quite well.

      Perl is in the same position. It's coming of age. People are realizing what it's good for and what it's not. Perl is NOT IN ANY WAY like COBOL. COBOL is an anachronism that stays around because of inertia. Perl is a language that is just going through growing pains.

      While I applaud LW's ideas for Perl 6, I'm not sure that I would make such wholesale changes. There are going to be LOTS of people that stay on 5.x because they don't want to port, which may cause a maintenance nightmare.

      Ben

    6. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      I'd dispute this. In some places Perl is just hanging around because of inertia the same way COBOL is. If you've got a bunch of perl code you're likely to write new stuff in perl because you can't rewrite all your existing stuff in some other language, even if that other language is better. But, if you're starting a new project, other than a quick hack, would you really choose perl, just like would you really choose COBOL. I wouldn't for the same reasons in both cases, there are now better choices available.

    7. Re:Perl's had it's day - It's become like COBOL by raistlinne · · Score: 2
      I'd prefer to think of this as provocative rather than a flame, there is a difference you know.

      There is in fact a difference. Unfortunately, you're really not on the right side of it. For example: "Or even, dare I say it, to move on to languages outside the perl family for some programming and choose the right tool for the job for a change." That's not provocative, that's just insulting to those who like perl and who think that there are many jobs for which it is the right tool.

      You see, provocotive is bringing up ideas that people have not thought of before. Everyone having once been five years old has thought, "does this suck" before, about prettymuch everything. Thus posting "consider that perl sucks" is not provocotive. Noone who learns a programming language doesn't consider, at some point fairly early on, "does this suck".

      So while you would prefer to think of your post as provocotive, really it's just a flame. It's also fairly wrong, too, as perl is quite far from irrelevant. It's also most certainly not a universal solution, but then nothing is.

      And besides all of this, Perl 6 is going to be a language which learned from Perl 1-5, so it's still one to be compared even if one slavishly follows your post.

      --
      They laughed at Einstein. They laughed at the Wright Brothers. But they also laughed at Bozo the Clown. -- C. Sagan
    8. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      I question the assertion that Perl was ever great. I don't mean that as a flame either, just as a simple statement of fact. I cannot fathom why anyone would choose to use it, or how it ever got popular.

    9. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      1. It's fun

      after years of using perl and really enjoying it I came to the conclusion that perl is a mess and should be avoided for anything other than scripts.. it's simply too messy. if you're going to write something big, with a team of developers, you really need something cleaner. yes, it's possible to write clean (well.. somewhat clean) perl code, but perl coders are usually using every little nasty feature, and it's far too easy to mess it up.

      I'm sorry.. but I had to troll a little bit.

    10. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      Perl is anything but fun. It's frustrating and arcane and annoying.

      It's hardly reusable. Most people can't even tell what a Perl program does just by looking at it. Becaause it's so arcane and annoying and hackish.

      Bleh. I cannot fathom why anyone uses it. All my experiences with it have been negative. Utterly. What a pain in the ass.

    11. Re:Perl's had it's day - It's become like COBOL by Saint+Nobody · · Score: 3, Insightful
      For instance, Python already has changed regexes; but because they don't come built in to the main language syntax (as they shouldn't; not everything is about text), it was a painless transition for everybody involved.

      perl is the practical extraction and reporting language. that's what it was originally designed for, and it's still extremely useful for that. just the other day i had to rip some statistics out of the debug output of a program, and average it together over multiple tests, outputting it into comma separated values. perl was incredibly useful for that. not everything is about text, but perl is designed for the cases where it IS about text.

      perl only really starts to fail when you consider it a panacea. it will not do everything for you, and there's some things that it just plain sucks at. all languages are the same way -- they have strengths and weakness. perl will extract your data, and it will act as a quick scriupting engine, for when shell scripting just isn't powerful enough. just don't try to write an officew suite or anything in it.

      --
      #define F(x) int main(){printf(#x,10,#x);}
      F(#define F(x) int main(){printf(#x,10,#x);}%cF(%s))
    12. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0
      I'd dispute this.

      where? not in your follow up post - you didnt at all dispute what ArthurDent wrote.

    13. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      I don't think it's wrong to like perl and there are certainly jobs for which it's the right tool. But you need to pick which jobs they are, which is what I meant by "choose the right tool for the job".

      I've used perl extensively myself in the past and I use it today for knocking up quick scripts. I certainly didn't state that perl sucked, I don't think COBOL sucks either. For what they are useful for they are very good, unfortunately for them the number of things for which they are better than the alternatives is getting smaller and smaller as time goes by.

      As for provocative, it means to provoke, in this case a discussion, and it did that. To flame is different.

    14. Re:Perl's had it's day - It's become like COBOL by inflex · · Score: 1

      You have no idea what you're talking about... just look at Windows! ;-)

    15. Re:Perl's had it's day - It's become like COBOL by roju · · Score: 2, Interesting

      The quick hack is where perl is great though. For example, I wanted a quick hack to send myself SMS messages through a web gateway. Toss in LWP::UserAgent, and blammo, I have a short script that crops the message to sms length, connects to the server and fires it off.

    16. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      He said that COBOL was not in anyway like perl and that COBOL hangs around because of inertia. I disputed this by saying that I thought that perl is like COBOL as it is also hanging around because of inertia in many cases. Does this clear it up?

    17. Re:Perl's had it's day - It's become like COBOL by ekidder · · Score: 5, Informative

      We use perl pretty much exclusively for my work (telecommunications company). It's not that we have inertia (in fact, the company standard is Java - ack), it's that we LIKE perl. It has the right combination of features that makes just about everyone in the group happy.

    18. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      When it started it was the only game in town for scripting on unix. Such a great replacement for awk and shell scripts, so much easier to use, much better error reporting, fantastic text processing, nice hooks into unix so you could write neat things. The web and cgi came along and perl was good for writing scripts for that as well. It grew and grew. Now though there are other choices and if you were starting now I can see why perl would look weird. I dread to think what you think of COBOL :)

    19. Re:Perl's had it's day - It's become like COBOL by tswinzig · · Score: 2

      I'd prefer to think of this as provocative rather than a flame, there is a difference you know.

      It would have been provocative had you given us some examples of languages that might replace Perl for sysadmin and CGI tasks, but you didn't, you just flamed Perl.

      So please list these languages I should be using for CGI. And no, I won't use PHP, the glorified mix of Perl and HTML.

      --

      "And like that ... he's gone."
    20. Re:Perl's had it's day - It's become like COBOL by Bodrius · · Score: 2

      Point 3 is irrelevant to either the "like Perl" issue (causality is backwards).

      Point 2 is arguable: what do you mean by reusable? what do you mean by "it"?

      If "it" is:
      - Perl: that's what a programming language is. Of course you can use it again and again. Applies to any programming language.
      - X_Module: that's what a module is. Of course you can use it again and again. Applies to any other decent module.
      - Your_Code: do you mean reusable by you, or reusable by everyone else? The main criticism of Perl is that code is hard to read and maintain, which makes it hard to reuse by someone else.
      If your code is being reused only by yourself, the advantage is meaningless. Anyone with a decent familiarity with their own code (any coder with good memory) will reuse their own code in any language, even BASIC.

      Point 1: Valid point, but only if it does not interfere with Point 2. You see, part of what makes Perl "fun" is because it's "neat" in the figurative sense. It's a language that encourages cleverness over intelligence.
      Cleverness may be welcome ocassionally in programming, but having it as the constant culture in a programming language is problematic to say the least. If cleverness gets in the way of solving the problem, it may be as welcome as a practical joker in an overworked hospital's emergency room.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
    21. Re:Perl's had it's day - It's become like COBOL by al_d · · Score: 1

      Paul L Daniels http://www.pldaniels.com

      "Now that's Magic!"

      "The lovely Debbie McGee"

      Sorry...

    22. Re:Perl's had it's day - It's become like COBOL by ichimunki · · Score: 1

      (Although I'm sure you've heard of it...) If you like Perl but dislike it's OO, check out ruby. Ruby's OO is so clean you can see your reflection in it. Every time I hear Larry Wall talking about Huffman encoding, I look at a ruby script to see it in action. While Perl6 has a fantastic opportunity to way outshine ruby, ruby is here today and quite easy to learn/use. Unfortunately, the Ruby Application Archive is no match for CPAN, but some might consider that an opportunity for fame and fortune rather than a failing. ;)

      --
      I do not have a signature
    23. Re:Perl's had it's day - It's become like COBOL by larry+bagina · · Score: 1
      1. that's your opinion
      2. Reusability comes from a programmer writing reusable code, not because a language is "reusable".
      3. Windows is on more computers than any other OS. Is that a reason to like it?


      PS - $ea is the one true NOP

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    24. Re:Perl's had it's day - It's become like COBOL by pcs305 · · Score: 1

      To compare languages like perl, COBOL, C, C++, Java to each other is just not possible. First of programmers tend to have a favourite language and nothing will convince him/her that there is anything in this world that's better. Secondly each language solves a problem that other languages cannot easily solve on that given platform in that given environment. COBOL runs mostly on mainframes. In transaction server environments like CICS and IMS. Churning out bank balances, benefits and credit card transactions. The programs tend to run for milliseconds then terminates. COBOL pumps out a couple of digits and dies. Using as little as possible storage with the minimum CPU usage. The reason is that for every one time you ask for you bank balance, thousands of other customers are asking for theirs at that moment, and they also do not want to wait. For this COBOL is brilliant. Try to do that in Java on CICS, or even C and C++, the response drops because the memory usage shoots up, the cpu usage by transaction x2 and the customer gets tired of waiting. Perl does not run on CICS or IMS.(I wish it did though!) My point is this, don't use COBOL to write *nix scripts. You will get more joy driving a 6inch nail through your left middle finger. Don't use Java to write CICS/IMS applications. Write GUI apps and games in C and C++. Use PERL for everything else. Don't use C# at all. Oh and no...COBOL is not dead and will never die.

    25. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      It's meant to provoke thought and discussion, which is it doing, well discussion anyway. Do you have any suggestions? Perhaps you like perl, why? perhaps you don't, why?, which language would you choose and why? I did actually suggest python or ruby as possibilities.

    26. Re:Perl's had it's day - It's become like COBOL by scrytch · · Score: 2

      perl is the practical extraction and reporting language. that's what it was originally designed for

      Arguably that's what it was designed for, but that's a "backronym" (hey, how do i create e2 links in slashcode?). perl was "pearl" in larry wall's mind, but through some weird quirk of the library filing system, he only had four letters, so he called it PERL (all uppercase then, I think). Which was helpful since there was another language at the time called "pearl" (which never took off anyway).

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    27. Re:Perl's had it's day - It's become like COBOL by holstein · · Score: 1

      Compare to Java, I'm right with you, Perl rocks.

      But as the parent post says, the problem is that there is other langages that are filling the same niche as Perl, but with something added on it.

      I code perl for a living from 4 years now, but I'm force to admit that the parent post is right : all the Perl coding I still see is "legacy" stuf... All the new stuf I see, and all the "newcomers" in programming I see are all learning PHP, Java...

      And, as a Perl programmer, I find delight in the Python code I'm learning now... I would code all my personnal stuf in Python if it was not that I so faster in Perl, because I know it so much now. But things like Jython are so cool that I find myself doing more and more Python.

    28. Re:Perl's had it's day - It's become like COBOL by RevAaron · · Score: 2

      Learning from previous perls is exactly what Perl 6 is doing.

      Why should everyone put up with Python or PHP just because you've deamed perl old news? How do python, ruby or php do what perl does better? They don't. They do a few things differently, but they're all very similar and very much in the same mindspace. If you're going to abandon perl, you're not going to find anything revolutionary in those languages. Useful like perl they are, but they're nothing new.

      Frankly, I'm not much of a perl fan, and I only use it when I have to do so to keep from being forced to use something like C, C++, Java, Pascal, Python, or PHP. But it still can be quite useful, still has it's place and fans. So does COBOL, which is a good thing, because there are 6-million-odd lines of COBOL still running businesses, and it'd be a shame if at least some of those those stuck maintaining it didn't enjoy it.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    29. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      Smalltalk is good too. Personally I'd like to use scheme, or maybe goo but that's very new at the moment. There are things about Haskell that are fantastic and the static typing in ML is great. There's lots of stuff out there with different mindsets but for a scripting task I'd choose a scripting language hence python or ruby.

    30. Re:Perl's had it's day - It's become like COBOL by ph0rk · · Score: 1

      >> (as they shouldn't; not everything is about text)

      my question is this: what would you use when manipulating large amounts of text in and out of databases is exactly what you need?

      In my experience, perl still does this very very well, and its usually living in some form on almost any *nix machine i end up at.

      saying not everything is about text as an argument towards retiring perl is akin to saying that not everything is about web pages as an argument to retiring PHP.

      --
      semantics are everything!
    31. Re:Perl's had it's day - It's become like COBOL by RevAaron · · Score: 2

      Java's regexes seem evil to you for a good reason. Java isn't extensible, so you can't add lovely syntax for regexes, which do much better with a special syntax to accomodate them.

      For example, I was reading some Java2 1.4 docs, where they were gushing over the new regex libs.

      In perl, you'd say something like:
      $s = "howdy partner";
      if ($s =~ /howdy/) { print "yay!\n"; }

      In Java:
      String s = String new("howdy partner");
      Regex r = r new;
      r.compile("/howdy/");
      if ( r.match(s) ) {
      System.out.print("nay to java!");
      }

      Christ, that's ugly.

      I'm not a Java or perl programmer, so this won't compile, but the gist of it is there.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    32. Re:Perl's had it's day - It's become like COBOL by RevAaron · · Score: 2

      Indeed, I use Smalltalk for almost everything, including scripting. I could do it in fewer lines in perl no doubt, but it'll take me 5 times as long to write. But then again, Squeak is basically my OS. I'm like one of those emacs people who have emacs as their OS- only smarter. (only because Squeak does more than emacs as far as end-user stuff! )

      I like Scheme because it's consistent. But it's so spartan, which can be a pain for real work. Common Lisp all the way.

      Still, there's not much of a difference between perl, ruby and python. Some syntax, even less semantics. Ruby seems definately the nicest out of them, but if you know perl, why bother learning it for almost no benefit? Rather, you'd take a hit in functionality, due to fewer libs Ruby has compared to perl.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    33. Re:Perl's had it's day - It's become like COBOL by costas · · Score: 2

      I totally respect Perl's text-parsing abilities. And it's certainly more prevalent than python (and python's 're' regex module pretty much copies Perl5 regexes). And it's faster than python in the majority of cases.

      However, 'text parsing' is a limited domain; in that domain awk is almost as capable as perl (and, often, faster). You won't see any awk-powered websites though. The reason, I believe, is that dynamic websites are not in the 'text parsing' domain, even if at at the user-end of the system you're just pushing html.

      There's data management, permissions/authorization, delegation, flexibility, and a myriad other issues to think about that pretty much move dynamic websites to a GUI-app domain more than a report-creation domain. Think of /., say as a GUI, where HTML is the GUI toolkit, mod_perl is the underlying OS(in effect) and Slashcode is the application (with MySQL as the storage layer).

      That's a much closer analogy to the web app domain than generating old-fashioned reports out of a SQL backend on a mainframe --where arguably perl excels at.

      I am not saying perl is a bad language or that you can't build good applications with it. You certainly can, and people do. But, for some problems, and certainly for web apps, there are better tools out there, and I believe python is one of them.

    34. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      I agree, little to choose between perl/python/ruby, but maybe learning a cleaner language first would help some people.

      On common lisp and scheme I prefer the simplicity of scheme "syntax". otoh I've not done commercial lisp or scheme and in that situation availability of libraries may be the deciding factor.

      Hey, are you dissing emacs, emacs rules, I love emacs/elisp :) I'll have to download and try squeak again. I did a few months ago and couldn't get "into" it, it's been a few years since I've done semi-serious smalltalk.

    35. Re:Perl's had it's day - It's become like COBOL by RevAaron · · Score: 2

      I too prefer the simplicity of Scheme. I've never done any huge projects in either of them, but even when writing scripts, the hugeness of libs in CL payed off. SLIB helps some, but it still is a drop of water in the bucket known as the standard CL library. CL is a bit bloated, but darn, those libs can sure be useful.

      Nah, I'm not dissing emacs. Just comparing myself to one of those people that do everything out of emacs. Except Squeak is a little more "normal" as far as UI is concerned. You know, windows, widgets, a mouse and all.

      Squeak can be a little hard to get into, especially considering how it doesn't integrate into the host environment much at all. That is, no native widgets, &c. But once you do, it's like the shackles of so-called "modern" operating systems have been taken off, and you're free to change anything in your environment. Sure, you could do so in Linux, but making a comparible change in C/GTK+ would probably take 10 times more time and 15 times more code. And at that point, why bother?

      Elisp is ugly (compared to Scheme and CL), but I'd rather have most of my editor written in elisp over C/C++ anyday.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    36. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      Compare to Java, and I'm totally against you: Perl sucks. Give me jscript or java any day. And jscript sucks.

    37. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      String s = String new("howdy partner");

      ...

      Regex r = r new;


      Well, it's obvious YOU aren't a Java programmer.

    38. Re:Perl's had it's day - It's become like COBOL by ProtonMotiveForce · · Score: 0

      Clearly you're a group of sysadmins, then. Real programmers really, really don't use Perl unless it's a throw-away script, or it's a simple system automation script.

    39. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      I'd much rather use shell scripts and awk, personally.

      I recently had to solve the same programming problem in a variety of scripting languages. The most difficult and awkward solution, and the one that caused me the most grief, was Perl. Vbscript was second worst.

      Just my two cents.

    40. Re:Perl's had it's day - It's become like COBOL by jaffray · · Score: 2

      The language of the future you describe - a language that learns from Perl, but doesn't have to drag around 15 years of built-up kludges and poor design decisions, a language which provides needed building blocks to write code that does what you say using the techniques most appropriate for the given job - is Perl6.

      Enjoy it.

    41. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      It's obvious you can't read. He said he wasn't a Java programmer. Slow poke or fucktard: you decide.

    42. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      Wow, here's a case of modding up because you agree. I mean shit, I agree with this guy too, but +5 Informative? How informative is this post? Very little, in fact.

    43. Re:Perl's had it's day - It's become like COBOL by gmulert · · Score: 1
      perl only really starts to fail when you consider it a panacea. it will not do everything for you, and there's some things that it just plain sucks at.

      What are you talking about? There is nothing Perl cannot do!

    44. Re:Perl's had it's day - It's become like COBOL by JebusIsLord · · Score: 1

      Well, if you won't use PHP just because you "won't," then Perl is certainly the way to go for CGI. As a user of both, I prefer PHP for CGI tasks because it typically requires less code to do the same thing as a result of built-in functions, particularly ones that make SQL integration so damn quick. I would still use perl for text processing tasks and some CGI though. Basically i like em both, I am just curious about why you are adverse to using PHP.

      --
      Jeremy
    45. Re:Perl's had it's day - It's become like COBOL by Elwood+P+Dowd · · Score: 2

      Uh... you say, "... now it's time to move on. To move on to languages that learnt from perl, that improved on it, that don't have to drag around a syntax and culture... "

      I'm taking you a little bit out of context, but isn't that exactly what Perl6 is? A new language that learns from Perl5 and changes a lot of the syntax and culture? Iduno too much about either language, so I might be wrong. If so, please explain how.

      --

      There are no trails. There are no trees out here.
    46. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      Good thing we don't need any of those!

    47. Re:Perl's had it's day - It's become like COBOL by Starky · · Score: 1
      I totally disagree, and I think your statement shows a lack of knowledge of Perl and the Perl community.


      I've looked into Python and Ruby, and they're both excellent languages, but whatever you can do in those languages you can do in Perl *and* you have the entirety of the CPAN at your disposal. Gadzooks! Can anything beat "perl -MCPAN -e 'install Template'"? Perl is a language I come back to over and over again because it is the best language for the job.


      I think Python and Ruby tried to take ideas from Perl and improve upon them. This would make changing languages a good forward-looking strategy if Perl were a static language.


      But, as Larry is showing with the Perl 6 Apocalypses, it is an incredibly dynamic language with a dynamic community (check out PerlMonks) and the community leadership is not afraid to make changes (some of them radical) that learn from past critiques and produce a new and exciting environment.


      While it's not as new (and hence doesn't have the hipness factor -- don't fall for the hype) of the other languages, as opposed to sinking into the category of an also-ran to Python and Ruby, I think Perl will continue to lead the charge that these languages will follow.


      I hope all three languages continue to thrive. By competing in similar mindspace, they will only improve each other and lead to a better environment for each of their respective communitites.


      And I believe that for years to come, I will continue to come back to Perl because the leadership is seasoned and smart, it is continuing to improve and expand, and because it will simply continue to be the best language for the job.

      --
      -- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
    48. Re:Perl's had it's day - It's become like COBOL by ChaosDiscordSimple · · Score: 2
      To move on to languages that learnt from perl, that improved on it, that don't have to drag around a syntax and culture that values neat tricks and trying to guess what the programmer really meant over providing the needed building blocks and letting you build code that does what you say, not what it thinks it heard you say.

      You're not that familiar with Perl culture, are you? Providing needed building blocks? We've got CPAN, a frighteningly large library of building blocks.

      Sure, Perl values neat tricks. So do C hackers. Sure, sometimes the tricks are strictly for entertainment value. What's the harm (assuming you don't do anything foolish like using it in production code)? Sometimes a little trick will get a throwaway tool written and used more quickly.

      As for the syntax, that's exactly what Larry is working on right now. The language has become a bit crufty, Perl 6 will try to clean out the cruft. I have no idea how well it will work, that's to be seen.

      Or even, dare I say it, to move on to languages outside the perl family for some programming and choose the right tool for the job for a change.

      Really out of the Perl culture loop, I see. Perl is all about using the right tool for the job. Part of Perl's strength is as a glue language: use whatever tool best fits a particular job, but when you've run into several tools, Perl makes it easy to glue them together. Perl has many ways to call over programs and process their output. Perl can call libraries written in other languages. Perl can be embedded into other languages. Perl tries its hardest to play nice with everyone else. In almost every case, you could provide a 100% Perl solution, but the Perl culture values the right tool for the right job, so it makes sense to make using other tools easy.

      Sometimes you have a problem where Perl has nothing to add to a particular solution. The true Perl spirit is to leave Perl out.

      True Perl hackers value working solutions over using their favorite tool.

      Perl was great, it introduced many people to programming, just like COBOL did. But now it's time to move on.

      COBOL didn't adapt to any significant extent. It was largely limited to its roots. Perl adapts. Perl has done as well as it has because it's a powerful and flexible language. Perl looks daunting because of its size, people miss that Perl is best learned like a human language, slowly and over time. Perl, like a human language, has adapted to changing times, picked up good ideas, and generally stayed fluid. When Perl was originally created, the web didn't exist, yet Perl proved to be an exception language for all sorts of web work. Why? Because Perl had lots of powerful primatives upon which was quickly built libraries to support common tasks.

    49. Re:Perl's had it's day - It's become like COBOL by chromatic · · Score: 1

      "Most people" aren't programmers. Why would you choose a programming language based on the technical recommendations of someone who has little basis for making such a suggestion?

    50. Re:Perl's had it's day - It's become like COBOL by ajm · · Score: 2

      "You're not that familiar with Perl culture, are you? "

      "Really out of the Perl culture loop, I see. Perl is all about using the right tool for the job."

      Don't try to teach you Grandmother to suck eggs. I worked on a little project you may have heard of called DejaNews which used a fair amount of perl and a couple of other commercial perl projects. I believe I know of what I speak :)

      Perl's fine for scripting. CPAN is great. Gluing stdout of one prog into stdin of anothers fun and useful. On the other hand perl can not in any reasonable way in embedded into any other language.

      Sure perl 6 will probably have many cool features such as continuations that are already available in other languages. Perl will continue to be used, and be useful, but I think the days when it dominated its space are over.

    51. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0
      or ruby (what's that?)

      Ruby is a pretty sweet language. Very popular in Japan (its creator is Japanese).

      I used perl for a while -- liked its power, got fed up with its lame syntax, didn't like how features felt tacked on (OO especially). Then I tried Ruby. Ruby is everything I wanted Perl to be. Powerful. Truly object oriented. Clean syntax.

      No more perl for me...

    52. Re:Perl's had it's day - It's become like COBOL by grammar+fascist · · Score: 2

      Maybe you could try this instead, and though I don't know the Regex library you're talking about I'll bet it would work just fine:

      String s = "howdy partner";

      if ( new Regex("/howdy/").match(s) ) { System.out.println("yay!\n" }

      Seems okay to me. By the way, your little trick with the execution path after the "if" all in one line in Perl but not Java was pretty transparent.

      --
      I got my Linux laptop at System76.
    53. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0


      "learnt" ?!

      you sir, are truly a rare breed. The inbred, redneck programmer.

    54. Re:Perl's had it's day - It's become like COBOL by Internet+Dog · · Score: 1

      There is nothing you can do in Perl that you can't do in Python. And at least in Python it will be reasonably easy to maintain the code after the programmer has died.

      The original Python cgi module has been eclipsed by the Zope sever, but the basic concept is the same. (The original cgi module still works. Python generally preserves backwards compatibility.) A web form and the action it is programmed to execute is nothing more than a method call to an object server. The Zope extensions to the server model gracefully adds revision control, the complexity of authorization confirmation, and other capabilities necessary for large server deployments.

      It doesn't matter if you are writing a Perl, PHP, Python, or Awk script. If it is a GET or POST request it is a method call against a web sever that is asking for data to be returned by an object server. Some languages focus on making it easier to understand the client-server relationship and some languages make it easier to understand the system as a whole. Python does both reasonably well.

    55. Re:Perl's had it's day - It's become like COBOL by Oryx3 · · Score: 1

      I can share my personal experience with you. Though I know programming, right now I am not officially working as a programmer. Nevertheless, my office needs to manage lots of data, which is inevitably stored in a variety of formats, databases, spreadsheets, etc.

      I have found Perl to be an invaluable tool to act as "glue" between all these formats. I can honestly say that programming in Perl is genuine pleasure. I usually find that the program "pops" into place faster than I expect it to. I don't know why this is so, I'm not a language designer or "expert". But I think comparing Perl with all its expressive power to COBOL is ridiculous.

      I think Perl excels with smaller programs, I can see it could be difficult to organize a very large Perl program. But just because you personally don't like Perl doesn't mean nobody finds it useful. And to say that Perl will die out just because you don't use it -- well I'm sorry but that's just pure hubris!

    56. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      The "most people" I was refering to WAS from the set of programmers I know and work with. Get a fucking clue.

    57. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      On the other hand, OO in Perl is pretty disgusting to anyone who grew up with objects in C++ and Java.

      "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." - Alan Kay.

      A lot of people think like you, that OO is C++ or even Java, this is a very common mistake, constantly made especially by young programmers wanna-bees. Please take no offense, these are facts. Most of people have no idea what OO is all about. I strongly urge you to read some good publications about the subject before you write another comment about OO.

    58. Re:Perl's had it's day - It's become like COBOL by Anonymous Coward · · Score: 0

      Idiot. Was last week's graduation ceremony fun?

  9. I just started learning Perl a two months ago... by mcgintech · · Score: 1

    and I love it. I just hope that Perl6 isn't going to be drastically different or I'll practically be starting from scratch.

    Yes, Its true that you should be able to apply the concepts and learn any language, but to be fluent you must memorize a certain amount of the language's syntax. Having to go back to whatever material you learned from in order to get the syntax/function/whatever you want is a real PIA.

    --

    Uhhhh, yeah, thath dithgustin. [The lady's man]

  10. People use COBOL by oliverthered · · Score: 2, Interesting

    Wherre I work I'm almost the only non-cobol programmer. We are developing modern data wharehousing solutions, for huge amounts of data, using mainframes , DB II and COBOL.
    Cobol has been arround for such a long time that it is known good solution, the same thing applies for Perl and CGI.
    Would you trust you life on an App writen in VB, or a large C++ /Java 1.4 system.
    C++ is to complex for everyday usage, sure it's got great performance and flexability, but one of it's downfalls.

    VB is just a glorified scripting language, with loads of bugs and much crapness, i should know i've been [had to] using it for 7+ years.

    Java just insn't mature enough for anything decient.

    So were left with Perl, Cobol and the like

    --
    thank God the internet isn't a human right.
    1. Re:People use COBOL by ajm · · Score: 3, Insightful

      I agree, I've used COBOL myself. For what we were doing with it when we were doing it it was the best choice, in fact probably the only choice. That's not the case anymore, just like it isn't with perl. I can see why you're sticking with COBOL, though I'd look at Java as it's probably now the data processing language of choice. I wouldn't rate perl as highly as COBOL wrt its fit in its space anymore. As to Java's maturity, I think you're under rating it pretty heavily. It's mature enough now. btw I imagine you're shop will never use .NET if maturity is a criterion, and rightly so.

    2. Re:People use COBOL by Anonymous Coward · · Score: 0

      What you're really saying here is that C++ and Java are too hard.

    3. Re:People use COBOL by TWR · · Score: 2
      Java just insn't mature enough for anything decient.

      Right. So all of the following companies are just about to fall down:

      CIBC

      Bank of America

      Standard Bank

      Sallie Mae

      And that was just part of the client list from the first hit that came back when I typed in "Java Banking."

      Bunch of failing loser companies, aren't they?

      -jon

      --

      Remember Amalek.

    4. Re:People use COBOL by RevAaron · · Score: 2

      Of course not. They just have to put a lot of extra effort in to deal with Java's immaturity and spend more on a the solution than they'd have to. They could write everything in INTERCAL such that it worked and was very robust. It'd just be a pain in the ass.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:People use COBOL by Yakko · · Score: 1
      Bank of America

      ...

      Bunch of failing loser companies, aren't they?

      Oh shit! My money! I'd better withdraw it all right now! That is, if someone hasn't gotten there first...

      (Using BOA online banking and never had a problem with it :o)

      --

      --
      Me spell chucker work grate. Need grandma chicken.
  11. Re:I just started learning Perl a two months ago.. by dannyspanner · · Score: 2

    Can I suggest that you read ...And Now for Something Completely Similar by Damian Conway.

  12. Java to hard? by oliverthered · · Score: 1

    Well, Java is quite an easy language imho. It handles all you memory allocation, no segfaults etc...,
    It's just that version 1.4 has just started to add maturity to Java i.e 1.3 java was a bit hmmm.. imature, 1.3 fixed a lot of things, 1.4 has beefed Java up a lot so 1.5 or so would be Matureish. ie. Most of the bugs and incosistancies should be ironed out.

    --
    thank God the internet isn't a human right.
    1. Re:Java to hard? by groomed · · Score: 1

      Actually Java just dumps core when it runs out of memory. It never returns any memory to the host OS either. How is any of that easy?

  13. Java's not mature, by oliverthered · · Score: 2, Interesting

    It's just that version 1.4 has just started to add maturity to Java i.e 1.3 java was a bit hmmm.. imature, 1.3 fixed a lot of things, 1.4 has beefed Java up a lot so 1.5 or so would be Matureish. ie. Most of the bugs and incosistancies should be ironed out.

    The same thing is happening with linux, 2.6 kernel is starting to get maturity features in it, so by that reason 2.8 or 3 should have ironed out the bugs/inconsistancies in the maturity features.

    (linux is however great for custom applications)

    --
    thank God the internet isn't a human right.
  14. Great by duffbeer703 · · Score: 5, Insightful

    So now Perl regexs are going to be completely different from every other language and more complex than ever... wonderful.

    I certainly hope that someone is going to be maintaining Perl 5. I certainly cannot see the Perl community moveing en masse to Perl 6, or whatever they decide to call it.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
    1. Re:Great by jabberw0k · · Score: 2, Insightful

      In the same way you still have to write in ancient versions of JavaScript and HTML because some non-zero percentage of your readership still uses Netscape 4.x, most of us will have to code in Perl5 for a long time to come.

      Why should Perl have forced upgrade incompatibilites like Microsoft Word? Arrgh.

    2. Re:Great by joto · · Score: 2
      I can. There's not that many using Perl 4 now, is there? (Well, there are some, and so there will be with Perl 5 when Perl 6 comes out, but I hardly think the community will not move to Perl 6.

      And in case you need backward compatibility, I would be very surprised if you can't import a "perl5" module to get back to something more similar to perl5 syntax and semantics.

    3. Re:Great by osgeek · · Score: 2

      In most ways, regexen will be less complex than ever, yet more powerful. Read Larry's rationale for changing them and let us know how he's wrong -- his reasons made a lot of sense to me.

      5 years after it's released, every regex library in existence will be compatible with the Perl 6 way of doing things, so you might as well start learning them now.

    4. Re:Great by Zathrus · · Score: 2

      Did you read any of the article? Or anything else relating to Perl 6?

      It's been made clear from the get-go that Perl 6 is going to be breaking things. The idea is to fix a lot of the issues in the language and hopefully move it out of the "write only language" category that it's been relegated to.

    5. Re:Great by bafu · · Score: 2, Interesting

      In most ways, regexen will be less complex than ever, yet more powerful. Read Larry's rationale for changing them and let us know how he's wrong -- his reasons made a lot of sense to me.

      The problem is that there is a shitload of utility and cgi perl that will be broken if the perl on the server is upgraded. In some cases, like at ISPs, the code belongs to lots and lots of people that are totally unconnected from the administration of the site, so updating it becomes a nightmare. It's probably going to mean running two versions of perl (fortunately, perl doesn't take up a lot of space in /usr :-P ) and having to invoke it with version numbers... the normal messy drill.

      I'm sure that the changes will be great, but it's hard to get too excited since, I must confess, the current system didn't seem so horrible to me.

      5 years after it's released, every regex library in existence will be compatible with the Perl 6 way of doing things, so you might as well start learning them now.

      Obviously I will learn the new syntax. And I will update my scripts to work with perl6. Etc. Etc. The thing is, it looks like perl is going to be taking back a lot of the time it saved me in the past. Once I've paid that cost I may be able to forget about it, but at this point I'm looking at having to add something really tedious to my to do list. And it's not like I have a lot of thumb-twiddling time I can steal from...

      And here I thought Solaris was backward for not having embraced perl earlier than Solaris 8. Maybe it will turn out that they were [unintentionally, I'm sure] smarter than I thought...

    6. Re:Great by jaffray · · Score: 2

      No, Perl6-style regexps are going to be simpler than Perl5-style regexps, and Perl5-style regexps will still be supported both through the :p5 flag and the p52p6 translator. (As you'd know, if you had read the article.)

      It's amusing that the same people who criticize Perl based on its unreadability, largely thanks to heavy use of traditional regexps, then go on to bash Perl6 for tackling the regexp readability/complexity issue head-on and devising something better.

    7. Re:Great by Koschei · · Score: 2, Insightful

      Actually, if you read the Apocalypse, you will see that Perl5 regexen are quite complex and can be quite hard to properly grok. As Larry says: look at the (?...) extensions.

      The Perl 6 design is far simpler. It's simpler and more powerful. It's just going to be different from every other regex implementation around. I can, however, safely assume that packages such as PCRE will be updated. Someone will amend vim's and emacs's implementations to allow for Perl 6 style regexen.

      The world will continue rotating and people will realise that things have improved.

      And, yes, Perl5 will be maintained for a while yet. Although I'm willing to bet that most people who actively use the Perl (the community, rather than those who have had their Perl 5 non-nms scripts running for five years and never learnt Perl to begin with) will shunt to 6. I'm sure people said the same thing about Apache 1.3 and 2. Or Windows 3 and 95. Or C and C++ (perhaps a bad example there).

      Anyway - in the case of people and their old web scripts. They'll probably keep them that way. Someone will write Perl 6 versions and new users will use them. It's called migration. Heck - who knows - maybe some web hosters will remove the Perl 5 versions and installed Perl 6 versions. Maybe even just remove Perl 5. =)

      All fun.

      --
      -- koschei
    8. Re:Great by catf00d · · Score: 1

      > I can, however, safely assume that packages such as PCRE will be updated.

      Don't be so sure. With Perl 6, regex's and Perl have become 1. The regex syntax no longer lifts cleanly out of Perl as it does for Perl 5. Embedded closures; assigning directly to scalars, arrays and hashes all within the regex; invoking nested, named "rules" -- these things will not translate to other languages. Numbered are the days when you can know one regex syntax and use it in many languages and applications.

      I wrote a Perl5-compliant C++ regex library named GRETA, and I'm scratching my head about what to do about Perl 6. I think this is where I and Larry Wall go our separate ways. I'm sure libraries like PCRE will be forced to do the same. Too bad, really.

    9. Re:Great by Koschei · · Score: 1
      To a degree, yes, some of these things won't be possible. But that's always been the case.

      Embedded closures, direct scalar, array, hash assignment --- of course. Mighty will be the language that can do it without the aid of the sigil, or the runtime parsing.

      Named rules --- they should be possible. It's just like making your grammar (hence the Larry's use of the word 'grammar'). After all, your GRETA does handle balanced nested tags. It shouldn't be too great a step.

      But, yes, embedded closures would be a bugger --- but then I suspect they'll be classed as a "nifty Perl feature". Some languages will be able to implement their own version (I'm mostly thinking things like Ruby and Python --- semi-interpreted programs rather than pure compiled).

      Variable assignation --- heck, most languages don't have the builtin concept of hashes so that one would be fun. Scalars and arrays could be possible --- perhaps even without the sigil. I may have to think on that one a bit more deeply at some point in the coming week. It would certainly help if regexps were first class in the language in question (rather than the C/C++ versions). I suspect that in C/C++ the most you could hope for was that the regexp match function would load its result object with appropriately named fields.

      Now, if you'll excuse the somewhat ugly mix of psuedo C/C++ below (it's a while since I've used either to any extent and back then it was mostly C, but I think OO now =) )
      regexp re;
      reResult ro;
      int mybob;
      re = re_new("/ $bob := (\d+) /");
      ro = re_match(re);
      mybob = o.result("bob");
      printf("mybob = %d\n", mybob);
      I can see that working, although people will probably want some way of getting rid of the sigil.

      On the whole: for Perl, the reshuffle is good. It's about time. For libraries that have inherited Perl's full complement of weird features (the (?...) set), then it's probably best if they provide some form of support for the new syntax --- it doesn't matter if it's incomplete, that's to be expected. If you can add some snazzy compensatory feature --- then that's good too. Maybe Perl will pick it up if it's appropriate =) Anyway -- I don't need to be telling you this, you've proved your abilities. I do, however, think that you should be able to implement most of the new syntax.

      By the way: thanks for the GRETA link. Odds are that I would have been looking for something like that in two months.
      --
      -- koschei
    10. Re:Great by Koschei · · Score: 1

      As an addendum: you will note that your own GRETA doesn't support Perl 5's (?{...}) feature (and presumably not (??{...}) either). So, you'll probably agree to libraries not requiring 100% feature match. And you've got that recursive stuff going too.

      --
      -- koschei
    11. Re:Great by fougasse · · Score: 1
      The problem is that there is a shitload of utility and cgi perl that will be broken if the perl on the server is upgraded.

      No there won't. One of the great things about Perl 6 is that there will be source filters -- it can work with many different language syntaxes. If you want to write using Perl6 syntax, you will have to mark your script accordingly, with a 'use perl6;' or something. By default, perl 6 will assume that you're using perl 5 syntax, and seamlessly translate the code for you -- no compatability problems. (See the Lingua::Romana::Perligata CPAN module for an example of what can be done already.)

    12. Re:Great by catf00d · · Score: 1

      True, but people avoided (?{...}) and (??{...}) because of bugs, security problems, maintainability, etc, etc. Perl 6 changes all that. With the new syntax, Larry is encouraging people to embed Perl code in regexes and to think about regexes in a whole new way. It bring the power of regexes to bear on a new class of problems, and it won't be long before people start taking advantage of this power. That's a Good Thing. But they can only use this power when they're in Perl. Other languages and tools will either fail to meet feature parity, or else they will do so only with vastly different syntax/semantics.

      My point is, with Perl 5 that wasn't the case. Regex syntax was (mostly) a neatly self-contained language. Now, the line between Perl and regex is blurred, and 3rd party tools will not be able to follow Larry into this regex paradise. Sure, I could write a syntax module for GRETA that gave the impression of Perl 6 syntax (look, /x is the default!), but anybody familiar with real Perl 6 regular expressions is likely to be disappointed.

  15. One thing that I'd like to hear about with this... by AltGrendel · · Score: 5, Funny

    ...is if Cmdr Taco is going to upgrade slashcode to Perl 6 and what he thinks of all this re-write of Perl.

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

    - Douglas Adams

  16. Doesn't anyone else find it ironic... by Second_Derivative · · Score: 3, Funny

    ...that the active half of this Perl (5) powered site is completely screwed up at the moment? Improve languages all you want, it's still no substitute for decent sysadminning ;)

  17. Free the regexes! by riffraff · · Score: 3, Funny
    I Like this paragraph:


    However, I would like to think that there is some happy medium between those two extremes. Coming from a C background, Perl has historically treated regexes as servants. True, Perl has treated them as trusted servants, letting them move about in Perl society better than any other C-like language to date. Nevertheless, if we emancipate regexes to serve as co-equal control structures, and if we can rid ourselves of the regexist attitudes that many of us secretly harbor, we'll have a much more productive society than we currently do. We need to empower regexes with a sense of control (structure). It needs to be just as easy for a regex to call Perl code as it is for Perl code to call a regex.


    We've been discriminating against the poor regexes for too long. We need to represent them who are unable to represent themselves. Stop Regex Exploitation Now!

  18. Re:!!!GO USA!!! by Numen · · Score: 0, Offtopic

    But hey! They can deploy a team against other teams picked from countries the size of one of their States.

    Field Texas, or Califonia, or whoever as a single state in the World Cup and then lets see how you stack up.

    You think if the EU fielded a consolodated team you'd stand even the remotest chance of a look-in?

    Bully-boy mentality pure and simple.

    Do you never stop to consider the size of the countries you're competeing against when they beat you in international competition? Doesn't that cause you even the slightest shame?

  19. Will perl6 = ruby? by Jeppe+Salvesen · · Score: 3, Insightful

    I've asked this elsewhere. Ruby was designed with respect to perl, but all the same keeping to the principle of least surprise (which perl does not adhere to). Now, with Perl starting to look like a grown-up, mature language, what will the major differences between Ruby and Perl be?

    --

    Stop the brainwash

    1. Re:Will perl6 = ruby? by joib · · Score: 2

      No. perl6 will (hopefully) be a natural upgrade path for perl programmers. Ruby is still just a python clone with some perl-like syntax thrown in which noone uses.

    2. Re:Will perl6 = ruby? by RevAaron · · Score: 2

      Heh. Perl is just a second-rate awk clone with some new and ugly syntax and libraries that almost no one uses.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  20. First impressions by Fweeky · · Score: 2

    He seems to be putting a lot of emphasis on embedding Perl inside regexps; while this will make them more powerful and allow you to do more complex things using them, it's increasing coupling between Perl regexp and Perl itself; I don't see the PCRE library and other similar libraries being able to keep up.

    Although he mentions he wants regexp to be taken more seriously as a tool for other languages, increasing coupling like this would seem to be a very poor way to go about it.

    The new-style regexp's reuse a lot of syntax from the standard regexps; the meaning of many common constructs have changed completely, but I can see it being difficult to actually notice the difference until you've already parsed part of it and gone "Uh?" a few times. And you're not just going to be able to forget about the "old-style" regexps.

    Personally I can't help but feel that Larry is the wrong person to make such large changes to the core regexp concepts; they're used heavily in languages other than Perl, but Larry is natuarally doing it in the context of Perl and to hell with any other language. For something so otherwise platform independent, I think this is a bad way to go.

    1. Re:First impressions by kevinank · · Score: 2
      One of the points that Larry made in the Apocalypse was that the new format allows regex syntax to be expanded in the future without breaking things. Embeddable code in whatever language you might find it written in can be inserted using the same constructs assuming they don't use the sequence ')>' as an operator. In Perl if you wanted to write a regex that calls out to Java I imagine you would write something like:
      rx:java/a <( System.in.getLine().equals("hello") )> b/
      --
      LibBT: BitTorrent for C - small - fast - clean (Now Versio
  21. why.. by hatrisc · · Score: 0

    1.what would the purpose be of changing the name of a language. that's like saying, "ok, c++ is now gonna be known as d, because we've decided to rid the ++ operator." 2.let's go changing major parts of html as well. instead of opening a document with the html tag title and body, we'll call it, cow duck and chicken. but, since we did that we have to rename the language to farm. 3.it's not a very good idea to build such a user/fan base of a language and then just go changing it all around. perl (or whatever the hell it's going to be called) is going to suffer severely as a result. 4.the opensource world already lacks something of major importance, and that's the standardization of many things. it's all well and good that we can have 7 or 8 different window managers/environments to choose from. on the other hand it sucks to try to compile one and see that you don't have a specific library it needs. so, unless i'm mistaking and read the article a little backwards, we're going to have a hell of alot of code that is going to have a hell of a time running on the new "perl". 5.so what if this new regex engine is faster. the point is we already have many different rules for regular expressions from languages to programs, now, we're adding one more, and changing a language that has become one of the MOST POWERFUL and USEFUL languages in computing! (arguably) 6.the _ONLY_ way i see this as a benefit is if this breaks off as a totally new language and the perl that is now, continue to be developed along side of this "new" lanugage. Kind of like perl++ if you wanna call it that. 7. i probably am making alot of people mad, so i'll stop now, and apologize.

    --
    I write code.
  22. Assignments by DrSkwid · · Score: 2

    my ($x) = /(.*)/ my $x; / $x:=(.*) /
    # may now bind it inside regex

    This is a feature that I hope is carried over into the scripting languages I use (PHP, Python).

    My first impression was that they may as well embed AWK in the regex engine.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:Assignments by Anonymous Coward · · Score: 0
      my ($x) = /(.*)/ my $x; / $x:=(.*) /


      You are on crack if you think this kind of thing has any place in a modern programming language.

  23. Larry has jumped off the deep end by StormReaver · · Score: 2, Interesting

    Larry is mistaken if he thinks this is going to be in any way benefitial. All this does is change the syntax and add yet another layer of difficulty to what is already a mess.

    1) This isn't any easier to read. I've been programming since 1985 and went through more programming languages and idioms than I can recall, and regex is the only system I have attempted to learn and met with complete failure. If regex is to be redesigned (and despite my inability to learn it, I don't think it should be broken), at least make it comprehensible.

    2) This creates a giant rift in regex, with multiple, mutually incompatible versions across operating environments. What works on system A may not work on system B. Some vendors may choose to implement these extentions, and some may not. This is a disaster. Though regex may not have been completely compatible across systems up to now (and to be honest, I have no idea how compatible the various regex implementations are), adding yet another dialect can be nothing but bad.

    1. Re:Larry has jumped off the deep end by groomed · · Score: 1

      1. Regexes are a lot easier to learn if you pick up the underlying theory first. Pick up a book on state automata, then try again.

      2. Regexps are not compatible between systems at all. It is not like there is a regex "standard". Just a number of conventions. The interoperability you are worried about simply does not exist, except in the sense that Perl 6 will reject regexps that were valid in Perl 5.

    2. Re:Larry has jumped off the deep end by Anonymous Coward · · Score: 0

      Isn't there a standard for regex? An RFC or an ISO spec?

    3. Re:Larry has jumped off the deep end by Anonymous Coward · · Score: 0
      1. The regex extentions in perl6 are not meant to be easier to read. They are meant to be more powerful and more consistent. If you want something easier to read, i'm sure someone can make you a perl6 package that replaces the perl regex syntax with something.. um.. sane.
      2. I *believe* the old regex syntax will still be available. People who don't want to learn the new syntax can just use perl5regex; or somesuch. People who don't want ot learn the new syntax, but have to maintain code with perl6 regexes in it? i'm sure it wouldn't be too hard to make a tool which converts regexes into english.
    4. Re:Larry has jumped off the deep end by jgerman · · Score: 2

      1) This isn't any easier to read. I've been programming since 1985 and went through more programming languages and idioms than I can recall, and regex is the only system I have attempted to learn and met with complete failure. If regex is to be redesigned (and despite my inability to learn it, I don't think it should be broken), at least make it comprehensible.


      I'm not trying to start a flame war, but regular expressions, both in theory and in practice are simple concepts. Perhaps you're in the wrong line of work? I'm betting that you are completely lacking in theory, which is odd, because in my experience the older a coder the more Computer Science they were exposed to, but I'm sure there are exceptions. Go pick up a book on finite state machines, actually you don't even need that, go read the FSA bits of the Dragon book.

      --
      I'm the big fish in the big pond bitch.
    5. Re:Larry has jumped off the deep end by shayne321 · · Score: 2

      StormReaver says: This isn't any easier to read.

      I'm glad I'm not the only one who thinks this... I absolutely HATE the idea of making /x the default.. To me whitespaced and commented regexps are an order of magnitude harder to read.. Let's say I want to match the phrase "this is a sentence". Here's the easiest perl5 way to do it:

      /this is a sentence/

      Now perl6:

      /this<sp>is<sp>a<sp> sentence/
      or: /this <sp> is <sp> a <sp> sentence/
      or: /this <sp>
      is <sp> # sentence's verb
      a <sp>
      sentence/ # YUCK!
      or: /this \s+ is \s+ a \s+ sentence/

      Maybe it's just my personal bias, but I think comments, newlines and whitespace should be left OUT of regular expressions.

      Shayne

      --
      Today I didn't even have to use my AK; I got to say it was a good day -- Icecube
    6. Re:Larry has jumped off the deep end by John+Siracusa · · Score: 2

      I absolutely HATE the idea of making /x the default.. To me whitespaced and commented regexps are an order of magnitude harder to read.. Let's say I want to match the phrase "this is a sentence". Here's the easiest perl5 way to do it:

      /this is a sentence/

      Now perl6:

      /this<sp>is<sp>a<sp> sentence/
      or: /this <sp> is <sp> a <sp> sentence/
      or: /this <sp>
      is <sp> # sentence's verb
      a <sp>
      sentence/ # YUCK!
      ...or this:

      m:w/this is a sentence/

      or this:

      m/<'this is a sentence'>/

      or this:

      $match = 'this is a sentence';
      /$match/

      It's not so bad, just different. And it's a small price to pay to get things like named, inheritable grammars, regex objects, and so on.

    7. Re:Larry has jumped off the deep end by spauldo · · Score: 1

      There's some POSIX stuff for regex, although I think it mostly concerns the C library. Read up on regex in awk - it should give you some info on the POSIX aspects. I'm not sure if those are implemented in perl or not - I learned perl first and only use awk on occasion.

      --
      Those who can't do, teach. Those who can't teach either, do tech support.
  24. I said easy, not mature by oliverthered · · Score: 1

    Lots of things are easy,
    C++ is a peice of piss to code in, so easy that you'll probably produce somthing horrific!
    Java's easy, it dosn't let you 'worry' about memory allocation (until you need to and then you can't).
    I would recomend C++ or Java as the best languanges to use, unfortunatly most programmers arn't the 'Best' programmers to use, there useually easy to hire and not mature enough.

    --
    thank God the internet isn't a human right.
  25. Hey Korki, were you looking for me? [KuLPuF] by Anonymous Coward · · Score: 0

    Korki......

    The last few days have been a disaster for me, and I do not have any zest left.. but I do miss you, and I really want to play with your hair. So if you see this message, reply to it. Okay?

    Bye!

    Anonymous coward, an extension of Identity 5

  26. recursive regular expressions by Saint+Nobody · · Score: 3, Interesting

    this guy has been doing some interesting work on the regex engine. he's added functionality so that you can have recursive regular expressions without the clumsy postponed subexpression ("(??{...})") mechanism. on the one hand, it's far less readable that way, but on the other hand, you don't have to predeclare a variable for every production rule in your grammar.

    and the current system is even more convoluted since the postponed subexpressions are evaluated in the environment in which they are checked, not where they were declared. this means that all variables referenced when you built the regex have to be in scope when you use it. that's a restriction i'd like to do away with, although i'd rather see it done by making postponed subexpressions support closures.

    as i recall there's also an rfc for perl 6 on the perl site to make a stack-based regex engine rather than stat-machine-based, so that it could support CFGs, but i don't think it specified how it would work syntactically.

    --
    #define F(x) int main(){printf(#x,10,#x);}
    F(#define F(x) int main(){printf(#x,10,#x);}%cF(%s))
  27. Perl parsing Perl by dannyspanner · · Score: 4, Interesting

    I've read comments by Larry to the effect that Perl is great at writing lexers but not parsers. If you look at some of the later examples (around page 11) it's clear that he's trying to make Perl regexes powerful/clear enough to parse Perl. They remind me of yacc/bison, which makes sense.

    1. Re:Perl parsing Perl by AutumnLeaf · · Score: 1

      I can't read them right now as the page was slashdotted. There is a difference between what one can do with pattern matching (regular expressions) versus Context Free Grammers. If you knew the difference between the two, you'd know why it is so easy to write lexers with perl via regular expressions, versus parsing.

      That being said, there are parser modules out there that let you define grammers for languages in a pretty straight forward way. and then they do all of the parsing for you.

  28. They are "weird" because they do more by Anonymous Coward · · Score: 1, Interesting

    Think of Perl 6 regexes as something like a cross between traditional regular expressions and BNF grammars with hooks for good Perl integration.

    That makes them weird, but it means that when your problem gets a little bit beyond what is doable with a traditional regular expression, you don't fall off of a complexity cliff. Instead of the current situation where regular expressions are great on small problems, then fall apart when you (say) want to check that parens are balanced (that one is doable in Perl 5.6, but not easily), they will scale anywhere from the kind of tokenizing that people currently do up to and including parsing something as complex as Perl.

    And the ability to do this will be tested in the best "eat your own dogfood" manner by actually implementing Perl's grammar as a regular expression!

  29. Mason? by shaldannon · · Score: 2

    I still disagree with the parent flame, but I think Mason really does a service handling at least the CGI tasks. On the sysadmin front, I have no idea, since Perl is my hammer :}

    --


    What is your Slash Rating?
  30. More movie references... by kubrick · · Score: 2

    Yeah, and by the last few Apocalypses, Larry will have shaved his head and gained a lot of weight, and he'll sit in the darkness muttering half-profound, half-obvious statements about language design. And Damian Conway can play the Dennis Hopper role, the drugged-up photographer/court jester :) But who gets to be Marlowe/Willard?

    ObDisclaimer: I really like both Apocalypse Now and Perl, but they seem uncannily similar now that I think about it -- that great epic attempt to render the human condition, that falls well short (but at least tries :)...

    --
    deus does not exist but if he does
  31. You still missed the point by shaldannon · · Score: 2

    Provoking a flamewar is still considerably different from provoking thoughtful discussion. Saying "Perl sucks, let's find a new language" is a flame. Saying "I think language X better serves the purposes Perl addresses" is thoughtful and provocative. See the difference? Unfortunately, the parent thread came down on the "Perl sucks" side of things...

    --


    What is your Slash Rating?
    1. Re:You still missed the point by ajm · · Score: 2

      So far I've not seem a flamewar. I've seen some thoughtful, more or less, discussion. I didn't say "Perl sucks, let's find a new language" I said "perhaps perl's time has passed, what do you think of that", and some people thought about it. Others got hung up over the difference between provocative and flame, but that's their perogative.

      Also, to get any attention for a posting on slashdot it helps to have a "provocative" title and just saying "I think language X better serves the purposes Perl addresses" is as likely to provoke a flamewar as anything. With your user number you should know that. People here have their itchy trigger fingers on their flamethrowers all the time. The only advantage over kuro5hin is the larger audience (perhaps you'll take that as a flame also :).

    2. Re:You still missed the point by shaldannon · · Score: 2

      I don't have a use for kuro5hin, so I don't consider that a flame.

      I do still wish there had been more subject matter in the original post that people could consider... free response to an ambiguous post is a two-edged sword...and on slashdot, that ambiguity is likely to result in getting cut with both sides of the sword :)

      --


      What is your Slash Rating?
    3. Re:You still missed the point by ajm · · Score: 2

      I agree. In defense I'd like to say that it was pretty early in the morning for me :)

      I used to use perl a lot but even with the best of intentions I ended up with code that I found hard to maintain. My bias is now towards more verbose languages where there is only one way to do things, certainly for "mixed ability team corporate projects". Btw that's one of the things I dislike about .NET, the choice of languages. For some projects I've worked on the fewer choices people had the less trouble they managed to get themselves into.

      For perl alternatives I'd probably pick python these days for simple and not so simple scripting, java for corporate programming or open source where you want lots of contributers, scheme/lisp for fun, and standard ML or Haskell for new perspectives.

    4. Re:You still missed the point by shaldannon · · Score: 2

      That's a more meaty response :)

      I've used Ada for school projects, JavaScript and Perl in corporate environments (I've only been out for a couple of years), and had classes in C, C++, Lisp, Scheme (there *is* a difference), x86 ASM, and (theoretically) Java. (I could include Apple Basic in the list, but it really doesn't apply).

      The JavaScript was used in both server- and client-side applications (my last company was a BroadVision shop), and I certainly appreciated the OO, one-way approach it offered. It was also considerably easier than my experiences trying to learn Java. Maybe it's just me, but I found that compared with Ada (another strongly-typed language) that Java was a real pain to learn. I've heard all the arguments about its robustness, built-in OO, etc., but I find it difficult to justify using it as an all-around tool, and even have trouble with the idea of using it for CGI applications.

      I've forgotten a lot of my C/C++ syntax (writing too much Perl code ;)), but I certainly understand why you'd use that for application and system programming over, say, Java. (Perl really isn't designed for those tasks, although it is useful in a web-based ASP model).

      I still don't quite get the Lisp and Scheme obsession. Yes, it is certainly novel to be able to have a program recurse on itself and create its own anonymous routines, but the code is nearly unmaintainable and unless you take drastic measures, quite unreadable.

      I haven't used Python, but from what I've heard, it could probably do good service in some of the same areas Perl does. I guess my biggest point is that Perl is so flexible that it saves you from having to know a dozen different languages to do a dozen different things. It certainly isn't an end-all language; there are limits to anything, even to a language that tries to do (almost) everything.

      You did mention that you disliked Perl because you ended up with code that was difficult to maintain. However, that isn't a Perl limitation. It is a design limitation. If you carefully write readable Perl code and leave plenty of comments...and you use a well-thought, easily extensible design to begin with, the code won't be such a beast to keep up. This is why they have Software Engineering courses at University :) Of course, I'll admit that most people don't design very carefully, but, as I said, that isn't a language limitation.

      --


      What is your Slash Rating?
    5. Re:You still missed the point by ajm · · Score: 2

      Yep, Lisp and scheme are different. The three things I'd say make them stand out are

      1. Macros: especially in scheme. Fantastic way to extend the language and meta program

      2. Tail call elimination in scheme: Using recursion instead of looping can often make the intent clearer and tail call elimination makes it cost the same as looping.

      3. Closures: call/cc is amazing

      I agree that unmaintainability is mostly a design issue (otoh you say lisp/scheme is unmaintainable, isn't that the same situation) but some languages help it and some hinder it. I feel that perl hinders it by providing different syntax for things with insignificant semantic difference.

      Lisp/scheme readability is also a design issue but is greatly helped by auto indenting editors.

    6. Re:You still missed the point by shaldannon · · Score: 2

      Lisp/Scheme unmaintainability is (IMHO) a direct result of the structure of the language, at least, from my experience. When the entire 'program' is embedded in a single expression, you sometimes have to rewrite entire parts of the expression to change a trivial amount of functionality. One of our ongoing class assignments in Scheme was to make a grammar parser, and the changes that the professor showed from stage to stage as the assignments progressed were fairly major.

      Perhaps part of my bias against Scheme and Lisp is due to a lack of intimate understanding, therefore what appears unmaintainable to me really isn't, but I'm not sure of that. It seems far easier to maintain code written in a language where you have discrete graspable constructs than code written in a language with almost none.

      --


      What is your Slash Rating?
    7. Re:You still missed the point by RevAaron · · Score: 2

      Lisp unreadable? Once you learn the syntax - (function arg1 arg2 ... argN) - it seems pretty damn simple to me. Unless you write your Lisp programs all on one line, like those Obscuf-perl people, it's quite readable. In fact, that's what emacs is for. Indenting Lisp code.

      Personally, I like having 1 main syntax rule over having 200 little annoying ones. It means I have to learn less to get the same amount of work done. Some people like a fruitless challenge like learning an obese syntax, and that's fine. Not me, though.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    8. Re:You still missed the point by jgerman · · Score: 2

      I still don't quite get the Lisp and Scheme obsession. Yes, it is certainly novel to be able to have a program recurse on itself and create its own anonymous routines, but the code is nearly unmaintainable and unless you take drastic measures, quite unreadable.



      Like most other languages they are only nreadable if you don't know how to read it. Grok a language and reading it isn't difficult.


      I prefer functional languages over any others when writing code. Functional languages in general are best suited to situations where you want to be as far away from the details of coding as possible and concentrate soley on the algorithms and Computer Sciencey aspects of what you're doing. At work, I prefer the mixture of Perl, C, and Java, depending on the application, because more people know them (not exactly a good reason) and they tend to work the best on the kind of things I do at work. In general the power of LISP (and other functional languages) just isn't needed at work.

      --
      I'm the big fish in the big pond bitch.
  32. i wish I had moderation points... by Bodrius · · Score: 2

    As a Java geek, I was going to reply to your post much in the spirit of this thread, but you are completely right.

    --
    Freedom is the freedom to say 2+2=4, everything else follows...
  33. Perl is mad powerful by Anonymous Coward · · Score: 1, Informative

    Why do people love it? It's mad powerful. Sure it can look like line noise, but once you start to "think" in Perl you can do amazing things with only a little code. And for many of us, we already "thought" in Perl anyhow. At least that's how it struck me. Perl's much more like a natural language than a lot of traditional programming languages, and this gives individual coders a lot of freedom in the way they do things. Of course it causes a lot of frustration for beginners and dabblers, too.

    (an example)

    exit(1) unless $input;

    You can do mad powerful things in Perl in just a few lines. Plus, there's CPAN which extends your power even more.

    Not that I suggest everybody should code in Perl, but those are the things that I think attract a lot of people to it.

    1. Re:Perl is mad powerful by RetroGeek · · Score: 1

      How is this better than:

      if ( ! $input )
      exit(1);

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    2. Re:Perl is mad powerful by Anonymous Coward · · Score: 0
      How is
      exit(1) unless $input;
      better than better than:
      if ( ! $input )
      exit(1);

      Because it allows you to make the intent of your code clearer in much the same way as interchangeable looping constructs like for, do-while, while-do, reapeat-until, foreach, etc do. Your language of choice will almost certainly have more than one way to spell a loop, why do you think that is?

    3. Re:Perl is mad powerful by RetroGeek · · Score: 1

      Loops. Yes, there a number of ways of doing loops, even to using recursion.

      But the "exit(1) unless $input;" is actually backwards when you read it. It is like saying "Eat something if you are hungry" rather than "if you are hungry eat something".

      You have to read the latter part of the statement to get its meaning. I prefer to read the conditional first.

      But then Perl is a write once, read never language anyways.....

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    4. Re:Perl is mad powerful by Anonymous Coward · · Score: 0
      But the "exit(1) unless $input;" is actually backwards when you read it. It is like saying "Eat something if you are hungry" rather than "if you are hungry eat something".

      I agree you could argue that either way in this case. It would depend on the context what the preferred spelling of that statement is.

      But then obviously you agree it is a Good Thing to have a syntax that allows you to write your code in a way that isn't backwards. This is exactly why Perl gives you the option of putting the conditional at the end instead of forcing you to put it first.

      You have to read the latter part of the statement to get its meaning. I prefer to read the conditional first.

      Are you now saying that having the conditional forced to be at the front is never backwards? Somehow I doubt that's what you mean, given what you're saying above.

      my $point = "proven" unless $you->have($better_rebuttal);

    5. Re:Perl is mad powerful by RetroGeek · · Score: 1

      Proven?

      Not really.

      Are you now saying that having the conditional forced to be at the front is never backwards?

      You are mis-interpreting the word "backwards". I mean that the conditional is after the statement. I think you are reading "is worse than".

      Anyway, I do not want to get into a language war. Each has its merits. I have programmed in Perl, and I do not really like it. Way to much syntax to remember. Somewhat like Visual Basic, except that Perl is more powerful.

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    6. Re:Perl is mad powerful by Anonymous Coward · · Score: 0
      Somewhat like Visual Basic, except that Perl is more powerful.

      I'm sure you meant to spell that sentece like this: "Except that Perl is more powerful, it is somewhat like Visual Basic". It would be backwards otherwise.

      And obviously you're not trying to get in a language war...

    7. Re:Perl is mad powerful by RetroGeek · · Score: 1


      :-)

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    8. Re:Perl is mad powerful by Anonymous Coward · · Score: 0

      Somewhat like Visual Basic, except that Perl is more powerful.

      Both languages are Turing-complete, modulo physical machine limitations.

  34. What else was broken? by eison · · Score: 0, Redundant

    Hmm, from the 'BAD REQUEST' message I get on perl.com, I'd say they set out to intentionally break the Apache web serving culture we're used to also... :)

    --
    is competition good, or is duplication of effort bad?
  35. Dammit Larry ... by scrytch · · Score: 3, Insightful

    Just get the damn thing written, make it flexible enough for us to rewrite perl in perl, and kick this lazy-ass camel out the door before my grandchildren ask me when perl6 is coming out!

    I don't want more powerful regular expressions. I want a more powerful pattern-matching syntax, one I can compile down to an opaque object with a bit of syntactic sugar, then use in place of a regex. I want a parser sub-language like SML or parsing primitives like haskell. Regular expressions are now turing complete thanks to perl ... great, so move on already, regexes are not the final word in pattern matching.

    And what's more -- all this you're doing Larry, it's anti-hacker. It's top-down, it's engineered, it's ivory-tower theory that might sound neat and no matter how zany your presentation is, you are living in the rareified atmosphere of a language designer, and now you are starting to think that way, dispensing wisdom on The Right Way To Do Things from on high. Yes, inventing Just The Right Way to give people 1E+255 ways to do things is still looking for the perfect that's the enemy of the good, because once we have the foundations to improve on perl6, we will do it, but only if we have something to work with. It doesn't all need to be done up front.

    Your extended regexes can be done as a library solution. Stop ending the world and start living in it.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
    1. Re:Dammit Larry ... by jgerman · · Score: 2

      I don't want more powerful regular expressions. I want a more powerful pattern-matching syntax, one I can compile down to an opaque object with a bit of syntactic sugar, then use in place of a regex. I want a parser sub-language like SML or parsing primitives like haskell. Regular expressions are now turing complete thanks to perl ... great, so move on already, regexes are not the final word in pattern matching


      Hmmm, I want, I want, I want. Maybe you try changing to: I'll write, and create your own language.

      --
      I'm the big fish in the big pond bitch.
    2. Re:Dammit Larry ... by wayland · · Score: 1

      Look, if you're that keen, there's something called Perl 5 that you can use *right now*. But Larry's taking the time to do it right, and so far, the only thing I think he's wrong on is significant whitespace.

      As for more powerful pattern matching, you'd lose some coding speed that way (important for one-liners!). And if he started using those SML or Haskell things, people really *would* think it was an ivory tower-type idea.

      As for anti-hacker, Larry originally wanted the community to do it themselves, but the community almost unanimously declared they wanted Larry to do it. Why? I can think of a number of reasons. One is that one of the primary virtues of Perl programmers is Laziness. Another is that only Larry, and possibly 4 or 5 others, have the authority/mindshare/community respect/whatever to get everyone to follow when they suggest things as radical as Larry has been suggesting.

      I personally have some good ideas about where programming languages in general should go (that's what I thought about while I was unemployed :) ). I divided mine up like Larry divided the Apocalypses. I haven't had time to compare my regex ideas with his yet, but in general, it seems like all my ideas can actually be added on to Perl 6 as a module (thanks to the extra-flexible syntax).

      Anyway, much as I'd like Larry to move faster, in the long run, I'd prefer to see him do it right, because it will advance the state of programming languages in general (which is to be greatly encouraged). Assuming that eg. Ruby is better Perl 5 (I've no idea :), but anyway...), and that Perl 6 is better than Ruby (for me (but not others), I think it will be), how long will it be better for? Probably Ruby will advance too. As someone mentioned, it's been widely recognised that Perl5 regexes are better than other regexes. Hopefully the same will happen with some of the features of Perl 6.

      The point is, we're getting a shorter idea to finished product time, and to me, that's what Perl is all about.

  36. This will kill Perl by dybdahl · · Score: 2, Insightful

    If Perl 6 isn't backwards compatible, they do the same Microsoft does with Visual Basic .net: make programmers switch to other tools.

    A good language can introduce new features without changing the basics. This is why PHP got so popular so fast.

    1. Re:This will kill Perl by scrytch · · Score: 2

      A good language can introduce new features without changing the basics. This is why PHP got so popular so fast.

      Does PHP have inheritance yet? Or let's start simpler: has it stopped dumping every new function into a global namespace? This bugs me in elisp, and it bugs me in php. Actually, it's the fact that PHP passes objects by value (and that they removed the declaration syntax for byref and saddled you with the ugly syntax at call time) that caused me to stop using PHP.

      That and PHP perpetuates the perlism nonsense of:

      $foo->bar(baz,mumble);

      As opposed to a much more sensible:

      foo.bar(baz, mumble)

      Or, when you think long and hard about about it, by using the logical start of the line as a statement beginner, the end of the line as a terminator, and that most args don't have whitespace in them or have other good logical delimiters if they do:

      foo bar baz mumble

      Only Tcl does anything like this, though lisp comes close (but I shouldn't need the top level of parens if I have other delimiters). It's just a shame that Tcl's runtime is so brain damaged, and that it's become irrelevant as a language these days.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    2. Re:This will kill Perl by Anonymous Coward · · Score: 0

      It's just a shame that Tcl's runtime is so brain damaged, and that it's become irrelevant as a language these days.

      In what way is Tcl's runtime 'brain damaged' ? (I don't want a flamewar - just an example to back up that remark)

    3. Re:This will kill Perl by scrytch · · Score: 2

      In what way is Tcl's runtime 'brain damaged' ? (I don't want a flamewar - just an example to back up that remark)

      One must go through ghastly syntactic contortions to write object-oriented tcl, for one.

      Another is the way it deals with events in tk: not only does it use its own printf-like "little language" for events -- weird, but otherwise not bad by itself -- it executes all events in global scope. You can't get any information on what was happening at the time the event (like a button press) was invoked unless you stuff it into a global variable. And since you can't pass any extra information except for what's hardwired into the little event sublanguage, you can't, for example, pass the position of a slider in when you press a button that does something related to that value.

      In short, tcl makes you do everything with globals. Hope you never wanted to use tcl in a multithreaded environment -- not that the language itself has any support for it.

      Perhaps bind has since been improved in tcl to take a function expression that evaluates in the definer's (static) or caller's (dynamic) scope. Perhaps there's threading, perhaps there's either a less painful OO, or enough borrowed from lisp to reduce the pain of writing real OO code. If so, then congratulations, but too late for this hacker. Maybe if scriptics spent more time developing an otherwise beautiful *looking* language and less writing claptrap about "leveraging your synergies with scripting in b2b enterprises" like it invented the concept of scripting and was handing it down like mana from heaven, then the developers wouldn't have abandoned it and scriptics wouldn't have gone under. At least ActiveState took it under its wing, so there might be hope yet.

      </rant>

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  37. Worst Episode Ever, AOTC is by sk8king · · Score: 1

    Off-topic, but great signature.

    1. Re:Worst Episode Ever, AOTC is by Anonymous Coward · · Score: 0

      :) tnx

      I love the juxtaposition of the two franchises.

  38. Most languages stick around through inertia by shaldannon · · Score: 2

    What's the point? Java, C, C++, COBOL, Mantis, VB, you name it...even Ada. The point is not whether something is bad because it has become such a widely used language that it has legacy code dating back to a few generations, but whether it serves a useful purpose.

    People (especially on /.) will argue that COBOL or FORTRAN or what have you is obsolete because it isn't the latest, sexiest language. That's not a valid argument. COBOL finds uses in every day environments that maintain our IT infrastructure...in places most people wouldn't even notice.

    The same thing goes for Perl. It may not have the newness of Ruby, and it may have code dating back to release 4 on web servers the world over, but that doesn't mean it is dated or that it is time to scrap the language.

    One of the nice things that Perl has going for it is the modularity. You go to CPAN, download a new module, and all of a sudden, your toolbox has a whole new tray of useful tools that save you from re-inventing the wheel. These tools let you perform system administration tasks, provide CGI applications with ease, or handle back end tasks. It is more powerful than shell scripting and more flexible than C/C++/Java.

    As much as I'd like to think you're being reasonable, it seems to me you've made a blanket, baseless statement. If you want to provide some evidence that your point of view has merit, I'm sure we'd all be interested. In the meantime, you're likely to be dismissed as a troll....

    --


    What is your Slash Rating?
    1. Re:Most languages stick around through inertia by ajm · · Score: 1, Offtopic

      The meta point is to discuss the issues. Sure you may think it was a troll but it wasn't and at least people are taking about perl, what it's good for, what it's not good for and why it's still used. When I originally posted everything else at 2 or above was rated "Funny". I was hoping for a bit more thought and discussion than that so I posted something that I hoped would get people thinking. Apparently though a position that doesn't fit in or is not expressed in a bland way currently gets rated as troll or flamebait. The initial post has now got 10 moderations (some just seem to be slashdot groupthink but that's to be expected) so it seems to be generating some interest.

    2. Re:Most languages stick around through inertia by RevAaron · · Score: 2

      CPAN-style modularity comes at the price of security.

      ajm isn't talking about dumping perl to use C/C++/Java. You're right in your comparison of perl to them, but I say dump all but C, which you use to write the better languages until said better languages are completely self-hosting. :P

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    3. Re:Most languages stick around through inertia by shaldannon · · Score: 2

      CPAN-style modularity comes at the price of security.

      How do you mean? If you mean "security through obscurity", then that isn't security at all...

      --


      What is your Slash Rating?
    4. Re:Most languages stick around through inertia by RevAaron · · Score: 2

      Huh? I didn't say CPAN provided security. It's just a little spooky- perl -MCPAN -e 'install SomeGuy::MyPackage'. CPAN doesn't do any rigorous testing to make sure that it's not going to 0wnZ your system. Sure, you should look into that yourself, but people don't do that, it's a pain in the butt.

      CPAN is way cool, but it does open new doors for people to waltz right through.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  39. Re:Cant wait to get my hands on it. by as400as2 · · Score: 0

    Offtopic? Let me spell it out for you. I cant wait to go home and get my hands on it (newest version of Perl). Thanks for the mod!

  40. Please moderate accordingly by Anonymous Coward · · Score: 0

    But now it's time to move on... to languages outside the perl family for some programming and choose the right tool for the job for a change.

    == Perl sucks (with no new original criticisms)

    == (Troll, -1)

  41. perl 7 by poincare · · Score: 2, Funny
    I quote apocalypse 1:

    So Perl 7 will be the last major revision. In fact, Perl 7 will be so perfect, it will need no revision at all. Perl 6 is merely the prototype for Perl 7. :-)

  42. Can't access it by Anonymous Coward · · Score: 0



    Bad Request Your browser sent a request that this server could not understand.

    Apache/1.3.22 Server at www.perl.com Port 80

    Konqueror 2.2.2 w/ junkbuster - what do I do wrong?

  43. It will not. by dangermouse · · Score: 2
    If anything, this will further advance the acceptance of Perl.

    The biggest problems with Perl are its uglified, glued-on OO capabilities and its general legibility.

    You can do some decent OO with it, yes, but you'll do some language hacking to get there. You can also write some nicely legible Perl code (I try to), but most people don't bother.

    Perl5 is going to be around for a long time... a whole lot of code has been written in it, and much of that code is critical due to Perl's usefulness as a glue language and for web programming. So a lot of people are locked into Perl5, at least, for maintaining existing code.

    But Perl6 is going to address some of the major problems with Perl5; I expect its adoption rate to be high.

  44. Many /. moderators suck by shaldannon · · Score: 1

    That's not a troll. That could be empirically determined. I can't count the times when I've seen my worst posts modded up as funny and my better ones modded down as flamebait or overated. Unfortunately, there isn't any room for appeal that I've seen....but this is going OT, so I'll stop here.

    --


    What is your Slash Rating?
    1. Re:Many /. moderators suck by ajm · · Score: 1, Offtopic

      I won't though :) Just had to agree. Moderation can be weird. I'd love to see some sort of graph showing when various moderations were applied. The original rapidly became 4 interesting and then decline to 2 troll (perhaps because it had now got noticed) climbed back to 3 interesting and no down to 2 again through application of a flamebait. Wacky.

    2. Re:Many /. moderators suck by shaldannon · · Score: 1

      almost makes you wonder how a +4 post can be a troll.... :)

      --


      What is your Slash Rating?
  45. what about embedded perl? by Lumpy · · Score: 2

    I heard of it back in 2000, and nothing cince.. one of the core developers was working on a mini-perl for embedded systems and I have bee neagerly waitong for it but ..... nothing.. no small perl that takes up very little space...

    Anyone have any clue as to it's progress?

    --
    Do not look at laser with remaining good eye.
  46. Java as Glue and EJB J2EE by oliverthered · · Score: 1

    How much of a mess is banking in, quite a bit. most of the java programmers I know who do banking work are writing data pumps &co.
    They were also using imature technologies e.g. XML, and a riff-raff of components in various states of hack arround required.
    There also using an aufull lot of SUN boxes, which dosn't quite fit with the Java protability ideal.
    e.g. Java is a bitch to get working on HP unix
    I didn't say Java wasn't good, or usefull but I wouldn't fly in a plain, or launch a rocket if I knew it's systems were written in Java. It's a bit like putting NT on a battle ship!

    --
    thank God the internet isn't a human right.
  47. Perl5 will be the default by Wee · · Score: 2
    And in case you need backward compatibility, I would be very surprised if you can't import a "perl5" module to get back to something more similar to perl5 syntax and semantics.

    For what I've read in the past, it has always been the plan to ensure backward compatibility by defaulting to parsing Perl5-style syntax. Said another way, one must explicitly specify that a program is Perl6. This is a good thing, and a feature I'm counting on. There's quite a bit about Perl6 I'll probably not use very much. All I really need Perl for is a glue language. In fact, if I were to replace some chomp()'s with chop()'s most everything I've ever written will run under Perl4. I'm not quite as l33t as some although anyone can read my code. Needless to say, I don't post to perlmonks.org very much. :-)

    I don't think Wall will make everyone go back and re-write old code. That would be a grievous mistake.

    (Note: I haven't read the latest Apocalypse because perl.com seems to not be responding. If Wall has said anything to the contrary, then things have changed from what I've read in the past.)

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  48. Perl is Perl. Ruby is Ruby and Python is Python by Anonymous Coward · · Score: 0

    Ruby isn't *just* a python clone with perl syntax thrown in. Ruby IMO is a nice "truer" OO scriping language. It's not like Python in that it's OOP seems to be more smalltalk like. Also, with Ruby you don't have to pass "self" around confusing things. Or maybe it's just me that gets confused with all the selfs. ;)

    BTW, I like Python too. I use it with of course, Zope.

  49. Perl gives you by nullard · · Score: 4, Interesting
    Perl IS awkward and crazy. I've never understood the attraction to it. The few times I've had to dabble it in, it's just been frustrating, limiting, and ugly as hell. Bleh. I wish someone could explain it to me.

    It's not that perl is akward. It's a language that lets you code in a number of different styles. It gives you the freedom to code your own way. This does reduce readability, but it greatly increases speed of coding. If others need to read your code, just set up style guidelines.

    I use perl for just about all scripting I do on my system. Just a moment ago, I had to read an html file over http, but there were no line breaks. I just needed to get one piece of information, so I did this:
    GET url|perl -ne 's/</\n</g ;print;'|less
    Sure it's unreadable, but it did the job. If I'd been writing CGI, I would've been more verbose since terse perl code can be difficult for even the author to understand by reading it.

    perl gives you lots and lots of freedom. This is not a bad thing, but it is dangerous. Other languages force you to work in one way.

    Think of a bike. A bike w/ trainig wheels makes it hard to fall over, but your agility is reduced. perl has no training wheels by default. You can write really nasty code that works but is unreadable. Perl is anything but limiting.

    If you want more structure to protect you from yourself, try running perl the -w option and put "use strict" in your scripts. If you want pretty built-in identifiers, try "use English"

    I've been coding for so long that the restrictions built into many other languages just get in my way most of the time. I like the way perl never gets in my way.
    --


    t'nera semordnilap
    1. Re:Perl gives you by bgray3 · · Score: 1

      GET url|perl -pe 's/</\n</g'|less

    2. Re:Perl gives you by Anonymous Coward · · Score: 0

      perl -ne 's/</\n</g; print'

      is the same as
      perl -pe 's/</\n</g'

      The -p switch is made
      exactly for such filters.

      -Jake.

  50. vendors? by Anonymous Coward · · Score: 0

    There are no vendors, Perl is open source and the regex engine is inside the perl source. If the code compiles at all it will compile to a regex engine that is OS independent.

  51. Bad Request by panck · · Score: 1
    Bad Request
    Your browser sent a request that this server could not understand.
    Apache/1.3.22 Server at www.perl.com Port 80


    You fools, you've migrated to perl6 too soon!
    --
    "What thou shalt not, I shalt did!" -Bart Simpson
  52. We've slashdotted perl.com by shren · · Score: 2

    I can't get to the apocalypses, or anything on perl.com, from two different sites. Is there a mirror anywhere? Is nothing sacred?

    Ahem. *cough* There's nothing useful in this Apocalypse. Go read something else, so I can read it.

    --
    Maybe the state's highest function is to grind out insoluble problems. (Zelazny, Hall of Mirrors)
  53. Change for change's sake is a bad thing. by Anonymous Coward · · Score: 0

    Perl 5 is not broken, why try and "fix" it ? Perl 6 is not recognizably perl. Wall should re-name it something else, to avoid confusion.

  54. Re:I just started learning Perl a two months ago.. by bafu · · Score: 1
    yeee...

    Many Perl 5 programs will require only trivial syntactic changes in order to run under Perl 6.

    Most Perl 5 programs will be able to be ported to Perl 6 automatically, via the standard translator program.

    And that was supposed to be one of the comforting parts of the article. :-P

    I guess I need to start making a list of all the perl scripts we have here in case we decide to upgrade... fortunately, that was something I always wanted to do. Oh wait... did I say "always"? I meant "never".

    Oh well, in a few years we'll look back on this and laugh. And that makes it all O K. As long as we stop laughing... the ones who don't will be locked up and mdedicated. Then they will be O K, too.

  55. s/Perl/Perl5/ and Larry Wall agrees with you by mo · · Score: 2

    You're totally right, and the perl community agrees with you. For example, on page 3 of the apocalypse, Larry Wall states that perl has too much historical baggage. But that's exactly why they're redesigning it for perl 6.

    It's up for debate whether python, ruby, PHP do perl better than perl, but it's true that they all took the good things out from perl5 and left out the bad things. They're doing the same with perl 6. In addition, some extremely bright people are working on it that have had a lot of experience with designing and extending languages. If you read the apocalypse, it's amazing how Larry Wall has shed all of his preconceptions and leanings towards older versions of perl. They're taking the good stuff out of every language and fusing it together in a very colaborative way. And I'm convinced that the resulting perl6 will be a language to be reconed with.

  56. Java 1.4, PHP, JavaScript and Perl compatibility by theolein · · Score: 2

    I have fought my way through basic Perl Regexes and for some strange reason have come to like the language for it's sheer obtuseness. The person who made the crack "Perl - $Just @when->$you ${thought} s/yn/tax/ " wasn't joking.

    What I see as a real problem for Perl6 and Larry's vision is that other languages have, as he noted, copied Perl5 Regexes and it has more or less become a standard as it is. Those languages are not going to change their implementations of Regexes in a hurry, especially Java which has just aquired it, and this will lead to a schism because, as powerful as Regexes are, they are not for the faint hearted and no one, and I mean no one, wants to learn two different ways of doing them.(Do I use /[bla]*/ or /\Qbla\E*/ or something completely different?).

    I can almost guarantee that this is going to hurt the Perl community because many will simply stay with Perl5's way of doing things because of compatibility and habit and I think Perl6 will have a hard time finding a large audience.

    I know it's too late to convince Larry otherwise, but I think he should have left things the way they were in the Regex world. My analogy is to human languages. I learnt German years ago, which is more complex grammatically than English but at the same time much more structured and with far less exceptions. None the less, an amazing amount of people speak English and like it because of it's amazing flexibility and ability to enable even a poor speaker to be understood, despite thousands of exceptions in spelling and grammar.

  57. looks cool by Dr.+Awktagon · · Score: 2

    I consider myself a hard-core Perl regexp user and these changes look pretty cool and very appropriate. They fix a lot of the annoying add-ons in Perl's current regexps (if you've ever written a big fat regexp with lots of (?..) stuff you know what I mean). Being able to easily name captured text is probably the most useful feature. In fact Perl 6 is starting to look pretty nice all around. I'm still going to have a problem with "->" becoming "." and "." becoming "_" but I guess I'll survive.

    What would REALLY be cool is if I could use some Unicode characters (for instance from the "General Punctuation Block") as the regexp metacharacters.. I didn't see anything about this in Larry's (very long) document, and I'd imagine it wouldn't be very popular since many of those characters look too much like the ASCII versions, but it would be useful.

    One thing that strikes me as interesting: languages like PHP and Ruby have inherited features from Perl (for instance PHP has a "Perl regexps" feature, and it uses "." for string concat).. will these languages change so they can be more like Perl6?? Otherwise I think that would leave PHP as the only language where "." is string concatenation (yeah I'm really hung up on that dot, humor me).

    Looking forward to Exegesis 5.

    1. Re:looks cool by Anomie-ous+Cow-ard · · Score: 1

      Unicode was mentioned somewhere in one of the Apocalypses (Apocalypsen?), i think in conjunction with operators. And i do remember seeing that you'll be able to define your own metacharacters (one example defined \j to be a bare linefeed, as opposed to \n being just about any typical eol sequence). The change from . to _ is going to bite me too... And $foo[0] to @foo[0]. But i'll learn eventually.

      --

      --
      perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.

  58. exhausting by Anonymous Coward · · Score: 0

    Honestly, how many of you actually made it through 24 pages of regexes? Now, how many did it after lunch?

  59. You think you never had a problem by oliverthered · · Score: 1

    Well that's the wonder of modern tech, it's so easy to gloss over the anarchy that's happening in the background!

    On a serious note, the company i work for holds all the GOD information, thers a lot of it, and a hell of a lot of processing to do, collecting and processing all kinds of crap data from all over the place, and unifying it. Banking sector work is about shunting stuff arround, I worked for a while on a finincial services project that used vb6 (before it was officially relased). it works, just but boy was that a fuckup, and guess how many people know that there electric bills are processed using it!.

    --
    thank God the internet isn't a human right.
  60. and lots of other stuff besides by ynotds · · Score: 2

    Reading through this Apocalypse, I gained two strong impressions:

    2. It is going to be a lot more manageable for me to program a parser I need in Perl 6 than it has been in Perl 5, because (i) regexes can now be laid out readably and (ii) clean reentry into Perl for stuff that is better done in Perl than in regex.

    1. For all the common little applications of regexes things are going to be much the same or easier.

    I suspect a lot more than me struggled to really get into some of the kludges added in Perl 5 in an attempt to provide useful functionality, so the Perl 6 approach of being willing to break backwards compatability where appropriate is going to produce a language which is much better while still being unmistakably Perl.

    One key to all this is that Perl 6, through its regex parsing power as much as anything else, will be able to seamlessly deal with Perl 5 syntax when you need it to.

    --
    -- Our systemic servants do not good masters make.
  61. Re:Perl is Perl. Ruby is Ruby and Python is Python by PythonOrRuby · · Score: 1

    Probably simpler to look at it as:

    Ruby is a pure object-oriented language. Everything is an object, everything that occurs is the result of a method of some class or instance method. Yes, it's similar to SmallTalk in that purity of concept, but pragmatically, it draws more from Eiffel, in my experience.

    Python is an object-oriented language as well, but it also mixes in functional programming ideas. Methods are not exactly methods, but rather functions bound to a class or instance. That's what the "self" is about. Python automagically passes in that first argument, but you can "detach" the method from its class and call it like a function, providing self manually.

    Python's weakness is the Huffman coding Larry talks about. As an example, regular expressions...

    Ruby:
    reObj = /foo/i

    Python:
    import re
    reObj = re.compile("foo", re.I)

    And yes, I do like Python. There are things it does that I can't as easily do in Ruby. In particular, I like functions being treated as objects.

  62. Ooh look... by Piers+Cawley · · Score: 1
    One of the things I like about the current perl 6 process is Larry's gleeful appropriation of all sorts of useful stuff from everywhere else. It's great. Look at the features of functional languages that you picked out:
    1. Macros: In a sense, that's what Apocalypse 5 is paving the way for; the ability to manipulate the current grammar and add new language features is a small step. Okay, so they're not going to be as clean as lisp/scheme macros, in part because Perl itself is nowhere near as clean as lisp/scheme.
    2. Tail call optimization: According to discussions on perl6.language it looks like it's going to be possible to have at least some (I'm hoping for lots) tail call elimination.
    3. Continuations: (I assume that's what you meant given that you talk about call/cc (personally I prefer let/cc, but hey)). Again, it looks like perl will be getting these (at last), the capability will certainly be there in the underlying VM.
    Now, you may not like perl's syntax, but having these capabilities in the language is going to be great. And hell, you can always morph the syntax into scheme if you like, just make yourself a new grammar and a few supporting functions. I'll probably beat you to that, I've already got the makings of a perl6 scheme interpreter, now to make an A5 based parser for it.