Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Mechanical and Civil engineering requires more up front design than software because of the physical processes involved (plus the consequences of mistakes are usually deadlier). There are more questions with definite yes or no answers in engineering, and engineering uses a more rigorous application of applied mathematics than software engineering.

If software engineering were more like civil engineering we'd spend a lot more time formally proving our algorithms before we implemented them.



There are quite a few projects that do formally prove the algorithm before its implementation, but most of them we don't have access to.

The closest we can easily see is the code JPL uses on their rovers and the associated C coding standard (http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf).

That, and the rest of NASA's software was pretty much done entirely using a waterfall approach.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: