6 ms·
The one in "Stuff that should be avoided"?: http://www.iso-9899.info/wiki/Books#Stuff_that_should_be_avoided http://www.iso-9899.info/wiki/Books#Stuff_that_shou
by Narann 10y ago
The one in "Stuff that should be avoided"?: http://www.iso-9899.info/wiki/Books#Stuff_that_should_be_avoided http://www.iso-9899.info/wiki/Books#Stuff_that_should_be_avo...
- alexeiz 10y agoZed Shaw's books remind me of Herbert Schildt. In fact, Schildt is also on that "to be avoided" list! Books from both authors are practical and interesting to read, but contain serious mistakes and omissions. Back in the days I learned C from one of Schildt's books, and I thought it was very useful. But now that I know better, I'd never open that or any other books he wrote. I guess, if you don't have any knowledge, such books look very appealing as a starting point. You quickly pick up some basic knowledge and practices. But later, it may actually be hard to unlearn all the wrong things that these books teach.
- miles 10y agoThanks for the heads up! http://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be_avoided http://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be... "Too many factual problems and a presentation that gets you to do things wrongly before being shown how to do it correctly, and not even always then."
- tptacek 10y agoBe careful taking standards group weenies too seriously.
- deleted 10y ago[deleted]
- gecko 10y agoI have to be honest: the fact this is in "things not to read" from ISO is one of the strongest endorsements I could imagine. For that to happen, it must both be successful enough to get on their radar, and also to tick them off. That said, I know why this is on the list. Zed honestly doesn't like C, by which I mean that he recommends a lot of things that are (in my opinion) genuinely best-practice, but fly in the face of either historical norms, or the techniques that the ISO C team wants to push. Depending on what you're aiming for, this might indeed make it a bad work—but it can also make it a great one. I'd liken it in some sense to DJB's projects: Zed recommends a fairly unorthodox, but (again, in my opinion) excellent way of writing C. If you need to interface with people who write C the way most people write C—you're working on an operating system, perhaps, or a legacy codebase—this may be a problem. If you're writing C because you need to write a few components of your project in C for performance or [lack of] abstraction reasons, and would prefer not to hate yourself later, it's great.
- tptacek 10y agoThe problem here is that Schildt's books really aren't good. But as far as LCTHW goes: I doubt very much its author has the same objectives for writing a book about C that the standards weenies do, and I doubt very much that they took that into account before warding people away from the book.
- generic_user 10y agoJust to be clear that website has nothing to do with the official ISO. Or the ISO C working group.
- qwertyuiop924 10y agoIt's not ISO: that's from Freenode ##c. It's likely they just hate it because Zed got a trivial detail about the C standard slightly wrong, rather than because they're trying to persecute him or something. It's more their style. Zed's the one who's more likely to be persecuting someone.
- catnaroek 10y agoCan you imagine DJB deliberately teaching how to do something wrong before teaching how to do it right, though?
- dozzie 10y agoI can imagine him deliberately writing something wrong before not writing it right (i.e. Qmail).
- qwertyuiop924 10y agoWhat's so awful about qmail? It's pretty solid, last I checked.
- dozzie 10y agohttps://web.archive.org/web/20160409054053/http://www.dt.e-technik.tu-dortmund.de/~ma/qmail-bugs.html https://web.archive.org/web/20160409054053/http://www.dt.e-t...
- draw_down 10y agoI thought it was pretty good.
- lj3 10y agoIMHO, that's the best endorsement for the book I've ever seen. Zed had a knack for pissing off people who spent too much time in theory and too little time building things. I don't blame him for finally charging for it either. It's a good book and giving it away for free got him nothing but harassment and libel. update: Beej's Guide to C[0] is also on that list. [0]: http://beej.us/guide/bgc/output/html/singlepage/bgc.html http://beej.us/guide/bgc/output/html/singlepage/bgc.html
- qwertyuiop924 10y ago#c doesn't spend their time on theory. They spend their time genuflecting before the C standard.
- aidenn0 10y ago##c is the single most pedantic internet forum I've ever been in. Also the only time I've seen someone spell "coördinate" with the Diaeresis in chat was in that channel.
- qwertyuiop924 10y agoThat sounds like ##c.
- zouhair 10y agoThis is the reason they gave to avoid it: Too many factual problems and a presentation that gets you to do things wrongly before being shown how to do it correctly, and not even always then.[0] [0]: http://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be_avoided http://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be...
- qwertyuiop924 10y agoYeah, but this is ##c: when they say "factual problems," they mean that at some point Zed said that a function took an array as an argument, or that the book didn't match up to the letter of the C standard. And "doing things wrong" means not checking the return value of every single syscall you use.
- qwertyuiop924 10y agoThey said the same thing about Build Your Own Lisp In C, and many other books. These are the people who worship the C spec, and will crucify you for daring to claim that your function takes an array as an argument. I'd take anything they say with a grain of salt.
- generic_user 10y agoThat list is maintained by some of the Freenode C regulars. Anyone who has spent time on Freenode C knows to take anything they say with a grain of salt.
- qwertyuiop924 10y ago...which was my point. Freenode #c knows their stuff, more or less, but you follow the same rules you do around Erik Naggum or /g/: keep your head down, be cautious, and show no weakness.
- generic_user 10y agoThere is a significant amount of people on there that are total morons but also total assholes and stroke certain peoples egos so they get a pass.
- qwertyuiop924 10y agoAlso true. However, "idiot" is not the qualifying factor for being on ##c: the qualifying factor is "asshole".
- angersock 10y agohttp://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be_avoided http://www.iso-9899.info/wiki/Main_Page#Stuff_that_should_be... The whole thing seems kinda snarfy and out-of-touch. It's basically single-sentence "Oh this is totally not worth it", which is usually a sign of people on the 'net jerking themselves off over how elite they are. It's just a bunch of folks on IRC showing off. They pan a nice book on implementing a lisp in C and a simple guide from Beej (of Beej's Guide to Network Programming).
- qwertyuiop924 10y ago"people on the 'net jerking themselves off" is a pretty good descriptiob of freenode's ##c. I'll quote Daniel Holden (the author of the book on implementing a lisp you mentioned above)'s words on the matter[1]: This channel is hardly known for being friendly. Generally anything other than K&R is regarded as Socratic corruption. And not checking the return value of malloc is on par with adultery. Nor do they have much concern for encouraging the next generation of C programmers. I remember witnessing a new C programmer ripped for several minutes on the channel for simply mentioning the heap and stack in their explanation. Instantly he was shot down with "implementation detail and not defined in the C standard" and told to ask his question in #unix. The channel is generally a great place to go if you want to be told you're an idiot. 1: http://www.theorangeduck.com/page/ready-fight http://www.theorangeduck.com/page/ready-fight
- PeCaN 10y agoIf that's from the freenode ##c wiki, you should probably take that as a ringing endorsement. ##c is laughable. I'm not sure they actually use C, or just think about the C Abstract Machine and Glorious Specification.
- qwertyuiop924 10y agoI've already quoted Daniel Holden on ##c once under GPP, but his evidence on the matter, deserves, I think, a repost here: I remember witnessing a new C programmer ripped for several minutes on the channel for simply mentioning the heap and stack in their explanation. Instantly he was shot down with "implementation detail and not defined in the C standard" and told to ask his question in #unix. You can find the whole article at http://www.theorangeduck.com/page/ready-fight http://www.theorangeduck.com/page/ready-fight.
- PeCaN 10y agoThe funniest part is that the C in K&R is not really much different, let alone better, than in any of the books they recommend against. I guarantee K&R would be on their list of books to avoid if it wasn't written by… well, K&R. I've used & contributed to Daniel's stuff (mostly mpc¹) and his code is (IMO) quite high quality. ##c is a bit deluded. ¹ https://github.com/orangeduck/mpc https://github.com/orangeduck/mpc
- qwertyuiop924 10y ago##c isn't a bit deluded. They're very deluded.
- eyezick 10y agoSame is said for his Python book as he discourages Python 3; 'Automate the Boring Stuff' is also free and superior