Live data from Hacker News

Blunt and necessary review of programming language books.

drdobbs.com

61–70 of 112 posts

Re: Blunt and necessary review of programming language books.

#61
post #19

Earlier quoted context omitted.

_The Scheme Programming Language_ by Kent Dybvig is also very good. _Structure and Interpretation of Computer Programs_ is my preferred "how to think in Scheme" book. I would recommend against _How to Design Programs_, which is entirely too pandering and focused on imperative programming for my tastes. http://www.scheme.com/tspl3/

For what it's worth, the second edition of How To Design Programs drops the imperative programming[1] and is available online[2]. I can't comment about the pandering though. [1] "This edition of the book drops the design of imperative programs. The old chapters remain available on-line" [2] http://www.ccs.neu.edu/home/matthias/HtDP2e/Draft/index.html

Is that just the first few chapters of the 2nd ed?

http://www.ccs.neu.edu/home/matthias/HtDP2e/Draft/i1-2.html

Many chapters after that one are just blank.

Re: Blunt and necessary review of programming language books.

#62
post #44

I'd been meaning to pick up a new language, and a few weeks ago I pared down my list of choices to two languages: Scala and Go. Then I went looking for "official" tutorials/references. For Scala I found Scala by Example , a 145 page PDF that comes with the Scala docs. For Go, I found the Go tutorial -- a very short tutorial with a bunch of examples. I picked Go because, seriously, I don't have time to read 145 pages…

Every time I try to learn Scala I get the feeling that it's too big.

It's definitely not the kind of language that you spend a few weeks or months with to learn a few new concepts. It's a language you learn because you can see yourself doing a lot of real programming in it. I call it the C++ of the Java world, meaning that Scala is to Java as C++ is to C: a more complex and expressive language that piggybacks on top of a hugely successful ecosystem and is a powerful tool for those who invest the time to learn it well. I'm learning it because I think it has a bright future in commercial software development, and it's nicer to work with than most languages that can say that.

Re: Blunt and necessary review of programming language books.

#64
post #2

I agree 100%. K&R is the standard all authors should strive for. The length of these books is also our fault. Bigger books sell better. I hope there is a backlash brewing. K&R, Little Schemer, Smalltalk Best Practice Patterns, were all great small books.

Agreed. Obviously K&R is a benchmark. But I'm also thinking of "Effective C++". This was a fairly thin book, but after reading it, I realized that I didn't know half as much about C++ as I thought I did, and in its relatively small number of pages, it taught me a hugely disproportionate amount of how C++ really works.

"Accelerated C++" is another good one. A bigger book than K&R, but not outrageously so, and much thinner than Stroustrup's or Lippman's texts. Rather than teaching C and then layering C++ constructs on top, it starts with idiomatic C++, then drills down to the C foundations as needed.

Re: Blunt and necessary review of programming language books.

#65
post #3
post #2

I agree 100%. K&R is the standard all authors should strive for. The length of these books is also our fault. Bigger books sell better. I hope there is a backlash brewing. K&R, Little Schemer, Smalltalk Best Practice Patterns, were all great small books.

Bigger books sell better. Is this true? I was always under the impression that bigness was used to justify a higher price point.

Its absolutely true. The exact same effect occurs in restaurants and floral arrangements.

There is a fixed cost, we'll call it X, to get the {book/meal/arrangement) made, the marginal cost of {paper/food/flowers) is small relative to the fixed cost and yet is the dominant factor in perceived value.

Understanding this you can use it to your advantage. You can boost the percieved value of a book or meal or floral arrangement by boosting its pages, vegetables, or flowers. The recipient will feel better about getting and the buyer will feel better about paying for something with a higher perceived value.

Re: Blunt and necessary review of programming language books.

#66
post #12

Too bad authors get paid by publishers by the number of pages, and publishers push the books to education, where the attention economy takes care of the rest. Good thing that programmers are more often self-learned, which makes the problem relatively benign compared to say, economics books.

Too bad authors get paid by publishers by the number of pages This is not true. Authors get paid by the number of books sold, period. For my book we had an approximate target length, but that was a precondition. Past that gate, all we saw was $x/copy.

I've heard it independently from people working at my economics and finance department. Are you sure it applies to all textbooks?

I've never ordered or written a book myself, so I could very well be wrong.

Re: Blunt and necessary review of programming language books.

#68
post #44

I'd been meaning to pick up a new language, and a few weeks ago I pared down my list of choices to two languages: Scala and Go. Then I went looking for "official" tutorials/references. For Scala I found Scala by Example , a 145 page PDF that comes with the Scala docs. For Go, I found the Go tutorial -- a very short tutorial with a bunch of examples. I picked Go because, seriously, I don't have time to read 145 pages…

Every time I try to learn Scala I get the feeling that it's too big.

[deleted]

Re: Blunt and necessary review of programming language books.

#69
post #21

Part of this stems from a pre-internet mentality. "Of course I need a full function reference! Where else would I find it?" Now you just Google it. A thinner book can leave the reference to the search engines, but for some reason this older way has become entrenched.

You had man pages, which are as good if not better than what you might find on Google. If you were writing C programs on a UNIX system, everything you needed was there. No need for K&R to kill trees putting all that in their book.

Re: Blunt and necessary review of programming language books.

#70
post #18

So aside from K&R, what are some of the best small books?

I really enjoyed O'Reilly's compact "Up and Running with Rails," which I bought because I could never remember the basics after two reads through the default (monster) rails book, "Agile Web Development with Rails." Sadly, O'Reilly appears to have lost interest in this series; the Rails book dates to 2006 and is too far behind now to recommend. Look no farther than the #2 rated Amazon review ("28 of 29 people found t…

"Modern Perl".

Well written, covers pretty much everything you should use, good, clear examples.

Available free online: http://onyxneon.com/books/modern_perl/

Post reply on HN