Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Perl Programming

First Perl 6 Book is Out 75

prostoalex writes "O'Reilly Publishing presented Perl 6 Essentials, the first book to be dedicated to Perl 6, at the beginning of this month. Looking at the table of contents, it hardly looks like a valid replacement for Llama or Camel books. Chapter 1 is available online. The whole book is available to Safari subscribers." I'm sure we'll review it sooner or later.
This discussion has been archived. No new comments can be posted.

First Perl 6 Book is Out

Comments Filter:
  • by Anonymous Coward on Friday June 27, 2003 @12:27PM (#6312684)
    PERL is dying, just like BSD. That is why no one is posting on this thread.
    • PERL is dying, just like BSD

      ..and Stephen King. That guy has died more than 500 times by now if my count of Slashdot posts is correct. I wonder if all the mainstream media places are keeping it under wraps because they don't want us to know he's an unstoppable super monster.

  • Ummmmmmmmmm DUH! (Score:2, Informative)

    by metalhed77 ( 250273 )
    Perl 6 aint even out yet. Of course its no camel yet. This is just for those people who HAVE to know what's going on in perl 6 dev.
    • Parrot (the Perl 6 VM) is a classic case of Second System Syndrome [thestandard.com].

      1. Develop VM before knowing what Perl 6 language will look like or what it requirements will be.
      2. Claim VM will support all interpreted languages known to man, yet the only language that runs on it is a crippled version of Basic. The other (non Perl) languages will require custom C code defeating the point of having a VM in the first place.
      3. Piss away $200K in grant money and have nothing to show for it 3 years later. Gee, why isn't an
  • by Anonymous Coward on Friday June 27, 2003 @12:45PM (#6312860)
    I've been using perl pretty much constantly since the Pink Camel, and believe me, Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal. Recently I've started using Ruby [ruby-lang.org] as well, and I intend to move my department over to it instead of wasting time with Perl 6.

    One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster [mozilla.org]. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language [rubycentral.com] (and not one with loads of irritating whitespace [python.org] thank you very much).

    The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.

    Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal [lysator.liu.se] does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.

    On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this [perl.com]. Does he want Perl 6 to be flex [gnu.org] or something?

    I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. To put it bluntly, Perl scripts will still look less beautiful than our friend Mr Goatse [goatse.cx]. I'd prefer to use a language [ruby-lang.org] which has always been pure synthesis of science and engineering, not some half-baked imposter [beonex.com].

    Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD ^H^H^H^H Perl is dying. Larry is buggering it up the ass without lubricants, just like Shoeboy is doing to Larry's daughter.

    • um, regex's aren't nfa's. nfa's can do, for example, make sure a string has the same number of opening ('s and )'s.

      so you'd have:

      String -> '(' String ')' | ...

      try doing that with a regex

      • regular expressions *are* [ND]FAs. Maybe you're thinking of Context Free grammer (FA + stack so you can do brace matching)?
      • So few words, so much ignorance...

        String -> '(' String ')' | ...

        try doing that with a regex

        Try doing that with an NFA, dumbass. An NFA cannot detect matching parentheses. A pushdown automaton can. This should be pretty obvious since your example is a grammar production of the context-free grammar style. PDAs are related to CFGs like NFAs/DFAs are related to regexes (though the relationship isn't as clean in the former case).

        Regexes aren't NFAs but regexes can be used to describe an

      • You can in fact do this with plain old Perl 5 regexes, as follows - to quote from Jeffrey Friedl's excellent Mastering Regular Expressions, 2nd Edition, p. 328-331:

        my $LevelN;
        $LevelN = qr/ \(( [^()] | (??{ $LevelN }) )* \) /x;

        This dynamic regex matches text within an arbitrarily-nested set of nested parentheses, by recursively 'calling' the compiled regex $LevelN from within itself - the left hand condition of the alternation is the exit condition. It works in Perl 5.6 or higher, maybe even earlier -

    • by vcv ( 526771 )
      >> Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal [lysator.liu.se] does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.

      The reason for this is because if you tell the interpreter what sort of data it is, it helps the interpre
    • by Anonymous Coward

      So in other words, you never liked Perl all that much in the first place. I honestly don't see what's wrong with variables that include $, %, and @. It's just a way of concisely throwing in some syntactic markers to allow you to have interesting and convenient syntax in other areas. Certainly other languages have similar things; for instance, C has an array dereference operator ("[" and "]"), and nobody complains about it, even though it really is basically the same concept. And then there's the "." oper

  • by jmd! ( 111669 ) <jmd@po[ ].com ['box' in gap]> on Friday June 27, 2003 @02:07PM (#6313663) Homepage

    Looking at the table of contents, it hardly looks like a valid replacement for Llama or Camel books.


    Wouldn't you instead need to see the cover to determine that?
  • by josephgrossberg ( 67732 ) on Friday June 27, 2003 @02:32PM (#6313874) Homepage Journal
    "it hardly looks like a valid replacement for Llama or Camel books"

    It's not supposed to be. Just as they have conventions for the books' color (e.g. Perl blue), O'Reilly and Associates has conventions for the titles.

    * "... Essentials" means an overview of what's new.
    * "Learning ..." is a discussion and tutorial on a topic, intended for beginners
    * "Programming ..." is the same, but for intermediate and advanced users
    * "... Cookbook" is a series of problems and their solutions
    * "... in a Nutshell" is like a language reference
    * "...: The Definitive Guide" is a combination of all four
    * "... Pocket Reference" is a shorter version of the above
  • I had a look at it and found that this book deals way too much with Perl 6 assembly (somewhat like the IL code from .NET) rather than concentrate on what's interesting: OOP and new syntax. Seriously, wo is going to use Perl to program bytecode assembly.
    • OOP hasn't been decided yet. That's the next Apocalypse the design team is considering. Just about everything known about Perl syntax is in chapter 4.

      There are also plenty of people who'll program Parrot or IMCC bytecodes. We're the people who are implementing Perl 6, Ruby, Python, Lua, BASIC, BF, Befunge, Scheme, Jako, Cola, Perl 5, and Perl 1 on Parrot.

      If you're expecting this to be a new verison of the Camel or the Llama, you'll be disappointed. It's not. It's aimed at early adopters, people who

  • Chapter 3... (Score:2, Informative)

    by sICE ( 92132 )
    is there [perl.com]...
  • Eh? (Score:1, Troll)

    by Daleks ( 226923 )
    The first Perl 6 book was out [amazon.com] in 2000.
  • It is nice to see a language designed by linguists rather than mathematicians or engineers. Typical Slashdotters will scoff, but suffice it to say that Shakespeare did not write in Scheme :)
  • From the abstract [oreilly.com] it is clear that this book is intended to describe the Perl 6 project including the reasons for rewriting the language, the desing philosophy, some of the roadblocks along the way, etc. It sounds like a real interesting read for those who are interested in the process of designing and implementing a full scale computer language, regardless of how you feel about the particular results.
  • Everyone knows Perl is just for poetry...

    http://www.perlmonks.org/index.pl?node=Perl%20Po et ry

  • by theolein ( 316044 )
    It seems that PHP is moving in the same general direction in that it is now usable as a commandline tool and is adding many unneeded features, but at least the syntax is cleaner.

In the long run, every program becomes rococco, and then rubble. -- Alan Perlis

Working...