140 votes

What was the point of separating stdout and stderr?

Because you might not want error messages in your output. According to computer scientist Stephen C. Johnson: One of the most amusing and unexpected consequences of phototypesetting was the Unix ...
user avatar
124 votes
Accepted

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

Why is ASCII this way? First of all, there is no one best sorting order for everything. For example, should UPPER or lower case be first? Should numbers be before or after letters? Too many choices, ...
user avatar
113 votes
Accepted

What was the point of separating stdout and stderr?

You are thinking that all output is for human reading. For instance, take the Unix cpio command. It writes the archive to stdout, which is always redirected to a device or file. It writes the ...
user avatar
  • 2,904
109 votes
Accepted

Why is Windows using CR+LF and Unix just LF when Unix is the older system?

This is covered largely in the history section of Wikipedia’s entry on newlines. Basically there are two primary lineages of operating systems leading to modern-day desktop usage: Windows on the one ...
user avatar
  • 96.5k
104 votes

Why was `!` chosen for negation?

Since the few document trails on this topic quickly run cold, I contacted Ken Thompson. He confirmed that if there was anything he would have been influenced by at the time, it would have been BCPL ...
user avatar
  • 1,562
97 votes
Accepted

Why didn't the 8086 use linear addressing?

For once, I do have a direct source for a "Why didn't they ...?" question. Eric Isaacson, back in the late '80s and '90s, wrote a commercial assembler for the 8086, called A86. (His ...
user avatar
  • 5,963
85 votes
Accepted

Why did the NES not allow rotated sprites?

For each sprite displayed on a scanline, the hardware fetches two bytes from memory, and then clocks the pixels out one by one. The sprite is eight pixels wide, and each pixel is two bits, which is ...
user avatar
  • 34.8k
68 votes

Why did old IBM-PC-compatible computers only have 16 colors available?

The original IBM Color Graphics Adapter (CGA) for the first IBM PC introduced the "80x25 at 16 colors" text display mode for use with output to color monitors like the IBM 5153 (as opposed ...
user avatar
  • 4,563
62 votes

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

According to ASA X3.4-1963 Appendix A, one of the design considerations was: (7) Ease in the identification of classes of characters Furthermore: A4.4 The character set was structured to enable ...
user avatar
  • 5,647
57 votes

Why was `!` chosen for negation?

The ! was around as part of the B programming language, according to the "User's Reference For B" (K Thompson, Jan 1972). Somewhere between BCPL and B, the decision was made to use !. In the ...
user avatar
51 votes
Accepted

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

Why is the clock frequency of the PS/2 keyboard protocol so high? I wouldn't call it high. It's quite in line with similar keyboard speeds - like Amiga operating a 17 kHz. At 11 bits per scancode, ...
user avatar
  • 173k
50 votes

Could we have avoided the whole UTF-16 fiasco?

The designers of Unicode did consider whether 16 bits would be sufficient, and decided that they would be, based on their assumptions: Unicode gives higher priority to ensuring utility for the ...
user avatar
  • 96.5k
50 votes
Accepted

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

For type system reasons, and for compatibility with B. B is a programming language that served as the immediate ancestor of C. The salient thing about B is that it had no type system: all values in B ...
user avatar
  • 17.1k
48 votes

Why are the Nintendo 64 memory cards' batteries *soldered* on?

It's cheaper and possibly more reliable than providing a connector. These are disposable consumer products designed to be sold at the lowest price and highest margin. Your question assumes devices ...
user avatar
  • 10.1k
39 votes
Accepted

Why did post-8008 CPUs not keep the on-chip stack idea?

In short, to better support interrupts, because interrupts were arguably broken (or at least very limited in usability) on the 8008. The direct answer to the question of why you'd move the stack off-...
user avatar
  • 21.9k
39 votes

Why do variable names in BASIC need type suffixes?

TL;DR: Most straight answer: Because it's BASIC A trailing '$'-sign is the syntax BASIC defined when adding strings. Also, the suffix is not only a type marker, but part of the name. In BASIC A and A$ ...
user avatar
  • 173k
38 votes
Accepted

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

What reasons would CPU designers have for choosing these different approaches? It depends on what the designers intended to mark a valid bus cycle, which is the 'leading' signal for decoding. In a ...
user avatar
  • 173k
38 votes

Was leaving all xxxxxx11 opcodes unused on the 6502 a deliberate design choice?

The instruction decode is quite simple on the 6502. If we call the bits in the opcode byte aaabbbcc, then one of the first things that happens is that cc, the two bits you're talking about, gets ...
user avatar
  • 34.8k
38 votes

Why couldn't early C compilers handle variable declarations between statements?

Some early compilers, such as the ones described in the 1974 C reference manual, required that all automatic object declarations within a function precede the first executable code therein. Imposing ...
user avatar
  • 28k
38 votes

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

You specifically mention the Amiga 1200 in your question, but your statement about real-time clocks is not true for Amigas, in general. From 1987, the Amiga was offered in at least two versions aimed ...
user avatar
  • 57.3k
37 votes

Twist in floppy disk cable - hack or intended design?

This was a good piece of production engineering. IBM expected to sell lots of twin-floppy PCs, even after the launch of the XT (personal experience in a UK reseller in late 1984). To assemble a twin-...
user avatar
  • 1,062
36 votes
Accepted

Why did mainframes have big conspicuous power-off buttons?

Yes, huge safety concerns as I remember engineers sitting inside the cabinets of large mainframes while it was running, fully powered, large currents in each cabinet powering fans. Cooling water being ...
user avatar
35 votes
Accepted

Were the dungeons in Legend of Zelda designed to fit together?

As seen in that incorrect† image, the levels seem to merge well. This wasn't a case of "Let's take these shapes, and see if they... whoa! They fit together!" It was more like, "Here's ...
user avatar
  • 571
35 votes

Why did the original design of COM on Windows rely on the Registry?

At that time, developers at Microsoft were still dreaming the dream of version independent management of libraries, so newer, more powerful libraries could replace older, less powerful or buggy ...
user avatar
  • 173k
34 votes

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

man 7 ascii of Linux Programmer's Manual says, Uppercase and lowercase characters differ by just one bit and the ASCII character 2 differs from the double quote by just one bit, too. That made it ...
user avatar
  • 2,924
34 votes
Accepted

Why are the magnetic floppy disk drives (FDD) heads not frictionless?

TL;DR: "Frictionless" Floppies are called Hard Disks (*1), consisting of a hard media platter and a head in distance of the media (flying or otherwise) Floppies are 2D tapes. While slower ...
user avatar
  • 173k
33 votes
Accepted

What aspect of portable floating point did Java back down on?

The range of intermediate results. The Java Language Specification, 2nd Ed. relaxed the evaluation rules for floating-point expressions by introducing the notion of an ‘FP-strict’ expression, defined ...
user avatar
  • 17.1k
32 votes

Why not constant linear velocity floppies?

But as the linked article indicates, while this is used on optical disks, it has generally not been used on floppy disks. It has. Apple's famous Twiggy drive was one attempt to do so. It featured 6 ...
user avatar
  • 173k
32 votes

What was the point of separating stdout and stderr?

In UNIX, which was developed along with C, it is common to redirect the output of a command to a file or another program. For example, ls -a | more or ls -lr > index. In these cases, you would ...
user avatar
  • 5,963

Only top scored, non community-wiki answers of a minimum length are eligible