Live data from Hacker News

Blunt and necessary review of programming language books.

drdobbs.com

31–40 of 112 posts

Re: Blunt and necessary review of programming language books.

#31
In the long run (and often even in the beginning) I find well-written, well-organized reference material to be more useful than a tutorial guide.

I did not use Lutz to learn python, for example, I used David Beazley's Python Essential Reference. He includes a brief tutorial of the implementation and basic language features and moves to a large selection of the python standard library. My favorite C book is the reference by Harbison and Steele, which is a careful, thorough, and detailed reference of the language features and some of the standard library.

Re: Blunt and necessary review of programming language books.

#32
post #19
post #13

Earlier quoted context omitted.

I found Little Schemer to be too elementary. I feel comfortable with lexical scoping and recursion, I was actually looking for more meat (let vs. let* vs. letrec). I'd recommend "Teach Yourself Scheme in Fixnum Days".

_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/

It seems there's a fourth edition:

http://www.scheme.com/tspl4/

Also, Wikipedia says that "Teach Yourself Scheme in Fixnum Days" is outdated in some parts:

http://en.wikipedia.org/wiki/Teach_Yourself_Scheme_in_Fixnum...

Re: Blunt and necessary review of programming language books.

#33
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.

I agree, although I still like having a hard copy reference. The biggest problem is that books are harder to keep current.

Re: Blunt and necessary review of programming language books.

#34

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

Two of my favorites in the "best small books" area are from Niklaus Wirth:

- NW: Algorithms and Datastructures. 179 pages. PDF: http://www-old.oberon.ethz.ch/WirthPubl/AD.pdf

- NW: Compiler Construction. 131 pages. PDF: http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf

Both books are really brilliant and it always fascinates me how much content he packs into the books. Highly recommended. (I like "Project Oberon" too, but it has probably too many pages for this category [>400].)

Re: Blunt and necessary review of programming language books.

#36
post #19
post #13

Earlier quoted context omitted.

I found Little Schemer to be too elementary. I feel comfortable with lexical scoping and recursion, I was actually looking for more meat (let vs. let* vs. letrec). I'd recommend "Teach Yourself Scheme in Fixnum Days".

_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

Re: Blunt and necessary review of programming language books.

#37
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 just to get started. I'd be fine if Scala By Example introduced me to the major features of the language in a single whirlwind tour so I could at least start solving simple algorithmic problems, but the Scala folks went for something more elaborate. If it works for them, cool.

Ever read the Python tutorial? Even though it omits a bunch of important stuff, like decorators, it gives you enough information to get started with the language. A more dedicated learner can just read the PEPs or the language reference to learn about advanced features as he needs.

This is what I do with Go these days: look up features I'm having trouble with in the reference.

A friend once said this: "I'm convinced that in reality the documentation is the product."

Re: Blunt and necessary review of programming language books.

#38
post #8

Programming Perl is definitely guilty of this.

Is it supposed to be a tutorial book? I always thought that it was trying (and epically succeeding) to be a massive reference. I know O'Reilly has the llama and alpacas that are intended to be the actual tutorials, though I can't really speak for their quality (I actually did learn Perl via Camel Book + external projects).

Masterzora,

Correct. Programming Perl is not meant to be a tutorial. That role is filed by the most excellent O'Reily Book "Learning Perl."*

* My first scripts were done using Learning Perl as my tutorial. It is still one of my favorite programming books.

Re: Blunt and necessary review of programming language books.

#40

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

After K&R, it was 'Using C on the Unix System' by Dave Curry (~200+ pages).

I also enjoyed the first edition of Learning Perl by Randall Schwartz (~200+ pages). This book introduced me to regular expressions.

Post reply on HN