4 ms·
> assuming you know what to build in the first place This is the heart of the problem. Nobody knows exactly what to build. Most software development is half
by msandford 10y ago
> assuming you know what to build in the first place
This is the heart of the problem. Nobody knows exactly what to build. Most software development is half initial coding, half bug fixing, and 90% requirements discovery.
Compiler writers actually have it pretty easy once the language is defined, which is a real honest to god spec. Comparing how long it takes (and how much it costs) to write a compiler once the spec is done would be a pretty fair comparison to how long it takes to build a bridge once the design is finalized.
And even bridges can turn into total disasters. Look at the Bay Bridge replacement in San Francisco: https://en.wikipedia.org/wiki/San_Francisco%E2%80%93Oakland_Bay_Bridge#Eastern_span_replacement https://en.wikipedia.org/wiki/San_Francisco%E2%80%93Oakland_...
Or the Big Dig in Boston: https://en.wikipedia.org/wiki/Big_Dig https://en.wikipedia.org/wiki/Big_Dig
- arielb1 10y ago> Compiler writers actually have it pretty easy once the language is defined, which is a real honest to god spec. Compilers are typically developed in-parallel with the spec, exactly because you don't know what you want to spec before you try it out. Optimizers have it even worse - they do not have much of a spec beyond "make it fast, quickly", so all development is trying to find interesting places in existing code.