3 ms·
There were about 36 000 traffic fatalities in the US in 2015. This is inherent to the trillions of miles traveled in affordable machines operated by drivers of
by topspin 11y ago
There were about 36 000 traffic fatalities in the US in 2015. This is inherent to the trillions of miles traveled in affordable machines operated by drivers of variable competence, and nobody has a solution to fix the problem today. Maybe one will emerge, but between now and that day we're going to keep driving and keep killing each other.
Should engineers, admittedly lacking an absolute solution to traffic fatalities, forego seeking designs and materials that reduce the frequency and consequences of failure?
Rust delivers a higher degree of memory safety. It is a better tool in the tool box and arguing that engineers should ignore it because their efforts are inherently flawed won't work, any more than arguing that a new headlamp or traffic light design is futile.
Also, you should understand now what you're up against. The legacy stack is riddled with flaws; every day we face a deluge of security notices, some large fraction of which are caused by memory safety problems. In other words, your opponents in this debate have an endless supply of ammunition.
Good luck with that.
- Alupis 11y ago> here were about 36 000 traffic fatalities in the US in 2015 > nobody has a solution to fix the problem today. You're entire premise revolves around 0.01% of the population. That's not a good basis. There's about 34,000 automobile related deaths annually in the US[1]. There's about 323,000,000 people in the US.[2] The point I'm making, is let's not get carried away with exaggerating how "bad" a "problem" is. According to the CDC, more people die annually from accidental poisoning (about 39,000) than automobile related accidents - but I don't hear all the calls to "solve" that problem. Will things be "safer" written in Rust? Maybe. Does Rust solve everything? Absolutely not. Yes, a lot of bugs are "unsafe" memory access issues, but a lot of bugs are not. Re-writing everything in a pet language that happens to be popular today in 2016 is not a good call. Rust is fairly new, and nobody has any idea if it will stand the test of time. C has, clearly. Instead of getting out our pitchforks, we should rally to guarantee these critical projects are fully funded and staffed with full time developers. That alone, will yield far greater results than some lofty goal of completely re-writing 100's of thousands of lines of code which have been working, tested, and matured for almost 3 decades. [1] http://www.cdc.gov/nchs/fastats/accidental-injury.htm http://www.cdc.gov/nchs/fastats/accidental-injury.htm [2] http://www.census.gov/popclock/ http://www.census.gov/popclock/
- nostrademons 11y ago"Poisoning" in the CDC statistics includes alcohol poisoning and drug overdoses [1, table 18, also see definitions of codes X40-49 and X60-69]. There've been plenty of public health initiatives against this, notably: Prohibition, the War on Drugs, DARE, child-proof pill bottles, pharmacist licensing, the [poison control] OneBox on Google, etc. I think that's pretty good evidence of the grandparent's point: no, you're never going to make anything completely safe, but society can and does put a lot of effort toward harm reduction. [1] http://www.cdc.gov/nchs/data/nvsr/nvsr64/nvsr64_02.pdf http://www.cdc.gov/nchs/data/nvsr/nvsr64/nvsr64_02.pdf
- topspin 11y agoYou're entire premise revolves around 0.01% of the population. That's not a good basis. Mine is the basis of billions of dollars of engineering and untold amounts of legislative and regulatory efforts around the planet. A lot of people seem to think it's a pretty important basis. let's not get carried away with exaggerating how "bad" a "problem" is On one hand you ask others not to exaggerate, next you're talking about pitchforks. The story we're discussing is about someone reimplementing one little 300 line procedure. I made no more of Rust than to call it a better tool in the toolbox. Calm yourself; these pitchfork wielding exaggerators you speak of are fictions inside your head. stand the test of time. C has, clearly The buffer overflows, dangling pointers, double frees, use after frees and leaks recorded daily as CVEs is the most demonstrative thing time has revealed about C et al. If C had past the test of time Rust wouldn't exist.
- pcwalton 11y ago> Yes, a lot of bugs are "unsafe" memory access issues, but a lot of bugs are not. A huge number are. For example: https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-767/GNU-Glibc.html https://www.cvedetails.com/vulnerability-list/vendor_id-72/p... > That alone, will yield far greater results than some lofty goal of completely re-writing 100's of thousands of lines of code which have been working, tested, and matured for almost 3 decades. Windows, the popular Web browser engines, and antivirus software are all examples of systems software that are very well funded. But they still regularly fall to memory safety problems. The converse is also interesting to look at: djbdns and qmail are examples of poorly funded software, but they have had very few memory safety problems. I agree with the general principle that funding helps security overall, though.