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

 



Forgot your password?
typodupeerror
×
Perl Books Media Programming Book Reviews IT Technology

Perl 6 Essentials 172

JayBonci writes "It may come as a surprise that within the pages of 'Perl 6 Essentials' lies what could be two books, despite its length. If not for lack of cover space, it could easily bear the names "Perl6 for Perl5 programmers" and "Parrot in a Nutshell". Both topics are concise and clearly covered, despite their relatively different audience." Read on for the rest of Jay's review.
Perl 6 Essentials
author Allison Randal, Dan Sugalski, and Leopold Totsch
pages 208
publisher O'Reilly
rating 9
reviewer Jay Bonci
ISBN 0596004990
summary A solid look ahead at Perl 6, and a reference for Parrot developers

Make no mistake, Perl 6 isn't here yet, but it's coming. The book starts with a good explanation of "the plan"; chapters 1-3 deal with the history, goals, and design considerations of the project. It's a good conceptual overview of the process about how it has been run so far, and how it seems to be continuing. Chapter 3 is of special interest, as it showcases some of the in-depth thought that has been poured into the project. Though we all aren't language theorists, it helps allay some of the fears that change brings while being completely fascinating reading.

This first part of the book isn't very useful without a fairly solid Perl 5 background. It wastes no time in chapter 4 discussing syntactical differences in the v5 to v6 transition. Programmers should be pleased with the practicality of the approach to the new language, as it refers to the new structures and features, and how they solve simple workarounds that Perl veterans are used to in Perl 5. Currying, multimethods, class definitions and structures, new operator syntax, and the dynamics of the new regular expression engine (now called rules) are all touched on, and their values made obvious to the reader.

The last three chapters are for those interested in Parrot development and those who wish to port languages to Parrot. (There are active projects to port Python, Ruby, and even .NET to Parrot.) The section has a slight perl slant to it, but is really about the interpreter and compiling / running Parrot code. It is a fairly complete reference to the different parts of PASM (Parrot Assembly Language), and its role in porting languages to use Parrot. A comfort with assembly language basics is assumed in these sections, as the syntax and concepts of registers and machine code are made easier with general assembler familiarity. This part was somewhat dry for me, as it reads more like a reference than anything else, but it covers the topic fully without droning or leaving anything out. Examples are abundant and range from the simple, to the integrated, and are enough to get people started programming and writing tests with Parrot bytecode.

It should be noted that this book is valid and accurate now, but any development project can make changes quickly. There are places where the authors have admitted that a feature isn't in stone, and is possible to change. According to chromatic, an editor for O'Reilly, the plan is to update the book once a year until Perl 6 is released. Until then, a great place to keep up to date for the casual observer is at the p6p digest. This book goes down a lot easier than the Apocalypses, RFCs, and Exegeses, and I'd heavily suggest it to anyone who is serious about being ready for 6 or joining in on development . I preordered it from Amazon when I saw it was coming out, and am quite happy with my investment.

Table of Contents
  1. Project Overview
    • The Birth of Perl 6
    • In the Beginning . . .
    • The Continuing Mission
  2. Project Development
    • Language Development
    • Parrot Development
  3. Design Philosophy
    • Linguistic and Cognitive Considerations
    • Architectural Considerations
  4. Syntax
    • Variables
    • Operators
    • Control Structures
    • Subroutines
    • Classes and Objects
    • Grammars and Rules
  5. Parrot Internals
    • Core Design Principles
    • Parrot's Architecture
    • The Interpreter
    • I/O, Events, Signals, and Threads
    • Objects
    • Advanced Features
    • Conclusion
  6. Parrot Assembly Language
    • Getting Started
    • Basics
    • Working with PMCs
    • Flow Control
    • Stacks and Register Frames
    • Lexicals and Globals
    • Subroutines
    • Writing Tests
    • PASM Quick Reference
  7. The Intermediate Code Compiler
    • Getting Started
    • Basics
    • Flow Control
    • Subroutines
    • IMCC Command-Line Options
    • IMCC Quick Reference

You can purchase Perl 6 Essentials from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Perl 6 Essentials

Comments Filter:
  • slashbot book review (Score:2, Informative)

    by rkz ( 667993 )
    This one is a great addition to the book shelf, you all know how to do certain things in Perl 6 but this book clarifies nicely why you are actually doing it. Also, it introduces nice new perl concepts which hardcore perl 5 scripters might not have come across before.
  • cheaper (Score:2, Informative)

    by Anonymous Coward
  • by Anonymous Coward

    So that's what... like 100 pages of the string "Smoke crack" repeating?

    print "Smoke crack" x 1000000 .. hey, that was pretty easy.

  • Cheaper at Bookpool (Score:5, Informative)

    by bigdavex ( 155746 ) on Thursday July 24, 2003 @12:51PM (#6523819)
    It's $4.50 cheaper at bookpool [bookpool.com].

    They're also doing a free shipping deal.

  • by Equuleus42 ( 723 ) on Thursday July 24, 2003 @01:03PM (#6523947) Homepage
    Those of you unfamiliar with Perl history may find it interesting that the "Parrot" started out as an elaborate April Fool's day joke [oreilly.com] two years ago. Here [perl.com] is the book that was announced. Strangely enough, people found the idea useful and are now actively developing it!
    • by Anonymous Coward
      If you've been keeping track of the Parrot project's progress for the past 2+ years you'd see that they're going nowhere fast. No language implemented other than a toy Basic language, no thread support, no object support, no exception support, no stable standard calling convention, no code module support (like Java .jar files), a proliferation of stupid one-off opcodes that should be method calls - and worse of all - no working Perl support. As for Ponie/Perl5 on Parrot - I'll believe it when I see it - t
      • Tell you what - give me the $200,000 that they've been given and I will write the Perl6 interpreter for them.

        How will you write the interpreter for a language that is still being designed? This may be part of why Parrot is going nowhere...there is nowhere well-defined to go!

      • If you've been keeping track of the Parrot project's progress for the past 2+ years you'd see that they're going nowhere fast.
        Remember Mozilla? Started out slow as well. Rewrite(s). Gnashing of teeth. Strong words spoken. Resignations.

        But it's here, now. Arguably one of the most cross-platform, complex Open Source application. Just have a little faith with Perl 6. You might not like it, but many will, just like mozilla.

      • Is it not true that most Free Software projects
        start small and then pickup exponentially? Debian
        had less than 70 develpers for several years,
        today there might be 1000 developers. Or, how
        about testing the the 2.6 kernel? Most people
        do not test the kernel until the release date
        gets closer, at which point traffic and bugfixes
        also increase exponenttially.
  • by tmark ( 230091 ) on Thursday July 24, 2003 @01:07PM (#6523983)
    It may come as a surprise that within the pages of 'Perl 6 Essentials'lies what could be two books

    Not really, but what does NOT come as a surprise to me is that we have yet another glowing book review with a bn.com affiliate link. I've seen far too many glowing reviews on this site, about books that I know to suck donkey balls, to trust the reviews here anymore, especially knowing that readers are more likely to follow affiliate links when the review is positive than when it is not (And this from the same site where people so often rip stock analysts for writing glowing reviews of companies that garner their firms big i-banking fees). I wouldn't trust a movie review if I knew the reviewer was getting paid every time people went to saw the movie, and this is almost the same thing. Maybe Slashdot should put up a disclaimer...

    If I see a book whose title sounds remotely interesting reviewed here, the first thing I do is go directly to amazon, and check out their user reviews. At least there you'll potentially see a bunch of negative reviews, instead of a chapter summary and a "this belongs on every Perl/PHP/Mysql/Linux geek's bookshelf".
    • About positive reviews,

      (1) 90% of everything is crap, so why publish that many negative reviews? Publish the "wow, this was surprisingly helpful." Unless it's a hyped bestseller that failed to deliver the promised quality, don't publish the whining diatribes (see below). Infer that if you haven't seen a review, it's probably Sturgeon-bait.

      (2) This site allows replies with almost the same prominence as the original. If you think it doesn't live up to the review, then post your specific opinion to it

    • I am surprised, actually. I shouldn't be, I guess. I didn't notice that the links to the books were to affiliate programs! I'm sure I'm not the first, nor will I be the last.

      Write a glowing review, and post a link and watch the balance in your affiliate account grow! What's wrong with making some spare change on the side? Except, the original review is tainted - it can't be objective because the author has something to gain.

      Did you know that many retail stores make more income off the interest on th

  • Perl 6 Essentials is a sneak-preview of Perl 6, the widely-anticipated rewrite of the Perl programming language. Still in development, the Perl 6 project is a community-based effort to keep Perl vibrant well into the 21st century. This book covers the development not only of Perl 6 syntax but also Parrot, the language-independent interpreter developed as part of the Perl 6 design strategy. Although Perl remains a vibrant language with a fiercely loyal following, it has undergone many changes to keep up wit
  • Perl 6 release date? (Score:5, Interesting)

    by dpuu ( 553144 ) on Thursday July 24, 2003 @01:19PM (#6524118) Homepage
    According to chromatic, an editor for O'Reilly, the plan is to update the book once a year until Perl 6 is released

    So, how many editions should we expect?

    • My guess is two more, though the more people who contribute, the sooner Programming Perl 6 will be released.

      • by Anonymous Coward
        though the more people who contribute, the sooner Programming Perl 6 will be released.


        I think Fred Brooks might disagree with that statement.

      • by Kirby ( 19886 ) on Thursday July 24, 2003 @06:52PM (#6527653) Homepage
        I think I'd agree, given that the endpoint is probably not another edition of Perl 6 Essentials, but Programming Perl 4th Edition.

        Reasons I think this:
        * Parrot Progress. The Parrot team clearly believes Parrot will be in good shape by next summer, to the sum that they've wagered that Python will run faster on Parrot than it does under it's current implementation by next OSCon, or the Python team gets to hit them with cream pies. I'm willing to accept that level of confidence to imply that Parrot will be up to the task of being usable to develop things onto by next year, and quite polished by 2005.

        * Ponie (ie, Perl On New Interpreter Engine, ie perl5 on parrot): Someone (and my brain is fuzzy from being sick recently, sorry) is paying two competent developers to work half-time on Ponie for the next two years. Now, timeframes are often very hard to predict going into a project, but the goal is clear: Ponie for OSCon 2005.

        So, with those critical building blocks in place, and judging by the fact that most of the hard design work is done (and looks very nice), it's just a simple matter of programming. (That's a joke.) I don't expect Perl6 to beat Ponie out the gate, but there's so much potential synergy between the projects, I boldly predict Larry Wall announcing Perl6 available in a stable version for OSCon 2006.

        There's clearly a lot of speculation in this line of thought, and it's not like anyone really knows the answers. I like to think it's at least informed speculation, though. And I'd like nothing better than for it to be done sooner. I'd almost recommend people to _not_ check out this book - the design is so good, I've already come up with at least a dozen places in my code where I've wanted to use a perl6 feature that doesn't exist in perl5.

        There's lots of ways to help - coding, design, doc writing, testing - as well as the more indirect method of donations to The Perl Foundation. Which ends up helping some of the key developers (like Larry Wall) work on Perl and still pay his bills and keep his health up.

        We're attempting to convince our company to make a donation to the Perl Foundation, given how much we use it for our business. I heartily encourage similar efforts - $500 isn't much for a company, but it can add up quickly.
  • Ripoff (Score:2, Informative)

    by Anonymous Coward
    Of course, if you just go read the Apocalypses and Exegeses on perl.com [perl.com] and the FAQ on parrotcode.org [parrotcode.org], you get all of this for free.
    • Yes, but apparently it is dangerous to prop my PC and 19" monitor on my knees in the bath, and the salt water on the beach is bad for the bearings in my mouse. Personally, I'm willing to pay for a book-shaped "distro". If other people aren't, that's fine, but they won't learn anything about the life cycle of some endangered species in sub-saharan Africa, which is surely the main reason that people buy O Reilly books...
  • Back to the Future (Score:4, Interesting)

    by mbrod ( 19122 ) on Thursday July 24, 2003 @01:23PM (#6524160) Homepage Journal
    When I started using Perl 5 I figured it to be about 10 years ahead of its time. Being about 5 years since then I think I was pretty close to right.

    Development of it is taking a long time but it has been worth it.

    Some peoples minds don't seem to fit Perl 5 quite right and complain about it. Should have a lot more options of languages and style in P6.

    Its a blazingly fast byte code interpreter. Having this Open Source is a very powerful thing and something many projects will find useful.
    • Some peoples minds don't seem to fit Perl 5 quite right and complain about it. Should have a lot more options of languages and style in P6.

      Is that supposed to satisfy any complaints?
      • Is that supposed to satisfy any complaints?

        To clarify that: I believe it will be better style, more modern and more of what many other languages use.

        Obfuscating it up more wouldn't do anyone any good. Although it certainly looks like there will be a fair amount of obfuscation in P6 (it is Perl after all), Parrot is squeaky clean.
  • by josephgrossberg ( 67732 ) on Thursday July 24, 2003 @01:38PM (#6524313) Homepage Journal
    (FYI, I posted this on the thread for this book's announcement [slashdot.org].)

    Understanding O'Reilly titles can help you decide which blue book(s) to purchase. Just as they have conventions for the books' color (e.g. Perl blue, Java purple, security yellow), 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
    * "... Pocket Reference" is a shorter version of the above
  • by Junks Jerzey ( 54586 ) on Thursday July 24, 2003 @01:41PM (#6524343)
    This book isn't about Perl 6 at all, and there's nothing about it that's "essential." Part of the book is about the *plan* for Perl 6, but that's just plain silly. Who wants to read about the plan for some that's in the middle of development? Odds are that much of this part of the book will be completely invalidated long before Perl 6 is actually released.

    The rest of the book--most of the book, actually--is about the Parrot virtual machine. Now, really, does this matter to Perl programmers at all? Is there a book about the innards of the interpreter used for Perl 5? Or a book about Python bytecode? It only matters if you're going to write a compiler that targets Parrot. And, again, note that Parrot is also a work in progress and will likely change dramatically before Perl 6 is actually released.

    In short:
    1. This is a book about vaporware.
    2. Most of the book is not about Perl 6.3.
    3. Why did O'Reilly even bother with this?
  • by imnoteddy ( 568836 ) on Thursday July 24, 2003 @01:58PM (#6524538)
    Make no mistake, Perl 6 isn't here yet, but it's coming.

    Will it be released at the same time as HURD?

    • Will it be released at the same time as HURD?
      Yes, I've heard that some retailers will eventually start offering a software variety CD that has a copy of Perl 6, HURD, and Duke Nukem Forever on it! But, due to a strange contract mishap, each developer group is waiting for the other two to publish their software first, so it's just all waiting from here... But, that's just what I've heard.
  • Turn my world upside down [perl.org], hurt my brain [perl.org], then expect me to shell out .... Oh. Only 18 bucks [amazon.com]? Ok then. Never mind.
  • What's with all the anti-Perl flamebait? It's fine to prefer PHP or Python or whatever, but at least give Perl the credit that it's due. It's fast, really truly cross platform, widely distributed, open source, munges text like nothing else, was the first decent backend to websites, and has a bunch of useful design patterns built into the language [perl.com].

    And regular expressions, too! Like Perl, you may hate the syntax but but you've got to love the power. Ah yes, it's like one of those fire-breathing car-crushin

If it wasn't for Newton, we wouldn't have to eat bruised apples.

Working...