
When I first learned programming ...
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Tell your early programming stories here! Here is one of mine ...
I attended a small college in Idaho (now Northwest Nazarene University) and cut my teeth on a Fortran programming class there (McCracken Guide to Fortran IV). But ... get this ... the school DID NOT HAVE A COMPUTER! Yes, you read that correctly. No computer and no terminals. What we did have was two punch card machines. So when you got a programming assignment you first had to sign up for time on the punch card machines (in 1/2 hr increments as I recall). So you first wrote your program on paper so it was all ready, and then when your time came on the punch card machine you punched one card per line. And of course if you made a mistake there was no backspace (since the holes in the card were already punched for the wrong character) and you had to trash that card and start that line over with a new card. A bit of a game trying to type as fast as you could to get your whole program typed in in under 1/2 hr but also trying not to make mistakes.
So you got your cards punched and put in order. But on the way to class you accidentally drop them in the hallway and they get kicked all over the place as students are rushing to their classes! S#@$! Some footprints and bent corners, but you clean them and straighten them as best you can, put them back in order, and then PUT A RUBBER BAND AROUND THEM to keep them in order! You finally get them in to the teacher. So between getting the assignment and turning the card deck in took 1-2 days. The teacher then stacked all of the student card decks together and drove them over to Boise State University 20 miles away twice per week to run on their computers. Another 2 days to get your results back on 132 column accordion printout paper ... only to discover that the deck ahead of yours had an error in it and the compiler interpreted your deck as data to the previous deck and completely skipped it. So you punch up an EOJ card, put that as the first card in your deck and submit it again. Another minimum 2 day wait. You finally get your results back and see that you had a typo in a couple of your cards. So sign up for more punch card machine time, re-punch those cards, and submit your deck again. Another 2 days or more. You finally get the results back, your program compiled without errors and ran ... but the results are all wrong. So now you have to figure out your logic errors in the code. Maybe you start punching up a bunch of cards with print statements in them and resubmit the deck again to see what is going on. Another 2 days or more. You get the results back, see what is going on that you didn't realize (crap ... passing an integer to a routine expecting a double precision), fix that up, and resubmit your deck. Another 2 days or more. Finally you get results back that are correct and you can submit your correct printout to the teacher for grading.
So the time from the initial assignment to turning in completed work could easily be 2-3 weeks. Of course, multiple assignments had to overlap because of this, so there was something of a production line going with your assignments. One was in design phase, while another was in initial card punch stage, while another was in first debugging stage, etc.
I think the only bright side of all this was that you could get favors from other students if you "sold" them your punch card machine time ...
What's one of your war stories?
0 Commenti
Risposte (3)
Walter Roberson
il 20 Mar 2018
High school, Fortran IV with WATFOR. We started with two IBM KP 29 card punches. Every few days the cards were couriered to a local service bureau, and we got back the fanfold paper. Lather, rinse, repeat.
The computer teacher never read the cards before submitting them, so I also learned to program JCL (Job Control Language), WATFIV, IBM 360 Assembler, submitted some small COBOL jobs to prove that I could. But I got a bit stuck when I worked on interfacing PL/1 with other languages. My friends did the usual run of Snoopy calendar printouts.
Eventually the KP29 were replaced by more modern card punches; perhaps made by Sperry Univac, which had a one-card memory so you could edit before the actual punching. Both the IBM KP29 and the replacement card punches were semi-programmable, if you knew how... and I made it my business to know how ;-)

0 Commenti
Jim Riggs
il 20 Mar 2018
Modificato: Jim Riggs
il 20 Mar 2018
College, FORTRAN IV, on a PDP-11 series mainframe. In my freshman year (California Polytechnic University, Pomona), punching cards was optional, but I took the opportunity to experience card-punching for my first project. (In my sophomore year, they removed all the card punch machines from campus) After my first project, I used the terminal and line editor. The entire campus had to share a PDP-11-series mainframe. Terminals were located all throughout the campus, in building hallways, etc. It was a major challenge finding an available terminal to work on, so that's why many of us developed into night creatures. The only time we could get on the computer was in the wee-hours. To this day, I still am in the habit of working late. After you submitted a job, you would need to go to the library building to collect your print-out. This was the only place on campus where there was an available printer, and only the technical staff could actually touch it. They would collect job output and place them in mailbox-like bins for pick up.
The PDP computer also had one of the first ever computer games - a space war game. But with no graphical display, all of the game information was presented in digital form. You had vector coordinates of your ship and enemy vessels, and you had to compute shooting vectors manually and enter the coordinates numerically. Truly a nerd's game. But given the scarcity of terminals, don't let me catch you playing this game during prime time hours.
2 Commenti
dpb
il 21 Mar 2018
First was a two-week stint in an intro NE course (also w/ McCracken, of course) in which were taught rudiments of syntax and all coding and "running" was via reading each others' efforts and playing computer ourselves.
Then you were expected to know enough to tackle lab projects on the IBM 1620 w/ IBM Selectric terminal but because it was so fragile and there was no line printer the only input/output was punchcard in, punchcard out. The card interpreter was more likely than not to eat a card when trying to generate a printout that way, so one always had the program generate at least two output decks if not three with the hope one might get one through successfully before the output was due.
As per Jim, the 1620 was the only machine available to undergraduates so finding a signup time was again, mostly in the 2-4AM time frame.
Seeing/using a Philco 2000 series when arrived at first employment was therefore a remarkable experience albeit it had no disk, no drum, just 27(1) 7-track tapes...first terminals for engineering staff didn't arrive until nearly 10yr later at place of employment although that was at least 2-3 year behind the mainstream, probably, the programming group had had them for quite some time before management could be made to see the light.
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!