Questions tagged [design-choices]

Justifications and trade-offs of historical hardware and software designs, and their possible alternatives.

Filter by
Sorted by
Tagged with
55 votes
8 answers
11k views

Why didn't the 8086 use linear addressing?

The 8086 used a segmented memory architecture where the linear address was computed from a 16-bit segment number and a 16-bit offset. This greatly complicated things from a programming perspective. ...
  • 9,190
25 votes
5 answers
3k views

Why did the stock Amigas not have a battery for keeping the time/date?

The Amiga computers were advanced machines meant to do all sorts of things, including file management. They had a GUI OS (Workbench) and everything right from the very start. They were not some games-...
  • 251
107 votes
7 answers
26k views

Why was `!` chosen for negation?

It seems that the use of the exclamation mark ! to denote negation started with the C programming language (as far as I can tell from my Google research). Nowhere though is mentioned who and why chose ...
  • 1,079
75 votes
7 answers
13k views

Why wasn't ASCII designed with a contiguous alphanumeric character order?

Anyone who has dealt with strings at a low level (e.g., writing a parser in C), knows that doing so tends to involve frequent checks of—either manually, or through isalpha(), isalnum(), etc—whether a ...
  • 753
59 votes
4 answers
11k views

Why were single quotes ('…') chosen for characters, and double quotes ("…") for strings?

In C, '' is used to denote a character, while "" is used to denote a string. Why was this syntax chosen? I tried to research this using Wikipedia’s Timeline of Programming Languages along ...
  • 643
36 votes
5 answers
11k views

Why is the clock frequency of the PS/2 keyboard protocol so high?

The PS/2 keyboard protocol allows the keyboard to generate a clock rate between 10 kHz and 16.7 kHz. At 11 bits per scancode, 10 kHz is a massive 909 scancodes per second. World-record holder Barbara ...
  • 2,110
24 votes
6 answers
3k views

Why didn’t the 1980s micros use MC68010?

These are all legendary 16/32-bit machines that were introduced in 1984 or later that are running the 68000: Apple Macintosh Atari ST Commodore Amiga Sharp X68000 But the 68010 was already available,...
  • 2,110
23 votes
8 answers
5k views

Why not constant linear velocity floppies?

The outer tracks of a disk are longer than the inner tracks, and could therefore potentially hold more data. Constant angular velocity puts the same number of bits on every track, which wastes much of ...
  • 53.3k
22 votes
5 answers
6k views

Why did mainframes have big conspicuous power-off buttons?

Some fascinating stories in this discussion thread. It starts with discussion about computers overheating, but about halfway through the thread, it switches to discussion of mainframe installations in ...
  • 53.3k
19 votes
3 answers
2k views

What was the role of Commodore-West Germany?

Most of the history of Commodore in personal computers took place while East and West Germany were divided, and Commodore maintained a significant corporate presence in West Germany. While I believe ...
  • 58.8k
16 votes
2 answers
3k views

Why did some CPUs use two Read/Write lines, and others just one?

Many 8-bit processors, such as Motorola's 6800 and MOS Technology's 6502 make use of a single pin to indicate to the rest of the system whether the CPU wishes to read from or write to a memory ...
  • 7,789
16 votes
4 answers
3k views

Why does Pascal have numeric labels?

Pascal was intended, in part, to be a simple language to implement. Some of the design decisions reflecting this are Declarations/definitions must be given in a strict order (labels, constants, types,...
  • 3,387
9 votes
2 answers
2k views

Why did the BIOS load the MBR at 0x7c00?

The IVT is at 0x0000-0x03ff while the BDA is at 0x0400-0x04ff but boot sectors are loaded at 0x7c00. What was at 0x0500-0x7bff that caused this convention? I'm also curious why some MBRs relocate ...
  • 455
6 votes
2 answers
648 views

When was beeping invented, in a user interface sense?

UPDATE: thanks all, lots of good discussion but I think this question is a bit too vague to be answerable. I'm casting my own close vote against it and will re-ask a more specific one. Specifically I ...
  • 2,721
5 votes
0 answers
252 views

What was the first device to "beep" in lieu of tactile feedback to button presses?

I'm splitting this question off of When was beeping invented, in a user interface sense? because I think it's more answerable on its own and I suspect likely to still be computing-related. At some ...
  • 2,721
3 votes
1 answer
830 views

Why were procedure parameter specifications optional in the ALGOL 60 Revised Report?

In Algol 60 procedure declarations, the 'specification' part was optional for by-name parameters. The specification is what gives (loosely speaking) the type of parameter - whether it's real, integer,...
  • 30.5k
2 votes
0 answers
375 views

Why did the Spectrum Next choose Z80 on FPGA? [closed]

I'm curious to understand why the Spectrum Next uses Z80 on an FPGA instead of something like at eZ80? I would have imagined they would choose the eZ80 since it is still a production part. Anyone ...