views:

612

answers:

14

(I'm starting this stack on the way to the bookstore...)

Programming languages seem to change often. In this case, is it wise to buy a book on a programming language? After all, the book might be useless (even as a reference) in a few year's time.

Duplicate question: Are programming books a necessity nowadays?

A: 

I would think for the few years it is valid, it would likely prove a valuable resource.

Timothy Carter
A: 

They're good for when you don't have an Internet connection available - public transportation, beach, network went down at work and you already ate lunch.

Kon
+3  A: 

Most definitely. In fact, language books are about the only books I buy instead of borrowing because once I'm done reading it I can use it as a reference. Though I don't do much Perl programming, when I do I just pull my copy of Learning Perl off the bookshelf and use it as a reference when I get stuck. Though Perl might be different in a few years the basics will remain the same and I'm confident the book will still be useful in many years to come.

There are some other languages that hardly ever change. The C Programming Language is the gold-standard introductory text and reference for C. The latest edition (2nd) was published 20 years ago and still widely sold today.

Kyle Cronin
A: 

I think they are valid as there are always best practices to learn in pretty much any decent programming book you read. I find it especially appealing if you invest in eBooks in which you can fit many of them on a flash drive and take with you anywhere. Apress sells a different eBook each day for $10, providing one the ability to choose which books they want for a fairly low price.

You also never know when you may need to work on a legacy application which may be in an older language.

codewright
+16  A: 

Yes. But you should pick your books with care. K&R, Strousup, Code Complete, etc, are all books that have stood the test of time & quality.

I made the mistake once of buying "Visual C++ 5.0 Programming". Yeah, that went out of date fast. >.<

Paul Nathan
me tooo..by buying vc2005.....after that only books like effective c++, Strousup
yesraaj
+3  A: 

I mostly use the internet as a reference for languages and frameworks. The books I buy are more about concepts and methodologies, stuff that I want to read and digest not just lookup syntax or usage. I find that a good tutorial on the internet works about as well as anything for learning how to do something.

If you are just learning a new language, though, a book can be a very good resource. As others have said, pick them with care. Checking one out from a library to road test it is a good idea. If your local public library doesn't have technical books, you may want to try a nearby university. State schools often have programs for "community borrowers," and schools with computer science or engineering departments generally have lots of technical references.

tvanfosson
+1  A: 

For almost all languages the net is such a good resource that I personally feel it's pointless to by books about languages, unless they offer something that cant really be found on the net such as cookbook or recipe books or books by the author that describe how they made decisions while building the language, etc.

Just to clarify, books about software engineering and programming in general such as Design Patterns, Pragmatic Programmer, Code Complete are a totally different set of books than books about programming languages and should be bought and horded.

Silfheed
+10  A: 

After all, the book might be useless (even as a reference) in a few-year's-time.

Don't you buy other items that become useless over a few years? Consider the computer you're using right now, for one.

Here's how I look at it: If I get one good tidbit of information out of every $10 that I pay for the book, it's money well spent.

Andy Lester
A: 

Even though the Internet is dynamic and chock full of goodies, I still love a hard copy of any language. Sometimes a text reference provides me an easier means to finding my answer. As mentioned above however, some books will go out of date quicker than others.

Zee JollyRoger
+1  A: 

For a long time, I thought computer books were a waste of money. In fact, the last computer book I bought was in the previous millenium. But I have been borrowing some programming books from the library lately, and I have to admit that a good reference text has the potential to beat Internet searching. One example is The Ruby Programming Language by Flanagan and Matsumoto (Matz). It seems to be a good reference text for looking up just about any obscure feature of Ruby I might need, and I believe it can be considered authoritative [for versions 1.8 and 1.9 of Ruby, anyway].

I haven't bought any computer books in a long time, but I think a basic rule of thumb to follow is: try really hard to search the Internet for info first, it has a lot to learn from for free; but failing that, you can try books at a library first before actually spending money on them.

Pistos
+3  A: 

Why not join Safari or books24x7? If you join the ACM, your membership provides you access to a subset of both of these online book provider's collections.

You'll have to pay an annual fee to house your "books", but it sounds as though you're willing to spend that much on books anyway? Why not store them electronically? You'll save trees and space in your domicile.

raven
+2  A: 

books on core aspects of a language date slower than books on api.

books on good design never date

matpalm
+1  A: 

Languages itself do not change that radical. Especially those which are in wide-spread use are more or less stable. Just check out any book about C be it written in the 70ies or the Standard today. Look at Common Lisp it's standard is not dated back IIRC 14 years, Common Lisp still is Common Lisp. Have a look ast Smalltalk now Smalltalk-80 is still a base. So definitly you should buy books about programming languages, however it's hard to figure out which are the right ones ;-)

Regards

Friedrich
+2  A: 

Short answer: Yes.

Because: Although they might go out of style/currency, more often than not you get your money's worth. I find it relieving to have a book in hand for some project I'm working on; there's lots of tips and tricks you can pick up besides the meaty stuff, and once you're done reading it you have that sense of confidence in you that goes 'hey, at least I'm somewhere'. Plus, it's easier on the eyes: of course you have almost every single title at your disposal online if you're signed up with something like 24x7, but programmers don't have to wear glasses to prove they're real geeks!

The trick is to pick titles carefully. Make sure the book's style goes with your own (i.e. you feel comfortable with it) and it doesn't claim something like 'Learn [insert programming language name here] in 7 days/24 hours' etc in its title. Those are the worst offenders!