Example: air traffic controller

Programming with Punched Cards - Columbia University

- 1 - Programming with Punched Cards 2005 Dale Fisk. All rights reserved It must have been about 1973. Life at IBM was good, and I was busy doing whatever it is that engineers did then. Suddenly, in the life of our project, something came up that called for a computer program that did not exist, and I was asked to create it. My boss knew I d never written a program before; not unusual since in those days there were very few engineers who knew how to program. I m sure he thought about asking a real programmer to do the job. Maybe he couldn t find anyone available. Or maybe he decided the program would be so technically involved that it would be easier for an engineer to learn how to program than it would be for a programmer to learn how to be an engineer. In hindsight, I think he made the right decision, but at the time he was taking a huge gamble. Could I learn enough, quickly enough, to be the right choice? He told me how much confidence he had in me and that he knew I would do an outstanding job and that it would be a wonderful learning experience for me.

of punched cards. The boxes they carried actually looked more like a tray – picture a box about three inches high, eight inches wide, and maybe fifteen inches long. Walking past programmer’s offices I could see that they had stacks and stacks of punched cards and boxes and boxes of them in their offices. They had nice, neat boxes stacked in

Tags:

  Programming, With, University, Card, Columbia university, Columbia, Programming with punched cards, Punched, Punched cards

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Programming with Punched Cards - Columbia University

1 - 1 - Programming with Punched Cards 2005 Dale Fisk. All rights reserved It must have been about 1973. Life at IBM was good, and I was busy doing whatever it is that engineers did then. Suddenly, in the life of our project, something came up that called for a computer program that did not exist, and I was asked to create it. My boss knew I d never written a program before; not unusual since in those days there were very few engineers who knew how to program. I m sure he thought about asking a real programmer to do the job. Maybe he couldn t find anyone available. Or maybe he decided the program would be so technically involved that it would be easier for an engineer to learn how to program than it would be for a programmer to learn how to be an engineer. In hindsight, I think he made the right decision, but at the time he was taking a huge gamble. Could I learn enough, quickly enough, to be the right choice? He told me how much confidence he had in me and that he knew I would do an outstanding job and that it would be a wonderful learning experience for me.

2 He patted me on the back (probably with his fingers crossed behind his own back) and sent me on my way. The first thing I needed to do was to learn how real programmers programmed. I knew that down the hall was a big room that had two brand new IBM 360 computers, and I knew that the programmers kept walking in and out of that room carrying big, flat boxes of Punched Cards . The boxes they carried actually looked more like a tray picture a box about three inches high, eight inches wide, and maybe fifteen inches long. Walking past programmer s offices I could see that they had stacks and stacks of Punched Cards and boxes and boxes of them in their offices. They had nice, neat boxes stacked in corners and ragged-looking ones poked under tables. Some boxes had pink Cards , others held blue Cards , and more had those boring cream-colored Cards . Some of the stacks of Cards , as well as the boxes, had seemingly random collection of different colored Cards . All had names, usually cryptic, written on the sides of the Cards with a felt-tipped pen.

3 I had seen them flipping through the Cards , looking at them, replacing them one by one. This was Programming ! Figure 1 Punched card program decks I learned that each Punched card described one instruction in the program and that each box could hold about two thousand Cards . The size of a box, then, became a built-in limit - 2 - to the size of a program. More than one box was awkward for a guy (or gal we had lots of women programmers) to carry around. One full box was pretty heavy; more than one became a load. There was another reason to keep this number of Cards as a limit. The Punched card hopper on these brand-new computers could hold just about that amount at one time. Any program requiring a more than one box required that the computer be spoon-fed the boxes in the right order. My program shouldn t be too big, so I wouldn t have to worry about managing more than one box of Cards . I hoped. Writing a program began with a paper tablet of coding forms.

4 Each page of the tablet had about fifty lines on it, and each line on the form would eventually be converted into a Punched card and stowed away in a box with a bunch of other Cards So that s how I began. I went down to the big metal stationery cabinet that Bob, my programmer buddy, had showed me and picked up a pile of coding form tablets to bring back to my desk. I was a programmer! with my How to Write a Program book open at my elbow, I started writing my program. I wrote and erased and wrote some more, and finally I had a stack of dog-eared sheets that I thought should make at least the beginnings of a program. I knew what to do now. I took my coding sheets down to our computer lab. Well, actually I went around to the back door because that s where our keypunch operator worked. She had a room just off the computer lab where she and her keypunch machine resided. I greeted Maria, who I already knew as a wonderful lady with a ready smile, a quick wit and fingers that just flew over the keyboard.

5 She showed me the in basket and told me to come back tomorrow to pick up my deck of Cards . Deck? Like a deck of playing Cards ? I had expected at least a partially filled box! No way could everything I had done be contained in a deck! But, sure enough, when I went back the next day Maria s out basket held my dog-eared coding sheets wrapped around a half-inch high stack of Punched Cards , all held together by a rubber band. Chagrined at the meager size of my card stack, I looked around to see if anyone was watching before picking them up. I took them back with me and carefully set the brand new deck of Cards down in the middle of my desk. They sat there quietly, challenging me to do something with them. What to do next? Maybe I could postpone the next step by playing with these new Cards a bit. I picked up one of the Cards carefully, not wanting to fold, spindle or mutilate it. Maybe I should make sure that Maria had Punched them correctly? I could compare the Cards with what I had originally written on my coding sheets.

6 That sounded good. - 3 - And then, another rude shock. The card I was looking at had little square holes Punched in it as I expected but nothing that told me what the little square holes meant. I knew there was a code to translate from the punches to each specific letter in the alphabet, but manually decoding those punches would take forever! This seemed serious! What if I needed to change something? I flipped through the rest of the Cards and sure enough none of the Cards had any writing on them at all. I took the deck of Cards back to Maria and asked her how to find out what had been Punched into each card . Oh, she said, You didn t ask me to turn on the keypunch printer. If you had, the keypunch would have typed out on the top of each card what the card was saying. Ever helpful, though, she took the deck of Cards and put them into another machine the size of a small desk. This is a Punched card interpreter. She said. It will put that typing you want on the top of each card .

7 And, a couple minutes later she returned the deck of Cards to me. Sure enough, each card now had typed on the top of the card a line of text that agreed with one line from the coding sheet I had given her. Figure 2 Punched card character coding Now what? I knew the next step was to feed the deck of Cards into our IBM 360 computer. Clearly I needed a little guidance, so I went back to Bob and asked what I should do next with my program. First, he said, pointing to the small stack of Punched Cards I had set on his desk, That deck of Cards isn t yet a program. That deck of Punched Cards is what we call a source deck. Your source deck is a description, very detailed and very technical, but still just a description of what you want your program to do. - 4 - Your source deck, he said, has to be read by the computer, and a program called a compiler will look at each card . When it is done looking at all of them the computer will punch out another deck of Cards .

8 That second deck of Cards will be your program. Then I understood. Writing a program is a two-step process, where first a program called a compiler, already written by somebody else, would read my source deck and create another set of Punched Cards , the program. I would then ask the computer to read my new deck of Cards , my program, and the computer would do whatever it was that I was asking it to do! Following Bob s instructions I took my deck of Cards , the source deck, back to the computer lab, this time going to the front door. Actually, by the door was an open window into the lab with a big counter under it, with an in section and an out section. Only a select few programmers were allowed in the computer lab. The rest of us were barred from that temple to technology, so I filled out a request form and laid it, along with my source deck, on the in section. I saw several other similar stacks of Punched Cards there, and a couple big cardboard boxes as well.

9 They were ahead of my request, so I knew I would have to wait for a while. How long? I didn t know. I knew what would happen next. The computer operator, a young guy that spent his entire day inside that mysterious room, would at some point gather up my program deck and walk over to the computer s Punched card reader, a machine the size of a small desk that had a big electrical cable running from it over to the actual computer. I knew which was which because the through the open window I could see that the computer had a bunch of flashing orange and green lights on the front, as well as a bunch of dials and toggle switches that I had once seen the computer operator twist and flip. Figure 3. Computer console is on the far left. The Punched card reader is against the back wall on the right. The cables connecting the various devices run beneath the floor. - 5 - Sometimes he would sit down at a special typewriter a Selectric typewriter that he used to control what the computer did.

10 Remember the Selectric typewriter with its golf-ball type element that danced and spun its way across the page? This particular one was connected directly to the computer and only the computer operator was allowed to use it. A few keystrokes on this typewriter would stop a program. A few more and a new program would take its place! That was one special typewriter. I stood in front of the in counter for a bit, watching through the window as the orange and green lights flashed on the computer console and the computer operator moved things around inside the computer lab. He picked up a big box of paper destined for the printer and disappeared behind the computer. When he didn t reappear I reluctantly I went back to my office. Half an hour later I checked again, and my request form, and source deck, still lay in the in section of the counter. So did all the other decks of Punched Cards I had seen earlier, along with a few that had been added since I was there last.


Related search queries