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

I should have used a more accurate word than "problem".

There are two sorts of problems in science: coming up with assumptions and answering questions under these assumptions. I was thinking about the second category. Modeling gravity falls in the first category, where problems are a lot like engineering problems - there is no final answer.

However, problems in the second category often have final answers (let's not bring Gödel's incompleteness theorem to the table) once you bring all the assumptions with you. Think about: in classical mechanics, what are the possible planet trajectories? This problem has already been solved, and since it is solved, it is solved for good. Later students can simply learn the solution by heart. You can, of course, insist to go through all the trouble of finding out the answer - that is what physical majors often do anyway - but the point is that you don't have to as long as you trust the science community.

In software development you don't have this luxury. First, you can almost never trust libraries to be 100% bug-free; second, even it really is correct, you always suffer from performance costs from invoking the library. There is no such thing as "performance" in scientific knowledge; indeed, a short proof is better than a long one as long as they are both correct, but they are just as useful in that they show the solution is correct.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: