5 ms·
>>Let me start by saying that unlike Mr. Shaw, I am not a writer. I'm an engineer. Zed Shaw, whilst his approach to certain issues may be questionable, is not
by hoodoof 11y ago
>>Let me start by saying that unlike Mr. Shaw, I am not a writer. I'm an engineer.
Zed Shaw, whilst his approach to certain issues may be questionable, is not "a writer rather than an engineer".
Zed is known as one of the most prolific and capable software engineers around and I have heard his C code for Mongrel 2 server https://github.com/zedshaw/mongrel2 https://github.com/zedshaw/mongrel2 described as being amongst some of the best examples of C code to study, learn and understand (trying to find the link that said that). I hold his work in high regard.
I don't agree with everything that Zed does and think it's a pity that his combative and dogmatic nature detracts from the core message about his work, but the author of this blog post is off track if he is trying to suggest that Zed doesn't know what he is doing and is "a writer" rather than "a software engineer". Zed is a (cantankerous) software engineer and a writer.
The attempt to discredit Zed's credentials just discredits the blog post and its author. When criticizing, criticize the work rather than the person.
- wyclif 11y agoThis is the second time this post has been voted to the front page of HN. It's puzzling. Are C programmers supposed to find this compelling now, when they didn't the first time around? I wonder if it's simply a case of: 1. Zed Shaw is controversial on HN 2. I know, I'll write a post that disses Zed Shaw 3. ??? 4. Profit!
- voltagex_ 11y agoSorry, I didn't find it the first time around. I think it's generating good discussion. I didn't post it to diss anyone. The article seemed a little off to me, and I thought HN would enjoy picking it apart
- knowtheory 11y agoAt this point people just keep trying to pick fights with Zed. He's not out there picking fights with others (well any more than anyone else). And all of the posts pointing this out all disclaim that "while they don't agree with Zed about some things..." It's just kind of sad from a rhetorical perspective. It's clear that the guy who wrote this post doesn't agree with Zed's pedagogical style, but that doesn't make Zed's book wrong in detail or approach. It just means this guy doesn't agree with the style. And he's not upfront about it either due to a lack of introspection or forthrightness.
- hoodoof 11y agoPeople who behave in a combative and dogmatic manner have not programmed in to themselves a check to ask "does this issue really matter?". There is no decision making code in their brain to work out if something REALLY matters. Many things, even small things, matter enough to go to war. They also value the war/being right/the point more highly than they value maintenance of positive human relationship. What they don't understand is that people forget the issue and remember the grace (or not) with which you handled it. Often they are not very good at empathizing with others and find it hard to imagine what it is like to be someone else interacting with them. I know cause I am one, hopefully reformed.
- reality_czech 11y agoI agree that the tone of the blog post could have been less combative, but essentially all of this complaints are valid. Zed's does introduce things in the wrong order and in a very confusing fashion. The rant about C strings is also completely misguided and would lead a novice off course into using ugly thickets of macros and crappy frameworks rather than simply using C strings correctly. Any C function will misbehave if passed invalid input... and things like valgrind, which Zed is clearly well aware of, make C-style strings much less dangerous. Zed also made many completely unjustified attacks on the K & R book, which is a well-written, easy to read book which introducse C concepts in a clear and readable way. Even if this was justified (and it's really, really not), that all belonged as a separate blog article rather than as part of an alleged "tutorial." Finally Zed published a "rebuttal" to all of this in which he basically says that C sucks, is not worth learning, and he's learning Go. So the author quite reasonably asks, why would you want to learn C from someone who doesn't like the language or think it's worth learning? I think we can all agree that Go (or some other high level language) probably is the better choice for most projects. But after all, there are still many places where C will continue to be used like the Linux kernel. Those people would be much better off reading K&R, as old as it is, than anything Zed has written. And his attacks on the K&R authors are just sad.
- ealloc 11y agoIt sounds like more than a just a "style" disagreement. In the discussion of C strings, the author is arguing that Zed's arguments are nonsensical, maybe even objectively wrong. I write a lot of C, and the author is right in this case about C strings and undefined operations. In C you must arrange your code so that you always supply valid input to functions, there is no way around it, and it is perfectly safe once you do so. I'd rather see discussion of the actual arguments, rather than complaints about the article's tone. :)
- caf 11y agoI don't believe your paraphrase of the line you quoted from the author is accurate. His own words, strictly read, imply that: - Shaw is a writer; - The author is not a writer; - The author is an engineer. It doesn't imply anything either way about Shaw being an engineer.
- knowtheory 11y agoThe full quote is "Let me start by saying that unlike Mr. Shaw, I am not a writer. I'm an engineer. Thus, this will be written from that perspective." By implication, Zed's book is not written from the POV of an engineer (otherwise why would this be worth noting in any way shape or form? The topic under discussion is already software engineering).
- hueving 11y ago>Zed Shaw, whilst his approach to certain issues may be questionable, is not "a writer rather than an engineer". He didn't say Zed wasn't an engineer. He just said that he isn't a writer so the article will be written in an engineering voice. People do the same things with presentations. "Sorry, I'm not a public speaker, so this might suck."
- necrodawg 11y agoI think it's a pity that people can't see past him being "combative and dogmatic". I don't agree that it takes away from the core message of his work at all. A lot of really smart people are cantankerous, and often they can afford to be.
- youngtaff 11y agoThe only time I've met Zed I found him to be a perfectly pleasant and non-cantankerous person. My understanding of his approach to teaching is that it's based getting people to do things that bring results and then getting them to understand why after - which I think is a perfectly sensible one for beginners
- bphogan 11y agoIt is very good. There's an educational philosophy around this that state that people who are new need to know "why should I care" first, then "how do I do it" next, followed by "ok, why does it work that way?" last. When you're cooking, you follow a recipe. When you are learning to be a cook, you graduate to figuring out why you do it the way the recipe did. And when you get really good, you start saying things like "Well, I wouldn't teach people to cook THAT way! That's wrong!" :)