Re: Where are all the Perl books?

scrottie on 2009-10-01T00:33:20

http://www.kiffingish.com/2009/09/where-are-all-the-perl-books.html

First, I have to quote chromatic's reply: "Some people decided that Perl books wouldn't sell and stopped publishing Perl books. Then they congratulated themselves for not publishing Perl books when they noticed that people weren't buying the books they didn't publish."

When _Perl 6 Now_ came out a couple of years back, I watched the half.com price. It held steady for a long time. I stopped looking after a while and then when I next looked, they were selling for under a buck. I'm not sure what this means but the exercise got me to think about how easy or difficult it is to saturate a sector with a book.

Talking to APress about possibly writing a book, the editor I was in touch with was pretty clear that a book on Perl 6 would fare better than about any other Perl topic. The Perl 5 market was saturated. The people who wanted to learn stuff about Perl 5 had already done so. The Perl market isn't growing. It takes an influx of people to create demand for new books. Whether or not it's true, someone who has been programming Perl for a few years is going to decide they know everything they want to, at least in the vast majority of cases. Those who continue to buy books are rare.

Here's another thing I've been noodling... I've been digging through old Atari books and porting the examples. There's a vast amount of good in those old books and magazines that's still relevant. A good friend just commented earlier today that he didn't know how to do the math for the 3D rotation that's the basis of 3D style graphics.

We've all ready how many books and none of them that have covered that? Clearly the cultural amnesia affect is in force.

In trying to explain Perl to people, I've been claiming that it's impossible to understand Perl without understanding sed and awk. Perl is a bit like Prolog in that it incorporates ideas beyond the standard C-like-with-objects fare. The idioms are powerful but if you don't understand them, they're confusing and intimidating. Lack of knowledge of sed and awk is another bit of cultural amnesia. Hell, in my day, we wrote sendmail.cf "language" to get stuff done. Used to be that mail sent to @weehours.net went to that player's MUD-mail box in the village post office south of the pub.

When Perl goes out of fashion, it's going to be a tragedy just because of the amazing books written for it are going to lose an audience. Like the graphics programming for Atari books of the 80's, _Perl for System Administration_ and all of these are going to collect dust waiting to sell for 78 cents on half.com merely because one aspect of them went out of fashion.

This also reminds me of how the Atari and then later Amiga communities refused to die. You really couldn't tell either of those communities that they were dead. I remember having subscribed to a rag of an Atari 8 bit (talking about the 400/800/XL/XE home computers) and within a couple of years, the magazine folding. What's the deal with _The Perl Review_? I keep subscribing, getting a pile of back issues and one or two new ones, then no renewal notice. Are they even still around? The Atari guys did a better job of acting alive. Some very nice books for the Atari came out at the very end of the things mass popularity, all done independently after the major publishing houses moved on to writing boring texts about Lotus 1-2-3 and Harvard Graphics.

A lot of people care about Perl -- but how many people who don't already have the vested interest in it of having specialized in it for many years? How many people who have multiple, marketable skills care about Perl?

Towards the end of the reign of the Atari, more and more programmers were writing tools and whatnot for programmers, not for users. Epic adventure games, RPGs, and shooters had already been done and people weren't making more. When they did neato new things that were happening on other platforms such as flight simulators, the efforts were half-assed at best. But terminal programs, low level programming language compilers, advanced disk operating systems, C and other language compilers, and all of that were thriving. It was incestuous. Programmers were programming for programmers and no one else. It was a great time to be a programmer for the Atari and it's still fun to go play with all of this stuff -- what was accomplished in the end days truly was wonderful. Just don't be surprised that no books were written about it or will be until someone like myself gets the wild hair to do a retrospective documenting it far after the fact.

As for the lack of Perl books, tech publishers don't just follow the trend; they try to stay ahead of it. I don't know the industry nearly as well as chromatic does, but my impression is that it takes a year to get a book to market. Things can cool down a lot in a year. If something is already starting to cool, they could cool a lot more. Ditto for things that are warming up -- and that's what the publishers want. Perl 6 might have been warming up, from APress' point of view.

I always feel like I should follow these pieces with a bit of hope so I don't sound like such a downer. I think it's too late for an image makeover for Perl. It would take too fundamental of a shift of mindset for too many programmers most of whom don't take their profession seriously. IronMan generated a lot of prose, but most of it sucks. In fact, it could be said that it brought down the quality of writing about Perl. At least people are getting practice blogging. The time spent writing will serve them well for years to come.

Perl 6 failed the "worse is better" ideal. I know this concept is the subject of some debate but it's true at least in the extreme case: if you design the perfect OS, you'll never be able to implement it, or if you do, it'll be so fantastically buggy that it'll never work nearly as well as design. It won't be grounded in the practicalities. Often the better design has an element of cynicism in it in that it punts on certain things in the name of shooting for a level that's attainable. Perl 6's virtual machine and the language itself both shot too high in one important regard: people were intimidated by them and didn't feel as though they could help out. PHP succeeded fantastically in the "worse is better" department. Anyone with a little C could easily feel like they could write code no worse than what's already in the VM. The high flying goal makes sense in other important ways. I don't know if it's a net win or loss, but the lack of buzz from community involvement was and is a serious blow.

In the worse is better department, when Linux first came out, it crashed like mad; it was terribly incomplete; what was there was mismatched. The thing was not only unusable for serious work but also barely interesting as a toy. Within months, 386BSD came out -- a stable, complete, polished, production worthy system. BSD did not win out over Linux. People felt like they couldn't contribute to BSD -- the code standards were too high; the people who did that port of BSD were too aloof; patches languished; the promises about the direction it was going to be taken were intimidating. Linux, on theother hand, felt like "the people's operating system". You could write a better version of something in it and get that replaced with your version. Or you could port something to it that it needed and be harold as a heor. Within a year, Linux had reached a point where even though it lacked the coherency and polish, it was competitive, and at that point, BSD was done for.

Effort was made to include everyone in the Perl 6 process, I know. Perhaps if github had existed back then and the effort to write Perl 6 was done in Perl 5, just to make the whole effort accessible, things would be different.

Okay, now I'll say encouraging stuff. Both Atari and Amiga had very long "deaths" indeed. AmigaOS 4.0 came out not long ago and we're just waiting for the hardware to run it as we have been for years. They decided to create a PowerPC based architecture and port to that. That was a fantastic idea except that it's really hard to get someone to build boards for a whole new architecture and not go out of business and not want money for their design after they do. The custom chipset for the Amiga has since been reverse engineered and an Amiga 1000 clone was done using an FPGA and released as open source. Long after the 130XE ceased production, Atari brought the XE back with the XEGS. Software emulators for both were created and now people play many of their games in web applets. Time destroys but time also heals. Perl has a future... it just might not be the grandiose future it wants. That future might not include very many books.

Oh yeah. I wanted to talk about how the publishing industry did or didn't kill Atari and Amiga.

-scott


Following the Trend

chromatic on 2009-10-01T03:16:38

Tech publishing is, if anything, even more fad driven than tech blogging. You have to analyze the fads in terms of the publisher's prospective markets.

As for the lack of Perl books, tech publishers don't just follow the trend; they try to stay ahead of it.

I wish that were true. If it were, I wouldn't have fought for two years to convince my previous employer to let me publish something on Ruby before Rails hit it big and they wouldn't have tried to publish four Rails books a year before noticing that the Ruby book market peaked in late 2006. (2006 is not a typo. Neither is the phrase "four Rails books a year".)

You make good points about market saturation, but remember that the Perl book market saturation occurred in 2000, a year in which at least one other large factor had something to do with a drop in sales.

who needs books?

slanning on 2009-10-01T19:25:29

scrottie, I don't need any books as long as you keep blogging. :)