[extropy-chat] Firefox 2 [was: The End of Science]
Rik van Riel
riel at surriel.com
Sat Oct 28 02:09:31 UTC 2006
Robert Bradbury wrote:
> 2. They are *not* catching memory allocation failures in C++. A robust
> system or program will tolerate hardware failures (say a swap drive dies
> and/or no more paging space is available). This is not the case with
> Firefox as it is currently written.
If there's anything I've learned from being a software engineer,
it is that creating software is not an engineering field.
At least, not in the traditional sense. People building bridges
know exactly how every piece of a bridge interacts with every
other part of a bridge.
Software tends to have a lot of complex interactions between
components that were not predicted when the software was created.
Most software creations end up being a surprise, even to the
people who created it. You know roughly what it does, but cannot
predict the corner cases.
Unlike say, bridges, where the engineers tend to know the corner
cases in advance.
I know there are programming and management strategies that are
supposed to result in more reliable software. However, most of
the software built using the highly controlled methods tends to
be rather limited in functionality.
I have not heard of any highly complex pieces of software that
were created in a more controlled way, or are rumored to have
very few bugs.
Maybe the more controlled methods of creating software are simply
too expensive to be feasible for most software?
I have noticed that peer review tends to result in better code,
but that is no panacea either since people tend to not want to
look at bad code :)
Code in some fields appears to be bad regardless of who wrote it.
For example, I have never seen nice code for IRC, and only one of
the dozen or so email programs that I looked at has remotely nice
In short, I am not convinced people know how to put together a
feature rich computer program in a relatively bug free way.
Firefox is more complex than usual, and more buggy than usual...
Maybe the complexity is the problem. Not sure how to fix that
Who do you trust?
The people with all the right answers?
Or the people with the right questions?
More information about the extropy-chat