Hacker News new | past | comments | ask | show | jobs | submit login

>There are a few things that we have learned in the last 60 years about writing programs where there is pretty much universal agreement:

>We agree that it's better to find problems earlier rather than later.

Agreed.

>We agree that people are awful at managing memory in programs.

Nope, manual memory management can be done properly and this is not rocket science.

>We agree that code reviews help find bugs.

Sure, but this is not the only way and not always the most efficient.

>We agree that on any project that requires more than one person, communication costs dominate.

Nope, this is a blatant over-generalization.




> Nope, manual memory management can be done properly and this is not rocket science.

Outside of NASA (often, literally rocket science!), where has manual memory management ever been done properly? I don't think that it ever has. For that matter, I would be unsurprised if even NASA had manual memory management failures.


Even NASA apparently has rules against dynamic memory management in critical systems.

> 3: Do not use dynamic memory allocation after initialization.

https://sdtimes.com/nasas-10-rules-developing-safety-critica... https://news.ycombinator.com/item?id=4339999


high performance trading systems use the same approach

(of course: failure is less catastophic than it would be for NASA!)


Simply in video games.

We use custom allocators and simple allocation policy, often with arenas and other region based system.


Video game industry?


The exploits in MMO Servers and security workarounds seem to prove otherwise.


I think this also ignores that video games are _vastly_ more complicated than the space shuttle - from a "computers" perspective. The did some very impressive things with some novel and primitive computers, but the amount of "state" that is being kept track of and data flowing through those computers is tiny.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: