5 ms·
My first year at university was the last year studends had to use punched cards. Your programming workflow was: 1) write your complete program on paper 2) gr
by PeterStuer 3y ago
My first year at university was the last year studends had to use punched cards.
Your programming workflow was:
1) write your complete program on paper
2) grab a box of fresh punch cards, find an empty and functioning card punch and type out your complete program onto cards.
3) very carefully pack them and walk them over to a card reader. Yes. I saw on more than one occasion grown men brought to tears because they dropped a box of cards scattering them across the floor and they would have to spend many hours sorting them.
4) stand in the queue at the reader waiting for your turn to read in the cards. In some places you did this yourself. In others you had to hand your cards to an operator that controlled the reader.
5) if you were in the main programming room of the datacenter, you would now walk over to the queue at the line printer awaiting the output of your program. Each output on green/gray continuous linked A3 paper started with a full listing of your code as typed. If there were errors in your code this would be followed by a huge pile of full code repeats indicating were things went wrong. I still think the enormous stack of pages printed in those cases was mainly to shame the programmer as they had to stand there waiting for the relentless ongoing machine gun like soundings of the line printer anoucing your failiure to the chuckles head shakes of the others standing in line. However, if you were at one of the satelite programming rooms spread around the campusses, , now was the time to go home as your output print would be delivered by van in the following batch typically the next day when you would go and pick up your output from all of them lying on a set of tables, hoping yours was not one of the bigger stacks indicating an error had been found.
- comfypotato 3y agoAh, the quintessential punchcard-drop story. Every old programmer has one of those stories. My dad was just a mechanical engineer, and just crunched numbers with punch cards, but even he has stories about worrying about dropping punch cards.
- NoRelToEmber 3y ago> I saw on more than one occasion grown men brought to tears because they dropped a box of cards scattering them across the floor and they would have to spend many hours sorting them. I realize I may be a bit late with this suggestion, but why not number the cards, like the pages of a book?
- adrian_b 3y agoThey were normally numbered. However that means that it was possible to sort them, not that it was possible to sort them (manually) in a short time. Since a card was a program text line, there were frequently many thousand cards in a program and the smallest programs had a few hundreds.
- KRAKRISMOTT 3y agoAnd that's why every poor sod in CS have to learn sorting :)
- deleted 3y ago[deleted]
- Nihilartikel 3y agoBack when I was employed as an office peon for a summer myself and a few interns were tasked with alphabetizing about a thousand file folders. Fresh from my algorithms course, I organized a parallel meat space merge sort. And it went pretty quickly. Everyone started with very small random stacks to order, and then merging the pre sorted stacks was relatively quick mindless work.
- JamesLeonis 3y agoThis is a great example of Computer Science is not about Computers.
- pmarreck 3y ago“concurrent meatspace mergesort” I like it
- darkerside 3y agoThere's an alternative steampunk future where punch cards continued to be the programming medium of choice, and DX is all about better managing the sorting, organization, and secure carriage of punch cards to the supercomputer lab. Yes, a separate lab. After all, for sufficient sizes of data, sneakernet is more efficient than network cables anyway.
- bazoom42 3y ago> they would have to spend many hours sorting them. Given how often you hear about such disasters, I wonder why nobody thought of numbering the cards?
- JonChesterfield 3y agoDiagonal line drawn down the side shows up in some pictures of these
- todd8 3y agoPunching the cards was a pain. The machines could jam and a single mistake would ruin the card and you have to pull it out and start over on a fresh card. So it wasn’t practical to number the cards while initially punching them. There was a designated field for numbering though, FORTRAN ignored columns 73 through 80 for this reason. The ubiquitous cards were 80 columns wide. This is why our programs today must never have lines wider than 72 columns—this honors those that came before us. Oh, and start your code in column 7, Fortran programs used the first 5 columns for numeric labels. IF statements looked like this: IF (Y+Z) 100,200,205 This evaluates X+Y and jumps to the line labeled (in columns 1-5) 100 if X+Y is negative and to the source line labeled 205 if the sum is positive. Note that the IF always has three destinations, making it perfect for programs doing binary search. My first programs were punched with the IBM 026 keypunch machine. This was a machine not really intended to punch program decks. It was for the earlier use of the cards to hold data that would be tabulated, sorted, or collated by IBM tabulation machinery. The later 029 model keypunch was a huge improvement for programming, it even had keys that would punch a parenthesis! There were special file cabinets to store long stacks of cards in tray like drawers. You could pull out a drawer holding maybe 1000 cards and carry/drag it over to be submitted for a run. Smaller programs or data sets were carried around in shallow boxes. I don’t ever remember having a dropped card box disaster, but I would mark my card decks with thick diagonal lines so that out of place cards could be easily spotted. Even a simple, hundred line program might take 30 minutes from the time you handed it over to the computer operators to the time you saw any output (which came out on fan fold wide paper print outs). The operators lived in a big bright room with a glass wall housing the big computer with blinking lights and wore sweaters and could only receive your submitted programs through a small window. The operators literally looked down on us lowly programmers. (The computation centers had elevated flooring about a foot high to hide all the power and cooling lines.) Unless you were special, you weren’t allowed in the secured room where the corporate computer resided. The corporations were very proud of their giant electronic brain—that’s why they put it in the big, bright, cold room behind glass so we could contemplate its power. The corporation might have a second computer, but it would be in a different city (in case of an earthquake or a Soviet nuclear bomb). Because of the slow turn around time, a syntax error would require 30 minutes to discover. Then fixing it would require fumbling with cards to find the error and finding a free keypunch, more blank cards and then punching and fumbling around some more to refactor the code. Thirty minutes later . . . And you find your second syntax error. Turn around time varied greatly, some times I was allowed only one overnight run every couple of days so I wouldn’t see my output until morning. This gave me lots of time to desk check my program. Sometimes I would even find my syntax error before the computer did. Back in the bronze age, programmers didn’t have text editors, Github, or even a file system to store our source on, we just had drawers to hold our cards. This link has pictures of the IBM 026 keypunch (used by the Vikings). http://www.columbia.edu/cu/computinghistory/026.html http://www.columbia.edu/cu/computinghistory/026.html
- sizzzzlerz 3y agoAt my university, there was a clock in the window of the computer center that indicated the turn-around time which was how long a submitted job would take to be processed. During the quarter, it would vary from 5 minutes to an hour. At the end of the term, when everyone submitted their final projects, it would quickly increase from an hour to, sometimes, more than 24 hours. Imagine having to submit your projects on Friday while getting one and only one run each day leading up to it. It was quite stressful.
- ghaff 3y agoYou forgot the part about the part where your error-causing typo had used up your CPU time allotment and you had to beg the sneering grad student watching over the facility to give you a little more computer time. We actually got our printouts more or less right away but computer time was very limited at least for non-CS undergrads basically taking a programming course.