Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

My suggestions for the book #2

Open
hoelzro opened this Issue · 2 comments

2 participants

@hoelzro

Alberto-

Thanks for going to the trouble of writing this book! I think a lot of people in the Perl community, both newbies and veterans, will find it remarkably useful.

I've gone over what you have so far, and I have a list of suggestions. Some of them are based on my opinion, so feel free to use whichever ones you want, since it's your book!

Introduction

  • You should mention beta.metacpan.org in the section with AnnoCPAN and such. It's a new way to search the CPAN.
  • cpanm uses the CPAN MetaDB to discover module information, not the MetaCPAN. (The meta prefix gets thrown around too much!)

OO

  • I feel like you should mention Moose first, as Moo and Mouse are modeled after it, and not the other way around.
  • I think that instead of mentioning how Mouse and Moose include a meta model, Moo lacks one.
  • You should probably mention the MooseX:: and MouseX:: namespaces that contain Moose and Mouse extensions, respectively. Maybe you should also cover some of the more popular extensions?

Web

  • I think you should mention PSGI/Plack. All of the frameworks you currently mention support it, and it's the direction in which Perl web development is moving.
  • You might want to mention the CGI module, just for historical purposes.

Markup

  • JSON and YAML aren't markup; they're more like data formats. They definitely deserve a mention in this book, though.

Testing

  • You should mention Test::Exception; it makes testing code that leverages exceptions very easy.
  • You should also mention Test::Class; it's a Perl-style way of writing xUnit tests.

More Modules/Chapters

I know you're probably just getting started, but I wanted to mention some other useful modules sooner rather than later:

Event Loops

  • AnyEvent
  • POE

Command Line Tools

  • App::Ack
  • App::pmuninstall
  • App::cpanoutdated
  • pmtools

Module Authoring Tools

  • Dist::Zilla
  • shipit
  • ExtUtils::MakeMaker
  • Module::Build
  • Module::Install

Deployment Tools

  • App::FatPacker
  • carton
  • Shipwright

OS Specific Modules

  • Win32::*
  • Mac::*

Miscellaneous

  • Try::Tiny
  • Data::Dumper
  • Devel::REPL

Thanks again!
-Rob

@ambs
Owner

Hello, Rob.

Thanks for your suggestions.

Note that MooseX is already mentioned in the See Also section, if I am not wrong. Also, there is a reason for putting Moo in the beginning, it make is easier to write with increments. Reversing the order would make things harder, as instead of adding features, I would need to list unsupported features. But I might add a notice in the beginning of the chapter stating the historic story of the OO modules for Perl :)

Unfortunately I won't be able to touch all the modules I would like. If a first book gets printed and some copies sold I might think on a more than one volume book. But for now, I preffer to keep my expectations low :) This means that probably some of the modules you suggest (like Win32:: or Mac::) will be leaved for future editions :)

As a final note, I might refer CGI in the introduction of the Web Frameworks chapter, and who knows add some pointers to resources about it in the Web, but not write a section about it. There are too many books on that, and too many people claiming it is crap :)

These are my thoughts at the moment, it doens't mean I will not change my mind :)

Once again, thank you for your comments, They are helpful :)

@hoelzro

Ah, I just saw MooseX when looking at the raw POD; Github's POD renderer doesn't display it.

Thanks for taking my ideas into consideration!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.