Hot answers tagged

102

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 and SMALGOL. But given that these don't use ! for negation, he "might have made it up". I don't suspect there is anything more to it that can be ...


95

The basic issue that paper tape is hard to edit. In theory you can cut the existing tape and splice in a new section, but in practice there is no easy way to find the correct location except by printing the contents of the tape (at 10 characters per second) and searching by hand. People did learn to read the tape hole patterns (they were no harder to learn ...


85

Because it's not important to ... anything. The compilers don't care. The editors don't care. Back in the day, some operating systems didn't even HAVE "file extensions". DOS mandated them, DEC system mandated them. Unix didn't. What's the standard extension for Fortran? For Pascal? For BASIC? Lots of convention, many system specific. But no ...


67

XORing a cursor into a frame buffer (which is what you seem to be calling "inverted cursor") is actually simpler than ORing it in there: when the cursor has to be removed again (to move to another position) you simply draw it a second time, with the same pixels, and it will vanish, courtesy of the XOR logic. If you have ORed the cursor into the ...


63

When colour television broadcasts began (1960s, in the UK; perhaps a little earlier in North America?) there weren't any local devices that customers might want to use. Broadcast TV was the only source of images that any home user could imagine. Adding extra circuitry to handle separated R, G, B and sync inputs (with appropriate protections against overload ...


62

In addition to Stephen Kitt's answer, you can go back even further from Windows 3.1 to the Apple II version of America Online, circa 1989. Certainly not as popular or long-lived as the MS-DOS and Windows versions, but it did exist for the 8-bit platform! While some things were done in graphics mode, most of the text and "productivity stuff" was ...


60

AOL provided (and still provide) their own client, which — at least back then — was called “America Online”. This was available on a variety of platforms, including DOS: (based on GeoWorks) and Windows 3:


60

Using relays to implement logic functions was already quite well understood at that time, and in fact the Post Office type relays were designed to do just that as part of the telephone system. The fact that relays were also very reliable, could run on relatively low voltages, and were relatively power efficient were also marks in their favour. The major ...


57

COBOL IF X IS GREATER THAN 0 AND LESS THAN 99 ...


56

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 Reference above, I can't find an indication of why it was chosen. "The NOT prefix unary operator ! takes an integer value operand. The result is zero if ...


56

But why was it given an English name in Japan Foreign Branding is a common marketing strategy to give a product a more distinguished name. Think 'Häagen-Dazs', a fantasy name with some Nordic 'flair' created in the US by a Polish Immigrant), or like French named 'Au Bon Pain' can be found in many US malls, but not anywhere in Europe. Oh, and then there is ...


55

According to Richard Dale, copy & paste was invented in '73 - '76 by Larry Tesler for Smalltalk-76: Copy and paste in a modeless editor was invented by Larry Tesler at XEROX Parc for the Smalltalk-76 programming environment, in 1973-76. In Smalltalk, when you selected some text you had a large number of commands you could apply to the selection; 'again',...


55

"English" is a billiards term for spin. I assume that adjusting the ball position in the game gave some control over the trajectory of the ball, reminiscent of spin.


54

R&D stuff isn't manufactured (at first). It's usually partially constructed, ripped up, and redone, multiple times, with long testing and debug cycles in between, all the while with payroll running up the tab. Tons (literally) of fried or used components and partial assemblies can go into the junk bin. The specifications then often evolve with the ...


50

The shrinkwrap issue was a vicious circle perceived by the computer industry in the late 1980s to early 1990s. In essence: With many different processors and binary formats, it was difficult for a commercial “killer app” to gain enough market share to bring users to Unix; Without the strong commercial user and software base, there was little incentive to ...


50

This seemingly well-researched article from a design magazine says According to Janoff [designer of the logo], the reason for choosing this bitten apple logo is to prevent people from confusing the shape of the apple with some other fruit like cherry or tomato, having a similar form. It also mentions the byte/bite pun, but says that was just a coincidence. ...


49

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 are machine words (corresponding to the C type int). In B, there were two ways to represent strings in source code: string literals0, which evaluated to a ...


46

It was a pointer arithmetic hack, later abstracted away into a more portable form in some version of Unix; even later, it was adapted into ANSI C. In many languages (like Pascal for example), variadic functions, if they were included at all, had to be handled as special cases. B, which was the predecessor to C, did not have to, because B did not require ...


45

This goes back to early versions of Make, and isn’t specific to GNU’s implementation; as explained by the author of the original Make, Stuart Feldman: Why the tab in column 1? Yacc was new, Lex was brand new. I hadn't tried either, so I figured this would be a good excuse to learn. After getting myself snarled up with my first stab at Lex, I just did ...


45

The 2013 3rd Edition of Programming PHP, by Kevin Tatroe, Peter Maclntyre and Rasmus Lerdorf, might be authoritative here, as Rasmus Lerdorf is the original creator or PHP. Page 2 and 3 show a copy of a 1995 Usenet posting by him with the subject Announce: Personal Home Page Tools (PHP Tools) presenting PHP Version 1.0 to comp.infosystems.www.authoring....


44

It might be important to know that the 3101 was neither a genuine Intel development, nor intended as a RAM - at least not in a way we see RAM today. After all, what use could there be in 1970 for a RAM 30 times faster than average core but quite small, just a few words ... hmm ... what data store can be small but should be fast? Exactly: Registers! The 3101 ...


43

As noted in some initial comments (but I feel fine answering, as I had the exact same ideas when I read the question), this is a general progression of technology but there are two very specific factors for RAM: Core Memory -> Integrated Circuits While many different, very expensive, systems were used in the first computers, including mercury delay lines, ...


42

The performance (except for allowable cable length, see below) was the same between 10BASE5, 10BASE2 and 10BASE-T, and you have the complexity backwards: the coax is simpler than the twisted pair. The key point to remember is that Ethernet uses a shared transmission medium (much as radio does) that can carry only one message at any time. Thus, a transmission ...


41

Specifically concerning EISPACK. what happened was that James Hardy "Jim" Wilkinson in the UK (whose career as an applied mathematician started with practical ballistic modelling in WWII, working with Turing and other computing pioneers, and continued for the rest of his life at the UK National Physical Laboratory, not in some academic ivory tower) ...


39

In practice, 5.25" drives equalled or exceeded the capacity of 8" drives when 5.25" floppy drives started using HD media. The Evolution of 5.25" Drive Systems There are only two different recording media that were ever commonly used in floppy drives: the original media (often called "DD") and the later HD media. Note that when ...


38

there some particular design theory or constraint that made a 32-bit word size attractive for IBM to migrate to? It all comes down to the most basic data type, addressing constrains and, less important, reuse of existing memory technology. The byte size had to be a multiple of 4, as needed to accommodate BCD numbers without wasting space. So 8 was chosen ...


38

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 this restriction made it possible for compilers to know the stack-relative offset of a function's arguments before it had to process any code that used them. ...


37

Punch cards long long long predated paper tape. But there's a practical consideration you're not thinking of. If you had ever used punch cards and paper tape, you'd know: Punch cards can be dropped, and they scatter on the floor. Then you pick them up, put them all face up (by the printing on them) in the same orientation (with the one corner that's cut ...


37

Indeed, early devices such as C64, NES, or IBM PC with CGA adapter did not use interlacing, but simply sent 240p to the TV. And later devices such as the Amiga could send either 480i or 240p. But TVs were not 480p capable, only 480i or 240p. So it was not possible to use 480p. For example, Amiga 500 can send either interlaced 480i for hi-res graphics and ...


34

In V6, the C preprocessor is part of cc, the compiler driver; see the expand() function in cc.c. The directory you linked to contains the source code to the two passes of the C compiler, c0 and c1 (and their floating-point variants, fc0 and fc1), and the optional optimiser, c2. The passes are driven by cc, whose source code is available in the s1 directory. ...


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