Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Speaking as someone who doesn't know C, hasn't read K&R, but who (usually!) has decent reading comprehension, it _does_ come across this way.

He's completely explicit about what he's doing and why. I don't understand how people can read that and still feel that he's being unfair.

Maybe I'm just too literal-minded.



Calling string manipulation functions buggy and broken because they fail when you don't pass them a string is both wrong and silly.


How do you test that something in C is a string?


You don't, because you can't. That's basically the same as the beginner question, "How can you test if a pointer has been freed?"


It was a rhetorical question. What's the sense in having functions that operate on "strings" if you can't figure out what a "string" is at runtime? It's much saner to have functions operate on "strings that are 80 characters or less" or "a structure containing a integer `length` and an array of `length` chars."


What's the sense in having functions that operate on "pointers to valid memory" if you can't figure out if it's "valid memory" at runtime?

The point is that the function is not buggy. You may not like the specification for it. You may think it should be designed differently. This is not the same as the code being buggy.


The same way you test that a pointer is intialized to a valid value. You don't.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: