3 ms·
How many software projects have to deal with gravity? Weather patterns? How many software projects need teams of construction workers to actually build? Differ
by hwayne 9y ago
How many software projects have to deal with gravity? Weather patterns? How many software projects need teams of construction workers to actually build?
Different kinds of engineering have different requirements. Just because the challenges in software are different from those in building bridges doesn't mean we get a free pass on correctness.
- coldtea 9y ago>How many software projects have to deal with gravity? Gravity comes with a pretty little equation, and as far as problems goes is as predictable as it comes. Tolerances of various materials are also well known in advance, and their behavior under different designs and with different levels of stress assigned can be trivially modeled with CAD packages (and even manually). Same for weather. It comes down to a few behaviors (rain, wind, earthquakes of various degrees, sunlight) that people can model, and have been modeling for ages. We have 25+ centuries old buildings that still stand. >How many software projects need teams of construction workers to actually build? Not sure what you even mean here. >Different kinds of engineering have different requirements. That's obvious. The question we ask here is different: sure they are different, but are those requirements equally well defined and equally difficult across software and other engineering fields (like construction)? And to that I say no. Construction has pretty solid, rarely changing requirements (and almost never changing ONCE construction has begun), and works with specific materials with a limited set of interaction. With software modeling the entire universe is the limit as far as complexity goes.
- BeetleB 9y ago>How many software projects have to deal with gravity? A better question is: How many civil engineers need to deal with the fact that gravity keeps changing? The nice thing about most engineering is that the laws of physics are assumed to be constant. A program's universe is the hardware it runs on. When that hardware changes, the equivalent of the laws of physics changes. Amount of RAM, clock speed, number of cores, cache size, etc are all things that you can't assume as constant. Real engineers need not worry too much about deadlocks the way we have to for software. If you have physically moving objects, you can easily design to have things synchronized (gravity doesn't change, friction won't change much, etc). I have plenty of old software that won't work properly on today's PC's because they can't run on fast computers.