3 ms·
Uncle Bob's original article was full of ideas that are just plain wrong. After reading it, I would not bother reading anything written by that author again. S
by dpc_pw 10y ago
Uncle Bob's original article was full of ideas that are just plain wrong. After reading it, I would not bother reading anything written by that author again.
Stuff like:
> Whose job is it to manage the nulls. The language? Or the programmer?
is essentially like asking "Who's job is to provide instructions for the CPU" or "Who's job is to decide about how to allocate registers during software execution".
The responsibility of a programmer (or rather software engineer) is to provide as good as possible solution to a problem. It's definitely not required to do every piece of that solution manually. If there's a way to efficiently offload any job to a computer it should be used. It can be debatable if a given way is convenient, provides good enough results etc. but "who's job is it to (...)" is just silly argument.
People with the attitude like "when men where men and took care of their own NULLs manually" are just backward minded, and ignore the fact that NULL is a nasty hack, and even its creator regrets it.
- axlprose 10y ago> I would not bother reading anything written by that author again. I have to question just how much you've read from Uncle Bob to begin with, because he's by no means the NULL fan you're making him out to be. He's a proponent of immutable/functional languages like clojure for crying out loud. Stop propping up strawmen and spreading fud about authors if you don't actually take the time to understand their perspectives.
- blub 10y agoHe's probably not a NULL fan, but he is like a broken clock always showing TDD. At least if one recommended a "testing strategy", with multiple types of tests, checkpoints, etc it would be somewhat acceptable. Quality assurance is a process consisting of several parts, among them compilers with powerful type systems, static and dynamic verifiers, coding standards and code reviews, model-based code generation and yes, multiple types of testing. How can all that be replaced with TDD? Anyone working on anything that has to be high quality would know it's ridiculous.