3 ms·
I shot myself in the foot yet I don't blame the manufacturer for not putting a safety on the gun since I'm the one that bought it with full knowledge of the cav
by corndoge 9y ago
I shot myself in the foot yet I don't blame the manufacturer for not putting a safety on the gun since I'm the one that bought it with full knowledge of the caveats
- teraflop 9y agoIf thousands of people were repeatedly making the same mistake, and frequently shooting other innocent bystanders' feet, I would definitely put some blame on the manufacturer.
- corndoge 9y agothe parents analogy is quite bad since C doesn't shoot you in the foot unless you pull the trigger closer to a gun without a safety, which plenty of manufacturers sell
- simonh 9y agoThat doesn't mean that gun is well designed or worth buying and using. Criticising the lack of such a valuable or even essential feature and advising people not to use it would be fair comment. Right?
- corndoge 9y agonever said C was a great language, merely indicated that it's important to distinguish between a mistake made by a programmer and a failure of the language pretty sure trusting user provided data without validation is the programmers fault regardless of language
- sbierwagen 9y agoYou consented to it, sure. This bug affected millions of phones. It's more like a car manufacturer decided to put a particular explode-y gas tank in a car, because it provided greater performance.
- corndoge 9y agoand they put a note in the manual that says "if you drive over 70mph on a hot day it will definitely explode so don't do that" so if you buy that car and you do that, it's your fault regardless of how poor the car design is
- MaulingMonkey 9y agoThere's likely to be a government mandated recall if your car "spontaneously" explodes - some designs are so poor they fail to meet entirely reasonably regulatory standards. Burying the lede in the fine print is not a get out of jail free card for obvious reasons.
- MaulingMonkey 9y agoMy experience is that most C programmers don't know about many of the caveats about the C programming language. Are you aware that atoi("a"); is undefined behavior? It can crash, it can launch nethack, it can return 0.
- corndoge 9y agoyes I'm aware that parsing a letter as an an integer is undefined behavior, it's in the manual
- MaulingMonkey 9y ago> yes I'm aware that parsing a letter as an an integer is undefined behavior Excellent! > it's in the manual It's not in MSDN: https://msdn.microsoft.com/en-us/library/yd5xkb5c.aspx https://msdn.microsoft.com/en-us/library/yd5xkb5c.aspx It's not in the manpages: https://linux.die.net/man/3/atoi https://linux.die.net/man/3/atoi Cppreference understates it has having an undefined return value, rather than undefined behavior outright: http://en.cppreference.com/w/cpp/string/byte/atoi http://en.cppreference.com/w/cpp/string/byte/atoi Tutorialspoint defines the behavior as returning 0, and fresh2refresh makes no mention of undefined behavior. My eighth google hit for atoi finally, finally, gets it right: http://pubs.opengroup.org/onlinepubs/9699919799/functions/atoi.html http://pubs.opengroup.org/onlinepubs/9699919799/functions/at... If you buy or pirate a copy of e.g. the C89 standard, or refer to one of the free draft versions, it's of course properly documented there too. Neither shows up in the first 50 google results, naturally. And, of course, by google result 9, we're back to square one - incorrectly defining the behavior as being "returning 0": https://en.wikibooks.org/wiki/C_Programming/stdlib.h/atoi https://en.wikibooks.org/wiki/C_Programming/stdlib.h/atoi