100 Years of Grace Hopper
theodp writes "Grab your COBOL Coding Forms and head on over to comp.lang.cobol, kids! Yesterday was Grace Hopper's 100th birthday, and many are still singing the praises of her Common Business-Oriented Language."
← Back to Stories (view on slashdot.org)
It figures. One of the wordiest (is that a word?) programming languages was invented by a woman. Talk talk talk. :-)
I couldn't resist.
Even though you died in 1992, Happy Birthday to You!
Seriously. Learn some legacy skills, you'll need them to help your future employer maintain their legacy stuff or migrate it.
COBOL programmers are retiring fast, in 5-10 years expect a mini-boom for this skill set as those who didn't migrate before Y2K decide it's finally time.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Try this instead.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
The only way I could code my way out of a wet paper bag in COBOL would be if my life depended on it (and I had a few COBOL programming texts in the bag with me). All I remember about COBOL is that it is long winded... as per its alternate acronym expansion: Considered Obsolete Because Of Length.
When our name is on the back of your car, we're behind you all the way!
And while I'm sadly not related (or perhaps just not very closely related) to Grace Hopper, it's still neat that someone else with that somewhat unusual last name is in computing. :-)
I have a point system for what people think of when I mention my last name:
Need a Python, C++, Unix, Linux develop
She not only debugged the problem but documented the bug in her notebook.
Look at the bottom of this page.
Someday we'll look back at the rigid grid of orthogonal rows/columns of database tables with the same pity with which we look back the character grids in which we coded COBOL programs.
Practically all of COBOL was replaced by the printf() command. Which is still the ultimate target for most programs written today, even if the printf() is wrapped in some higher level output function. I'm looking forward to all of all database and relations someday residing in a single invocation with a comprehensive, yet simple interface. Probably a flowchart.
--
make install -not war
The university I went to stopped teaching it about 20 years ago, and most programmers of COBOL with much in the way of practical real world development experience retired long ago. In fact, a lot of them came out of retirement for a few months or a year prior to Y2K because the money offered was so good.
Today, there are still COBOL jobs advertised, and they largely go unfilled. It could have something to do with the fact that there are so few people remaining with the skills, and something to do with the fact that many of them are with banks who are notoriously cheap on IT salaries. The few remaining good COBOL people on the market go into contract positions that usually begin at about $70/hour. I kid you not.
It's a lot of typing, writing COBOL, and the code is at times boringly simple, but if someone is out of work and seriously looking for an IT position, learning it would not hurt. I predict there will still be some call for it 20 years from now.
Designing a language that is simple to use and results in easy to read and easy-to-understand code is the right idea. For a first attempt, COBOL wasn't bad. But from a modern perspective, it has lots of problems. Also, COBOL (like Ada) incorrectly assumes that writing more text makes code clearer; it does not.
The best designed language overall is probably still Smalltalk: it's easy to read, easy to learn, and was designed from the ground up with the idea of being used in an interactive programming environment. It also strikes a better balance between verbosity and expressiveness. Just about the only thing that Smalltalk got wrong was to use strict left-to-right evaluation for arithmetic expressions; a better compromise might have been simply to require arithmetic expressions to be fully parenthesized.
one of the few things i have on my "i love me wall" is one of her nanoseconds, framed with a letter from the admiral to my mother (whom she was trying to encourage into a career in computer science). now that i have a daughter of my own, who is already quite geeky herself, i counterbalance the pop culture effect with stories about women like grace hopper.
more girls - and hell, more boys for that matter - need to learn about people like her.
the art of COBOL, and what an art it is. I am sorry no young grasshoppers have taken up this valuable language.
Be sure to pay homage to the inventors of the other two ur-languages; Alan Backus, and John McCarthy. Without them, we'd still be programming in assembler, and there probably would be only a world-wide market for 5 computers.
the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
Grace Hopper is ranked Rear Admiral Grace Hopper in the US Navy; the guided missile destroyer USS Hopper (DDG-70) is named after her.
http://www.hopper.navy.mil/Page.htm
Ben
That said, I work in a company which still runs a lot of COBOL code - a bank, funnily enough. I think banks are about the only people still using code written in the 70s *sigh*
"It's easier to ask forgiveness than it is to get permission."
Didn't know that she said that.
I have been quoting this for years. This is precisely the way to deal with any bureaucracy. Asking for permission is the most ridiculous thing to do when wanting to get something done. You are condemning yourself to days and weeks of memos, email, meetings, and PowerPoint charts. Better to just do it and get it done. Cut that Gordian knot. What a useful method of dealing with middle management.
I just didn't know that she was the one who said it first.
Back in high school I attended a talk by Admiral Hopper where she passed around a wire about 30 centimeters long and explained to us "this is how far light, or any electromagnetic signal, can travel in one nanosecond." That illustration has always stayed with me, it helps to explain a lot of the limitations inherent in hardware now that CPU speeds have become so fast.
For example, for a 3GHz CPU (.33 nanoseconds per clock cycle), electricity can only travel 10cm in one clock cycle. It's amazing that CPUs can do complex arithmetic when electrical signals inside the chip can only travel 10cm in that amount of time. Wonder why the CPU stalls when there's an access to main memory? Just look at your motherboard and gauge how far your memory is from the CPU, distance alone explains 4-5 clock cycles of the total delay.
"To be absolutely certain about something, one must know everything or nothing about it." -- Olin Miller
One of my CS professors in college said, "Did you hear they're making an object-oriented version of COBOL? It's going to be called 'ADD 1 TO COBOL'"
:) There's a park named for her somewhat near to where I live... I haven't gotten a chance to go check it out yet, but I'd definitely like to.
ba-dum-bum.
Seriously though, Admiral Hopper did a lot to advance computing in the early days, even if COBOL may seem like a step backwards to us now.
Quidquid latine dictum sit, altum sonatur.
Help stamp out iliturcy.
When I was a sophomore in high school our school dedicated its computer lab to her. Her family had a summer place near where I went to school, and she came to the school for the dedication. As one of the geekiest computer people in the school I was chosen as the token pupil to be with her when pictures were taken, etc. I think she was 80 years old when that happened, and she was still sharp as a tack. Her official title at the time was Commodore, and I remember referring to her that way. I also recall her making some comments about programming, etc. that I think helped push me into a career of computer programming before I even realized it. I really wish I had known more about her at the time I met her since I probably would have paid a lot more attention...
COBOL was heavily influenced by Grace's languages, but COBOL itself was designed by a small committee.
Table-ized A.I.
COBOL had one language construct that I really liked, 'Move Corresponding.' Much of the work COBOL did centered around data record structures. The 'Move Corresponding' statement allowed you to move all the fields from one record to another whose names matched.
No matter the order, just shovel the coal. Quite useful in its day.