Damien Krotkine home

image from www.pearson.fr I haven't been blogging a lot this year-and-half, and for various reasons. But the reason number one is that I've been very busy writing a Perl book from scratch, in French, with 3 other fellow French Perl Mongers.

The book is called Perl Moderne. That means "Modern Perl", but it has nothing to do with chromatic's book. The book was actually published long time ago, end October 2010. But it took us authors some time to recover :)

This book is written in French, for French speaking readers. Its goal is to present the Perl 5 language as it exists now, and tries to teach the reader how to start using it the right way, that is, the modern way. The book is not a bible, nor an encyclopedia of the historical language. Instead, it's a collection of the useful concepts that are used nowadays, and how to use them in the latest version of Perl and CPAN.

The reader can be a total newbie in Perl, but it has to have a previous development experience with an other language, for instance PHP, Ruby, Python, or Java. However, the book goes far beyond introducing the language. It allows the reader to become fluent with the Perl data structure, regexps, Moose OO and typing, POE, interacting with databases, files, DateTime, XML and configuration files, Web interactions, and more...

It's big in content (many subjects covered, and 450 pages !) but small in size, as it's an A5 format, so it fits easily in a bag, and it's not heavy :)

The people

Historically, Pearson France, the press editor, posted a request on the French Perl Mongers mailing list, saying that they were looking for authors willing to write a new Perl Book in French.

I decided to not let this opportunity pass : it's very rare that French editors are interested by Perl, and willing to produce good quality books. After some struggling, I ended up setting up a team of 4 brave French Perl Mongers, that became 4 Perl book authors :

The content

Perl Moderne starts with a gentle (but concise) introduction to Perl, with many pointers to external resources, focusing on ease-of-use. For instance, we mention CPAN and cpanm very early. Then the real business starts with an explanation of the major programming concepts (data structures, OO, databases, formats, event programming and the intarweb).

We tried to provide a preferred way to do each thing, while mentioning alternatives. We didn't separated the language and CPAN. "Perl is the syntax, CPAN is the language"... So about half of the book describes how to solve a problem using this or that CPAN module. And I think it's great. It allowed us to teach Object Oriented programming with Moose, explain event programming with POE, etc.

I think it is very important that new Perl books get written, and very important that some are written natively in non-english. It fits better its purpose to the localized need (students, teachers, academic structures and way of thinking are different from one country to another). That also makes editors aware of the local Perl activity, and help spreads the words about the language in schools and universities, where native books are preferred to translations.

So, if you know any French speaking (or learning) geek or computer scientist, around you, please consider recommending them this book. It was crafted with care and love by Perl passionated ! :) You can point them to the dedicated website of Perl Moderne


Here is an english translation of the table of content :

01. Start with Perl
02. Install a Perl module

I. Language and data structures
03. Language
04. Data structures
05. Regular expressions

II. Modern object programming
06. Basic Perl objects
07. Moose
08. Typing system in Moose
09. Methods in Moose

III. Data manipulation
10. Files and directories
11. SQL databases
12. SQL abstraction, ORM, non-SQL databases
13. Dates and times

IV. Formats
14. XML
15. Data serialisation
16. Configuration files

V. Event programming
17. Introduction to POE
18. Practical POE
19. Distributed POE

VI. Web
20. HTML documents parsing
21. HTTP and the Web
22. LWP
23. Web browsing
24. WWW::Mechanize

blog comments powered by Disqus
Fork me on GitHub