Learn C The Hard Way
Tim Hentenaar's Blog. Shaw, 'Learn C The Hard Way', Exercise 2: Make is your new Python So, first we have no environment and a phantom Makefile. Is “Learn C the Hard Way” a good book?Should I read it as a first book? Is it worth reading after learning the basics of C? Or is it not worth reading at all? This is the Rough Cut version of the printed book. Need to learn C? Forget old-fashioned C programming books that assume you're a computer hardware expert. - Selection from Learn C the Hard Way: A Clear & Direct Introduction To Modern C Programming [Book].
Failed to load latest commit information.
Table of Contents • • (You are here.) • • Another common answer to, “What book should I read to learn C?”, is ’s, AKA “LCTHW.” Learn C the Hard Way: A Flawed Text with an Agenda As harsh as that title may sound, I’m really not trying to court controversy. I have no grudge with Zed Shaw. In fact, I think he’s a talented programmer and an excellent teacher. He has helped thousands of people with his guide,. He has done far more to advance programming education than I could ever hope to.
It is for these reasons that I wish I could say, “ Learn C the Hard Way is worth reading. Free Download Gossip Girl Season 5 Episode 22. ” Unfortunately, it’s not. I’m not alone in this view.
The most well-known (though in my opinion, flawed) criticism of LCTHW is by Tim Hentenaar. While snarky and hostile, it does contain valid criticisms. The chapter on setup is quite poor. The chapter on invoking the compiler is atrocious. It only talks of make, not directly invoking gcc or clang.
In essence, it pretends there is only one way to invoke the compiler: a build system, and only one build system: make. I’m all for introductory texts keeping things simple, but that’s going too far. I could list dozens of other problems, but I’d largely be duplicating Hentenaar’s efforts. In short, there’s no salvaging this book. If I could distill my evaluation of LCTHW to one sentence, it would be: Shaw fundamentally disagrees with the majority of C programmers about how to write C. The biggest divergence comes from his condemnation of NULL-terminated strings. Originally, LCTHW had.
Much of the chapter boils down to: If you don’t NULL-terminate something that’s supposed to be NULL-terminated, all kinds of terrible things can happen. I’m not sure who this warning is intended for.
Anyone who writes C will quickly have this knowledge burned into their brain. When it comes to details, Shaw’s critique is full of mistakes. Instead of listing them all, I’ll just link to the times it has been discussed on Hacker News:,,,. They make my case far better than I could. Shaw’s Response Shaw eventually received enough criticism that he.