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

Exactly.

We often have the idea of "solved problem" in science, but very few of them in software development (overgeneralizing a bit, any field of technology). This is probably because science is often about "what" (what is the fastest algorithm for matrix multiplication?), "whether" (does P = NP?), while technology is often about "how" (how to implement matrix multiplication efficiently?).

Once you solve a problem in science, you solve it for good. But in technology there can always be "better" ways to solve it, and things keep evolving.




When Darwin "solved" the question of evolution, he did not solve it for good. There has been a lot of work to make it a better, deeper, and more powerful mechanism for understanding biology.

This is true for just about all research.


Science doesn't solve problems in that sense, Darwin didn't solve the evolution question, he proposed a successful theory to explain it and that core idea remains true though modern biologists have gone much further than Darwin ever could as his time was before DNA. To use the word solved just wouldn't be correct in any sense of the word.


That's just simply not correct - scientific endeavour and the scientific method is an ongoing prospect. You never actually solve anything, instead you refine the parameters in which a given solution is deemed correct.

Newton "solved" the equations of gravity, Einstein "solved" them too, and now quantum mechanics is "solving" them yet again. None are wrong, but also none of them make the problem solved.

The idea of a "solved problem" in science is a dangerous one IMHO.


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.


Sure, that's called engineering, and applies to far more than just technology. Engineering is the practical application of science.


can you give an example of any problem in science (not engineering) that is definitely solved?


All that is known in the entire field of mathematics. But yeah, mostly just mathematics. I think sorting algorithms is a solved problem, but you can say that's just math as well.


Even math systems are engineered somewhat: we can always invent a new and better math. It has happened a few times in history.


Well, Newton's laws of motion suffice for non-relativistic motion. Maxwell's equations, I think, suffice for typical electronic/magnetic fields. Judging from all the labs I did or TA'd back then, we have a pretty good handle on friction and inclined planes. While there's a lot of "science at the edges" that's ongoing, much of the everyday, classical things have a suitable solution.

As others have written, modern Engineering could not be done without the existence of such working solutions.




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

Search: