3 ms·
For people that think that "C is not the problem": http://queue.acm.org/detail.cfm?id=2010365 http://queue.acm.org/detail.cfm?id=2010365 This is C thing, that
by mamcx 13y ago
For people that think that "C is not the problem":
http://queue.acm.org/detail.cfm?id=2010365 http://queue.acm.org/detail.cfm?id=2010365
This is C thing, that have a lot of problems. In pascal, no problem.
And the worst?
IS STILL A PROBLEM. Decades after.
And this is only one thing.
The other bug:
http://www.slate.com/articles/technology/bitwise/2014/02/apple_security_bug_a_critical_flaw_was_extraordinarily_simple.html http://www.slate.com/articles/technology/bitwise/2014/02/app...
Is a C problem. No just the goto. YEARS AFTER, still here. IS the "brace" thing. Is not mandatory.
C have a lot of stupidity built-in (ie: Bad by default):
http://www.drpaulcarter.com/cs/common-c-errors.php http://www.drpaulcarter.com/cs/common-c-errors.php
http://www.andromeda.com/people/ddyer/topten.html http://www.andromeda.com/people/ddyer/topten.html
Some of this are not corner cases, and could be say are unnecessary to fight them decades after. You know, if B turn to C, why not turn to something better? Instead, the inertia (like happend with javascript) is push and push doing things the hard/dumb way because, well, all that people that have worked better from DECADES, they are wrong.
- ArkyBeagle 13y agoYou either have an epistemology about defects and practices to prevent them to the best of your flawed ability or you don't. If you don't like 'C' then don't use 'C'. You really, really need an epistemolgy. I mean absolutely no disrespect, but railing about choice of language ( although I love the links you provided; heads on pikes outside the city wall ) falls flat. There are entire quadrants of computing for which 'C' is a grindingly horrible choice. OpenSSL for one is not one of them. For path dependent and beyond-our-control reasons, 'C' is just about the only choice for that. 'C' programs should be invisible and close to the wire. Examples like these should give us courage in the face of pressure to let go of something too early, while that still small voice is nagging you "It's not really done."
- mamcx 13y agoHave good practices is good. Part of it, is not use a tool that could blow up your whole leg and drag a massive multi-million dollar pandemonium to the whole world (hyperbole Off). Look, is clear that C, as a concept or tool, is a necessary thing. Close to the metal and all that, great. But consider this exactly like the same OpenSSL bugs: it have a problem, is patched, never again. C don't have that. Have not improve in safety or remove any bad behavior in a decent way. Not deprecate things, not nothing. Just " 'C' is just about the only choice for that.". That is bad!. So imagine if our only choice for hosting is Win3.11, and it continue towards Win90 and DON'T fix some very dangerous and stupid things. This is what my rant is about. For contrast (no just talking about pascal, ada and others -also old- saner, safer, can be close to the metal, languages), see what have happened with Obj-C. It start horrible, but slowly is moving to something more ok. Now, I don't have problems because a bad release, the language remove that pain. The syntax is improving, slowly, but improving. The compilers are moving to something better. That is what I'm talking about.
- ArkyBeagle 13y agoI am quite sympathetic. We oldsters actually expected Modula-2, Obj-C or Ada to take off in the '80s. That didn't happen. The "reentry curve" for them was too steep and they burned up. 'C' didn't. It's the canonical "worse is better." Turbo Pascal had good market share, but was eclipsed by 'C'. We really did have to squeeze every cycle back then; 'C' was better because you didn't have to do as much raw assembly. The cast of companies was largely established before even Windows; you were more or less encouraged to write TSRs. 40 miles uphill in the snow both ways to school! :) I expect that the sheer mass of 'C' code out there creates quite a problem for wholesale replacement. So many computer things have been swept away; I doubt Linux is going anywhere. One suspects that the "cockroach" nature of 'C' is why it's still here... Oberon is still out there; but perhaps the better thing is to simply increase the resources of the OpenSSL community.