Jeff Atwood: Programmers don't read books, but you should

English original: Programmers Don't Read Books — But You Should  Source: Foreign Journal IT Review 

One of the main features of the Q&A site stackoverflow.com is that software developers no longer need to learn programming from books, as Joel put it:

Programmers don't seem to read anymore. The number of programming books on the market is pitifully small compared to the number of programming practitioners.

Joel made the same point in his 2004 book The Shlemiel Way of Software:

Most people don't read or write anything. Most programmers don't read software development books, they don't go to software development websites, they don't go to Slashdot to participate in discussions.

Now that programmers don't read books, how do they learn to program? They do it in the most primitive way: rolling up their sleeves and writing code —while opening a second window to gather experience and knowledge from the Internet. The Internet is an encyclopedia. Obtaining knowledge information is faster and more efficient, and acquiring programming knowledge from the Internet is clearly a smarter approach. Doug McCune aptly wrote about his feelings in Why I Don't Read Books, and I believe the mood he describes is fairly common.

I think the technical book publishing industry should bear the primary responsibility for this:

  1. Most programming books are poorly written. The threshold for writing books and publishing, as far as I have found, basically does not exist anymore. The book publishing industry is buzzing, but that doesn't mean it offers better content than you'll find on the vastness of the Internet. While hundreds of programming books hit the market every year, maybe only 2 or 3 are worth your time to read.
  2. Programming books are bought in terms of pounds, not the amount of knowledge . We get the feeling that the thickness of a programming book seems to be inversely proportional to the quality of its content. The larger the tome of the book, the less useful information it carries. What is the use of those reference books with thousands of pages? Are you really going to use it for lookups? It takes effort to hold.
  3. Both are crash programming books for beginners . I have nothing against newcomers entering the field of programming. But I've always thought books like "24-hour [a programming language] crash course" are bad for our profession. This kind of book instills a kind of short-sighted thinking, fast, and the easiest and easiest way to do things, which leads beginners astray - or as I like to refer to, "PHP". joke! joke!
  4. Programming books seqing . Some people think that putting a stack of thick, seemingly important programming books on their desks—basically never reading them—is a sign of a very high-level programmer. As David Poole once told me in an email, "I would never do this kind of thing", referring to the seqing phenomenon of these programming books. That's why I thought about it and decided not to buy The Art of Computer Programming by Knuth. We should buy books with practical value, books that you can actually read, and more importantly, books that you can use.

As a book author, I am ashamed. I also co-authored a programming book, and I don't think you should buy it. I'm not saying the opposite. What I'm trying to say is literally. But either way, it wasn't a bad book. I have the greatest respect for my book collaborators. But you can find more information online than this book. Holding on to a dead book is the most undesirable and most wasteful thing to do.

The internet is undoubtedly accelerating the death of programming books, but there is some evidence that even long before the internet, very few programmers read a lot of programming books. I was surprised to see this paragraph in the book "Code Encyclopedia":

你可以炫耀一下了,因为你在读这本书。你已经学到了比软件产业里大部分人都要多的知识,因为大部分的程序员一年都不会读一本书(DeMarco and Lister 1999)。每天读一点,坚持不懈,你就能成为专业高手。如果你能每两个月读一本好的编程书,大概一周35页,你很快就能对业内的知识有坚实的掌握,能很快让你从周围所有的人中脱颖而成。

我相信早在《代码大全》1993年第一版时里面就有这样的原话,但我们无法证实,因为没有那一版的书。经过这网上的搜索,发现了Steve McConnell在《人件》中引用的段落:

关于读书情况的统计数字让人非常的泄气:比如,大部分的软件开发人员手头上都没有一本关于他们的工作方面的书籍,更不用说读过一本。这事实让人对这个领域里的工程质量感到担忧。而对于我们这些写书的人,那更是悲剧。

我很痛心的读到reddit上的这些评论,看到人们把stackoverflow.com网站的宗旨使命理解为对编程书籍的否定。怀着一种对当前编程书籍市场复杂的心情,我要说,我喜欢编程书!我这个编程博客就起始于一篇推荐程序员必读书籍的文章开始的。很多我的文章都是在讲述我对于一些经典编程书籍里的核心思想浅显的理解。

如何让这看似矛盾的语句能够调和,如何能统一这动态的爱与恨?你看到了没有,处处都有编程书籍,处处都有编程书籍。

A good programming book has no time limit. They transcend language limitations, IDE limitations, and platform limitations. They don't explain how , but why . If you have to clean your bookshelf every 5 years, trust me, you bought the wrong programming book.

Nothing can replace my programming bookcase. I use them all the time. In fact, I read them several times as I wrote this article.

程序员都不读书,但你应该读

I don't want to repeat these recommended readings of mine because I've been showing them off all these years.

But here's what I have to say: my favorite five most important programming books every one of you programming programmers should have -- and read. These torrents are extremely useful, year after year, no matter what kind of programming I do, they never lose value. They are worth reading and re-reading, every time I have more years of experience and come back and re-read them, they give me a deeper and sharper understanding of software engineering, if you don't have these books, what are you waiting for?

"The Encyclopedia of Code", "A Touch of Gold", "Human Pieces", "The Way of Programmers' Cultivation", "Facts and Fallacies of Software Engineering"                    
程序员都不读书,但你应该读 程序员都不读书,但你应该读 程序员都不读书,但你应该读 程序员都不读书,但你应该读

In my opinion, let sites like stackoverflow.com be useful additions to the timeless classic programming books here. There is no way, no thing, no form that can replace these books.

On the other hand, if you're the unfortunate author of The Perl Language for Dummies, keep an eye on your back, because we're clearly targeting you.

 

Recommended reading:

How to get a high salary in the IT industry? Choose cutting-edge technology, set the right direction, have technology and people   http://www.it51share.com/archives/3520

 

 

7 years of work, perception and understanding of technology   http://www.it51share.com/archives/3612

 

IT人为什么难以拿到高薪?http://www.it51share.com/archives/3612

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326634776&siteId=291194637