7

Example with a context (Java: A Beginner's Guide, 6th Edition by Herbert Schildt):

OOP is a powerful way to approach the job of programming. Programming methodologies have changed dramatically since the invention of the computer, primarily to accommodate the increasing complexity of programs. For example, when computers were first invented, programming was done by toggling in the binary machine instructions using the computer's front panel.

I don't think I comprehend that part well enough. To toggle something basically means to switch it back and forth between two different states. But here, I'm really at a loss as to how I should interpret the action of toggling in this context. Plus, the preposition in also throws me off a little bit.

Michael Rybkin
  • 37,600
  • 29
  • 167
  • 310
  • Do you understand what binary is? – Catija May 31 '15 at 16:16
  • @Catija The main obstacle here isn't knowing binary, it's knowing how in affects the meaning of toggling. Prepositions don't work this way in Russian (nor in most languages, I think). I tried explaining the general idea here. The trick for an ESL learner is to learn to hear the "in" as an indication that you should find some way to interpret "toggle" as a verb of motion. – Ben Kovitz May 31 '15 at 22:43
  • Cookie Monster: Congratulations on noticing that there's something odd about "in". Indeed that is the main clue to the grammar. – Ben Kovitz May 31 '15 at 22:44

1 Answers1

13

Here's an example of the type of computer this is probably talking about:

Altair 680 computer

Altair 8800 computer

As you can see, the computer inputs are a series of toggle switches.

So, while we now "type in" information, at that point, you'd have to "toggle in" information.

Catija
  • 25,400
  • 4
  • 63
  • 95
  • You're quite right, of course. But I suspect that at the time people were using such machines, they probably didn't normally talk about toggling in the code/data (more likely they'd just *set it [up]* or perhaps *input it*). So it's not really an established usage - OP's source is being slightly creative, to succinctly convey the clunky nature of early "User Interfaces". – FumbleFingers May 31 '15 at 16:39
  • Hehe...This question belongs on SO. :} – M.A.R. May 31 '15 at 16:43
  • My first job out of college was writing flight simulation code on a PDP11 and while we did have the luxury of punch cards for our normal input method you could still halt the machine and switch in a patch and then continue execution. – Jim May 31 '15 at 17:07
  • @FumbleFingers I heard "toggle in" back when people still entered bootstrap loaders via front panels, and it appears in books and magazines from that era. – Ben Kovitz May 31 '15 at 20:06
  • @Ben Kovitz: But there are only 2-3 instances of the usage there, and they don't start until the 80s - by which time I and many others had already upgraded our hobby computer from the Sinclair ZX80 to a Spectrum. So I still think even those few early instances were also effectively "creative" usages - although the Altair 680 refuses to lay down and die, I really don't think that kind of "UI" was common enough for long enough to establish a usage with any meaningful level of currency. – FumbleFingers May 31 '15 at 21:23
  • @FumbleFingers I think it was mostly heard in speech. More formally, you would say "enter", but _Popular Electronics put it in print in 1976. That "UI" was extremely common for decades. The front panel long predates microcomputers; the Altair copied the design in common use on larger computers. Here are some examples. Here's the IBM 360 front panel from 1965. – Ben Kovitz May 31 '15 at 22:44
  • This is interesting because the meaning of "toggle in" is instantly obvious to a fluent speaker (who has a clue about front panels) even though it's a sort of phrasal verb. Thus phrasal verbs are not simply "lexical items" that need established usage to be part of the language. "Toggle in" was probably invented independently thousands of times—but it doesn't feel like coining a new word. It's just the natural way to apply the existing vocabulary and grammar. But to an ESL learner or a believer in the traditional theory of prepositions, it can seem like nonsense. – Ben Kovitz May 31 '15 at 22:53
  • @Ben Kovitz: I know some of our kit had that kind of "front panel" when I started working in computers in the early 70s - but I was a programmer, so I rarely actually went near the machines themselves (we just gave decks of punched cards to the "operators"). Maybe they did talk about toggling [something] in, but it would probably only have been setting an execution start address. Some of us still talk today about punching in the data, but regardless of when the relevant equipment was around, I've never heard anyone talk about toggling it in. I doubt any dictionary would list the usage. – FumbleFingers May 31 '15 at 22:54
  • This answer is going in my hall of fame of terse, utterly clear, correct answers. (Well, except that the Altair came 30+ years after the first computers, but that's a technicality.) The analogy with "type in" is exactly on target. I think that explains exactly how a fluent speaker understands "toggle in" the first time hearing it (or saying it). – Ben Kovitz May 31 '15 at 22:56
  • @FumbleFingers Indeed the main people who would use this phrase would have been the people responsible for starting up the computer. Possibly it was an Americanism, but see above for why this phrase probably wouldn't get into a dictionary. Well, also, dictionaries at that time tended not to list phrasal verbs. But the relevant principle is that dictionaries can't possibly cover all of these things. The current OED doesn't list it, despite its being well attested in print today, and despite trying to cover uses of "toggle" in electronics. – Ben Kovitz May 31 '15 at 23:14
  • 1
    @FumbleFingers The Altair pictured is late to the game. "Toggling in" was in use years before. Essentially, eight 'toggle' switches would control a byte. Set them in a binary pattern and flip a ninth switch and the byte value would be set. Flip a tenth switch to increment the address or set a second group of switches to set the address, and "toggle in" the next byte. This was primarily for patching memory that was set initially via punch cards or strips of paper tape. We did it on an IBM 1401 long before Altairs and similar could exist. It beat fixing cards, reloading and rerunning. – user2338816 Jun 01 '15 at 03:25