Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Perl Programming

Larry Wall's State of the Onion 93

Anonymous Coward writes "I'm sure I'm not the first to report this, but Perl.com put up a synopsis of Larry Wall's annual report on the state of Perl. "
This discussion has been archived. No new comments can be posted.

Larry Wall's State of the Onion

Comments Filter:
  • by Anonymous Coward
    'Python makes baby Jesus cry."
    -L.Wall
  • by Anonymous Coward
    ... that just because there's Perl 6 doesn't mean you'll be forced to use it. If you don't like where Perl is going, that's fine, one of the joys of open source technologies is you have a choice. A lot of people still use Perl 4 for various reasons, despite the majority of people using Perl 5.

    And people vote with their usage - if Perl 6 really does end up as horrible/un-Perl as people fear, then they simply won't upgrade, and Perl 5 will live on. But if it turns out to be a gigantic leap forward, with fantastic features and new capabilities, then all the better.
  • by Anonymous Coward
    From the architecture that is starting to appear if you really object to using dot-notation rather than the arrow notation you'll be able to put together your own parser anyway. One of the best things that I see in Perl 6 is the perl built in perl system, whereby the internals are being properly seperated from the parser, which will probably be written in, yup, you got it, Perl.
  • by Anonymous Coward
    Larry Wall has been giving an annual speech and calling it the "State of the Onion" for about five years now. In his first speech he used some metaphor about Perl having many layers, like an onion. Or something like that. It's been going on for so long that hardly anyone remembers what the name "Onion" was originally about.
  • by Anonymous Coward on Thursday July 26, 2001 @01:51PM (#2190781)
    ...at perl.com headquarters...

    "Hey Bill, check this out. We're getting slashdotted."

    "'onion.html'? Figures those retards would bring down our server hitting a page that doesn't even exist. "
  • by Frater 219 ( 1455 ) on Thursday July 26, 2001 @01:56PM (#2190782) Journal
    I've been using Perl for about six years now, mostly for system-administration tasks and CGI. In reading the various documents pertaining to Perl 6 -- the RFCs, the Apocalypses, and now this -- I'm starting to worry that a great deal of what I've learned in Perl 4 and 5 will not be useful in Perl 6.

    By making that big a move, it seems to me that Perl risks losing a lot of users. Existing users' Perl-fu represents an investment of effort in learning the language, and the more of this investment that Perl 6 invalidates, the less affinity they'll retain for Perl. Perl isn't the only fast, flexible interpreted language out there any more -- Python's been around for a while, and Ruby just might take off one of these years.

    If I'll have to learn a whole 'nother language either way, why learn Perl 6 rather than Python?

  • by Frater 219 ( 1455 ) on Thursday July 26, 2001 @04:02PM (#2190783) Journal
    If you already know Perl fairly well, you shouldn't have too much trouble learning Perl 6. Besides, how can you expect to just learn just one programming and language and end there? The nature of this profession is that you are constantly learning new things.

    Already knowing Perl 4/5, Scheme, C, shell, AppleScript, and C-64 BASIC "fairly well", I don't imagine I would have all that much trouble picking up Python, OCaml, Ruby, Emacs LISP, or Fortran 90, either. I might have some trouble with Intercal, Befunge, or Object COBOL, though. *chuckle* My point is that by gratuitously abandoning large swaths of Perl 5 syntax, Perl 6 would thereby abandon Perl users' existing Perl expertise. That makes it less attractive, not more, to Perl users who are already considering taking up another language.

    It seems to me that people don't like being abandoned -- or, more precisely, won't like hitting themselves on the forehead every once in a while and saying "D'oh! Can't do that in this new Perl!"

    Also, Perl is in need of some major changes ie the OO portion of it. I really like Perl, but the current OO implementation feels more like a hack than anything. Not near as elegant as say Python's OO feature.

    That's for sure. I've been taking a close look at Python the past week or two, and it seems to handle object-orientation (and libraries in general) rather more pleasantly than Perl 5 does. I've still got some reservations regarding its string and regexp operations, but I'm seriously considering doing my next few minor projects in Python.

    (Pythoneers: My chief reservations have to do with immutable strings; and with the greater number of hoops one must jump through to use a regexp, as compared with Perl's =~ operator. It also strikes me as weird that a deliberately "clean" language overloads the % operator to implement what everyone else calls sprintf(). Oh, and while I'm gritching, how about a lambda operator without the limitations?)

    I would really hate to see Python overtake Perl as the interpreted language of choice; therefore, I support any changes that need to be done.

    See, I don't really understand that sentiment. Why is the popularity of Python (or Ruby, or OCaml, or Emacs LISP) something to fear or "hate to see"? If the development of Perl goes a way I don't think is conducive to my use, then of course I'm going to find new tools. If you like Perl 6, by all means use it; I'm just saying that the weirder it is compared to Perl 5, the fewer folks will go along for the ride.

  • The reason that Larry is working on making Perl more like Python or Ruby is because many of his users are migrating to Python or Ruby.

    I still use Perl for one off scripts and general data munging, but that's basically because I never bothered to learn sh, awk, and sed. In my opinion Perl is the best glue language ever. However, for anything more substantial than this I use Python, and from what I have seen that is becoming more and more the case.

    Perl has a tremendous head start as a scripting language, but Larry's target audience now wants more from their scripting language than lightning fast text manipulation. Entire applications are being written in scripting languages these days, and Perl simply doesn't have the tools to make this sort of thing easy to do.

  • The web is one area where Perl actually stands out as an excellent choice for a development language. Perl has an excellent set of modules for dealing with web content, XML, and Databases, when combined with mod_perl it performs very well, and web development is all about shuffling text. Perl is a well respected web development language, and for good reason, Perl simply works.

    However, Perl's rivals (particularly Python) is also no slouch when it comes to web development, and IMHO it is much more useful for developing non-web applications like GUI front ends. It sounds to me like Larry Wall is hard at work making Perl more like Python because he realizes that this is the case. If he can pull it off then that is a win for Perl Monks everywhere. If not, Perl still rocks.

  • What is this "perl"? I looked all over Microsoft's website and I couldn't find where to download it. Must only be available to beta testers.
    I've always said that the Microsof website is... uh, labyrinthine. Too hard to find anything interesting from there...

    Anyway, "MS-endorsed" version of Perl can be found from ActiveState [activestate.com]. MS has been known to distribute that version with IIS. I've heard.

  • not you. what if that code had a system 'rm -rf /' in it, or in your case 'deltree c:\'?
    ------------
    a funny comment: 1 karma
    an insightful comment: 1 karma
    a good old-fashioned flame: priceless
  • bullshit.pl: SYNTAX OK
    ------------
    a funny comment: 1 karma
    an insightful comment: 1 karma
    a good old-fashioned flame: priceless
  • by VAXGeek ( 3443 )
    In A.D. 2001
    Perl Conference was beginning

    Outside: An explosion occurs.

    In conference:
    Larry Wall: "What happen ?"
    Heidi Wall: "Somebody set up us 55 second time limit."

    Close-Up of Audience
    Operator: "We get new perl version."
    p5p: "What !"

    On Stage
    Larry Wall: "Slide show screen turn on."
    (Boring lecture appears)
    Larry: "It's perl 6 !!"

    Close up of Perl 6 internals
    Perl6: "How are you gentlemen !!"
    Perl6: "All your backwards compatibilty are belong to us."
    Perl6: "You are on the way to rewriting perl modules."

    Close up of Larry & Perl6
    Captain: "What you say !!"
    Perl6: "You have no chance to survive make your ports."

    Screen:
    Perl6: "Ha ha ha ha ...."

    Close up of Forlorn Larry
    Heidi: "Daddy !!"

    Stage (slides on monitor)
    Larry: "Take off every 'patch pumpkin'!!"

    Shows perl code
    Larry: "I know what I doing."

    Shows a p5p member beginning to code
    Larry: "Move 'modules out of core'."

    Perl6 source on monitors, Conference Explodes
    Captain: "For great Laziness, Impatience, Hubris."

    ------------
    a funny comment: 1 karma
    an insightful comment: 1 karma
    a good old-fashioned flame: priceless
  • by VAXGeek ( 3443 ) on Thursday July 26, 2001 @01:41PM (#2190790) Homepage
    Perl is actually a very logical language to use to teach beginners. Start out gradual, like:

    $a = "hello world\n";
    print "$a";

    From there, even the casual beginner can progress to (code excerpt taken from slashcode):

    ($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;map{$p{$_}=~/^[P.]/&&
    close$_}%p;wait until$?;map{/^r/&&}%p;$_=$d[$q];sleep rand(2)if/\S/;print

    As you can see, the syntax is non-threatning even to the most novice of programmers and is very intuitive.

    w00t w00t i g0t r00t w00t w00t w00t

    5 more seconds to go

    w00t w00t w00t w00t w00t w00t w00t w00t


    ------------
    a funny comment: 1 karma
    an insightful comment: 1 karma
    a good old-fashioned flame: priceless
  • ActiveState [activestate.com] takes care of the Windows side of the pond.
    --
  • The synopsis says:
    There will be set operations on characters classes: for instance, you'll be able to specify a match of all letters without the vowels. Actually, this will probably be in Perl 5 as well. There was also time to tell us that he'd like the /x modifier to be on by default.

    I'd like to see such operators applied to regexps as a whole, not just character classes. We already have the | operator - the regular expression a|b matches anything that a matches _or_ anything that b matches.

    But how about a\-b for something which fits a but not b? I've often wished for that when writing a complex regexp, it would make life so much simpler. Also a\&b for something matched by both a _and_ b would be very handy.

    I think you may already be able to do some of this stuff with Perl's zero-width lookahead assertions, but it's a bit messy and not particularly obvious.

  • Amen to that. I'm grappling with 30,000 lines of perl code now.

    The thing with Perl is, it's a wonderful language when you're writing the code, and a royal pain in the arse 6 months later when you have to debug it.
  • The thing with Perl is, it's a wonderful language when you're writing the code, and a royal pain in the arse 6 months later when you have to debug it.

    Not perl's problem. Ever try to debug C code using triple indirection? I left a few thousand lines of perl code running a system that are as perfectly readable to anyone with a grasp of OOP and structured programming as with any other language. No games with the namespace, no typeglobs, no cute shortcuts, no gee-wiz stuff like closures or dynamic scope. And oodles of API documentation.

    A language that doesn't let you hang yourself is like a car that doesn't go fast enough to crash.
    --
  • The President of the US gives an annual speech called the State of the Union address, so Larry Wall gives a State of the Onion address.
  • The Onion is about as much a dot com as the New York Times. They've had a meat-space paper a lot longer than they've had a web site.

    --
    I hope we shall crush in its birth the aristocracy of our monied corporations ...
  • Maybe you should find a job where you feel that acquiring the skills of trade isn't just a waste of time - because it definitely sounds like you don't love what you do right now. If you think that an interviewer's ignorance of a particular tool is sufficient to justify your inexperience with it, and that the tools of the trade are a "necessary evil" so that you can pull down a big salary, you're exactly what's wrong with the industry today.

    I'll admit that I don't know Ruby either, but I have better reasons for that:

    • I haven't had time in my ongoing process of self-education to pick it up yet, and
    • (possibly due to my lack of knowledge of the language) I haven't found a problem that I had to have Ruby to solve.

    I can't understand someone who doesn't want to know everything about the work they do. Even if there was no attraction to learning new concepts, broadening your horizons, and just generally being the best at what you do, you could at least play off your new-found knowledge to make yourself seem more hacker-like than you currently seem to be. I'm pretty sure having one more language on the resume never hurt anyone, even if it didn't help.

    Remember: it's a "Microsoft virus", not an "email virus",

  • by The Cunctator ( 15267 ) on Thursday July 26, 2001 @04:04PM (#2190798) Homepage
    No, you're not alone. It's certainly a bold stroke--resembles the Apple migration to OS X. I'm hesitant, but I am pretty trustful of Larry Wall and I'm not too tied to syntax to have my brain collapse at such a drastic change. Change is necessary--and if done with intelligence, even drastic change can be good.

    But with this one, definitely only time will tell.

    --

  • I'm sure its a concession to ubiquitous convention in other languages. C/C++, Javascript, Java, Python, Ruby, Visual BASIC and quite a few other languages support "." as a structure/object member selection operator.

    I'm not saying it's a great move, but I can understand the motivation. I find -> to be cluttering myself.

    BTW, using - or > would play havoc with arithmetic and comparisons, surely...

  • Well, arithmetic is pretty important if you're trying to solve that RSA key challenge [rsasecurity.com] and you want to win the $200,000!

    'Course, I'm not sure Perl would be the best tool for the job...

  • I think a change like -> to . makes sense. The incompatibilities it creates are very unfortunate, but it's such a common operator that it may be worth it in terms of readability (oh wait, can't use that word in a sentence about Perl).

    Stuff like using the keyword "given" for switch statements just seems like nothing more than capricious perversity. Which may be a pretty good description of Larry Wall's character, so I guess Perl programmers will just have to live with it!

  • by Scutter ( 18425 ) on Thursday July 26, 2001 @01:43PM (#2190802) Journal
    What is this "perl"? I looked all over Microsoft's website and I couldn't find where to download it. Must only be available to beta testers.

    *duck*
  • Since I have hacked perl since 1991, I am very surprised to be saying this. I love perl, but for a long time, I have wanted a cleaner, shinier perl. Python has always struck me as a cleaner, shinier something, but not a replacement for perl. There are other languages that might also live in this role, but I couldn't really commit to Haskell, and O'Caml doesn't really fit all of my uses either (alas).

    Now, when I heard about the Perl6 effort, I had hopes for the very best, and a year ago at this time I was downright optimistic. But it now looks like it will realistically be another year before anything real is on the table. So, while I really do like Perl5, I now have more than a vague dissatisfaction with the aspects of perl that I thought were going to change (for the better) by now. Laziness and Hubris are important principles of programming, but Restlessness is a surprisingly important motivating force for programmers. I will confess that I have grown somewhat restless.

    In the mean time, I blundered into Thomas and Hunt's Programming Ruby, and found, to my surprise, about 95% of what I wanted from Perl6. (There was recently a Slashdot thread about Ruby, but it was worse than useless, unfortunately.) I personally believe that the benefits of OOP are vastly over-rated, so the claim that Ruby is "really OO" doesn't impress me very much. What does impress me is the general cleanliness of the design, the potential for terse code, the very impressive dynamic capabilities of the language, and the willingness to steal blatantly from Perl (or any other language) when the advantage was clear. Ruby seems to be a language that thrives on the fact that lifting a good solution is much, much better than re-inventing a (possibly bad) one. But the real key, of course, is that Ruby really does provide More than One Way to Do It. (Although people may talk about the "Ruby Way", I'm not sure I see anything like a uniform style in Ruby snippets I have seen.) At this moment in time, it may well be the most Pragmatic language of all, albeit not the most practical. If Ruby were to become noticably more practical (e.g., having a larger set of libraries and more (English) Documentation), I'm not confident that Perl would continue to be ascendent in many of its niches.

    I can't believe I said that; if I'm lucky, maybe only the "right" people will read it. :-)


  • I'm a reasonable person, though, and I gave Python a look. I don't doubt that its a great language, but I wouldn't want to use a language that relies on code formating for actual program structure.



    So, in other words, you didn't actually try and write or alter anything written in Python, but just went 'ooh, yuk, you have to indent code'?
    Amazingly enough, relying on code formatting
    for actual program structure is one of the real
    strong points of Python - it both reduces clutter, and ensures readability.


    That said, Perl is an amusing language as well, it's just neither readable nor maintainable, so using it for large projects involving more than one coder is an absolute nightmare.

  • From the MSDN article "Perl of Wisdom":

    What Does Microsoft Think of Perl?

    I can't talk for all of Microsoft, but certainly the script technologies group and a bunch of people in the Windows and BackOffice group think it's a fine language and certainly deserves a place in Windows Scripting.


    The MSDN article [microsoft.com]
  • I don't know the extent of the changes, but does anyone know if it would be possible to write a perl script that rewrote scripts for perl6 compatibility?

    Not only will it be possible to write such a script, it will be part of the distribution of perl6, just as a2p and s2p are part of the current distribution. The suggestions on perl6 are listed at dev.perl.org, and any suggestion where it is approriate has a 'migration' section, on what the perl6 converter should do.

    Also, and this is not yet 100% decided on, it may be that perl6 will automatically detect if it needs to run the converter, so you can continue writing perl5 code, and not worry about which version it will be running under, though of course this means you won't be able to take advantage of any of the new features.

  • Kernigan & Pike, The Practice of Programming (Addison-Wesley Professional Computing Series) [amazon.com], do a compare. Kernigan's academic paper on it is here [bell-labs.com]
  • by Malcontent ( 40834 ) on Thursday July 26, 2001 @09:18PM (#2190808)
    Yea thay said the same thing about Java.
    If an MS employee hasn't lied to ten people by lunch he will be fired.
  • Unmatched right square bracket at bullshit.pl line 2, at end of line
    syntax error at bullshit.pl line 2, near "6]"
    Unmatched right curly bracket at bullshit.pl line 2, at end of line
    syntax error at bullshit.pl line 2, near "$_}"
    bullshit.pl had compilation errors.

    (Of course, simply *reading* it would tell you that it's wrong - but since you believe Perl to be unreadable, you wouldn't expect others to do that)
  • by SirSlud ( 67381 )
    Just my input:

    I'm a c/c++ developer. CORBA, in a MySQL environment. Some XML .. you know, the fun stuff. I've done some stuff in perl (I could hack my way through it), but the only fun I can extract from it is how the hell is it going to interpret what I'm coding?

    So I say, if Larry is going to formalize Perl more, bring it on .. it's definately useful, but I'd say more for the here-and-there patch of glue rather than high load cgis. As a c++ developer, the more unambiguous he can make the language, the better. :) All I know is the main way people brag about their perl skills is through regex's and general text processing craziness.
  • ...it looks like Perl.com is /.'ed already. What a shame. I usually expect better or O'Reilly.

    Come now! If the site handles the load then it is taken for granted. If the site is overwhelmed by a story on Slashdot then they get bragging rights. I wouldn't be surprised if admins were running nice -20 kfract or similar just to make sure they get the prestigeous slashdot effect! :-)

  • It's using the Ruling Ring module. See perldoc Net::RulingRing for more details.
  • From what I understand, perl 5 will still be available for use the same way perl 4 is. If you don't want to use perl 6, then don't. Your CGI's will still work great.

    "I may not have morals, but I have standards."
  • I don't know the extent of the changes, but does anyone know if it would be possible to write a perl script that rewrote scripts for perl6 compatibility?

    Now, would you write such a converter in perl5 or 6? Or in Ruby? I can almost smell the irony...

    ----
  • Why not just override the - or > operators?
    They're used a lot less than .
  • there is no SOAP module being written for perl 4 that I am aware of
  • my comparisons are almost all != and how important is arithmatic compared to concatenation?
  • Perl being perl, there is room for another explanation as well.

    If you buy unprepared food from a grocery store instead of a restaurant, and if you go past all the freezers full of microwavable preparations, then you'll find a "produce section".

    In said section, if you look carefully, you'll find "Pearl Onions"

  • When I read this, the footer on the page was:

    Of course, this being Perl, we could always take both approaches. :-) -- Larry Wall in

    --
  • by DarkHelmet ( 120004 ) <mark&seventhcycle,net> on Thursday July 26, 2001 @02:12PM (#2190821) Homepage
    After sifting through the overcommented, underhabitated (at least for intellegent life) areas of Slashdot, Luke and CmdrKnbi sped away from contents.pl, across the surface of the search.pl riding Larry Wall's traslation routines. CmdrKnbi had Luke stop at the edge of the code block, overlooking the vast query ?topic=perl.

    "The Perl comments section," said CmdrKnbi. "You will never find a more wretched hive of trolls and Python aficionados. We must be cautious."

  • Well personally I don't think the Onion [theonion.com] is any of his damn concern. He should spend more time worrying about Perl.
  • I agree to some extent, but perl's OO features are weird and frightening to me, and I know a whole lot of languages. Something needs to be done there for sure, there is no excuse for it. Ruby and python are about opposites when it comes to how they deal with OO (power vs. simplicity) so when perl changes its OO features to something mroe practical it will invitably take one of those roads and take more from one of those languages then the other. Its not going to be something completely new, they tried that already, and it sucks.
  • I don't think that anyone is trying to change Perl into Python or Ruby, and I don't think that they're trying to water down any of its current abilities. It sounds to me as though the biggest thing that they're trying to do is to simplify the internals by turning stuff that's currently builtin into modules. One potential big advantage of that is, as Larry Wall points out, that it makes it possible for pragmas to warp the syntax more thoroughly. They could then design a perl6 pragma that would warp the syntax back to the perl5 form, for instance, to make backwards compatibility easier. If somebody really wanted to, they could even make a module that made Perl use more Python-like syntax. It's still about expanding what Perl can do, not about forcing people to do things a particular way; IOW making Perl more Perllike, not less.

    Karma below 50 again. Thanks Karma Kap.

  • by geekoid ( 135745 ) <dadinportlandNO@SPAMyahoo.com> on Thursday July 26, 2001 @01:43PM (#2190825) Homepage Journal
    .. are good in my Martini.
  • I think your cut/paste had some problems there. What I got looked like this:

    $p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;map{$p{$_}=~/^[P.]/&amp ;&
    close$_}%p;wait until$?;map{/^r/&&}%p;$_=$d[$q];sleep rand(2)if/\S/;print

    Which version of slash was this in, and which file?
  • Is the change from -> to . a big deal? Write a perl script to replace -> with ., and . with ~. Problem solved.
  • Man, This /. title really scared me.

    I thougt another .com [theonion.com] was going under



    ---Lane [westlund.net]
  • although why Larry won't just accept '+' for string concatenation I cannot understand.
    Confuses string-to-number casting. It's easy to see that { "42" . "21 dollars" -> "4221 dollars" } and { "42" + "21 dollars" -> 63 }. There are no such assurances if '+' is used for string concantenation.

    Interestingly, Ruby used to have this auto-magical string-to-number casting, but matz took it out some time ago, as it hides too many type errors. Use "String.to_i" if you need it.

    I'm not sold on the rest of the syntax changes. Cleaning up ${everythingimaginable}; yeah, wonderful, but the new command syntax.... '~' for string concat?? Look where the key for '~' is -- horrid idea. We already have CTRL in a stupid place; why does Larry want to exerbate this bad keyboard layout??

  • by isomeme ( 177414 ) <cdberry@gmail.com> on Thursday July 26, 2001 @03:52PM (#2190830) Journal
    Having read this summary and both Apocalypses, and as a long-time and ardent Perl user, I must say I'm profoundly uneasy about where Larry is taking Perl 6. Many, many of the proposed changes (for example, the -> ~ . operator modifications mentioned in the article) will both break virtually all existing Perl code, and require fairly fundamental relearning by Perl coders. And yes, I know there's a planned kludge to use syntax to grandfather in P5 modules, but it's ugly and doesn't cover main programs).

    My question is, why? Why mess with so much of Perl? Why break backwards-compatibility across the board? If Larry wants to create a new language, he should go for it, and I'd probably be eager to try it out. But with Perl 6, he seems to be creating a new language and calling it Perl, which strikes me as the worst possible path.

    Am I alone in feeling this way?

    --

  • Well put. This guy's lame excuse for his self imposed ignorance is shameful. He doesn't realize how much time and effort he's wasting by using Perl, and the time it takes to learn Python is trivial compared to the time and effort he would save by using Python instead of Perl. He's just locked himself into a dead-end job. I pity him having to dig his own grave in 6 feet of ugly Perl code.

    -Don

  • Uuuuh, people... Really: The goal Larry Wall is aspiring to (but will never come close to hitting, since Perl syntax is far too complex for it to work), was satisfied by Lisp many years ago. It's called "macros". And I'm not refering to lame assed anemic string based macro languages like the C preprocessor or even C++ templates. I mean real Lisp macros, that use the full power of the programming language to easily manipulate the syntax of the code, and seamlessly redefine and extend the programming language itself.

    Larry Wall needs to forget everything he knows, go back to CS101, and study Structure and Interpretation of Computer Programs (Abelson, Sussman and Sussman).

    -Don

  • Oh, come on. Stop bitching about being forced to indent your code so it's readable, and give it a fucking try. There is absolutely no valid reason to object to that. All you can proffer is a lame joke reason, that you want to scare off newbies. Ha fucking ha. How much time do you spend reading other people's code? Personally, I spend a LOT of time doing that, and it's extremely important to me that it be readable. That's why I'd never consider using Perl (although I have in the past, and I regreted it, so I'm not just talking out of my ass like you are), and that's why I appreciate so many things about Python. Python code is extremely clear and easy to read, understand, write and maintain, so I can simply get a whole lot more work done with Python, than you can with Perl.

    -Don

  • by poot_rootbeer ( 188613 ) on Thursday July 26, 2001 @01:48PM (#2190834)
    ... are good in my Martini.

    Then it's not a martini anymore! It's a Gibson [grc.com].

  • While I agree that the perl OO could use some changes, I'm not sure why we're seeing some major changes to the language syntax. Maybe I'm just missing something, but some of these syntax changes don't seem to be extending the language. Sure, they might make a particular operation easier to write, but what operation in perl takes more than a line or two anyway?

  • Yeah, the gnu libraries are slow. But check out the oroinc [oroinc.com] stuff - I think it's being maintained by the Apache/Jakarta guys now. It lets you use very Perl-like syntax for regexps in Java.
  • by grammar nazi ( 197303 ) on Thursday July 26, 2001 @01:37PM (#2190837) Journal
    Just as long as nobody needs to throw mugs up against the wall during their speeches!

    Regular expressions are very powerful. I'm glad to see that Larry is making good decisions regarding these.

    It's funny. It seems that everybody wants Perl to be more like Ruby or more like Python. Don't they realize that they can just use Ruby or Python? I have professional experience with all three of these languages and I can say that they all provide benefits, leading to a situation where it comes down to the right tool for the right job. I'm afraid that Larry is attempting to turn Perl into something that it isn't. a Jack-of-all-trades-yet-master-of-none which isn't good.

  • OK, I'm partially worried as well as partially excited. From what I've read of the Apocalypse series, Perl 6 is changing "old school" Perl ALOT. It's like a whole new programming language. Needless to say, many of these additions ($array[0] to @array[0] notation, here documents that defy whitespace, etc) I've been waiting for a long time ;P

    But the changes introduce a practically brand new programming language. I haven't decided quite yet if it will be fun or annoying "relearning" the new syntaxes and quirks of Perl 6.

    Magius_AR

  • except for the minor detail that perl is also available under the artistic license, which is amazingly much like the BSD license.

    RTFL :) It's dual licensed.

    $ perl -v

    This is perl, version 5.005_03 built for i386-freebsd

    Copyright 1987-1999, Larry Wall

    Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit.


    --
  • Ooooh, bugger, you're right. I should obviously wait until after my eyes have opened in the morning before posting. Apologies for being a dickhead.
    --
  • by FatOldGoth ( 207461 ) on Thursday July 26, 2001 @02:19PM (#2190841) Homepage

    What is this "perl"? I looked all over Microsoft's website and I couldn't find where to download it. Must only be available to beta testers.

    At the risk of ruining a good joke, Microsoft do distribute Perl, or at least they used to. It's on the NT 4 resource kit. Dunno about the Win2K one, though - I haven't managed to summon the enthusiasm to look.

    I assume they'll leave it off the XP resource kit, though, in case it infects the rest of the software on the CD with that pernicious GPL virus.


    --
  • by Rosco P. Coltrane ( 209368 ) on Thursday July 26, 2001 @01:47PM (#2190842)
    It's the first time I've heard "onion" and "apocalypse [min.net]" in documentents pertaining to the development of a computer programming language. I wonder what the next funny word will be : maybe Larry could use dictionary.com's word of the day [dictionary.com] for help :-)
  • I am continually dismayed.

    your keyboard is there to service your programming language, not the other way around. you're obviously not an APL programmers.

    where have all the real programmers gone?

    or even the ones who know my favourite programming language... [forth.org]

    object-oriented, bah.

  • by 3-State Bit ( 225583 ) on Thursday July 26, 2001 @02:27PM (#2190844)
    However, Larry encouraged everyone to do their part; newbie friendliness is one thing, but it's important to hold yourself to higher standards than those to which you hold yourself.

    Oh, ok. I'm glad they cleared that up. I for one am certainly going to start holding myself to such standards now much more than I'm expecting I will.

    --
  • If only all OSS projects were this well run. Too bad. I was going to comment in more detail on one element of the synopsis (quoting it here) but it looks like Perl.com is /.'ed already. What a shame. I usually expect better or O'Reilly.

    --CTH
  • Then use Perl5. It is very good. If you don't want to write programs in perl6 then don't.
    Please note that perl5 is also being developped separately. And if you really know perl5, perl6 won't be very different. Even in perl5, if you want to use some modules like DBI, SOAP, etc. you need to learn how to use them. How is it different.
  • So why is this called the "State of the Onion"? It obviously isn't a typo; it's in the article as well.

    (Unfortunately, the article doesn't seem to be loading now, or else I'd answer my own question.)

  • I always had the impression that Perl wants to be a Jack-of-all-trades-yet-master-of-none. Therefore, I don't worry about having new features thrown in a seemingly random way. I am much more worried about the changes in syntax. I had problem in recovering from using bare @ in email addresses... let's hope for the better! ciao, .mau.
  • Perl 6 has an fantastically cool Perl5 mode; both Perl 5 and 6 (and any other languages you feed it) will be compiled down to the say intermediate bytecode. (Approximately... surely someone here is better informed about how this works?) I still don't begin to understand how the compiler can be so lightning fast compared to, say, Java. Incidentally I'd love to see some performance comparisons between Perl and Java - anyone know of any? URLs?

    thanks...
    --

  • Many, many of the proposed changes (for example, the -> ~ . operator modifications mentioned in the article) will both break virtually all existing Perl code, and require fairly fundamental relearning by Perl coders.

    No, no, no! Perl 6 has a Perl5 compatability mode. It'll run Perl 5 code without any problems, transparently. This just isn't an issue.
    --

  • Wow. If you view learning new programming languages as a necessary evil, I think you might be in the wrong line of work. For many of us it is a hobby. And I think the best commericial code is the code written by the programmer who would be writing code even if he/she wasn't at work.

    ___
  • See, I don't really understand that sentiment. Why is the popularity of Python (or Ruby, or OCaml, or Emacs LISP) something to fear or "hate to see"? If the development of Perl goes a way I don't think is conducive to my use, then of course I'm going to find new tools. If you like Perl 6, by all means use it; I'm just saying that the weirder it is compared to Perl 5, the fewer folks will go along for the ride.

    I'm going to take a stab at answering that. The reason that Python's popularity is something Perl fans (including myself) would "hate to see" is because after you write code in a language, watch a language grow, meet others who also love the same language, you grow fond of it! Why do you think there are a bunch of geeks running around with perl obfuscations printed on tshirts? Because the perl community is just that - a community. And seeing a competing technology, such as python, start to move in on Perl's territory causes a knee-jerk negative reaction.

    I'm a reasonable person, though, and I gave Python a look. I don't doubt that its a great language, but I wouldn't want to use a language that relies on code formating for actual program structure. C'mon, guido, how are people supposed to make bizare obfuscations to scare newbies?!!

    And, furthermore, I'm looking forward to some of perl6's changes. It'll take some getting used to, I'll still learn it. The problem is, there are thousands of perl scripts with that start with #!/usr/bin/perl and unless they are all going to get re-written perl6 is going to have to be installed as #!/usr/bin/perl6 or something like that to avoid confusion.

    I don't know the extent of the changes, but does anyone know if it would be possible to write a perl script that rewrote scripts for perl6 compatibility?

    ___
  • I am not a long-time Perlie, but I've been working for a couple of years on a very large scale Perl system, and I have to say that I'm looking forward to Perl 6 like I have never awaited a new version of a language. I love the syntax changes for the most part, although why Larry won't just accept '+' for string concatenation I cannot understand.

    Building more OO features into the language is a great move, especially with the emphasis on return values. It's also worth noting that while Perl is improving it's OO support, it is not enforcing a specific OO model, as languages like Java do; for instance, Perl allows multiple inheritance but Larry mentioned the availability of abstract interface classes. To those worried about Perl becoming Python or Ruby -- this is added flexibility, not forced migration.

    And threads! beautiful threads! need I say more? (well, yes -- Perl 5 threads are notoriously unstable, and very little attention has been paid historically to making modules thread safe).

  • Maybe Perl6 will only be like Perl5 in the same way that Wirth's Modula3 language is like Modula2 - or Algol68 is like Algol ...
  • Surely you can write code that is just (almost..) as ugly and unmaintainable in Python as you can in Perl, just as you can in C, or almost any other language.
    You can write highly readable and structured assembler, for that matter.

    It all depends on whether you are writing code to be read and maintained by others, or code with which you yourself will have a problem with the next week.

    If the code you're referring to is unintelligible, and it's not supposed to be, then it's badly written, whatever language it's in.

    But it makes little sense to condemn a programming language because there are a lot of unskilled/inexperienced coders out there!

  • ..... when you're programming in Perl and the onion starts to make you cry????

    Yea... I hate that.....

  • What fool modded this as 'Redundant'? It's funny!
  • I agree. I mean, if I really want to do the serious, low-level heavy lifting, I've got C/C++.

    In fact, it is Perl's simplicity that turned me onto it years ago. It's why most of my web-based reporting, in fact most of my web-based anything is done in Perl.

    I mean, I can't imagine what's going to happen with repositories such as CPAN when 6 comes out. I know I'll be screwed.

  • by jdavidb ( 449077 ) on Thursday July 26, 2001 @01:41PM (#2190859) Homepage Journal

    There is also an MP3 [frii.com] of the talk available from Nat Torkington, Perl 6 project leader and organizer of the Open Source Conference.

  • Really? I know there were some libraries available from gnu.org, but I've heard they arent that good. I also know that JDK 1.4 has a Regex package, but that's in beta and I dont feel like taking the time to learn the api because I dont need it (yet).
  • by jeffy124 ( 453342 ) on Thursday July 26, 2001 @01:37PM (#2190861) Homepage Journal
    Is Perl 6 going to support the notion of compiling Perl code into Java Bytecodes for compatibility with Java that will allow Java programs to take advantage of string processing provided by perl?
  • It's Heidi! [perl.com] Where's Shoeboy?

  • Hopefully it'll get put in /usr/bin/perl6, so at least you don't have to worry about backwards combatibility. He really should have called it 'parl' though, so as not to confuse newbies.

    - - -

  • There are already class libraries with exactly the same capabilites as Perl's regexp string processing ( even syntax compatible with Perl)
  • If you already know Perl fairly well, you shouldn't have too much trouble learning Perl 6. Besides, how can you expect to just learn just one programming and language and end there? The nature of this profession is that you are constantly learning new things. Also, Perl is in need of some major changes ie the OO portion of it. I really like Perl, but the current OO implementation feels more like a hack than anything. Not near as elegant as say Python's OO feature. I would really hate to see Python overtake Perl as the interpreted language of choice; therefore, I support any changes that need to be done.
  • Perl gets its roots from trying to be a Jack-of-all-trades... Think of existing perl as grep, awk, bash scripting, etc... all rolled into one package with terrible OO functionality.

    Billy using hashes of hashes is easier than trying to create an object in perl.

    All that's happening now with Perl6 is that new tools need to be assimilated, which is to say that perl needs to get a better way to handle objects. If some improvement occurs with the old data types all the better. Also plan to see some of the tried-and-true modules to assimilated into the heat of Perl as well.

  • Look here [wall.org], and remember: search engines kick ass.
    --
  • let me explain this to you... (I speak for many) I refuse to learn Ruby or Python because no one will ever ask me about it in a job interview. Acquiring I.T. skills isn't a hobby for most of us, it's a necessary evil. How many languages do we need anyway? "hey baby, i wrote a love poem to you... in Ruby!". It's sad, really.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...