Slashdot Mirror


One-a-Day-Compiles: Good Enough For Government Work In 1983

theodp (442580) writes "Simon Allardice takes a stroll down coding memory lane, recalling that when he got started in programming in 1983, hand-writing one's programs with pencil on IBM coding sheets was still considered good enough for British government work (COBOL, Assembler forms). Allardice writes, 'And when you were finished handwriting a section of code — perhaps a full program, perhaps a subroutine — you'd gather these sheets together (carefully numbered in sequence, of course) and send them along to the folks in the data entry department. They'd type it in. And the next day you'd get a report to find out if it compiled or not. Let me say that again: the next day you could find out if your code compiled or not.' So, does anyone have 'fond' memories of computer programming in the punched card era? And for you young'uns, what do you suppose your C++ or Java development times would be like if you got one compile a day?" The other way you could program in 1983.

230 comments

  1. In the late 70s by Anonymous Coward · · Score: 2, Informative

    We started with two languages. One was APL\360 which was interactive and fast for debugging. The other was FORTRAN IV on punched cards, which was an overnight batch sort of thing. I still think APL was far better, once you could wrap your head around the mathematical details it entailed. With APL, it was always better and faster (in programmer time and processor time) to work in parallel with array operations than to break them into loops of scalar operations like you'd have to do with FORTRAN..

    1. Re:In the late 70s by Arnold+Reinhold · · Score: 5, Insightful

      The punched card era ended for me in 1975, when I started working on Data General Nova minicomputers at Computervision. But I spend more than a decade before that with cards and keypunch machines. I never let anyone else punch in my programs, as I usually found some errors when I typed them in myself. Card decks weren't dropped often and it wasn't that big a deal. Dropping a deck is not an effective way to shuffle it. I'm more nervous about my online source files being munged by accident. The overnight or 24 hour turnaround was common, but possible to work around. I spend many nights after mid-night at the MIT computer center in the late 1960s, when hour or even half hour turnarounds were possible. One spent the time waiting socializing or helping others find their bugs. During summer jobs at NASA MSC, I found a Honeywell 316 that wasn't being used much and could get time on it all to myself when needed. In the early 1970s my employer had an IBM 1130 and we took turns using it, so turnaround was not an issue there, though it could be when software was to be installed at a client. Finding ways to get around obstacles in your path was a valuable skill then as now.

    2. Re:In the late 70s by GerryGilmore · · Score: 2

      Actually, Data General had a line of card punch and reader machines (I think they were OEM'ed, though) in the late 70s. I know because I was DG Field Engineer and had to work on those during election cycles. That's why I knew what "hanging-chad" was very early in the 2000 election fru-fru.

    3. Re:In the late 70s by K.+S.+Kyosuke · · Score: 1

      Just wait, now that we have explicitly parallel hardware, explicitly parallel languages like APL might get a nice comeback. I suspect that the assorted higher-order operators of APL-like languages are much more easy to compile into parallel code than Fortran even with all those toy auto-vectorizers.

      --
      Ezekiel 23:20
    4. Re:In the late 70s by Ravenger · · Score: 2

      My first computer program was written on optical cards in the late 70's. I was 11 years old, and our maths teacher showed us how to write simple basic programs.

      We'd write them out by hand, work out the ascii code in binary for each character of the program line, then using a soft pencil would painstakingly fill in the 'holes' for the binary code of each character on an optical card. One card for each line of program.

      These cards were sent off to a university to be batch-processed on their mainframe. If you were lucky you got your output a week later with vaguely sensible results. In my case I think I only got a print-out back saying 'syntax error'.

    5. Re:In the late 70s by Jane+Q.+Public · · Score: 2

      Back in those days I was an undergrad in engineering, which meant I didn't often get to use the computer, except in the required Computer Science classes. In the theory classes we actually turned in things like hand-coded PASCAL programs; the teachers (or rather, graduate students) then "compiled" them in their heads and issued a grade.

      Passwords obtained from notebooks by looking over other students' shoulders were a precious commodity. Computer time was carefully rationed, but access to the keypunch machines and cards was not, so you could write all the Fortran programs on cards you wanted. You just could not normally run them.

      Once you got to 200-level classes, you could actually get some computer time, strictly for those classes. CPU time was still rationed, but not as closely. They figured you were a n00b so you'd probably run a few infinite loops from time to time. But if you had left-over CPU time for your class, you could run some of the "fun" card stacks you did in your spare time (if you didn't tell anybody). And especially if you had a "borrowed" account password from an upperclassman.

      Punching cards was a real PITA. Especially if you got a "dumb" keypunch. Click the "load" button, wait for the card to load, then type your cards one character at a time... oops! Hit "reject", hit "load" again, retype your card. If you were lucky you got on one of the "verifier" keypunches, which had some simplified error-checking, and if you made a mistake you could hold down "copy" up to the place where you made the error, then it would discard the old card and you continued with the new one.

      As OP says: input was punch cards. One "line" per card, and the first 7 columns of each card was reserved. (Because Fortran.) Output was paper! Only! You went to the window in the computer lab the next day and if you were lucky they ran your batch and you got your output. So you were VERY careful to punch correct code.

      Dropping a stack of cards was a major disaster. And if somebody was mad about something, one way they would get back at them was to mix up their cards. Even one card out of place would ruin a compile. So everybody learned these tricks very quickly: (1) you keep your card stacks firmly wrapped in both directions with rubber bands. And (2) you draw (anything with diagonal lines, like your name) on the side of your stack with a Sharpie, so that you can detect tampering at a glance.

    6. Re:In the late 70s by Anonymous Coward · · Score: 0

      All the minicomputer companies offered card readers as options, usually supplied by third parties, but we did not need them. The big change was that CRT terminals and disk drives had become cheap enough for routine use like program entry and source code storage.

    7. Re: In the late 70s by Anonymous Coward · · Score: 0

      I still have a deck of cards with a FORTRAN II program dating from 1967-1971. It ran on an IBM 1130. The operator had to retrieve the FORTRAN compiler deck, place it in the input hopper - followed by my program - and then load and execute the job. Strictly batch processing. If you were lucky you got to see the printout in a few hours. It's no wonder I carried a slide rule (this was pre-calculator, of course).

    8. Re: In the late 70s by Arnold+Reinhold · · Score: 1

      Maybe you are thinking of the earlier IBM 1620? The 1130 had a "pizza platter" disk drive and the Fortran compiler was stored on disk, as was your object program.

    9. Re:In the late 70s by Anonymous Coward · · Score: 0

      K. S. Kyosuke: You've been called out (for tossing names) & you ran "forrest" from a fair challenge http://slashdot.org/comments.p...

  2. Huh? by LWATCDR · · Score: 0

    Wow. You do know that terminals and PCs where common in 1983. Great way to make work.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:Huh? by Anonymous Coward · · Score: 0

      The article mentions that they were a bit behind the times.

    2. Re:Huh? by Geoffrey.landis · · Score: 2

      Wow. You do know that terminals and PCs where common in 1983. Great way to make work.

      Yes, '83 was well into the "time share" era (remember "computer terminals"?), with minicomputers and Personal Computers also around, but the PC not yet ubiquitous (in '83, that would have been the IBM 5150-- still sold, back then, mostly to homes, not businesses). If the British Government was still doing hand-written code punched in by "data entry" workers, it's because of inertia, not because that was state of the art.

      --
      http://www.geoffreylandis.com
    3. Re:Huh? by jellomizer · · Score: 3, Insightful

      Yes but they were expensive.
      A B&W Dumb Terminal could cost about a grand, A PC would be about 2 grand.
      When a company bought a computer back then, they didn't plan for a 4 year life cycle, but because these systems cost millions of dollars, they planed for 10+ years of usage out of it.

      Secondly there wasn't much trust in the computer, and most programs were not meant to be fancy UI but straight number crunching. So a lot of the work was done by had as to have a paper backup.
      That said these old programs were smaller, and had less flaws, because they were so carefully done.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:Huh? by Anonymous Coward · · Score: 0

      This reminds me of a story about a friend who transferred work to a bank in Germany about 5 years ago, there was one guy who would take clients information down on paper, then later type it up on a typewriter and then take that and type it in on the computer.

      When asked why he didn't just use the computer and forget the paper and typewriter he replied "that's the way we've always done things" and refused to change his process.

      There's the "if it ain't broke don't fix it" side but then there's the "that's the way we've always done things" side, I wonder which side the British Gov't was at back in '83

    5. Re:Huh? by show+me+altoids · · Score: 1

      I started as a freshman in Computer Science in 1981 and we had to use punched cards for the first semester. We had an IBM 4341 and started off in Watfive (the successor to Watfor, Waterloo Fortran). They had IBM 3277s and later 3278 terminals, but the intro class didn't get to use them until the next year; I was right at the tail end. Once again, when I got my first job in 1986 I had to use punched cards for 6 months until my Secret clearance came in because until I was cleared I couldn't log on. My boss just put his job card at the front of the deck and they would grab me the printout afterwards. This was probably against the rules, but we didn't deal with Secret data, nevertheless the rules were it was a secure computer and you had to be cleared to log on. After that, you guessed it, it was a 4341 departmental mini-mainframe with 3277 and 3278 terminals, and there was a large loud line printer and 9 track hand mounted tapes. Good times.

      --
      I feel sorry for people that don't drink, because when they get up in the morning, that's as good as they're gonna feel
    6. Re:Huh? by gewalker · · Score: 2

      In 1979 I worked at a Fortune 200 company with a couple of IBM 370s. In our computer programming department, about 20 programmers shared 2 3270 terminals. You could hand-write coding sheets to have it keypunched, but turn-around was a day or two. Dumps & snapsdumps were common debugging tools.

    7. Re:Huh? by cardpuncher · · Score: 3, Insightful

      >terminals and PCs w(h)ere common in 1983

      No they weren't.

      The IBM PC was introduced in 1981. You couldn't do much with it, certainly not much related to mainframe programming. They were very expensive for what they did. Minicomputers existed, but they also didn't cross over mainframe territory.

      People with heavy data processing requirements were mostly using DOS/VSE on S/370 and 4300 mainframes. No timesharing in DOS. It was still extremely common in industry to have people sitting with coding forms that were then passed to data preparation teams for punching. I've sat with teams painstakingly writing DOS JCL onto coding sheets.

      If you were a larger user that could justify the investment in MVS, you could potentially use the Time Sharing Option, an interactive environment with a reputation for being cumbersome and inefficient - you'd only extend the "luxury "of using it to a comparatively few select people.

      Computer time was also extremely expensive. Cambridge University wrote their own version of timesharing (http://en.wikipedia.org/wiki/Phoenix_%28computer%29) for their (early) S/370 in order to support a larger number of users and time on it was still so restricted that usage was "priced" to reflect demand at different times of day and CS students would either have to work at 3am or make extensive use of cards or other offline data entry to get their projects completed within the allocated budget.

      Whereas there were minicomputers and early personal computers around, they were scarcely to be seen in what was still the predominant environment of the computer industry - the (IBM) mainframe shop.

      Actually, the British government tended to prefer homegrown procurement and more of its staff were likely to be working with George 3 (http://en.wikipedia.org/wiki/GEORGE_%28operating_system%29), which had a far better interactive environment than IBM offered.

    8. Re:Huh? by jc42 · · Score: 1

      Wow. You do know that terminals and PCs where common in 1983. Great way to make work. ...

      Yeah, outside of government and corporate environments they were becoming common. I think the main point of this story is that in those environments, access to computers was still done via paper, with the DP department's priesthood the only only ones allowed to actually touch the computing equipment.

      In 1982, I had some interesting experiences as a computer "consultant" to a big American company that I won't name (because they considered themselves among the highest of high-tech at the time). Their computer was the usual big IBM machine, and the DP people could do a lot of work from terminals. The rest of the company did everything by sending printed pages to DP, where the "keypunch operators" typed the data in (via their terminals, but they still called it keypunching) and fed to batch runs. They were slowly introducing terminals to the rest of the company, because some people had caught onto what was becoming possible. The terminals let a select few access the computer directly, and read the results of their batch runs on their screens. I was part of a small team of programmers brought in to write code that expanded this capability.

      One of the things I did that amazed them was to provide a few programs that actually displayed the data from the computer's databases, so they could for the first time actually read the data that the "keypunch operators" had entered, and see the typos that plagued their operations. But what really amazed them was when I showed them how they could edit the data on their screen, hit the Enter key, and the computer's data was modified. This was much faster than printing out reports, marking them up, and sending them back to the keypunch operators. We had to make the method of doing this unobvious, though, because the DP department would have gone insane at the idea of this end-run around their data-entry process. Users were still sending in the original data to the keypunchers, though, until I finally showed them how they could "edit" a non-existent record using the same tool.

      A part of this that was more interesting was that when our team wrote new reports for them, we included an extra output file: We looked for redundancies in their data, and wrote code that crossed-check it, with comments on inconsistent data going to the "Dubious Data Report" output. When we showed this to the users, they were at first horrified that it was possible. Then they slowly realized what could be done with our "data display" tools that could also edit the data. They started asking for the runs with the main reports suppressed, and just the dubious-data info printed, which they took to their terminals. When the data was clean, they finally ran the jobs to get the main reports printed.

      Some time after I left the project, I was told by one of the guys who stayed longer that eventually the DP people had discovered what we'd given to their users, and they were outraged. But it was too late; their users had learned some of the marvels that their computer was capable of without the intervention of the DP priesthood.

      Funny thing was that we'd worked primarily with top management, who were overjoyed with the orders-of-magnitude improvement in their DP operations that we'd achieved. They were actually quite aware of the difficulty of introducing such new technology into their own "high-tech" company. That's why they hired outsiders to do the job that their own DP department wasn't capable of understanding.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    9. Re:Huh? by bzipitidoo · · Score: 4, Interesting

      In 1987, university budgets and aged professors made for an experience that was not much faster. PCs were a precious resource. Grad students got PC AT clones (286s) and undergrads sometimes got the use of an old PC XT clone.

      But at least one old professor didn't believe in PCs, so for his classes students shared an IBM mainframe (a 3090 as I recall) with admin. We had green screen terminals, but results were printed and the printout placed in 1 of 100 pigeonholes, according to the last 2 digits of your SSN. Admin had 2 levels of priority on mere students. The system increased the priority of an unrun job every 3 hours, so between 8 AM and 5PM, it took 6 hours for us to get back the results of a job run. After hours, performance was on the whole much better, but could still vary. Might get a result in a few minutes, or might still have to wait an hour or more. Couldn't continue working after midnight. University budgets dictated that computer labs had to close for the night. Each dorm had 2 or 3 terminals available all night long, but there you couldn't get back any printouts. You didn't want any evening classes, as that cut into the best times to use the mainframe. Weekends were good, if you didn't mind giving up the best times for a little leisure.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    10. Re:Huh? by show+me+altoids · · Score: 1

      People with heavy data processing requirements were mostly using DOS/VSE on S/370 and 4300 mainframes. No timesharing in DOS. It was still extremely common in industry to have people sitting with coding forms that were then passed to data preparation teams for punching. I've sat with teams painstakingly writing DOS JCL onto coding sheets.

      If you were a larger user that could justify the investment in MVS, you could potentially use the Time Sharing Option, an interactive environment with a reputation for being cumbersome and inefficient - you'd only extend the "luxury "of using it to a comparatively few select people.

      You didn't need MVS to do time sharing. 4300 series IBM mainframes ran VM/CMS which wasn't as hefty as MVS, true, but it could support many users.

      --
      I feel sorry for people that don't drink, because when they get up in the morning, that's as good as they're gonna feel
    11. Re:Huh? by rk · · Score: 1

      I had a job as late as 1994 writing programs for company with an old IBM System/38. The AS/400 that IBM would sell to replace it was one they considered useful for up to about 15 concurrent users. We had 200-300 on our System/38. I would send a 4000 line RPG program to be compiled to the queue at 9 am and it would finish at about 4 pm. The three other programmers and my boss were all in the same boat. We tried to make the case to even get a tiny 15k dev AS/400 box, which would have an ROI in less than 5 months, but the senior management just saw the dollar figures and balked. That's how I learned to program in C on Unix, since I was friends with some people in product engineering who had some Sun boxes and pretty much had nothing else to do for 6 hours a day.

      Never underestimate the power of stupidity. :-)

    12. Re:Huh? by rsclient · · Score: 1

      More like 3K for a terminal, and 5K for a PC.

      --
      Want a sig like mine? Join ACM's SigSig today!
    13. Re:Huh? by flyingfsck · · Score: 1

      Yes, 1983/4 was probably the last year of the punch card machines in government.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    14. Re:Huh? by Ichijo · · Score: 1

      >terminals and PCs w(h)ere common in 1983

      No they weren't.

      Yes, they were.

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    15. Re:Huh? by K.+S.+Kyosuke · · Score: 1

      You couldn't do much with it, certainly not much related to mainframe programming.

      I suspect you could have used them as full-screen editors for mainframe code, and to punch out whole programs automatically. I've read somewhere about people who were doing just that to avoid the hassle with punch card accidents.

      --
      Ezekiel 23:20
    16. Re:Huh? by Anonymous Coward · · Score: 0

      In 1987, university budgets and aged professors made for an experience that was not much faster. PCs were a precious resource. Grad students got PC AT clones (286s) and undergrads sometimes got the use of an old PC XT clone.

      Meanwhile, MIT freshmen were working with Scheme on HP machines with 16 MB of operating memory.

    17. Re:Huh? by rubycodez · · Score: 1

      Guess again, the IBM System Unit 5271 (commonly called the 3270 PC) was PC XT with card it in to hook to mainframe and emulate 3270 was *introduced* by IBM in October of 1983.

      The University I attended still had punched cards for the Honeywell mainframe in 1983, they finally got terminals the next year.

    18. Re:Huh? by trb · · Score: 1
      The article talked about 1983. In 1981, you could get the Cadillac of ASCII terminals, the Ann Arbor Ambassador, for about $1000. In today's terms, you might call that a dumb terminal, but in those days, dumb terminal was an LSI-ADM3A, and Ann Arbor Ambassador was the hacker's choice. The LSI ADM-3 cost about $1000 in 1975.

      See: http://terminals.classiccmp.or...

      You also had bitmap terminal options like Bell Labs Blit/Jerq and BBN Bitgraph that had Motorola 68000s but used them as display processors, sort of like an X Window System terminal, but with their own custom windowing systems.

      By 1983, Sun, Apple, and dozens of other companies were selling fancier personal computers with UNIX and other OSes based on the Motorola 68000 series and other CPUs, but their cost was more like $10,000-$30,000.

    19. Re: Huh? by Anonymous Coward · · Score: 0

      In 1988 my university was still offering correspondence courses in computing. So it was like that, but with a week or two each way postage for the coding forms and compiler printouts from some developing country. Probably worth double checking your code before submission. Now they require you to have access to a computer.

    20. Re:Huh? by OldPappy · · Score: 1

      Prior to 1980, I worked in a shop that ran DOS/VSE on a VM/CMS machine, can't remember which model of IBM 360 it was though. Under VM/CMS, you could do time sharing. No need for punching up cards.

    21. Re:Huh? by operagost · · Score: 1

      A Commodore 64 was $595. :-P

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    22. Re:Huh? by steveg · · Score: 2

      You might be underestimating the cost of a PC. I bought my first PC in 1982 and it came out to almost exactly $3000. That *was* upgraded a bit -- it had *two* floppy drives and they were double sided. *And* I upgraded the memory to 256K, and got a CGA card and an amber monitor.

      I was still using punch cards in school (FORTRAN and PASCAL) as of 1978, but turnaround was much faster than overnight. It seldom took more than two or three hours to run my several hundred millisecond program.

      --
      Ignorance killed the cat. Curiosity was framed.
    23. Re:Huh? by Anonymous Coward · · Score: 0

      3270 terminal was introduced in 1971. if you were mainframe programming,
      the cost of the terminal was chump change.

      http://en.wikipedia.org/wiki/IBM_3270

    24. Re:Huh? by hairyfeet · · Score: 1

      And THAT, along with the VIC and TRS80 is what REALLY caused computers to explode and become as common as they are today. Sure your big monolithic businesses had their IBM 360s but there wasn't enough of them to spur huge growth, IIRC an IBM exec in the late 60s predicted selling a couple dozen units a year, with those numbers everything is gonna be conservative.

      But then came commodore and Tandy and suddenly every SMB was getting PCs. I started out writing a basic bookkeeping program for my dad's TRS and the next thing you know I'm supporting and servicing half the SMBs in town and suddenly computers were everywhere, and it was all thanks to the gamers snatching them up and keeping the competition high and prices low. i would argue that is why we see X86 everywhere now, DOOM,Quake, the rise of the 3D cards, I had customers from 94-06/07 who were going through a PC a year or more chasing that ultimate FPS and all those extra cycles made it easy to write good business programs, one market helping the other grow. Hell look at what is pushing the mobile market, its all those people wanting to play cool games on their tablets and phones. Hell if all you want to do is surf and watch YouTube a phone from 2011 can do that, want to play the latest game? You better have some decent hardware.

      For good or ill I think that will be coming to an end soon, just as X86 became so powerful that a 5 year old CPU and $150 GPU can run just about everything out there so too will the mobile chips hit the same wall, where you just can't get any better without blowing the power budget or making games inanely expensive to develop, what will come next? Will it be a "how low can you go" attempt to drop power, or will it be bringing more and more features into the chip like what AMD is doing? Who knows but it should be interesting to watch while looking back on how far we've come.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    25. Re:Huh? by ralphdaugherty · · Score: 1

      " IIRC an IBM exec in the late 60s predicted selling a couple dozen units a year, with those numbers everything is gonna be conservative."

      I think he said there was only a need for about six computers worldwide. Period. Didn't see any business in it, from what I recall reading. And it was much earlier than that, before the 360 project.

    26. Re:Huh? by Anonymous Coward · · Score: 0

      >terminals and PCs w(h)ere common in 1983

      No they weren't.

      Yes, they were.

      1983? Terminals were common, PCs were not.
      You might see one PC in many places, but PCs doing useful work in a business environment were not common. For one thing, useful software was rare.
      That's a nice history in the link you provided, but most of those devices were toys that could do no useful work.

    27. Re:Huh? by Anonymous Coward · · Score: 0

      Wow. You do know that terminals and PCs where common in 1983. Great way to make work.

      Terminals and PCs were common in 1983?
      It's like saying airplanes and horses were common in 1904. It's true, but misleading.

    28. Re:Huh? by AJWM · · Score: 1

      PCs were surprisingly common in 1983. Consider the Apple II and various CP/M machines had been around for quite a few years at that point.

      Sure, they were still struggling to gain entrance to big businesses which were bastions of the mainframe (although more like with 3270 type terminals than card decks by that point), but small businesses loved them. Businesses were buying Apple II's as "Visicalc machines" in huge numbers, let alone the number of Wordstar boxes out there. Sure, it would be another few years before everyone and his dog had one, but by 1983 there were plenty around.

      --
      -- Alastair
    29. Re:Huh? by Yakasha · · Score: 1

      I had customers from 94-06/07 who were going through a PC a year or more chasing that ultimate FPS

      Well, I hope you're enjoying the house I helped you buy. :)

    30. Re:Huh? by Arnold+Reinhold · · Score: 1

      From the IBM History FAQ, page 26: "Q. Did Thomas Watson say in the 1950s that he foresaw a market potential for only five electronic computers? A. We believe the statement that you attribute to Thomas Watson is a misunderstanding of remarks made at IBM’s annual stockholders meeting on April 28, 1953. In referring specifically and only to the IBM 701 Electronic Data Processing Machine -- which had been introduced the year before as the company’s first production computer designed for scientific calculations -- Thomas Watson, Jr., told stockholders that “IBM had developed a paper plan for such a machine and took this paper plan across the country to some 20 concerns that we thought could use such a machine. I would like to tell you that the machine rents for between $12,000 and $18,000 a month, so it was not the type of thing that could be sold from place to place. But, as a result of our trip, on which we expected to get orders for five machines, we came home with orders for 18.”

    31. Re:Huh? by Lando · · Score: 1

      In 1983, I was using a modem to log into tymnet to get to compu-serve to play games, chat, etc. There were multiple bbs system around etc The Apple and commodore had already been out for years. And this was all consumer stuff. I remember playing star trek games on the mainframe terminals as far back as '76. To think that there weren't plenty of ways to remotely access a system at this time is clearly someone that didn't play with the stuff at that time. By the time the IBM PC was introduced in 1981 there were already loads of people running bbs's for fun. IBM was rather late to the show personally.

      --
      /* TODO: Spawn child process, interest child in technology, have child write a new sig */
    32. Re:Huh? by hairyfeet · · Score: 1

      Sadly no house because while you were chasing FPS I was chasing the ultimate bass tone and British amps be expensive yo ;-)

      --
      ACs don't waste your time replying, your posts are never seen by me.
    33. Re:Huh? by Anonymous Coward · · Score: 0

      K. S. Kyosuke: You've been called out (for tossing names) & you ran "forrest" from a fair challenge http://slashdot.org/comments.p...

  3. ah, those were the daze;-) by airdrummer · · Score: 4, Funny

    i started on punchcards in college on a cdc mainframe: drop the deck in the tray outside the machine room, operator periodically runs them, puts the output in the out tray, hours later...

    i improved my turnaround by dating 1 of the operators;-)

    1. Re:ah, those were the daze;-) by ShanghaiBill · · Score: 1

      i started on punchcards in college on a cdc mainframe

      Me too. But that was the 1970s, not the 80s. Using punch cards in 1983 was idiotic.

    2. Re:ah, those were the daze;-) by WalrusSlayer · · Score: 1

      Me too. But that was the 1970s, not the 80s. Using punch cards in 1983 was idiotic.

      Idiotic yes, unheard of, no. When I started as a freshman undergrad I was enrolled in a music school that was part of a state liberal arts college. By that time I had done a ton of programming on my TRS-80 in both BASIC and Z-80 assembler on my own. I considered taking some comp sci classes, but they forced everyone to take a course that involved programming on punched cards on the mainframe.

      Needless to say, my reaction was "screw that!", and I went on with my studies.

      By the end of sophomore year it was clear that (a) I wasn't going to make a decent living as a musician, and (b) I know how to work a computer, may as well get a piece of paper that says so. By that time they had dropped the punched cards stupidity and I went on to earn a double-major in CS and Music.

    3. Re:ah, those were the daze;-) by ConceptJunkie · · Score: 1

      I took a Fortran class at Virginia Tech in 1983 that used punch cards. And you couldn't run your own jobs, so it was literally the same as "one compile a day" described in the article. Drop off your deck and come back the next morning to find you had a syntax error on card 2...

      It was especially depressing since I'd been writing BASIC on an Apple ][ for years. It was probably one of the last classes that used punch cards.

      --
      You are in a maze of twisty little passages, all alike.
    4. Re:ah, those were the daze;-) by perpenso · · Score: 1

      i started on punchcards in college on a cdc mainframe

      Me too. But that was the 1970s, not the 80s. Using punch cards in 1983 was idiotic.

      Similar story here too, but my experience was not idiotic at all. We only had to use punch cards for the first homework project in the Intro to CS class. The instructor said it would help us understand why many things are the way they are, and we would have a ready supply of bookmarks for years to come. Do I need to mention that bookmarks were once pieces of paper that one stuck in a paper book? :-)

    5. Re:ah, those were the daze;-) by Anonymous Coward · · Score: 0

      I worked at a large (perhaps that's redundant) Hughes site in 1979 and one of the programs I was enhancing/maintaining had been written by my boss and he just liked cards - he could keep them in his office and feel that they were "safe" (after all, fires never happen, water leaks never happen, there are never earthquakes that destroy buildings or render the sufficiently damaged that no one is ever allowed back inside them to get stuff).

      We had RJE stations, most with multiple readers/printers/punches sprinkled around the complex and you would leave the card deck on the counter and every so often (30 minutes I believe) the operator was supposed to pick up all the decks and submit them via a card reader. But, most of the time, the crusty old operator at my local RJE station just sat there doing nothing - you put your cards on the counter and he would just look at you instead of deciding "hey, I'm bored stiff, I might as well pick up the cards and submit the job - at least that will delay complete boredom for a minute or two".

      Then, one day, on a hunch I smiled at the guy and made some very limited small talk ("How about those Yankees?" or something similar). That didn't get my cards picked up and submitted until the "appointed time", but every time I went to drop off cards or pick up listings I'd say "Good Morning" or "How's it going?" or something like that (occasionally with some limited small talk consisting of a sentence or two). Within three days, he would immediately get up and take my cards and submit them and if I hung around, often the job would complete (not necessarily successfully) and the job listing would start spewing out within a couple minutes and he'd pull it off and hand it to me and I'd chat with him about inane stupid stuff for a couple minutes while the job was running.

      I learned a good life lesson from that. People would regularly demand that their jobs get run "now" or that he get their listings off the printer so they could have it now because it was "important" (it was the cold war, delaying the calculations on the design of a new torpedo might have jeopardized the country - who knew?) and he would just point at the clock but more subtle manipulation worked much better. Although, I hated it when one of the "demanders" showed up because he couldn't, for political reasons, run my job and not the other person's so usually mine sat there until the other person left (and, still, just my job got run before the appointed time).

      (Nope, I'm not a cute female and I'm pretty sure he wasn't interested in me and I know I wasn't interested in him beyond his ability to access the reader and the printer!)

    6. Re:ah, those were the daze;-) by RabidReindeer · · Score: 1

      i started on punchcards in college on a cdc mainframe

      Me too. But that was the 1970s, not the 80s. Using punch cards in 1983 was idiotic.

      It was about 1983 that we first began to get terminals and go to online text editing, although I'd worked on a TTY-based minicomputer in college. Before that, 3 compiles a day was a VERY good day. Even after, printouts were only dumped in the bins every couple of hours and since those 3270 terminals were expensive you had to sign up for one.

      One of the largest shops in town had union keypunchers, so programmers there couldn't actually keyboard anything. I don't know how long it took for them to go interactive.

    7. Re:ah, those were the daze;-) by RabidReindeer · · Score: 1

      Bookmarks? Those things made great XMAS wreaths!

    8. Re:ah, those were the daze;-) by Rene+S.+Hollan · · Score: 1

      1979-1980. Punched cards. CDC 7600. If one was lucky one could get time on one of the Decwriters and work interactively. Getting paper before someone stole your seat was another story. Pair programming became popular for that reason.

      --
      In Liberty, Rene
    9. Re:ah, those were the daze;-) by Chris+Mattern · · Score: 2

      Hey, I took that class! The professor graded you on how many runs it took you to make your program work, which he could do as all your runs had to go through him: One or two runs an A, three runs a B, four runs a C...

    10. Re:ah, those were the daze;-) by Chris+Mattern · · Score: 2

      Oh, and you had to include your flowchart and coding forms. If you didn't have your flowchart and everything all properly done, it got returned unrun (but it still counted as a run for your grade).

    11. Re:ah, those were the daze;-) by DanielOom · · Score: 1

      The good thing was that while the terminals were occupied most of the time, but the card punch was mostly free, so you could keep working on your program. The downside was the enormous amount of paper printed.

    12. Re:ah, those were the daze;-) by organgtool · · Score: 1

      So the professor advocated taking the safest route possible and doing the bare minimal amount of work to get the program functional in the fewest compilations over encouraging students to explore more experimental forms of development and attempting to go beyond the minimal requirements of the assignment. At the time, that may have made sense, but I'm glad I learned to develop at a time when I could be graded on the quality of my work rather than the number of compilations it took me to complete.

    13. Re:ah, those were the daze;-) by Anonymous Coward · · Score: 0

      I lost marks by only having an arrow head at the end of a line connecting two boxes, and not having on in the middle of it.

    14. Re:ah, those were the daze;-) by Anonymous Coward · · Score: 0

      I learned COBOL on a PC, and the number of times you compiled a program counted against your mark - but if you rebooted as soon as you saw an error the compilation wasn't recorded...

      Sadly that doesn't help in production.

  4. 1983 was not the "punched card era" by NotDrWho · · Score: 2

    That was in the 60's and early 70's.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
    1. Re:1983 was not the "punched card era" by Lawrence_Bird · · Score: 1

      I was going to say this too.. though it might be more accurate to call it the twilight of punched cards. The transition to using DTE was pretty close to complete though availability of terminals in some cases would see fall back to cards. Cards continued to be used for data in the business world a bit longer.

      And that Brit example does sound a bit elitist. Certainly academically you could punch up your code and toss it to the operators as much as you wanted and it would be run as other jobs permitted.

    2. Re:1983 was not the "punched card era" by OffTheLip · · Score: 2

      Depends on location and means. I took some programming classes at a NC public university in 1983 where we used punch cards for FORTRAN 77 programs which were batched and sent to the mainframe in Chapel Hiill for overnight processing. One job/run per day was normal. It paid to be a careful programmer.

    3. Re:1983 was not the "punched card era" by perpenso · · Score: 1

      That was in the 60's and early 70's.

      Nope. I was Computer Science in the School of Science and we used terminals, except for the first homework assignment in the Intro to CS class. They wanted us to have used punched cards once to help us better understand why some things are the way they are. However in the Computer Information Systems program in the School of Business they were still using punch cards for regular classwork in most classes. They only got to use terminals in some upper division classes.

    4. Re:1983 was not the "punched card era" by Ronin+Developer · · Score: 1

      Punch cards were still being used as late as 1984...probably not much longer.

      I grew up in the era of punch-cards (1970's). My mother was a key-punch operator and was responsible for translating the handwritten code from the programmers as well as customer data into punched card format. It was also how and when I learned to program - I was in 4th grade and had an interest in computers. A programmer (and, department head) took interest in helping me learn. He would spend a little time with me each week to teach me assembly programming on the IBM 360. Then, he would would give me an assignment where I would work on writing a program which he would have punched and run. We used flowcharts...no interpreters or IDEs and I translated into assembly by hand. I had to "run" each program on paper first, following the flowchart, setting and updating variables and writing output. Making mistakes was costly in terms of time. Once he was satisfied, it would be punched and run. Yes, the results came back a day or two later (when, they weren't running other jobs). If there were errors, he would point out the error in the output and send me back to correct the code.

      What I took away from this was learning how to determine requirements, design and code. I learned how to think things through before laying down a line of code. I learned how to code correctly and accurately to avoid errors.

      1977 - I learned to program on an Altair flipping toggle switches. I was going to build one for myself. Then, the first TRS-80's came out.

      1980, while in high school, we had an HP that took both cards and tape. Most kids taking the computer course had to write their programs on cards in BASIC as there was only one terminal. We got TRS-80 and Commodore Pets later that year. The HP was seldom used after they arrived.

      1982, I owned my very own IBM PC as was programming in Basic, Assembler, Forth, C and Turbo Pascal. Two 5 1/4 inch floppy drives and 64 MB of RAM with an 8087 math co-processor, an amber monitor and 300 baud modem.

      In 1984, at Drexel University, we still used cards on a Prime for coding in Fortran until they were able to get enough terminals - never had to use cards again. Then, the entire freshman class received the first Macs. It changed everything.

      Today's generation has the luxury of very fast PCs, lots of memory and storage, modern languages and compilers and interpreters we stone-age caveman developers could only dream of when we started.

    5. Re:1983 was not the "punched card era" by Jahta · · Score: 1

      True. But things were still pretty basic in the 1980's. On PCs compiling and linking (memory overlays anyone?) could take forever. There was a "conspiracy theory" that compiler/linker suppliers were secretly owned by coffee companies! :-)

    6. Re:1983 was not the "punched card era" by Pinkfud · · Score: 1

      We still used them in 83 where I was. We had to code by hand on coding forms, then we had to make our own punch cards on IBM Model 29s. The target system, an IBM 360, had a tempermental card reader that would sometimes spew the cards all over the place. Gathering them up and resorting them was a real treat. But we did get to see if it compiled on the spot. Whether it gave the desired output, well that was another matter.

      --
      The world is my oyster. That's why it's always in a stew.
    7. Re:1983 was not the "punched card era" by NotDrWho · · Score: 1

      Yeah, but by 1983 it was a learning exercise more than a day-to-day reality. A lot of college programs still make their students take COBOL today. But I wouldn't call 2014 "The COBOL era."

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    8. Re:1983 was not the "punched card era" by frisket · · Score: 1

      Twilight certainly. In 1983 I was working for United Information Services, a data-processing bureau service in London, subsidiary of United Telecom of Kansas. We did have a few machines that still ran punched cards, but my dev work was interactive database front-ends for engineering and finance applications, coded in Fortran on an A-J VDU attached to a DEC-10. We also had private network access to a couple of Crays and some IBMs in Kansas, and a basement full of DEC-10s somewhere in PA. We would occasionally get customers come in with a deck of cards, but the last time I had had to deal with them (the cards) in anger was when I dropped a box of them in college years earlier. However, I can well see that government computing would then have been a considerable way behind the curve.

    9. Re:1983 was not the "punched card era" by perpenso · · Score: 1

      In the school of business they did their first two years on punch cards. That is not a learning exercise.

    10. Re:1983 was not the "punched card era" by Lawrence_Bird · · Score: 1

      "and a basement full of DEC-10s somewhere in PA"

      The DECSystem 10/20's were wonderful machines (though with a few security holes). There is still a guy in the US that runs an emulated one.

  5. /android $make by pushing-robot · · Score: 5, Funny

    Let me say that again: the next day you could find out if your code compiled or not.

    So not much has changed, then.

    --
    How can I believe you when you tell me what I don't want to hear?
    1. Re:/android $make by Darinbob · · Score: 1

      To be honest here, this actually happened in my previous job. C++, very heavily templated, and a compiler that did not do very well with C++ templates in terms of speed (and even worse on windows for a particular reason). For some of the PCs it was an overnight compile, and even for the fastest PCs we had it was several hours. Converted it all to using g++ instead and the builds dropped to about 40 minutes on a slowish PC and there was much rejoicing.

      One big effect of things being slow is that programmers jumped through a lot of hoops to avoid changing particular header files that everything used, since doing so meant several hours wasted. So there were a lot of bad stuff in the headers that I really wanted to fix but would put off until just before a long weekend, and others would repeat function declarations in several files rather than update the header file.

      It also meant people were slow to update code from source code repository, putting it off for a few weeks, as updating would usually mean a long compile.

      Usually people would work on several branches at once so there'd be something to do while waiting for a compile, or work on docs in the downtime, or only kick off the build before lunch or going home.

  6. We would all be exponentially less productive by Anonymous Coward · · Score: 0

    Oh, wait, programmers were way less productive back then. I don't get it why "some" programmers think it somehow equated to disciple and quality ..

    Ahhh... can't belive I fell for this *** flamebait

    1. Re:We would all be exponentially less productive by uncqual · · Score: 2

      Although I would never want to return to the old days, one thing "high turnaround time" environments do is force developers to carefully desk check their code before compiling it. In this process, most developers (including myself) would find logic errors that testing would probably never find (even very obscure race conditions).

      Now, far too many developers skip this step (and code reviews are too superficial) because it seems to get the project "done" faster while in high turnaround time environments skipping this step would mean that the project would likely never complete before it was cancelled due to coast overruns. Now, the customers find those bugs (at which time it either becomes a crisis or the customer just puts up with it and has the sense that "this software is crappy" which can be corrosive to future sales).

      It takes quite a bit more discipline to do the desk check now.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    2. Re:We would all be exponentially less productive by lgw · · Score: 2

      Well, there were coping mechanisms. I did mainframe programming in the 90s where an assembler job took hours in the queue - so two-a-day. We just fixed simple bugs directly with a disk sector editor (no butterflies required), in parallel to the source fix, and moved on to the next bug. Once things looked good, or your day's patches became too tangled to progress, you submitted your assembler job.

      Then you moved to your other project. That's the key, you know. We were productive because we'd just do 2-3 bugs in parallel. Make progress on 1, submit job, make progress on 2, submit job, see if 1 really looked fixed, nope, submit job, and so on.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  7. Confetti on the Charles by paiute · · Score: 3, Interesting

    There was a day at the end of the term when the students in a chemical engineering course (10.something) coming back over the Harvard Bridge would take the rubber bands off the stacks and stacks of punch cards accumulated while writing FORTRAN programs for the course and toss them off the bridge. There was usually a stiff breeze and the results were satisfying.

    I took an introductory version of that course. Punch a hundred cards out on the big old typewriter workstation thing. Take the stack to the computer window. Come back next day for the wide printout. Unfold and see all the fucking errors. Repeat. Repeat. Repeat. All failures separated by a day or a weekend.

    --
    If Slashdot were chemistry it would look like this:Cadaverine
    1. Re:Confetti on the Charles by Peter+Simpson · · Score: 1

      I was at UMASS/Amherst in the 70s. I did the card deck thing for the first couple of assignments. Then I realized that the Teletype terminal in my room (yes, I was a true nerd...had my own Teletype) was connected to the very same computer that the cards were fed into. Why, I thought, couldn't I type the card images into a file from my terminal, then submit *that* as a job? Yup. Worked perfectly. I never punched another card.

    2. Re:Confetti on the Charles by Anonymous Coward · · Score: 0

      Oh boy, reminds me of a sad day. There was a guy we called "Script on Cards". He used a roff/latex type word processing program called Scripts on the IBM for his dissertation, as a crude word-processor. One day, he dropped his deck. Tears were shed.

    3. Re:Confetti on the Charles by anonymous_wombat · · Score: 1

      There was a dorm at U of Penn in 1979 where people would dump their cards from the indoor fifth floor balcony at the end of the term.
      I avoided CS until my last semester, when they moved to terminals.
      Still, it was satisfying watch the cards spin as they fell to the floor.

  8. Ugh by DrPBacon1294 · · Score: 0

    My initial response was 'Ugh. It's not THAT hard to write code that compiles properly, especially if you have a whole day to write it.' but then again, I was a bad programmer for a long time, and it takes a lot of bad compiles to get through that phase...

    1. Re:Ugh by Arker · · Score: 3, Insightful

      I think you learn more effectively that way though. It's not really all that hard to sit down with a cpu reference and a pen and some paper and write out a program by hand, checking your work at each step, and wind up with a working program written in longhand hexidecimal. It's time consuming, of course, but it's really not all that hard if you focus and spend the time.

      The biggest thing is just mindset and expectation. If it's your mindset to just spew something rough out and then start debugging it, that's what you will do (and you will produce a lot of bugs, only some of which will have to be fixed in order to compile.) You will probably learn less and more slowly, though.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    2. Re:Ugh by Anonymous Coward · · Score: 0

      I reckon you've never tried to hand-write significant amounts of code, otherwise you wouldn't think that way. It's nothing to do with being a bad programmer; without a syntax-highlighting editor to help you, are you seriously saying you think it's easy not to make any typos, or miss any parentheses or whatever in a few thousand lines of code? Maybe you have OCD or something, but normal people do not find that easy.

    3. Re:Ugh by Anonymous Coward · · Score: 0

      I first learned used card punch machines. In high school it was overnight compile and run on the city's comptroller machine running FORTRAN. If you wanted "immediate" feedback, you would go there on Sunday for a few hours to to able to edit and recompile. Later in college I bought a used card punch machine so that I could write programs at home. I also recall taking the printout of the program stack with me for lunch so I could review it. Stepping away from the lab helps you focus.

    4. Re:Ugh by Arker · · Score: 1

      I got started on an 8-bit Sinclair machine. I grew up on a farm and I remember taking my notebook (the paper kind) with me everywhere on the farm and working on little programs on my breaks. When I finished and typed it all in I wont pretend it always worked but I had a lot of fun and learned a lot.

      It was actually several years later when I got access to a punch-card system, and by that time no one wanted to use that one, we were all on the new system, an early Vax minicomputer IIRC. It took up most of a room and then there were two more rooms on either side full of glass teletypes. Or you could access it from other terminals e.g. in the library. Fun times.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    5. Re:Ugh by Anonymous Coward · · Score: 0

      This.

      I had to endure a COBOL section of an intro-to-programming class in high school (really, a local vo-tech, but the classes were worth high school elective credits).

      We learned fun things like "desk checking" and "waiting for terminal time". And we really did have to wait for time on an AS/400-connected terminal. It took the class of 12 students a full 3 class periods to enter, compile, and run (and debug, and re-run... the teacher was patient) what we had all written out by hand on a set of IBM-branded column-grid paper.

      The RPG/400 section only took a day.

      This was after we spent 3 semesters in QBASIC.

      We were "allowed" to "play around" with C for a week at the end of the class.

      In 1998.

      Ugh.

  9. The sad irony is by daniel_l_mills6689 · · Score: 1

    that a large percentage of "software shops" don't even compile once per day and it has nothing to do with punch cards or processors.

    1. Re:The sad irony is by jones_supa · · Score: 1

      Is this true? (I'm not in the software industry)

  10. Greenscreen era by Anonymous Coward · · Score: 0

    Well , I never had to use punch cards, but I did have to queue my jobs. Not a problem at the time if you checked your work, but I cannot imagine doing GUI programming that way. Things moved slower back then :)

  11. Anecdote from the recent past. by litewoheat · · Score: 1

    Not that long ago, back in the 90's I worked on a project for Macintosh (not called MacOS yet) that had a minimal compile time of 12 minutes on the highest end Mac at the time (a Quadra something or other loaded to the max with RAM) and that's assuming you change one or two source files and not touch headers. Touching a header file forced a full compile and that would be 45 minutes. We ended up scheduling our compiles so that we could all play fooseball or something. Coming back to a failed compile sucked hard.

    1. Re:Anecdote from the recent past. by perpenso · · Score: 1

      Perhaps that header did not belong in the pre-compiled headers list?

      If that was a header that everything else did in fact need then things were no different on PCs. I did cross platform work targeting PCs and Macs in the 90s. Macs usually had a slight advantage for disk based activities since they had SCSI drives at that time.

    2. Re:Anecdote from the recent past. by eastjesus · · Score: 1

      In the very earliest days of the Mac I remember having to buy a by then obsolete Lisa to write and compile because the Mac couldn't be used for that yet, then reboot it with a special OS to write a Mac disk so you could then try to run it on a nearby Mac because you couldn't run it on the Lisa. I was porting a package from the PC at the time and not too long before that the compile on the PC took most of a day sitting around swapping floppies for hours hoping there wouldn't be some dumb typo 5 hours in - not much better than the punched cards (except you could edit on a screen).

  12. That's how I started programming in the 90s by Anonymous Coward · · Score: 0

    Well, I started earlier, but in a written test we wrote a page-long Pascal program on paper, and get this: We had to wait a week to get the result back! It is actually possible to write code without compiling it after every line in a trial-and-error fashion, just like it is possible to write English without relying on squiggly lines. Besides, it is quite instructive to go even lower and manually assemble code. I wouldn't want to do it every day though.

    1. Re:That's how I started programming in the 90s by ceoyoyo · · Score: 1

      My CS finals in the late 90s were generally on paper. Including a couple varieties of assembler. The digital design final was in the lab though. Using the compiler as an error checker was frowned upon.

  13. I remember those days... by Anonymous Coward · · Score: 0

    I remember those days. For me though, I didn't get the results back for a week or more. Debugging spanned seasons. I remember cardpunch typists who would mistake ZERO (0) for capital-O. I remember it took weeks to get enough time on the cardpunch machine to type my own program in. I remember when Hello World in COBOL took 104 cards. I remember how the cardpunch chads made really awesome confetti. Once they went down the back of your shirt, you were going to itch for the rest of the day.

    The Apple II was a step up. A huge step up. 16KB of RAM, a 1MHz processor (yes megahertz not gigahertz - that is not a typo), and 130,000 byte disks were a huge step up.

  14. Early 60s Fortran: Cards to Paper Tape by BoRegardless · · Score: 1

    Carrying boxes of IBM cards to the computing center was a pain, particularly if you dropped a box before you diagnonally marked the deck.

    I was glas to get to a teletype with paper tape by the early 70s.

  15. Even at the end of the 90s by funwithBSD · · Score: 1

    The system I administered did overnight compiles.

    It was just not grunty enough to compile during the day and do development.

    --
    Never answer an anonymous letter. - Yogi Berra
    1. Re:Even at the end of the 90s by Anonymous Coward · · Score: 0

      I worked at a startup in the 80's and as our code base grew to over a million lines, it got to the point a full compile took 48 hours and no one could do development during the full build because the mainframe was pegged and any other activity risked the build not getting done in the planned time.

      We did incrementals for weeks on end (and, due to a lack of tools, when you changed a header file, you had to figure out which source files needed to be recompiled and check those in also). Every month or two (over a long weekend if we could) we did a full build -- that was not a build you wanted to be responsible for breaking in the 40th hour. Although, since it was an opportunity to make massive changes, a lot of basically untested header file changes went in between "okay, incrementals are broken now" and "okay, no more checkins" (as I recall that usually ended up being about a one or two hour window). I remain amazed how rarely we did break the full build - peer pressure and risk of ridicule are strong motivators.

      A bunch of that code is still running today (albeit with new features and enhancements added) and is the main product of a multibillion market cap company so we did something right.

      But, no, those were not the "good old days" -- they were just the "old days".

  16. Golden Age by Warbothong · · Score: 1

    I remember one of my Computer Architecture lecturers lamenting the end of of punchcard era.

    Gone are the days of being able to see how hard a PhD student is working by counting the boxes of punchcards in their office.

    Gone are the days when sending code to be compiled meant everyone could go to the pub.

    1. Re:Golden Age by Lawrence_Bird · · Score: 1

      Another downside I think is that when you had to use cards (or the code base was large and compiles were very slow) you put a bit more thought into the code you were submitting and probably checked it a bit more thoroughly before trying to run it.

    2. Re:Golden Age by ConceptJunkie · · Score: 1

      Or as a physic professor I had at Virginia Tech joked... you couldn't pull out a pen knife and edit your code while stuck at a traffic light.

      --
      You are in a maze of twisty little passages, all alike.
    3. Re:Golden Age by perpenso · · Score: 1

      Gone are the days of your PHB using successful compiles as a performance metric.

  17. More time to think by cyberspittle · · Score: 2

    When waiting for a compile, we had to make proper flowcharts for operations manual, maintenance manual, and also the prammers manual, the latter having the source code. When there was a change to any program, all needed to be updated and approved before the change was put into place. Although a compile a day seemed leisurely, there was more time for code review and complaince. I think biggest issue is the lack of code review needed. Now, people are more interested in their train of thought to correct errors from compiler that they do not slow down and think about what they are coding. Code reason why there are so many bugs and security holes. People need to slow down and do all the other required steps to ensure quality code.

    1. Re:More time to think by ConceptJunkie · · Score: 1

      A build a day isn't so bad when everything you are using is fully and truly documented (with source). Nowadays, a lot of debugging involves figuring out what the libraries (and sometimes the OS) are actually doing that isn't documented so you can work around them.

      --
      You are in a maze of twisty little passages, all alike.
    2. Re:More time to think by RabidReindeer · · Score: 1

      When waiting for a compile, we had to make proper flowcharts for operations manual, maintenance manual, and also the prammers manual, the latter having the source code. When there was a change to any program, all needed to be updated and approved before the change was put into place. Although a compile a day seemed leisurely, there was more time for code review and complaince. I think biggest issue is the lack of code review needed. Now, people are more interested in their train of thought to correct errors from compiler that they do not slow down and think about what they are coding. Code reason why there are so many bugs and security holes. People need to slow down and do all the other required steps to ensure quality code.

      Agreed. Instant Gratification killed a lot of the quality-adding aspects of programming and what it didn't kill, the Ctrl-Alt-Delete method of problem solving did. At the time, resources were expensive and the cost of manpower was relatively cheap, so the programmers were allowed to be "inefficient". Now, the developers are the most expensive part of the system, we no longer work 40-hour 5-day weeks, and pre-compile code reviews, documentation and other "time-wasters" are not generally tolerated. After all, you have this smart IDE to write most of the code for you and besides, All You Have To Do Is...

  18. Compliers?!? You got compliers? by linuxwrangler · · Score: 1

    I remember my first assembly class when we toggled in our initial few programs directly at the front panel of a PDP-11. (Not even really assembly at that point but direct machine instructions.) The paddle switches were in colored groups of three leading to the only really use for octal I have ever encountered: you could get very fast at reading octal and setting the switches with your index/middle/ring fingers.

    --

    ~~~~~~~
    "You are not remembered for doing what is expected of you." - Atul Chitnis
  19. This article is stupid by Anonymous Coward · · Score: 0

    Things were harder to get done back then, but also the software getting done was retarded simple for today's standards.

    I'd like to see these people try this whimsical approach on pieces of code several millions of lines long.

    I work on 3D stuff and we get the same stupidity. People saying "on the old days we had 100 triangles and no textures!". I remember those days perfectly, and it was utter shit. You would lose your artistic vision in a blur of technical limitations.

    Working with computers has never been better. Unless you accidentally installed Windows 8 of course.

    1. Re:This article is stupid by jones_supa · · Score: 5, Insightful

      You would lose your artistic vision in a blur of technical limitations.

      These days we sometimes lose the artistic vision in blur of technical abundance.

    2. Re:This article is stupid by Anonymous Coward · · Score: 0

      Absolutely. Creativity requires limitations to rub up against and work-around.

  20. Dead-end bureaucracy by JDG1980 · · Score: 3, Insightful

    Of course, the vast majority of people doing programming in 1983 didn't do any of this. If you count everyone who was entering any code (from "Hello World" on up), the vast majority of programmers were working on 8-bit microcomputers that didn't require jumping through any such hoops. If you had a Commodore 64, you could get a basic test program working in less than a minute:

    10 PRINT"HELLO WORLD"
    20 GOTO 10
    RUN

    Then once you figured that out you could learn about variables, figure out how to write to the screen RAM, and eventually figure out sprites. And then once you figured out that interpreted BASIC at 1 MHz wasn't fast enough to do a decent arcade game, you'd move on to assembly. I'd wager a majority of the people programming today learned in an environment like this. Edsger Dijkstra and other academic computer scientists hated BASIC, which they thought taught bad habits and caused brain damage, but they were wrong. It was this kind of hacker culture that created the flourishing IT industry we have today, not the dead-end bureaucracy represented by Thatcherite Britain.

    1. Re:Dead-end bureaucracy by SocialEngineer · · Score: 1

      I started with basic way back when I was a kid (I'm 30 now; some would say I'm still a child, but now I'm a child with arthritis and acid reflux :P), probably around 8 years old, plugging in BASIC games that I found in 321 Contact magazines. While I look at BASIC now and think, "Ugh, who would use that language", it did at least help me learn the basics of math and variables when it comes to programming, and by the time I hit college I already covered the Intro to C++ course myself quite some time before.

      If it weren't for 321 Contact, I would've never even gotten into programming.

      --
      "Better to be vulgar than non-existent" -Bev Henson
    2. Re:Dead-end bureaucracy by ConceptJunkie · · Score: 1

      Oh, Dijkstra was right about BASIC, but a lot of us managed to recover.

      --
      You are in a maze of twisty little passages, all alike.
    3. Re:Dead-end bureaucracy by Anonymous Coward · · Score: 1

      Yes. This. All the things!

      I'm 32. I remember skipping outdoor recess at school so I could type programs from 321 contact magazines into Apple //e machines in the classroom.

      I had found a few books on BASIC and machine language, and a few other things at the library before I stumbled across the magazine, but when I hit upon BASIC Training in 321 contact... My fate was sealed.

      Now I sling code as a career and support a 5 person family on it. I was getting books on pascal at the library and writing my own programs on notebook paper before we ever had a computer at home. When we did get one, within the first week of having it, I was writing programs on it. My parents didn't figure out the implications of that until a few years later. I remember my dad's astonishment when he finally saw a game I'd written at school in the lab and brought home.

    4. Re:Dead-end bureaucracy by jc42 · · Score: 2

      Dijkstra was right about BASIC, but a lot of us managed to recover.

      Yeah, and I ran across part of the explanation in an earlier form that's really similar: In high school, I took several years of German and French. The teachers all commented that most of the students wrote and (occasionally;-) spoke those languages with English word order, and were obviously doing word-at-a-time translation; I was one of the few who quickly adopted non-English phrasing from these languages and sounded more like a native speaker.

      It's similarly with software. You can often identify the first programming language of the author of a piece of code, because the code is obviously structured like a "native" Fortran or Basic or whatever program, while using the surface syntax of the project's actual language. But some of us look for interesting new conceptual tools in a new programming language, and concentrate on learning to use them effectively.

      Dijkstra's comments were fairly accurate for the large majority who never really learn more than one "native" language, and treat all others as a translation task. Such people will rarely learn any conceptual tools that didn't exist in their first language, and are crippled just as he claimed. A minority of us look for the interesting new things in a new language, and his comments don't much apply to us. And I there's good evidence that Dijkstra was one of us.

      OTOH, I've often wished I could use the tools from Lisp or Prolog or Snobol or APL or ... in the languages that are in common use now. It's idiotic that we still have to write loops to add two arrays; all languages should implement parallel array operations by now. Similarly, imagine the things you could do in C++ or Java if you could simply resolve an expression. And we had much better parsing tools than Regular Expressions 3 decades ago. (And Cobol even had the "CORResponding" adverb. ;-)

      But those things didn't exist in Fortran or Basic or Pascal or C, so they'd be inaccessible to most people who had one of those as their first language.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    5. Re:Dead-end bureaucracy by Anonymous Coward · · Score: 0

      Ef curse BASIC doesn't cause drain bamage. I woarked with Vizul Basic for a yoar in high schul with no poblems to my branes. It werked so well that I TAed it fer a second yar with no adverz.. advr.. ill efekts.

    6. Re:Dead-end bureaucracy by grunthos · · Score: 1

      the new generation of hobbyists were working on 8-bit microcomputers that didn't require jumping through any such hoops.

      FTFY.

      While I agree that the PC revolution was indeed a revolution that led to todays' environment, it certainly was not a "vast majority" in 1983. You didn't run a company's accounting or payroll, or design integrated chips, or CAD-CAM, or you-name-it on 8-bit computers in '83. Took a little longer than that.

      There's a reason that today's Windows kernel is designed after VMS, and that Linux, Mac OSX, iOS, and Android are all based on Unix designs. It's because that is the world the big kids programmed in, in 1983.

      --

      My son's 5th grade teacher actually assigned them "write a limerick about a planet". I'm not kidding.
    7. Re:Dead-end bureaucracy by Rene+S.+Hollan · · Score: 1

      Of course, the vast majority of people doing programming in 1983 didn't do any of this. If you count everyone who was entering any code (from "Hello World" on up), the vast majority of programmers were working on 8-bit microcomputers that didn't require jumping through any such hoops. If you had a Commodore 64, you could get a basic test program working in less than a minute:

      10 PRINT"HELLO WORLD"
      20 GOTO 10
      RUN

      Then once you figured that out you could learn about variables, figure out how to write to the screen RAM, and eventually figure out sprites. And then once you figured out that interpreted BASIC at 1 MHz wasn't fast enough to do a decent arcade game, you'd move on to assembly. I'd wager a majority of the people programming today learned in an environment like this. Edsger Dijkstra and other academic computer scientists hated BASIC, which they thought taught bad habits and caused brain damage, but they were wrong. It was this kind of hacker culture that created the flourishing IT industry we have today, not the dead-end bureaucracy represented by Thatcherite Britain.

      Quoting another post to get past the damn filter.

      Then once you figured that out you could learn about variables, figure out how to write to the screen RAM, and eventually figure out sprites. And then once you figured out that interpreted BASIC at 1 MHz wasn't fast enough to do a decent arcade game, you'd move on to assembly. I'd wager a majority of the people programming today learned in an environment like this. Edsger Dijkstra and other academic computer scientists hated BASIC, which they thought taught bad habits and caused brain damage, but they were wrong. It was this kind of hacker culture that created the flourishing IT industry we have today, not the dead-end bureaucracy represented by Thatcherite Britain.

      How to make the lineprinter rip the paper:

                    PROGRAM FOO(INPUT, OUTPUT)
      10 PRINT 20
      20 FORMAT(133H+---- .... ----)
                    GOTO 10
                    STOP
                    END

      Stupid formatting doesn't work, but you get the idea.

      --
      In Liberty, Rene
    8. Re:Dead-end bureaucracy by operagost · · Score: 1

      Wow... now the Iron Lady is responsible for "GOTO statement considered harmful." Is there anything in revisionist history she can't do?

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    9. Re:Dead-end bureaucracy by Tablizer · · Score: 1

      computer scientists hated BASIC, which they thought taught bad habits and caused brain damage, but they were wrong.

      They were right actually, but the PHB's doing the real-world hiring didn't know the difference as long as their reports printed out right...in the short term.

  21. I would call 1983 the end of the punch card era. by MooseDontBounce · · Score: 1

    I only used them in college at that time for COBOL, FORTRAN and RPG. You quickly learned NOT to leave your card stack out or someone might do a 'driveby'. That's when someone would walk by, shuffle the deck, then put it back down without anyone noticing.

  22. The other way you could program in 1983 by Anonymous Coward · · Score: 0
  23. We still have once a day builds where I work! by Anonymous Coward · · Score: 0

    VisualStudio takes nearly three hours to compile our largest project. Add in the four hours it takes to regenerate the WSDL files with WCF, and you have once a day builds if you're making a change to the web services. I don't understand why Microsoft is so ridiculously slow with incremental builds. It shouldn't waste an entire day just to change a single line of code. Of course, my coworkers are huge Microsoft fans because they don't have to work and can screw around on reddit.com all day long.

    1. Re:We still have once a day builds where I work! by Bardez · · Score: 2

      As opposed to screwing around on Slashdot?

      --
      Perception is the thin dividing line between reality and fiction.
  24. Only ONE day??? by johnnys · · Score: 1

    You got your compiles back the NEXT day? Bloody luxury!!

    At my high school, we had to write our own programs, punch them ourselves and submit. We then had to wait 2 days to see if they compiled!

    You young whippersnappers with your fancy "gcc" have it so much better! And get off my lawn!!!

    --
    Sometimes the "writing on the wall" is blood spatter...
    1. Re:Only ONE day??? by DiamondGeezer · · Score: 1

      Luxury. We used assembly language on the Z80 - where if you POKE'd the wrong address the OS would crash. This was before Microsoft introduced win.com which could do the crashing for you.

      --
      Tubby or not tubby. Fat is the question
    2. Re:Only ONE day??? by stox · · Score: 1

      I was going to write exactly this, but you beat me to it. 2 days if we were lucky.

      --
      "To those who are overly cautious, everything is impossible. "
    3. Re:Only ONE day??? by CronoCloud · · Score: 1

      Your high school had a computer that students could access during the punch card era? Bloody Luxury!

    4. Re:Only ONE day??? by ctid · · Score: 1

      Two days? TWO? We would submit our cards and then wait for the lesson THE NEXT WEEK to find out if the program had compiled. To be fair, it did encourage one to try be a very, very careful programmer. The rest of you are all whippersnappers by the way.

      --
      Reality is defined by the maddest person in the room
    5. Re:Only ONE day??? by presidenteloco · · Score: 1

      Every Sunday, we had to get up at 11 oclock at night, half an hour before we went to bed,
      Hike it down to the quarry. Mine rock slabs with our bare hands,
      then break our backs chiselling marks of 1s and 0s in the stone,
      Drag the stone cards down to the beach before sunrise, where an endless sea of tiny sand crabs would scuttle over the tablets, some of them settling into the depressions of the marks.
      Then one of us on each side of the beach would wave our arms up and down and startle the crabs in just such a way that legions of them would scuttle in an organized pattern one symbol to the left or right on the stones, while another of us recorded the orientation of the crabs and shouted out which startler should wave their arms next to have the crabs emulate the turing machine.

      You tell the young people of today that, and they won't believe you.
      Nay nay.

      --

      Where are we going and why are we in a handbasket?
  25. Re:Early 60s Fortran: Cards to Paper Tape by Lawrence_Bird · · Score: 1

    I worked on a DEC20 (god rest its blessed soul) in the early 80s and while we were all terminaled out, I would from time to time send my code to the card punch or paper tape just to annoy the operators who were still busy handling cards for the CDC Cyber.

  26. Give me a few more minutes by ArhcAngel · · Score: 2

    As soon as this compile of Gentoo I started in 2010 finishes I'll tell you whether I have 'fond' memories of the experience.

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  27. CDC 6400 4-hour turn-around by Swordfish · · Score: 1
    In 1972 at Adelaide University, we got 4-hour turn-around on our card decks. Half the time (at least), we got a print-out from the line printer which had two pages of octal dump centred on the location where the program bombed. So we could edit the cards and re-submit them a few times a day. We got 2-hour turn-around if we were on good terms with the girl who loaded the card batches into the reader. One good thing about the old 80-column IBM hollerith cards is that they were the best book-marks in the world. I wish I hadn't thrown away my last box of 2000 cards. They would have come in handy for my current book collection.

    Using the card-decks had one great advantage. It discouraged software bloat. If you wrote a 10,000 line program, that was 5 big boxes of cards. You'd need a cart to move them around. Young people these days have no self-discipline when it comes to bloat.

  28. My College of HE used to abhor "terminal junkies" by Anonymous Coward · · Score: 0

    She was an ex commercial COBOL programmer, and wouldn't let us log in without code already written on lined paper.

    None of your namby-pamby "interactive coding" - you got to print out your errors on the line printer and take it back to your desk to debug "like real programmers do"... taught me a lot about debugging, but I don't yearn for those days!

  29. The guys with punch cards were lucky by hunterellinger · · Score: 1

    In my second main programming job, in a physics lab starting in 1968, I had two hours twice a week (during changes in experiment) plus one weekly maintenance day to work with the computer itself. The only medium was punched paper tape, so I would load the editor tape, read in the source tape, use the no-monitor teletype to make the hundred or so changes I had handwritten (in pencil on legal pads or previous printouts), print out new source tapes (typically 5 pieces each about 50 feet long), read in the compiler tape, have the compiler read in the new source tapes and print out a binary tape, then finally read in the binary tape to see if things worked. Each cycle would be about an hour, so I was ahead of the once-a-day people, but I got very good at foreseeing the consequences of changes.

  30. That's... weird. by whitroth · · Score: 1

    Let's see, when I got hired as a programmer in '80, we punched our own cards, and handed them in. As many times as we needed to. By '81? '82? We had time-shared terminals, and entered them online.

    And this was a community college in the US.

              mark

  31. At least you had someone to compile for you by Anonymous Coward · · Score: 0

    I lived somewhat like that, and year actually was 1983, though I had faster turnaround. I had a VIC-20 and no assembler. I'd hand-write assembly language (pencil and paper), hand-assembled it (look up the opcodes in a book, at for the ones I hadn't memorized), and typed numbers into DATA statements in a BASIC loader that would POKE the program into memory. If I were smart and patient, I'd save the program to cassette tape before I ran it. Then I ran it, and it either locked up the machine or it didn't.

    Biggest problem was computing the branch offsets: I screwed those up from time to time (it was some kind of weird "relative" address, so I'd have to count all the bytes in between here and there), and the consequences were dire: oops, I'm executing an operand rather than an opcode.

    When I later found out that some viruses (and therefore realistically, probably all life on earth) have super-compact DNA where the codon triplets can sometimes make functional sense in more than one "phase" (am I describing this right? I'm not a biologist, but I mean how "ATCGATCG" can be interpreted as either "ATC GAT CGx" or "xAT CGA TCG" or "xxA TCG ATC Gxx" and all three interpretations might be actually used), my first thought was: that sounds like something a really brilliant VIC-20 coder would do (to save memory, because every fucking thing you did, was about saving memory), where the same bytes are either opcodes or operands depending on context. But I wasn't personally nearly that brilliant of a programmer.

    If I'd had an assembler (to compute branches for me), I never would have thought about this kind of stuff. I'd be all, "WTF does DNA and machine language have to do with each other?" Whaddya bet some of those IBM guys went on to become biochemists?

  32. My dad was a programmer way back when by sootman · · Score: 1

    He told me how it was to do things by hand because programmer time was cheap and machine time was expensive.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  33. Better than patch panels! by eastjesus · · Score: 1

    At least with the forms one could see the code and make changes, but it was up to you to see any errors. Punch cards gave you one line per card and disaster if if the wind got you while you were carrying your box(es) full of cards on the way to drop them off at the computer center so you could come back the next day to pick up your syntax errors. Still, both were a big step up from patch panels. Around 1981 I was working for a large medical instrumentation company (at that point I had an Apple II on my desk and z80 and 6800 machines nearby) and one day saw the dumpster full of wired up patch panels. Curious, I asked about it and found out that those were backups of old "code" that had been stored "just in case." My department head told me that they were keeping them around for when all the fuss over microcomputers would blow over and everything would get back to normal.

  34. 4got2mention by airdrummer · · Score: 1

    that was a cdc 6400 in 1968

  35. Punched cards by AndyCanfield · · Score: 1

    My first programs were on punched cards at U.C. Berkeley in 1968. As a student I punched the cards myself. The serious programmers, like me, would stay up all night so we could get our results back in only an hour or two. Results came as 11 by 14 blue striped paper wrapped around the original deck of cards.

    Ah, I miss punched cards! They were the perfect size to fit into your breast pocket. One side was blank to write notes on; the other side had column numbers and digit numbers: columns 1-80, digits 0-9. They were free; came in boxes of 2,000 cards per box.

    My first keyboard/monitor thingy was a graphics terminal connected to the Stanford Timesharing System about 1980. The boss had an Apple II in a back room.

  36. It is worse when writing VHDL by Anonymous Coward · · Score: 0

    You write a piece of code. And if you lucky it finishes in a day, maybe in a week you find out it didn't fit on the FPGA.

  37. I wrote COBOL in 1983 for the US gov't by ReallyEvilCanine · · Score: 2

    Though I was primarily a SYSOP for our internal mini mainframe, I also coded for other sections. To do so we connected using dumb terminals via 300baud to a Boeing datacenter and paid for connection as well as processor time. While it was government work, Reagan was just starting to take money away from the agencies, so we were encouraged to compile and run as little as possible.

    Meanwhile, by 1983 there were a couple of COBOL packages for the Atari 800, a machine I happened to have at home. So I'd code on that, allowing me to compile, link, and execute, all in real time!! Every bit of my submitted code was fully tested. The downside was that I had to print it out and then type it back into those fucking dumb terminals where the occasional typo might slip in.

    Prior to that I had the misfortune of batch programming on punchcards, dropping off decks of cards to pick up a day or two later with greenbar printouts full of the most obnoxious fatal errors.

  38. Punch Cards! Bring 'em Back! by Captain+Emerald · · Score: 1

    There was one extremely useful side benefit of punch cards: Chad. The chad was wonderful stuff. As a prank (won't say who did it) a container of chad was poured into a car's defroster vent. First cold day: Instant snow globe. And it was the gift that kept on giving as a few chad would came out for years later. Oh the memories....

    1. Re:Punch Cards! Bring 'em Back! by Anonymous Coward · · Score: 0

      Rose-Hulman, Deming Hall, mid-70's?

      If not, then there was another instance of the same thing.

    2. Re:Punch Cards! Bring 'em Back! by Captain+Emerald · · Score: 1

      Another instance...

    3. Re:Punch Cards! Bring 'em Back! by Anonymous Coward · · Score: 0

      Chad placed within a hatband was good for a few yucks. Chad from the mylar "paper" tape used for factory automation / NC (pre-CNC) was even better for this. Slick as whale snot, round, small, and so prone to static cling. If you're going to irk someone, might as well do it in cheery blue and silver dots you know!

  39. Mavenized projects are doing this to me. by quietwalker · · Score: 1

    I won't run down the whole story, but my last company had a completely horrible, 100% custom, python based build system for a very large product that contained hundreds of subparts. Despite that - or perhaps because of it - I was able to easily get all the active code running from an eclipse instance, meaning that testing a code change usually required no more than republishing to an eclipse tomcat instance. You could pull the previous day's changes from all the other devs and in about a minute or two, have some 200 components fully uptodate and deployed locally. All very nice.

    Then some folks came in and mavenized the whole thing, completely ignoring the concept of even using eclipse. Now, your only real choice in getting things to work is to make your changes to your one component, build up the jar, war, or installer for it (depending on the complexity of your change), and then overwrite your installed instances. Then you can start everything up and attach a remote debugger, with all the limitations that provides.

    Of course, that's only if you're touching a front-end component that doesn't get client-side customizations. If you made some changes in a shared library, you now have to recompile the whole project and frankly, it's easier to run the installer than try to make sure you get each dependent jar everywhere it's used in the system. The compile takes between 40 minutes to an hour with tests disabled. 3+ hours otherwise. You still are stuck with the remote debugger instead of a local tomcat instance because there's no maven plugin to produce an eclipse web faceted project with all the libraries and dependent projects properly crosslinked. It's painful enough to try to set up the 30 plus dependencies and smattering of configuration settings required on one component, but then the next change comes through and I have to do it all over again - and that's only if the change introduces a dependency breaking change, or else I won't even know to update things in the first place.

    1. Re:Mavenized projects are doing this to me. by Anonymous Coward · · Score: 0

      I came from that hell and found refuge in C++ with 11x extensions targeting unix servers.

      Seriously, not sarcasm. Go check it out.... what appears confusing is actually all the problems you mentioned solved in much more elegant ways. There's a reason they build OS'es with this language and toolset.

      My webservices framework providing REST with an embedded HTTPServer is actually blowing away the crap our java guys are writing. Valgrind checking the code with every commit to verify no leaks introduced. I force unit tests with the CATCH header only include on every run which causes any rare race condition/undefined behavior bugs to eventually show themsevles during normal day to day compile/run cycles. I ponied up and bought intel ICC and their sweet VTune tool which absolutely rocks!

      So my say is C++11x threads + make + CATCH header only include + libmicrohttpd + picojson + picojson_serializer + OTL header only include for DB. That's how I run my shop. GCC for every dev using checked in makefiles and I run ICC on my box while fixing any warnings either compiler shows. To test race conditions I switch to the GCC makefile and rerun. Memory layout bugs will change behavior while race conditions usually wont. All helpful tricks in the C++ world.

      BUT my code compiles down to 2.2 meg, launches in less than half a second and provides thread pools, asynchronous DB access, serialization of models, and an embedded HTTP server with custom url dispatching and request chaining. Valgrind reports 0 leaks, Intel inspector reports 0 issues, code runs in gcc/icc flawlessly and our 2.2 meg binary only needs one server to service over a hundred thousand connections barely using 25% CPU and under 1GB mem.

      I must say I have thrown a huge wrench into our previous Java + Maven + Ant + eclipse clusterfsck that required 4 load balanced servers and 128gb of memory to service 50 requests a second. Crashing often and having the EXACT SAME DEPENDENCY HELL that the OP mentioned. My code has seriously changed how our company looks at doing business. Time for the Java crap to go!

  40. I don't miss those days. by hodagacz · · Score: 1

    I worked as a university key-punch operator as part of my work study in 1982 and the noise is ingrained into my soul.

    I hate punch cards with a passion and I eneded up working with them until the end of the 80s (insurance industry).

  41. Ha! by Anonymous Coward · · Score: 0

    Definitely the funniest thing I've read today!

  42. ICL 1900 by Sesostris+III · · Score: 1

    That was my first computer in 1979 (British Government). Not only was coding (COBOL) done on coding sheets, but you hand drew flow diagrams first before you started coding. When complete you sent the code off to be punched (onto cards) and compiled. Frustratingly the source code was only stored once one got one's first 'clean' compile. Before then one got the listing back (with compiler errors) along with the punched cards, and one had to replace the incorrect punch cards by hand. If I remember rightly, the Operating System was called George III.
    Once compiled and stored, you could book your half-hour per day on the teletype! We did hear stories about terminals, but we didn't have any. This was the time you could do your daily compile, and then wait for the compilation listing to come back.

    I've still got a few of the punched cards, along with the flow-chart template. They live at work and I bring them out occasionally to show the young 'uns.

    By the early 80s I was on a team working with one of our first mini-computers (a Perkin Elmer). This lived in it's own air-conditioned room, with a large wardrobe-height CPU unit, an equally bit tape unit, and two massive removable disk drive units - big both physically (desk height) and in capacity (300 Mb each!). Input was via a terminal (so no more punched cards). Also, enough terminals for all us programmers ('programmers', not 'developers'). Again in COBOL.

    One final part, I got an email circa 2003 to say that the first program I ever wrote, in 1979, had just doe it's final run (system EOL). 20 something years - not bad (although how much of my original code was left is anyone's guess).

    One interesting technology that came and went was graph plotters. You could get desktop versions of these connected to early IBM PCs. They were fascinating to watch. Replaced by ink-jets and laser printers.

    So in short, my journey; started with COBOL on 1900; continued with COBOL and some ICL specific 4GL (that I can't remember the name of - AML or something) on 2900; C (on DEC), VB6 in 2001 (yes, after 20 odd years I progressed to the dizzy heights of Trainee VB Programmer!), and currently Java.

    I think I prefer the Java!

    --
    You never know what is enough unless you know what is more than enough. - Blake
  43. When I was a lad by alanw · · Score: 1

    School, circa 1974. Sending off your sheets and hoping that the keypunch operators didn't get 0's and O's confused. O's were slashed, or perhaps it was the other way round. Getting your job back on music ruled paper the next week

    University. There were teletypes that you could use to get access to the ICL mainframe, but for exams you had to use punched cards, and only got 3 goes to compile and run your program. There were always queues for the big punch machines, so if you just needed one card doing, you could use a hand punch.

    There's a good page with a photo of one here: http://www.staff.ncl.ac.uk/rog...

    By my first job in 1979, we had VT52's and then VT100's, as well as a LA120 for the console.

  44. Yet another option by rijrunner · · Score: 1

    We preferred to use TTY paper consoles. (Don't recall the model number).

    Instead of a screen, it was just paper. You type something in on the keyboard, it would print out. You run a program, it would print out.

    Was generally a lot faster than typing in on a screen, then going to get printouts as you would immediately get printouts. Just tear off the stuff you needed.

  45. Re:Early 60s Fortran: Cards to Paper Tape by perpenso · · Score: 1

    What, you did not punch sequence numbers on the cards so you could drop them into the sorting machine? :-)

  46. I remember... by strangeattraction · · Score: 1

    I remember punching up around 200 cards and then dropping them on the floor while taking them to be submitted. I do not think I would refer to that as a fond memory however:)

  47. It was fun(?) by mstrohbehn · · Score: 1

    I remember those days, although we punched our own programs on an IBM 029 cardpunch. Our data entry folks were befuddled by coding sheets, and you would have to take several shots at them punching a program. If you messed up a character while punching a card, you duped the card up to there and keyed the rest on a new card, discarding the old one.

    You did learn to think out your program before coding this way. Especially since large programs could take hours to compile.

    Ahh, the good old days! :)

  48. Programming in the Early 80s by Anonymous Coward · · Score: 0

    I did a Masters in Comp. Sci from Indian Institute of Technology, Madras, India in 1980 (There were no Bachelors course yet). We had one of the most powerful computers of that time , an IBM 370 with 512K memory. As Comp. Sci students, we got 2 runs a day as opposed to the rest of the Student population, which got one run a day (A run consisted of submitting a deck of cards and if you're lucky, you didn't get a JCL error or compilation error) .
              After graduating, I (and 2 of my classmates) went to work at a Software start-up in New Delhi. Our first project was to develop a FORTRAN IV compiler for a 8085-based microcomputer. The development was to be done in 8085 assembly code. We had no computer in the entire organization but had access to a Data General Eclipse minicomputer on which we could run a 8085 simulator. The only problem was that 1 hour of Computer time on the minicomputer cost as much as my monthly Salary.
                So we wrote 8085 assembler code on sheets of paper and about once in 6 weeks, we would get our code assembled and get an object dump which could then be run on a simulator or the hardware prototype. My team (consisting of 3 people) managed to write about 36K of 8085 assembler code in about months and show the compiler working at a Trade Show.
                  That was certainly a very interesting time. It was also, when the Tracy Kidder book 'The Soul of a New Machine' came out.

  49. Since when was 1983 the dark ages? by wonkey_monkey · · Score: 1

    The other way you could program in 1983.

    There were plenty of "other ways" to program in 1983 - maybe not in government departments, but the public already had the ZX80, the ZX81, the ZX Spectrum, the Vic 20, the Commodore 64, the BBC B...

    --
    systemd is Roko's Basilisk.
    1. Re:Since when was 1983 the dark ages? by Anonymous Coward · · Score: 0

      And, don't forget the TRS-80.

      Oh wait. Dark ages... never mind.

    2. Re:Since when was 1983 the dark ages? by rubycodez · · Score: 1

      How did those machines help typical business or science users with mainframe or mini computer? A few hundred thousand line COBOL or ForTran program wouldn't fit in those things....

  50. many languages including C/C++ on micros by then by mr_mischief · · Score: 2

    Atari, Tandy, IBM, Apple, Wang, Sinclair, Acorn, Texas Instruments, Digital, Xerox, Toshiba, Compaq, Timex, Sun Microsystems, Epson, Osborne, Intel, Motorola, AT&T, Microsoft, Digital Research, Lotus, Watcom, and Borland are on the time phone from 1983. They want to have a word with you.

    You could buy an IBM PC and buy assemblers, COBOL, Fortran, C, C++, Pascal (including Turbo Pascal on DOS), and more for it running on a Unix system (Xenix) or DOS.

    CP/M machines from several makers including Osborne and several other micros were around before that, with Apple, Atari, Commodore, and Tandy being the big ones in the US.

    Sun had already launched the Sun-1 and in 1983 launched the Sun-2 series.

    This list could go on and on.

  51. Run, Print, Wait by Schnapple · · Score: 1

    My first gig out of college was for the same University I graduated from, and I worked on a mainframe doing COBOL programming, and some scripting in a proprietary language called NATURAL which I've never seen used anywhere else, ever.

    One project I was handed was to update the 1098-T form. It's basically the IRS tax form for tuition writeoffs. Every year we had to produce a 1098-T form for every student which basically detailed what they paid in tuition. Every year the form was a little different (of course) so every year our generation program had to be updated.

    What I got handed was basically a program which drew the form and then printed the data on the correct parts of the form. And when I saw drew the form, I don't mean we had a PDF or JPEG or whatever of the form, we actually recreated the form with whatever bog standard graphics package we used. Like, you would literally say go to (X1,Y1) and draw a line to (X2,Y2), then a line from (X2,Y2) to (X3,Y3), etc. It was like programming in LOGO, but for a legal purpose and without the cool turtles.

    This doesn't sound like such a big deal, and it wasn't too bad, but what was tedious was the fact that you would program all this in, then run the program against a single fake student's data, and then you headed to the printer. The printer, in this case was the print room and it was three floors down and a few hallways away. Then you waited for the printout. Which would print as soon as anyone else's job who was in (virtual) line in front of you was done. The time it took to accomplish this was basically random.

    And when you found out whatever small change you made didn't work, had the wrong effect, got the numbers backwards, etc. you got to do this all over again. Make small change, compile, run, wait hour(s) for result, lather, rinse, repeat. All with no GUI, no preview, no nothing. Oh, and the program I had, comparing the form printed last year to the actual 1098-T form from the IRS' site was not a 1:1 recreation - it had basically the same info as the source form but it wasn't a dead-on match. I'm guessing this was good enough for the IRS, and either no one had ever bothered to make this thing picture perfect, or the motivation to do so got lost along the way. Lord knows I wasn't going to do it either.

    Over time of course you started to average out how long it took to get the printout and you'd wait at least that long before going to get it. And of course this wasn't anywhere near as bad as "come back tomorrow to see if it worked", but that whole process sucked and I don't miss that job at all.

    Oh, and this was in ~2002 or so. I didn't really want to be a mainframe programmer but I had little experience in a shitty economy and I was told/promised that they'd be moving to an "all new web-based system within the next six months". When I quit two and a half years later to move to a better gig, it was still "within the next six months". I learned a lot from that job, I guess.

  52. Punching and compiling by Anonymous Coward · · Score: 0

    In 1968 in high school we were punching cards for FORTRAN II programs, carried them across the street to the H.D. Lee company which didn't user their computers during the lunch hour. Compiled and ran the program, carried the green bar print back to high school. We had traded the use of 5 school parking spaces for the use of a IBM 026 keypunch.
    1970 punched cards for WATFOR/WATFIVE system at CMU, handed in cards, got back output in 1 hour except when the stoplight was red. The computer center had a stoplight that displayed the system status, green was running, yellow unknown, red system was down.
    1975 punched cards on IBM 029 card punch, great improvement, didn't actually punch until end of the line, brought up RJE terminal at night and we could get turnaround as soon as we loaded deck. Turned over greenbar output paper to let us print pictures. Loaded scanned images via 800 bpi mag tape, great picture of homecoming queen.
    1976 Loaded punched cards with DEC assembler or FORTRAN code into PDP11-20 system, we could edit on VT05, compile and run using DEC DOS-11, then display output on RAMTEK color display bit bit images, 3 bits red, 3 bits green, 2 bits blue. Eventually we edited jobs directly from scratch into VT05.

  53. whippersnappers! by dmallery · · Score: 1

    back in '67 at RCA Global, we wrote out maintenance programs in 501 machine code (octal, of course),

    then we went and punched the lot out on paper tape on a flexowriter. the 501 sans operating system would just suck up the paper tape and run.

    mainly we wrote machine code because a cobol compile took an entire SHIFT! if you had a big cobol program you wrote machine code patches for it for about a year before the next compile. if there were any compile errors, you patched around them.

    men were men.

  54. Similar experience at school by Anonymous Coward · · Score: 0

    In 1985/86 I was still at school (real school, not university "school" like they use in the States).
    We wrote our code on cards and they were sent to the local college to be entered in and run, and we'd get the results a week later. Yes a week later! Invariably the result was "syntax error on line 7" or something like that.

    Very frustrating.

    1. Re:Similar experience at school by Anonymous Coward · · Score: 0

      I'll put my unreal "school" against your oh so superior one any day, punk.

  55. Punch Cards in College - and Poor Peggy! by Spinlock_1977 · · Score: 1

    My college, in 1980, was running a Honeywell Level 2 GCOS mainframe. It had 208k of memory, and could run up to four concurrent tasks. The workstation I'm writing this post on has about 82,000 times the memory as that old beast, which physically approximated a large fridge laying on its side. The removable disk drives were sized like washing machines, had five 14-inch platters, and held 80k.

    I took some Cobol courses, using keypunch machines and Hollerith punch cards. When assignments were due, you'd often see students lined up at the card reader, waiting to read in their programs. The first six columns of a punch card for Cobol programs was reserved for an optional sequence number, equivalent to a Line Number today. Nobody filled those in - not even our instructors. If you had to re-order your program, you really wanted to avoid having to re-type cards with new sequence numbers.

    However, at the end of the last semester, minutes before the final assignment was due, my fellow student Peggy came running in to the data center with her purse and coat in one hand, and a six-inch deck of Cobol cards in the other, tripped in her haste to the card reader queue, and scattered 2000+ cards across the data center floor. And on the final day of the final semester, we learned why its sometimes good to put sequence numbers on your punch cards.

    And btw, nearing the end of each semester, it ALWAYS took 24 hours to get a compile back.

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  56. Punch card repair kit by Arethereanyleft · · Score: 1

    I started college in 1978, but I was lucky enough to get a job in the CS department where I learned how to use a terminal. While my fellow CS students had to type in punch cards, submit their jobs, and then wait for a printout, I was able to type my programs in using a text editor and submit the jobs so that the output went to a file. When it was time to turn in my assignment, if the instructor required cards to be turned in, I knew how to submit a "punch" request to get the cards.

    I remember one day someone showed me a list of things you could buy outside of the job submission window, and one of the items was a "punch card repair kit". Someone bought one and showed it around. It consisted of a little metal rod that could be used to punch holes in a card and some little tape stickers to cover holes. I thought it was a joke, and told my dad about it. To my surprise, he told me that when he was in college (same college, same building) 30 years earlier, he actually used these. Back then, you would write your code on a form and submit it to the keypunch operator. When you got your cards back, you would carefully proofread them and submit any incorrect cards you found for retyping. If you only had a small mistake and the line was long for re-types, you would get out your punch card repair kit and fix the card yourself.

  57. Pick Fail by dugb · · Score: 1

    In Arlington County, Virginia of the mid-1970's, 7th and 8th grade math students were treated to a week-long exploration of BASIC programming, complete with access to a
    HP 9830A, and an HP 7260A Optical Mark Reader. We used HP Educational BASIC Cards.
    So, the drill was: write your program on paper, transcribe it to the cards with #2 pencil, then get in line to put your cards in the reader. Inevitably the Reader would choke on a card, and issue a "Pick Fail" error. That could be due to a damaged card or to the number of erasures and rewrites on a card. Pick Fails were always accompanied by three honks from an alarm inside the Reader. Moans from students waiting in line for card reading usually followed. The best you could hope for was one iteration of your program per day, but realistically you got 2 or 3 runs during programming week, what with all the Pick Fails.

  58. Yes, how horrible by Anonymous Coward · · Score: 0

    You had a good office job sitting at a desk. You had good working conditions, were revered or at least respected, had bonuses, decent working hours, health insurance and outsourcing and the 6 month learn or die cycle didn't exist yet.

    How horrible, glad those days are over.

    Now let me get back to work coding social apps for telephones and hoping I don't get outsourced to some Chinese kid in Brazil. As opposed to coding the systems that get people's retirement cheques delivered or some such nonsense.

    Hurray.

  59. Heh, I started as an Operator by Anomalyst · · Score: 1

    When I moved into programming, I was allowed into the datacenter after 5PM after bosses and coworkers were no longer around to complain and could submit my own decks and retreive my own reports. Two finger keypunching the code revisions was also de rigeur. I sure miss the steel forms ruler I was given after helping out after hours one night. Thankfully I still have my Green card (it is yellow) carefully re-inforeced with scotch tape (this was before duct tape became wildly popular amongst the geek set). Eye reading assembly from SOC7 hex dumps, good times, good times. Also used PANVALET on 3270 terminals to code and had to enter changes from the bottom up or the system would get confused about line numbers after an insert/delete and did horrible things to the cardfile. Still make changes bottom up to this day, once bitten twice shy.

    --
    There is no right to feel safe thru security vaudeville at the expense of everyone's freedom, privacy and tax money.
  60. Obligatory xkcd by azadrozny · · Score: 1

    We need to bring back those days of long compile times: xkcd - Compiling

  61. It was a different world by jma42 · · Score: 0

    When I started coding in 1966, the only device on my desk was a telephone. Nobody had ever heard of a monitor, and the only keyboards were on keypunch machines (those were the machines that punched holes in cards).

    To write a program, you filled out a large form with your code and sent it to the keypunch department. The next day, you got back a deck of cards. You couldn't really do anything with those cards except pass them on to the man who operated the IBM 7044. But first you had to add some more cards to the beginning of the deck to instruct the computer on what to do - such as invoke the FORTRAN compiler, link the result, and run it.

    The next day (two days after you wrote the code), you'd get back a printout and two card decks: your original source deck and an object deck (what we now call the object file). The printout (the "listing") showed the results. If there were any compile errors, you repeated the process. It could take a week to get a clean compile.

    Lots of things could slow you down. Sometimes I'd get my job back with a note from the operator that said "looping". That meant that he, on his own, had decided that my code was in an infinite loop and had cancelled the job. Those old computers ran only one job at a time - the operator couldn't run my job until yours was finished. So he often had nothing to do but stare at all those flashing lights. When the pattern of flashes repeated itself over and over, he decided that it must be in a loop. Whenever I submitted a large sort, I had to include a note saying "Don't cancel for looping".

    I could go on and on. But I remember the day when I experienced the future. I got a consulting job in 1974 to develop code for a Datapoint 2200 (the precursor to the Intel microprocessors). It had a screen and a keyboard and astounded me with instant results. I was so grabbed by the process that I spent a solid seven hours at that computer oblivious to everything but coding and testing. I collapsed on the office couch at the end of that day, but eventually I got used to it. I had no idea at the time, but I had just experienced a typical day in the life of the new developer.

    --
    OKsofar
  62. First year CompSci 1978/79 by spaceyhackerlady · · Score: 1

    I did my first year Computer Science in Algol W with punched cards.

    The system required a blue "ticket card" to do anything other than list your card deck. We were issued a supply of ticket cards, and could (and did) buy more at the campus bookstore. We punched our cards ourselves. We were very careful to write everything out, to walk through our programs to make sure the program was syntactically correct and might have a chance of doing what it was supposed to do before spending a ticket card to find out what the compiler thought of it. We had immediate turnaround, which meant you could go through ticket cards that much faster.

    I now program mainly in C on Linux boxes. The programs I create are orders of magnitude more complicated than what I created then. My interactive productivity is much higher too. I'm not sure I'd even attempt much of what I do now if I didn't have much more powerful computing and debugging facilities available.

    ...laura

    1. Re:First year CompSci 1978/79 by presidenteloco · · Score: 1

      I am pretty sure I was at the same institution as you 3 years later, and the blue "computer money" card system was still in place. We figured out a couple of hacks to it, however. One was you could re-use the computer money punch card on the faculty/administrative mainframe after using it on the student mainframe, so you could double your money (CPU time used) if you happened to know a student who'd had a summer job using the other system, not that any of us knew anyone like that of course.

      Second was, say it was the last day before major 4th year AI program project was due at the end of the year. Being an AI program, with recursion and LISP and all that good stuff, it would need ridiculously more costly computing cycles than the average program, so.... the solution was to pull an all nighter, never letting your interactive account time out and log out, while the computer $ went hugely into negative (debt) territory. The trick was that the lack of punch card funds would only prevent you from logging on again (essentially ever, depending on size of the AI computation-cycles-debt), but your current session could stay on as long as you interacted with it every 10 minutes or so. This was ok, as long as you remembered to get a printout of your final assignment program code and results on the giant joined-paper-sheets-with--holes-on-sides-of-sheets printer before you accidentally let yourself be logged out forever. Did I mention it was last day of term 4th year.

      Pathetic but true. I guess we thought it was ok because the capitalist computing scarcity model was though to be bogus for serious compsci students and particularly those trying to do AI assignments. Now with the cloud (the time-sharing mainframe in the sky), it's hard to imagine that in the short interim period, people had personal computers.

      --

      Where are we going and why are we in a handbasket?
  63. we got terminals in 1975 by peter303 · · Score: 1

    You needed enough "cheap" memory to hold 5x7 raster character set in permanent memory (ROM). That would be five bytes per printing character or 360 bytes at minimum. Thats three 1K ROM chips. New memory generations started at $50 - $100 per chip, then falling to about $5 once they became commodity. So terminals became "commercial" at about $1000 where a third of that was memory. This would be about $5000 in 2014 prices.

    I remember one of the clever thing about the Apple II three years after that was using spare bits in a byte for storing color imformation. That made graphics programming somewhat contorted.

  64. Univacs by Anonymous Coward · · Score: 0

    Early 70's, I was an undergraduate in Chemistry helping faculty and grad students program some FORTRAN applications such as non-linear least squares and some very, very early quantum chemistry apps (I recall one was called Gaussian). Since we had a Univac 1108 mainframe and most of the apps were written in IBM FORTRAN IV (G1) and we used Univac's FORTRAN V compiler, there was quite a bit of work to do getting these applications to run (also, 36-bit vice 32-bit words!).

    Fortunately, we had one of a handful of terminals on-campus, a Univac DCT-500 (http://bitsavers.trailing-edge.com/pdf/univac/terminals/brochures/U5220_DCT_500_Brochure_May70.pdf). THREE HUNDRED bits per second baby! We rocked and rolled while nearly everyone else was using IBM 29 keypunches.

    The bad news is that some of our applications ate ALL of the available memory - no virtual storage on the 1108, just hand-coded segmentation.

    So compiles were OK (but really slow), but executions were off-limits until the Computing Center was closed for the night and we could get "standalone time".

    Those were the days...

  65. LOL ... by gstoddart · · Score: 1

    So, does anyone have 'fond' memories of computer programming in the punched card era?

    Well, maybe not punch cards, but I certainly remember printing out code onto 132 columns green bar paper in the lab so I could go away and review it for typos and changes I wanted to make.

    Because 'keep bashing at the compiler until it runs' was way more time consuming and annoying than reviewing it on paper and identifying what you needed to be doing.

    I've certainly hand-written out code while sitting in a coffee shop based on printouts of the code I was modifying.

    --
    Lost at C:>. Found at C.
  66. maybe 4 hour turnaround at MIT early 70s by peter303 · · Score: 1

    You keypunched, submitted, and picked up yourself. Rates were like 1/3 during night hours, so you got more bang for your buck working overnight. They'd give you like $500 funny money for class homeowrk or a research project. This might be 2 day hours or 6 night hours. A compile and small test run might consume five computer minutes. The final project runs would use most of the time.

    We got a lab mini-computer with CRT terminals around 1976 and ended this pain.

  67. remember the dreaded "ABEND dump"? by peter303 · · Score: 1

    Sometimes your printout came back a hundred pages thick when you were expecting ten. IBM computers would print the contents of all registers and core memory when "ABnormal END" occurred. You could sometimes diagnose your problem from this. I think you bypass this with a proper JCL/DDL command.

  68. IBM, NCR, Honeywell. Do the desk check tango. by worker17 · · Score: 1

    As well as filling in the sheets, if you were lucky you could punch the cards, too. Before even writing code, though, you would do your program flowchart to make sure you knew where you were going. From your previous stash of cards, you would pull the appropriate JCL headers instead of having to go through that particular piece of hell. Want a printout with that? I worked for a college doing this stuff. One day, I was told to mount a new disk for a project. Going down the lines of drives, I finally found a bay that was not marked. I stopped the drive, pulled the 25 pound disk out and put the new one in. Then the system crashed. The only "free" unmarked pack was the OS. Students came by for weeks looking for their lost work. Must have been the gremlins, you know? ;-)

  69. The local version by neurophys · · Score: 1

    In 1981 I had the change to play with an HP system on its way out of production. To make a program you had to:
    Load an editor from a punch (paper) band
    Type in your programme
    Save the source to punch tape
    Load the compiler pass 1
    Load the source
    Run compiler
    Save intermediate code to punch tape
    Load compiler pass 2
    Load intermediate code
    Run compiler pass 2
    Save compiled code to punch tape
    Load linker
    Load compiled code
    Run linker
    Save executable to tape
    Load programme and test run

    Pål

  70. I owrked an a system by geekoid · · Score: 1

    that took 36 hours to compile. We alwaya ran it on mondayd.
    SO:
    Arrive: 8:00
    Meeting 8:15 to 8:30
    Start compile 8:35
    Take long lunches, and have long nerd discussions.
    Weds. Morning, review log.
    Thurs-Fri Make fixes.

    We could have had another system and done other work for 3k a pop, but no. It was too expensive.

    Bean counters. SHeeesh.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  71. You young whippersnappers get off my lawn! by n0ano · · Score: 3, Interesting

    I started in 1968 at Michigan State with punch cards on a CDC 6000 mainframe, a big one, all of 65K words of memory (60 bits per word but still, that was considered big back then). As a student I was guaranteed 1 run per day and yes, even after eyeballing my programs carefully I lost many days of work due to missplaced punctuation. It's amazing what you can get used to when you have no choice.

    I remember my excitement when I was able to move to a research account from a student one. Research accounts could get as many runs as the system could turn around, typically around 4-5 per day - nirvanna! Of course, the research runs weren't guranteed so when the system got backed up (some physics professor tying up the machine for hours or down time due to HW failures) the student jobs got priority and your research job came back whenever they could get to it. I waited 2-3 days for a job more than once.

    Back to punch cards, my favorite technique was something I saw one of the FORTRAN programmers do. The technique used the fact that you could put a line number on any card and it was possible to put multiple statements on the same card. This guy ended every single card with a goto statement to the next card in the deck. As he said, the operators could drop his deck, shuffle the cards and his program would still work properly. (We really didn't like or trust the operators back then.)

    --
    Don Dugger
    "Censeo Toto nos in Kansa esse decisse." - D. Gale
    1. Re:You young whippersnappers get off my lawn! by JSilvers · · Score: 1

      In 1963, my second programming job out of school, I worked for CDC in Palo Alto. My group was developing a COBOL compiler for the 3600, but we did not have a 3600. MSU did have one and was not using it from 8pm to 5am. So CDC shipped the group to East Lansing where we worked the overnight shift. At the time about half of us were women, all single. (That has changed; there seem to be fewer women now, and many are married, or were.) Of course the compiler was coded onto punch cards, which occupied several boxes. Those cards were saved onto tapes. We made corrections with punched correction cards keyed to numbered lines in the matrix printed listings of our code cards. The cards were still punched by a staff of keypunchers. From time to time, my corrections would blow up because part of the deck had been put in upside down. At Purdue in 1968 my husband did his thesis programming on their brand new 6600. We would run his programs during the "off hours." The school had a massive card reader for student's programs. I warned my freshmen students they would have time to leave the building before their decks got processed. Unnumbered FORTRAN, anyone?

  72. Prices by davebarnes · · Score: 1

    $2K for a DEC VT100 terminal.
    A lot $ for an IBM 3270 terminal.

    --
    Dave Barnes 9 breweries within walking distance of my house
  73. 1978: IBM Fortran to Cyber Fortran by Frans+Faase · · Score: 1
    The summer of 1978, I spend some time to convert a large Fortran program in the IBM dialect to Fortran on a Cyber mainframe. The program consisted of about 1500 punch cards. At first I would load the whole deck every time. After some time, I discovered it was possible to store the program on disk and edit them by-line using a program called Update. This still requires typing punch cards. Everytime, I checked the cards many times to make sure, I did not make any mistakes. And then it was waiting before the monitors showing he input, the execution, and the output queue, If it was out of the output queue, you still had to wait before the output was dropped in one of the labled boxes, which could take another ten minutes. In those times memory usages was billed in the Kbytes per second. I did it for nothing. Just the fun to work on a real mainframe was enough. Afterwards, I was rewarded with the book `Finite Mathematics' by Seymour Lipschutz.

    The person giving me the assignment also wrote programs in some kind of simulation language where the lines could be in any order. Sometimes he would shuffle the cards while standing in line for the cards to be read, just to make fun of the other waiting.

  74. COBOL Yuk! by Anonymous Coward · · Score: 0

    I had to start by coding in COBOL making sure that nothing appears in columns
                            1 thru 12, and nothing goes beyond column 80 (even written out). Then
                            you would submit your program to the mainframe, and it would either
                            produce output, or give you an abend (short for abnormal end). It was
                            often better to go through your software with debugging statements and
                            see which ones produce output and which ones don't, and by that
                            method, you could get a rough idea of where your program was failing.
                            It could also produce variable values. You usually had to be careful though,
                            because you were usually given a total of 12 compiles to get a program
                            working fully.

  75. Shuffle your cards in DYNAMO by Frans+Faase · · Score: 1

    I guess that the language where you could shuffle your cards is DYNAMO.

  76. Back when I was learning to code... by Virtucon · · Score: 1

    I had to walk in snow, both ways uphill to get my programming forms to the Data Entry folks! Then I had to trek over to the line printer and wait for my output which could take years.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  77. HTML5 Punch Card Simulator by resplin · · Score: 1

    If you haven't seen this, you should check it out: http://www.masswerk.at/google6...

  78. Punch cards make nice lamp shades. by 140Mandak262Jamuna · · Score: 1
    I did Intro Computing CS 301 under Prof Mahabala in IBM 350/155 using punch cards, in 1980. Very few of the punching machines had working ribbons and working print modules. So most of our cards did not have the line printed on the top. They can only be read by a machine, some of us learned to decode the holes pencil in the character on top. We get one run a day. Undergrads are limited to six pages of 132 char fan fold computer paper per job.

    The punch card machine had a "multipunch" option to prevent the card advancement. So we could punch out all the rows and all the columns of the punch card. We punch many such cards, staple them together to form a large sheet, fold the sheet into a cylinder and staple the seams too. Our hostels had naked incandescent bulbs hanging from the ceiling providing the only illumination to the hostel room. We would hang this hole punched cylinders of punch cards as a lamp shade. Casting beautiful dots on the wall, and a flood of illumination in the center of the room. We would use transparent plastic sheets, (cellophane paper in Indian parlance) to color the lamp shade and the illuminated dots on the wall.

    We would have beaten Martha Stewart in the creativity department of making lamp shades! I still have my ID card to the computer center.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  79. COBOL forms... by Anonymous Coward · · Score: 0

    Took a programming class in college back in '89....teacher made us write our programs on coding forms and run a set of data through everything, step by step, manually following the code, before being allowed to enter it into the computer.

    Needless to say, I dropped that BS course.

  80. Try once in 2 weeks. by Kaenneth · · Score: 1

    When I got banished to summer camp, I was fortunate to have at least a notebook and pencils.

    So I wrote a message board system, for a Commodore 64 dial-up BBS.

    Iterated and debugged over and over, following every code path while tracking variables by hand.

    When I got home, I was able to transcribe it, and it worked great, running the (206) New Hong Kong BBS for a couple years.

  81. You did a lot of desk checking by Anonymous Coward · · Score: 0

    It wasn't as bad as people think. You desk check your code. Editing your code meant key punching new punch cards to replace the bad ones. Or using a utility program to replace the one lines with new line. A new program might take a day. But once that was done you could get a few compiles in during the day.

  82. 1 compile a week. by ip_freely_2000 · · Score: 1

    High school senior in 1979: 1) Get assignment on Monday 2) Write code on paper. 3) Wait for punch machine to get freed up 4) Type in code 5) Give teacher punch cards on Monday 6) Teacher takes a box full of cards on Friday 7) Teacher picks up cards Sunday night 8) Get paper results and cards at Monday class. 9) Rinse and repeat until it compiles. I wrote TWO great programs that semester :)

  83. Early Unix solutions in early 1980. by Anonymous Coward · · Score: 0

    I used to edit my programs with ed/xed on a UCB Unix V6 system on a PDP-11/70, and use some software that was written to convert to EBCDIC and submit to the IBM 360 using a RJE protocol emulator. My SYSOUT would get returned to a spool file, and with the magic JCL comment card, would find it's way back to my E-Mail for my review. /usr/bin/gus took a lot of headache away from me, and saved several small forests in typo'd keypunched cards. I was able to get more than 1 compile a day, too.

    It was before the Great Renaming and USENET/EMail SPAM. Good times...

    I still have a thrashed deck of cards (all holes punched) somewhere.

  84. cautionary tale by clovis · · Score: 1

    I was a physics major in the 1960's-70's. Programming was done on punch cards with the often one day turn around. I believe most of the students doing programming were actually engineering students.
    As the quarter went on, the students programs got more complex and the card decks got bigger - often quite large.
    So, one day I was headed across campus at the end of the quarter and a rain shower sprang up. People started running and this one guy tripped on the curb. His cards went flying into the mud. He scrambled around trying to pick them up; this was no doubt his final project. He suddenly sat down and started crying.
    As I stood there watching, I thought, "If this is what computers do to people, I will have nothing to do with them".

    Many years later, as I was sitting alone on the floor in the data center at 3:00 AM after a power failure trying to bring up countless cranky Windows NT servers running on Compaq boxes (why isn't the SQLNT starting?), I remembered my failure to obey that oath taken so many years ago.

  85. Hands on compiling in 1972 by ei4anb · · Score: 1

    I had only just last week found one of the first programs that I wrote in 1972. We were lucky that our engineering school had a reconditioned IBM1800 with only a small cadre of us who knew how to use it so we got plenty of hands-on machine time in the late evenings when the official jobs had finished. You can see a printout of it on http://2eo.blogspot.ie/2014/04...

  86. and Y2K by Anonymous Coward · · Score: 0

    I remember how back in the pre Y2K the news was saying the problem was due to programmers trying to save memory, so they only used 2 digits for the date.
    Maybe somebody did, but the main reason was that this stuff was originally written to use punch cards for data entry. You only had 72 columns, so taking off the two digits of "19" from the year to was a big savings in the amount of data that you could encode on one card.

    Also, it sucks to realize that talking about Y2K makes you an old-timer.

  87. First computer virus by Yakasha · · Score: 2
    Growing up, my dad liked to tell me about one of the first computer viruses he & his classmates thought of in college.

    It was a piece of string tied across a hallway that waited for programmers carrying carefully ordered (and hopefully for their sake, numbered) stacks of punch cards.

    It replicated and evolved by way of angry programmers getting back at them in creative ways.

  88. had to get it right by clovis · · Score: 1

    I was a civilian employee at a supply base for the US Navy Polaris missile submarines in the 1970's
    The programmers there got only one compile a night with their punch card deck. If you got a syntax error on a compile, you got called in to explain. Two, you got written up. Three in a month and you were no longer a programmer. But, hey, that was the Navy.

  89. Keypunch shufle in 1974 by Anonymous Coward · · Score: 0

    n 1974 I was a new hire at Lawrence Livermore Laboratory. since I was fairly green (OK, really,really green), I had a daily routine to support a group of developers who lacked security clearance needed to get to the equipment for which they were developing. All they had was a keypunch and a Digital GT42 graphics system (PDP11 with VT11 vector graphics, 19" display, and paper tape reader).

    You may notice that there was no paper tape punch or card reader. Also, no compiler/assembler was available. This made getting new code to the display station a bit awkward, so I had the following daily job:

    1. Pick up card deck at Bld.415

    2. Drive to Bld 113 and use the PDP-1 (not a typo) to read in the cards,run a small program to do character translation and punch out a paper tape (actually paper covered mylar)

    3. Drive to Bld.131. Load tape into the PDP-11 running DOS (no relation to the later Microsoft DOS), and assemble. Punch out paper tale of the binary

    4. Drive the cards and tape back to Bld.415 where it was loaded onto the GT-42 for testing and debug. The code was heavily loaded with NO-OPs to allow debugging using the switch register on the front panel of the PDP-11.

    5. Note required fixes and additions and update the card deck as needed.

    Repeat.

    Life got easier when the developers got security clearances so they could access the real development system. It has DECtape and ran RT-11. All development could be done right there and the entire code base could be compiled (now written in FORTRAN IV except for low level graphics code). Note that the system lacked a disk. DECtape was a random access magnetic tape system and ran RT-11. The compile was started every evening at about 16:30 and usually completed about the time I came in at 7:00 the next morning.

    For all the kids reading this, you can research all of the terms I used that you don't recognize. You can actually see them at the Computer History Museum in Sunnyvale, CA, though they only have the GT-40, a much more popular, smaller version of the GT-42. They have every other item I used including a running PDP-1. (Play Space War on the DECUscope!) Probably nothing running RT-11, though.

  90. 100 times faster. by jhumkey · · Score: 1

    I used punch cards in College and had to wait hours to get my turn.

    For work . . . we started a Machine Monitoring System for the factory floor around 1985. Back then a "compile everything" on the older Motorola Versados computers took five and a half hours.

    Now on the PC-Linux its running on, that same "compile everything" takes . . . 3 minutes 23 seconds.

    100 times faster . . . is a nice change.

    --
    No, I don't remember your name. But the memory mapped screen on a TRS80 from 1977 is from 15360 to 16383 if that helps.
  91. Simplest possible implementation by WinstonWolfIT · · Score: 1

    I wonder if it's the old-schoolers that termed YAGNI and repurposed KISS, as it seems like continuous integration has made it possible for hobbled code to work even in an unmaintainable state. It's a different mind-set to "dumb down" your implementation so that next to nothing can go wrong, and that apparently doesn't taste good to developers who love complexity.

  92. Assembly language on 80s home computers by Anonymous Coward · · Score: 0

    Load assembler from tape (3 mins)
    Type in assembly language source code (including own code to do things like put a character on the screen pixel by pixel)
    Save source code to tape in case it crashes (2 mins)
    Assemble
    Save object code to tape (2 mins)
    Restart machine
    Load object code from tape (2 mins)
    Machine hangs (no error messages)
    Load assembler from tape (3 mins)
    Load source code from tape (2 mins)
    Pore over it to work out why it crashed
    Loop

  93. reducing the pain by Tablizer · · Score: 1

    In the mid 1980's our 360 assembler class had to use punched cards to run programs at an off-site mainframe facility. For security reasons they didn't want a wired connection. Thus the turn-around time was a day.

    Since we did have an onsite VAX with a card reader, I decided to write a Pascal utility to pre-check for bone-head syntax and naming errors to reduce the failed attempt cycles and made it available to other students with teacher approval.

    And I got a nice little award for that to put on my first resume.
         

  94. In 1980 we had video terminals! by AlejoHausner · · Score: 1
    In high school in Toronto in 1978, we would hand-code our Fortran programs onto optical cards by strategically darkening in circles with pencil, to encode one line of source per card. The teacher would then stack your cards onto a reader, which would scan one card a time (about one or two per minute) and a magical thing called a "modem" would send the program to the University of Toronto mainframe, which would compile and (if you were lucky) run it. The teacher picked up the printouts in the morning on the way to school. Truly an exciting time, but I only saw other lucky students use it; I never got a chance to try.

    Then I had a transformative experience through a one-week stay at the University of Waterloo, where we spent all our time in front of teletypes programming in APL. Boy those teletypes were noisy, especially with a room with twenty of them going at it full blast. When I went to bed my ears would still be ringing. Yes, APL was my first programming language, and frankly the trauma hasn't worn off yet.

    When I started university in 1980 at McGill in Montreal, there still were punch card machines and punch card readers at the computer center, and its satellite centers. However, pretty much everyone at the school had a "computer code", ie an account on the time sharing system called MUSIC: see wikipedia. It was a lovely system, and you could run commands interactively. It came with Fortran, Snobol, Pascal, Lisp, IBM 360 assembler, and, of course Adventure!

    I spent many hours playing Adventure, and of course mapped the whole cave in detail.

    At McGill, there were two kinds of terminals: video terminals for the lucky people, and paper terminals from Digital Equipment called DecWriters for everyone else. The former had wisiwig code editors, on which you could prepare your source code and, when ready, "submit" your program to be compiled, run and printed. You would then walk down to the basement of Burnside Hall, where a surly operator would hand you your printout. That's when you learned that you had a typo in your code. Needless to say we were told over and over to WRITE YOUR PROGRAMS OUT before you typed them in, but nobody listened then, and nobody listens now either. In any case, the turn-around time from "submit" to picking out your printout was in the order of 15 minutes, not overnight as in TFA.

    The design of Watfiv fortran focused on fast compilation. Your code wouldn't be optimized, but that was OK, because as a student the majority of your runs would have compilation errors. Typically you only ran your program, fully implemented, once or twice, after dozens of botched compile runs.

    All in all, it was a great experience. What I appreciate the most, in retrospect, was that CS students were required to learn IBM assembler. Higher level languages don't fully make sense until you know what's going on at the CPU level. I still can't fathom how an intro course in Java can give you any true knowledge of how computers work.

  95. no flight involved? by belmolis · · Score: 2

    When I was a grad student at Bell Labs in 1983, a senior programmer told me about how she first programmed, when the labs were in New York City. She would write her program VERY carefully, punch the cards, put them in her briefcase, and fly to Washington, D.C. where she had access to a computer. She would give the deck to the attendant, wait a few minutes, receive her output, go back to the airport, and fly back to New York.

    1. Re:no flight involved? by pz · · Score: 1

      And I bet that because the costs of running a program were so high -- in time and monetary terms -- that your programs were correct, nearly 100% of the time.

      We get intellectually lazy when a debug loop is only a few seconds long.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  96. In the educational arena... by Anonymous Coward · · Score: 0

    We're talking small state school, not MIT (no CS major yet), but things were similar. We had to punch and submit our own decks (limited number of keypunch machines was a big problem.) The computer, a pair of 370-158's IIRC, was about 200 miles away over a phone line, and we shared it with the state Poison Control Center, among many other things of much higher priority than our classes, so latency was unpredictable. If a job got in before lunch, it was usually back by next morning.

    We had a single DecWriter (fancy dot matrix teletype) that did APL on the same remote computer; it was sufficiently expensive per minute and hard to get a slot on that we didn't use it lightly, and mostly with handwritten programs we did the night before.

    The school also owned a PDP-11/40, but access was limited to DEC BASIC and most terminals were 1200 baud or less. My last year or so we got a couple of dual floppy Apple IIe's with Apple Pascal. They were overall the most useful, again when time on one was available. From 10-11:30pm (when the building closed) were best.

    I still remember my first source debugger, around 1986 or '87. I finally got enough memory (at $500/MB!) on a Mac II to run one.

  97. Yes, I did that in the late 60's by rtayek · · Score: 1

    Worked at Hughes Aircraft in Fullerton. Sent punched cards off to an http://en.wikipedia.org/wiki/I... in Culver City and got the printout back the next day. Not exact;y doing http://en.wikipedia.org/wiki/T... back then.

    --
    vice chair orange county java users group (ocjug.org).
  98. By way of comparison... apk by Anonymous Coward · · Score: 0

    I had written my 1st BASIC programs then, iirc, leasing time from a DEC PDP-11 (?), line #'s & all & shortly after wrote COBOL on a VAX-1180 midrange during my freshman year in collegiate academia (dating myself) in 1984. I don't miss the "required" divisions extra bulk or the limited scope of the language (but it was the best I had my hands on @ the time & trends were in its favor for usage - so I went with it). I do Windows now though (C++ &/or Delphi = my fav tools for GUI development in it), e.g. -> http://start64.com/index.php?o...

    * :)

    (Just when I was thinking I was one of the truly "oldsters" around here? You came along (from the sounds of it)).

    APK

    P.S.=> I bet you're outta the punchcard era too, aren't you? I saw a guy CRY when he dropped his shoebox full of those once @ a parent's workplace (parent operated county gov't. computers in refrigerated rooms with tape drive streamers etc. & dumb terminals, but the coders did punchcard work - smart ones used a marker to draw a line across them if they dropped their stack of them)... apk

  99. Look how far we've come? by Trogre · · Score: 1

    And for you young'uns, what do you suppose your C++ or Java development times would be like if you got one compile a day?"

    The development time might be a bit longer but, dammit, the code would be a hell of a lot better.

    Perhaps we should go back to that system.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    1. Re:Look how far we've come? by JSilvers · · Score: 1

      Except for the fact that we mostly wrote in assembly language, development time might have been shorter. Back in the "old days", we read our own code carefully and hand tested it to get it as clean as possible before sending it off for a compile and, maybe, run. We would try to identify and fix as many bugs as possible before correcting the code. Of course, we didn't have to worry about pesky interactive users.

  100. Punch Cards & Paper Tape: Those Were The Days by azemon · · Score: 1

    I've done more than my share of batch programming using punch cards and paper tape on machines from the Amdahl 470 to the original PDP-8 (pre-integrated circuits). I remember how advanced a 10 character per second Teletype terminal seemed. And I sure as heck don't miss those days! Give me my Python interpreter any day! :-)

    -- Art Z.

  101. Depends where you were by Anonymous Coward · · Score: 0

    I used punch cards in college in the mid '70's. While in an RF engineering group at a large defense contractor, we were told by "corporate information management" that we had to buy IBM for computing. So I ordered some HP9000's with IEEE488 ports as RF test set controllers :-) Had access to Cray stuff as well, but it was heavily scheduled and costly.

    Left that outfit before the old Soviet Union derailed, and jumped over to an outfit doing MRP, MRPII, integrated manufacturing and financial software for a few years. PC's with IRMA cards for mainframe, had an HP3000 and a VAX785 to use pretty much as I needed. Good access to VM/CMS, DOS/VSE, and OS/MVS boxes, RACF admin privs, operator privs on the local 4300. No problem with the VAX or HP, just needed senior management approval for the PC, as it was a status symbol. The goofy corporate world, a PC was "status", but having a VAX to call your own wasn't even within their cognitive level. Wonder why that business sector tanked? ...

    It's a completely different development model today. In some ways far better, in some ways not so much. Understanding of how it all works down cozy to the metal has faded for those not doing embedded sorts of things.

    Oh Well, the early days were in many ways more fun, although I would have killed for the hardware we have today!

  102. 1974? One compile per week by Anonymous Coward · · Score: 0

    Jr high school after school fortran programming class, we would write the programs on programming paper then use the library keypunch and give the program to the teacher. They let us run one batch per week.

  103. Card Games by GeekAbroad · · Score: 1

    Cards could also store the object code in "binary" form. Ordinarily the card held one character per column, but in binary mode each row of each column (about 12 rows if I remember correctly) was a bit, and either had a hole punched in it or not. You didn't punch in the binary yourself, you wrote the program as characters and then when the job ran, the computer (if you asked it to) would write the object code onto cards in binary format. Binary card decks were considerably smaller than character cards. It also saved compilation time, just load, link, and go. You could even get the machine executable on cards, that was more bulky because the cards had to include bits for all the allocated storage. (This was Fortran, no dynamic memory allocation in those days, all the ram for all the variables was allocated at compile time.)

      The great drawback of binary cards was that they were unmodifiable, but when running the same program a number of times that didn't matter. Some flexibility was possible because you could have several versions of some subroutines which you could swap in and out. The main problem with binary was the card reader, reading binary cards was much slower and more noisy because of the greater number of holes per cards. The error rate was higher too, some "user" card readers were almost unusable since they continually misread cards. In those computer centers you gave the binary deck to the operators because their card reader was much better.

    Another thing about card punch machines was how noisy they were, like manual typewriters but worse. They didn't just hit paper with a key, they punched a hole in card stock, truly high impact printing. Even though the card punch was bolted to the table it was on, the table would shake.

  104. Back in the day....real time by Nildram · · Score: 1

    At that time I was working on a 'real time' Unix, writing C and compiling running testing via a green screen terminal. Not fast tenough, we shifted over to a 68000 based system, running PDOS, this time PASCAL / assembler, again normal (today?) edit/compile/test loop.

  105. In the past by os2fan · · Score: 1

    I suppose that when terminals cost the price of houses, and the computers lived in air-conditioned pens with white-coats at hand, and boas under the floor, computing time was scarse.

    Technology depends on how far one lives out from the main stream. I used punched cards and paper tape when i went through my course in the seventies. I used a teletype machine at work, it had a fairly large recriprocating mass, it used to "walk".

    Still, it amuses me to think back then we talked about 'Automatic Data Processing' (ADP), but every bit was expensive and one spent a good deal of trying to get as much information into the available data space. Now-days, data is cheap, and everyone calls it "Information Technology". Its rather silly really. Most IT people spend their time pouring data from one jug to another, with little regard to 'information' or how to optimise things.

    I still know how to find the main cycles of a program and bum speed out of it. You did that in the ancient days, and because i wanted to run the cycle a couple of thousand millions of times, it is of some profit to do this even today.

    --
    OS/2 - because choice is a terrible thing to waste.
  106. In the late 70's by BlitzBuddy · · Score: 1

    I was working for a service bureau. We sold time on CDC computers and I was visiting with a prospective client with the Navy. They were using a computer at another site since they didn't have one of their own. I was talking about while we didn't have a guaranteed turn around time for jobs (time between reading the cards in and getting paper back out) being usually in the range of 1 hours for routine priority works. Quicker if you paid a bit more. He laughed at this. I said that was better than average for our industry, is that a problem? He explained that his turn around time averaged about a month.

  107. I miss the cards by WillAdams · · Score: 1

    They were made of exceptionally high-quality paper and took fountain pen ink wonderfully --- I've exhausted my supply (which I use for note-taking) and am still looking for a (reasonably-priced) replacement.

    --
    Sphinx of black quartz, judge my vow.
  108. welcome to high end FPGA development by Anonymous Coward · · Score: 0

    At the far right hand of the family table of FPGA's, 10 to 20 hour compiles to close timing are commonplace. Plan your work, work your plan.
    An Altera Stratix5 A7/AB (or similar from Xilinx) contains more discrete logic elements than the entire 1970's and the beginning of the 1980's did.

  109. 80 column punch cards by FreedomFirstThenPeac · · Score: 1
    All the greybeards have these sorts of stories, but not this specific tale. Working at MSU physics lab, about once a week I would take two or three trays of punch cards, with no sequence numbers (that would have taken up 8 precious columns) over to the data center to be read in by a simple 2-4 card JCL code. I would mark the tops of the decks with a big "X" and the date, no worries.

    • One day the printout came back with a simple JCL error, so I went to pick up the deck planning to resubmit it. As they brought the boxes forward they dumped them all over the floor, as I stood there watching. Ooops.

      Of course, they had actually taken an old set of cards and dumped them, this was my second time being involved in a prank while working with data centers. The first time, I was the pranker, so I had it coming.

    Another story involves a pranker feedback loop. Using SimScript back in the day, punch cards with turnarounds measured in hours.



      • Student gets his printout back and finds the report includes a printed line "Eat my shorts". He rifles through his card deck, and finds a card that his buddy had slipped in. Running the card through the punch, he adds the words "... you scum sucking pig" and inserts it into the suspected pranker's submitted deck.

        Cue lunch. The Sargent from data center window comes to our lunch table to tell the original pranker (now the prankee) that they killed his job after it printed a several foot high stack of "Eat my shorts you scum sucking pig" (oops, forgot to look for programming loops before just dropping the card into the deck). He is to report to the Commander at 2PM to explain himself.

        Original prankee falls all over himself apologizing, promises to go with the original pranker to explain, lots of recrimination, etc. Sargent, having stood there silently, finally interrupts to note that they really only printed a few pages, and this abuse of government equipment need not go any higher.

        Lessons learned? (1) Do NOT prank carelessly. (2) If you must prank, keep the sysops in the loop.
    --
    "There is no god but allah" - well, they got it half right.
  110. Back in the day.... by Anonymous Coward · · Score: 0

    I too had not so fond memories of trudging over to the "computer center" with a box of punch cards and spending many a day waiting to use the punch card machine just to type in the "code" (ah Fortran - my dear friend); hoping that I didn't typo too often since even at pennies per card it was still monies spend on something other then BEER. Once I did type in the code - off to the operator drop station "maned by the CS undergrad major - who was having second thoughts on HIS major choice" to hand in my hours of work. Only to be called back realizing I forgot the job declaration stack of card that was needed to submit the jobs to the "mainframe". Once submitted, out the door for a beer across the street (gotta love OU!). After many rounds of Asteroids and several beers later you realized your job should be ready to process. You'd head back over for a scan of the output bins - hoping to find your job sheet. If you were lucky it was there and then you'd scan for the results - praises to the almighty compute god, otherwise, BUGS and wash-rinse-n-repeat. This went on for 2 quarters until I found out from the Psych grad students that they had access to a "TERMINAL" that was connected to the mainframe. You had access into some sort of editor to code your job; and the TSO (i think) environment so you can do the job management and submissions. For some reason grad students had higher rights then the lowly undergrads and when you submitted you job it processed inside of 20 minutes or less. Way cool, even doing Fortran. It was so cool. Taught myself some of the basics of mainframe job control, SPSS for data analysis, COBOL and wasted way too much time playing a Star Trek game in ASCII instead of doing my coding assignments. (http://www.codeproject.com/Articles/28228/Star-Trek-Text-Game)

    STAR TREK

    ENTER 1 OR 2 FOR INSTRUCTIONS (ENTER 2 TO PAGE)

    ENTER SEED NUMBER
    INITIALIZING...

    YOU MUST DESTROY 17 KINGONS IN 30 STARDATES WITH 3 STARBASES

    COMMAND

    (partial copy )

  111. Compiling PL/C cost "money" by profBill · · Score: 1

    In 1975 at "The" Ohio State University on an Amdahl 470 coding PL/C , a horrible "teaching" language version of PL/I that auto corrected syntax errors. That meant that the errors you got on compilation were not the errors you coded, but the ones the compiler added for you. Lots of fun.

    Anyway, when you started a class you were given an account with a certain amount of "money". Money was required as each compilation "cost" a certain amount of cash to compile and run. The more resources you used (not just CPU time or memory but also things like disk space ) the more you had to pay. If your account ran dry, you couldn't run any more jobs. You had to go beg your TA for more money so you could finish your programs. This of course affected your grade.

    I will never forget sitting in the hallway of the computer center watching the monitors for when my job ran, literally praying that the damn thing would run this time and running to the A-Z mailbox for my output to see if I got what I was looking for.

  112. That's how I started coding - with one exception by RockDoctor · · Score: 1
    We got the paper tape with our coded program and any error messages from the compiler back the next week. Then we had to feed them through the teletype terminal to get a print out to find out what had happened.

    Well, the alternative was to connect the teletype to the acoustic coupler, dial up the college where the compilation and running was done, and run the program directly. But since the cost of the phone call (20 miles, at 300bps) exceeded the budget for the entire computing class (communications budget was zero pounds and zero pence per class per year). The budget for paper, and the mimeography to make the blank coding forms could be hidden in the rest of the school's running costs, but the cost of getting a second phone line into the school and of paying the phone bills couldn't be hidden.

    Obviously, all the equipment was donated by local companies. But they couldn't cover the phone bills. So the forms went to the college when one of the teachers drove past on his way home, got processed in the college's computing centre's (on the good will of their hearts), and picked up a few days later to come back to school with us.

    A hell of a fankle. So, after a few months, the headmaster (EN_US : principal) knocked the course on the head, telling us that, as we were likely to go to university in 4 years time, we'd be able to do computing there. (He was dead proud - before our year's intake, the school had not had a single pupil go to university. That's non-comprehensive education for you.)

    --
    Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  113. Punch Card Era by Dabido · · Score: 1

    When I was still at school I did work experience at a South Australian Government office which still used punch cards. It was very similar to what was described above. The programmers wrote the programs out on paper (coding sheets), and then sent them along to the girls (there were no guys) in the typing pool to create the punch cards to be feed into the machine. (They also did the typing for a lot of other things. A request to create punch cards was something the typing pool only got once or twice a day. I think only one or two of the girls usually did it out of about fifty of them).

    Think the procedure went:

    *Guy (there were no girls) wrote the program,

    *Sent it to the typing pool on the same day.

    *Next day they received their punch cards back.

    *Feed them into the machine to have it compile etc and see if it works.

    From what they told me they seldom had any problems.

    When my friends and I visited a University (whilst at school) for some sort of experience day thing, they were still using punch cards. By the time I got to Uni they'd just installed a new machine (an Amdahl) which you could use terminals for, so punch cards were only just phased out. By the time I got to working full-time in IT (I had a detour into a professional music career for a while), punch cards were long gone, but some of the older PA's etc would recall the old Hollerith machines they used to create the punch cards.

    --
    Sure enough, the cow costume was hanging up next to the superhero outfit and sailors uniform. (S,Spud)
  114. Long compile turnovers are still here! by treczoks · · Score: 1

    If you have a big project running on an FPGA, you still might get compile times that might sound surreal to CPU programmers. On a CPU each source module can be compiled seperately and only the last step - the linking - ties them together. In hardware description languages, on the other hand, the "compilation" of a single source module into the net is only a small first step. everything after that has to take all modules into account. A simple change in one module might lead to a felt eternity of compilation (like in: starting on friday, looking for results on monday). Luckily, most basic errors are caught in the first compilation step. But the hairy ones will just make the system attempt longer and longer untill it eventually gives up.

    tl;dr With FPGAs, overnight compiling is no stranger even today.

  115. not good enough by NikeHerc · · Score: 1

    Good Enough For Government Work In 1983 isn't good enough, even for government work.

    In the mid- to late-70s, our XDS Sigma computers (https://en.wikipedia.org/wiki/SDS_Sigma_series) were doing everything online (unless you really wanted to do it offline for some reason). As many as 16 offline ("batch") jobs ran at one time with (in our environment) about 60 to 70 online users. And this was with one CPU and two megabytes (yes, 2MB) of memory.

    People knew how to code operating systems well with few resources back in those days.

    --
    Circle the wagons and fire inward. Entropy increases without bounds.