tags:

views:

165

answers:

6

What characteristics do you find most helpful in a programming book when:

  1. you need to learn a new technology based on something you already know (e.g. learning Silverlight 2 when you already know C#)

  2. you need to learn a new language based on a paradigm you already know (e.g. learning C# or Java when you already know OOP from SmallTalk or C++ et al)

  3. you want to learn a new language based on an unfamiliar paradigm (e.g. learning functional programming in F# when you only know procedural programming in C, or OOP in Java)

Caveat: the ulterior motive behind these questions is that a friend of mine - a stellar developer and established author who recently started a book publishing company - is looking to expand into a range of targeted development books (including mine) and wants to know what kind of books would be the most useful to Stack Overflow members.

We think that short, focused books are the most helpful, but we might be wrong. What do you think?

Given the criteria above (or others that you would care to suggest), what books would you like to see? And if anyone has a great idea for one to write, let me know and I'll pass on your information.

ADDENDUM: for the paper-phobic, think "ebook" instead of just "dead tree book". What are the desirable qualities irrespevtice of the presentation media?

A: 

I find the best way to learn programming is not from a book but from the internet.

Stackoverflow is a perfect example of a great way to learn online. It's searchable, interactive and always up-to-date - books don't do any of those things!

When you're learning programming you are on a computer so it makes sense to find info online using the same computer. Reaching for a book is an extra annoying step. Also, you can copy an paste from the internet, you can't do that from a book - if you try to copy out a complicated programming example you are bound to make a mistake.

Matthew James Taylor
think "ebook" instead of "book" and all of your points become moot. So what makes the ebook helpful?
Steven A. Lowe
+2  A: 

Back at university you could buy short books of about 100 pages focused on a specific topic much similar to lecture notes. They were kind of like a lengthy tutorial on one topic often combined with a concise reference section. I still use one of those books today.

I'd find books like these more useful than a 1000 page book that nobody reads.

Benedikt Eger
+1  A: 

The best programming books are books that don't get obsolete too fast.

mouviciel
true - but how do you do that?
Steven A. Lowe
Unfortunately, I don't know.
mouviciel
A: 

1) Don't include exercises-especially difficult ones- on the book, teaching by solving exercises is downright intimidating and demotivating. Even if you include it, Don't build your exercises upon the previous ones[ like Bruce Eckel did in his C++ books]. What if I can't solve those previous ones? Secondly, if you are insisted on providing exercises, for god's sake make a solution manual that could be reached by the users.

2) Don't use "!" more frequently than necessary in order to emphasize the importance of the rule you are stating. I feel like I am being shouted at whenever I read such books. [ Yes Scott Meyers I am referring to you!!!!]

3) Fill your book's webpage with supplementaries. Such as tests, articles, etc. A good one for such a page is Liang's Introduction to Java Programming.

4) Make good humour or none.

Comptrol
+1  A: 

First I'll say I love Mannings ebooks and generous coupon policy. I have been buying increasingly larger proportions of my reading from them because of it. One brilliant idea they've had to keep things current is when you prebuy a book from their website coming out in a new edition they give you the old edition as a pdf. Part of this is probably made possible through the ebook philosophy.

That being said I like books in digestable units with clear goals. For starter books don't mix too many technologies together in one example. I recently was trying a lab that simultaneously introduced web services, asp.net, xml databases and sql server interaction all at once.

My eyes enjoy the rest of staring at paper once in a while. I print chapters from ebooks as I read them.

kpierce8
+1  A: 

Summary: Books need exercises

In contrast to a previous answer, I think you can't learn any technology without practice, and exercises at the end of a chapter are required. Long, detailed ones! Look at Knuth for an example of how it should be done ;)

FWIW, I loved Learning Perl, because it had great exercises, which I did even though I knew Perl. I didn't like Learning Python, since it had very few, and generally poor exercises. I bought Learning Python since I presumed it emulated Learning Perl, and was really disappointed.

(Note: I see that Learning Python has a new edition, so maybe they fixed this.)

Paul Biggar