Ask HN: Most regrettable design decision in computer industry?
I think that there is a type of design decision that cause a lot of trouble and trivial benefit.
If designers had been aware of problems, the world would have saved tons of time and money.
For example:
Big-Endian and Little-Endian:
The difference of endian forces developers to be careful of target architecture. If early processor vendors had communicated and established which is the standard, there would have been less trouble and no need to invent byte order mark(BOM).
32bit IP address:
Of course it is difficult to judge how many devices will be in the world, but sometimes I have an uneasy feeling about shifting to IPv6. I think that the industry will experience confusion and need to devote much effort than we think.
What do you think is most regrettable design decision in computer industry?
12 comments
[ 3.7 ms ] story [ 41.0 ms ] thread- 2 digits for years of 4 digits
- 32 bits ints for counting dates since epoch
http://qconlondon.com/london-2009/presentation/Null+Referenc...
Daylight Savings Time
All the other design decisions are not regretable within the context of a computer industry, since they just promote more invoicing. On the contrary, the best thing you can do, is to create more such design decision, so you can charge customers more: to implement those design decisions, to reimplement them in a different language for a different platform, to reimplement them when the new extended version of the design decision becomes necessary, and so on. If you make a good design decision, you're set for life.
GOTO
Buffer Overflows
DRM
The Unix guys originally chose option 2. To them it made sense because it used fewer extra bits and it allowed you to do strings of any arbitrary length. Unfortunately, every single buffer overflow bug is because of that decision.
http://web.mit.edu/~simsong/www/ugh.pdf
Note I am a Unix//Linux fan myself, but it was really eye-opening to read that doc. (it also confirmed some of my early suspicions on what I perceived to be various design flaws).
Also the book was released in the early 90s', and since then, some of the issues discussed in it has been fixed in later releases of *BSDs' and Linux.
It is still an enjoyable read :)