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.
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".
Blunt and necessary review of programming language books.
81–90 of 112 posts
Re: Blunt and necessary review of programming language books.
#82I'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…
I think this is where modern trends in programming language books, and by extension language learners who enable these books, gets it wrong. Everyone is trying to teach you the bare minimum to get started, and they leave you to struggle with the rest. This is a big reason why there are so many programmers who barely know anything below the surface of the language they've been using for years.
I like taking a fairly broad tour of a language before digging in. I like knowing what the essence of the language is. I like knowing whats possible and what isn't. I hate the feeling of being blind, feeling around the room for the door knob to get me into the next room where the process is repeated.
Re: Blunt and necessary review of programming language books.
#83I 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.
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".
Re: Blunt and necessary review of programming language books.
#84Earlier quoted context omitted.
Every time I try to learn Scala I get the feeling that it's too big.
It struck me the other day that I would love a "Scala: The Good Parts". Wouldn't it be great if there was a small, powerful kernel in there, somewhere, and someone explained it...
Re: Blunt and necessary review of programming language books.
#85Part 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.
Yes, but that attitude is not dead: how many projects have you come across where the only documentation is the JavaDoc or equivalent? It allows someone to tick the box that yes the documentation is done, with minimal effort, but it's not that useful to the next programmer, who really needs sample code, oh, I get this from that, and this from there, then I feed them both to the function...
Re: Blunt and necessary review of programming language books.
#86Earlier quoted context omitted.
Every time I try to learn Scala I get the feeling that it's too big.
It struck me the other day that I would love a "Scala: The Good Parts". Wouldn't it be great if there was a small, powerful kernel in there, somewhere, and someone explained it...
Re: Blunt and necessary review of programming language books.
#87Earlier quoted context omitted.
The first chapter of K&R is a tutorial introduction, it explains the entire workings of the C language for someone familiar to programming in a small number of pages(It misses pointers, but it covers a lot). Every book on a language needs this. The best I have seen was in a python book where the author stopped and told the reader enough had been learnt to write any program. The closet to the K&R model I have seen is…
The best I have seen was in a python book where the author stopped and told the reader enough had been learnt to write any program. You must be referring to Think Python: http://www.greenteapress.com/thinkpython/thinkpython.html
I highly recommend it to the handful of HN readers who are in need of an intro text.
Re: Blunt and necessary review of programming language books.
#88I've been begging publishers to let me have a go at a ~100 page F# tutorial book, but they've told me again and again that books without a wide enough profile on the shelf just won't sell. It's sad really. I hope ePublishing fixes this.
It's not worth the trouble to go through a publisher anymore. You're not going to make any money on a tech book no matter how popular it is. The smart move in the modern age is to work on the book in the open with a blog and then self publish an ebook. If you like you can even sell it or ask for donations.
Re: Blunt and necessary review of programming language books.
#89I'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…
You don't need to read 145 pages to get started. Most people I've talked to only know 20-30% of Scala. But they feel that they already know enough to benefit enormously. Most of the Scala I know comes from the Tour of Scala, which consists of succinct, bite-size explanations of its main features.
On a related note, Scala is a big language because it is a dual language: It has features that are intended to facilitate application development, but it also has features that are intended for framework writers. These features are overkill for you if you're an application writer, and you don't have to learn them, but they are a godsend if you're writing a framework. This is evidenced by the fact that many features that are traditionally done in the compiler of other languages are implemented in the library!
Re: Blunt and necessary review of programming language books.
#90I'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…
> I picked Go because, seriously, I don't have time to read 145 pages just to get started. You don't need to read 145 pages to get started. Most people I've talked to only know 20-30% of Scala. But they feel that they already know enough to benefit enormously. Most of the Scala I know comes from the Tour of Scala, which consists of succinct, bite-size explanations of its main features. On a related note, Scala is a b…
[1] And they are not transplanted unmodified; often, since Scala has the advantage of hindsight, they are often modified to be even better!