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!
What do you hear?
I hear the Grace Hopper.
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 article writeup says today is Grace Hopper's 100th birthday. What it neglects to tell you is that Grace Hopper died in 1992. So yes, today is the 100th anniversary of her birth, but I don't think many would consider it a 100th birthday.
Cyde Weys Musings - Scrutinizing the inscrutable
Of how something utterly deficient by design can just put the word 'business' in its name, and get phb's to chase it like fish after a dead worm. If someplace is in a crisis because it has to migrate its critical legacy COBOL application and can't find anyone to do it, well that's just too bad. Chalk another one up to darwin....
"We are all geniuses when we dream"
- E.M. Cioran
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.
"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."
Easy to learn? OK, you have five minutes. Teach me!
My first computer related job out of school was to create and teach a first year COBOL course. I remember it well Identification, Data, Environment and Proceedure divisions.
Undetectable Steganography? Yep, there's an app fo
My alma mater is still teaching a three-hour course. I hear they get headhunters from all over looking for people who know that language. http://www.pittstate.edu/
IMO the language sucks massively and I felt dirty the first time I looked at code, but the prof (Dr. Cummings) makes it bearable (and that's a high compliment considering my opinion of the lang); I like her besides.
Hail Eris, full of mischief...
E pluribus sanguinem
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
Learn Cobol! It's the only way to live forever.
You see, in the future mankind will have the ability to revive deceased people. That's why so many of those future-nuts have their bodies frozen: they think they'll be revived. But why would the people in the future do that? It's bound to be expensive, and it's not as if there will ever be a people shortage.
That's why you should learn Cobol. To be irreplaceable not just now, but also in the year 9999. And in the year 99999. And in 999999...
Learn Cobol, for job security forever!
I believe posters are recognized by their sig. So I made one.
I have just undergone a Vietnam-style flashback to 1992 and the HB14 suite. Damn that vile language....
Radio on your iPod
Why those dirty rotters! Here I am thinking that Ms Hopper had lived to the ripe old age of 100, marvelling at the changes she would have seen, not only in the computing world, but in the world in general, only to find out that she died ages ago.
When our name is on the back of your car, we're behind you all the way!
... Time for you to leave.
Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
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.
I have been told by those who knew her in the 40's and 50's that she knew how to party hard and had a guy in every harbor...true party animal of the old school.
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.
COBOL provided a way to write business apps from scratch. But increasingly business runs on commercial, packaged software (ERP) that is customized or configured to the specific business. For example, SAP and Oracle Applications.
I think the companies that computerized early are more likely to be using home-grown software, probably written in COBOL. That is, companies like airlines, banks and power utilities.
Buying an ERP system and customizing it provides much higher leverage than writing the app from scratch in COBOL. This is because businesses have a lot in common.
The ERP systems have their own programming languages. SAP has ABAP, which is somewhat similar to COBOL. I think Oracle Applications customization can be done with PL/SQL (Oracle Forms runs it). Peoplesoft has Peopletools - though I can't tell if it's a language, an IDE, or both.
This is the dark side of the moon; off the radar of academics and hackers. While the web is full of programmers discussing C, Perl, Java, etc. the business programmers seem to have less desire for public discussion.
So my guess is that COBOL was not replaced by C, Perl, etc. but by ABAP, PL/SQL, etc. I'd appreciate any knowledgeable comments, as this is a fascinating area.
As far as I know, Grace is responsible for a lot of things beside COBOL, but one thing that stands out in my mind is that I was told during a university course that she wrote the first assembler. I'm not really sure about it, though; the wikipedia article doesn't seem to mention assembly language.
Let us also not forget that Admiral Hopper has a ship in the U.S. Navy named after her- the U.S.S. Hopper. It is an Aegis destroyer that is part of the Pacific fleet.
I work for a company that makes big yellow tractors and we are still creating programs in COBOL. In fact one of the main programs I wrote is being re-written. It was originally written in Java and now the powers that be are re-writing this program into AS400 COBOL. So never say COBOL is dying/dead because there are still very powerful companies that are creating new programs using this language
>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.
That sounds liek the script to "Armageddon". I wonder if Bruce Willis is free.
Open Source Drum Kit, LPLC deve board - mjhdesigns.com
Help stamp out iliturcy.
"The Tao gave birth to machine language. Machine language gave birth to the assembler. The assembler gave birth to the compiler. Now there are ten thousand languages. Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao. But do not program in COBOL if you can avoid it." Geoffrey James "The Tao Of Programming"
It's just that they write the functional equivalent of COBOL in VB, Java, C# ... etc.
I'm joking, but I'm not. I find that most programmers use this style of programming, sometimes throwing in a little inhieretence to make things look OO, until they get at least 5+ years under their belt. And sometimes not even then. Maybe if we required training Lisp or other such wierd programming language would they see the limitations of thier approaches and the flexibility, if they took advantage of it, of generics, templates, delegates, functors, closures, reflection and other nifty 'new' (except that much of it is actually 20 or more years old) things that are being built into our current production languages.
putting the 'B' in LGBTQ+
Most insurance, and transportation companies still use COBOl, as well as communications companies. (General Electric, AT&T, SPRINT, Disney, FedEx, Prudential, Aetna - just to name a few).
The way I look at it, COBOL will still be around when I retire and that isn't for some time yet.
And for those of you talking up all the other languages. Look to installed code value. Las tfigures I have are a bit old and dated, but still. In the early 90's some manager where I was at was crowing about 6$ billion in "C" code around. At the time there was 6$ Trillion (with a "T") of COBOL around. I doubt that COBOL has decreased all that much, but where is "C" today?
You guys are just biased.
Several posters have mentioned her rank. However, I think no has mentioned the fact she was the *first* female to achieve that rank in the US Navy and possibly the world. Considering the time and place in which she achieved this, she was probably both very smart and very tough.
putting the 'B' in LGBTQ+
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...
That's funny - I've always heard the opposite about COBOL. In 1994, I was hired as a free-lancer by a big company that makes copiers. Their sales force had a problem - their system for pricing big copier installations was a mainframe-based nightmare first written in the early 70's and gradually mutated to the point where their sales force couldn't use it without taking a two month course. Their IT people were barely able to keep its pricing tables in sync with reality, much less reliably track purchasing patterns or add incentive pricing logic. The guy who hired me characterized the situation like this:
Our project was not to replace the sales tool, but to put a 1994-modern GUI over it using screen scraping to hide the mainframe green screens, and Common Lisp to change the presentation and bury some of the complexity. It was a very small effort, and the four of us ran out of money after delivering a partial prototype, but it shows how paralyzing the sheer dead weight of a large COBOL system can be, "largely self-documenting" or not.
To a Lisp hacker, XML is S-expressions in drag.
By migration I meant migrating FROM a COBOL-based system to something else.
Scenario 1:
company loses skills to retirement, THEN migrates.
Big headaches.
Scenario 2:
Company hires fresh people who know COBOL or trains them in-house. Builds up skills. THEN trains these people with skills for the "new paradigm" and has them do the migration. Fewer headaches.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
COBOL was heavily influenced by Grace's languages, but COBOL itself was designed by a small committee.
Table-ized A.I.
Grace Hopper brought us oh so much and she was a great speaker too. It's a damn shame so little is online. Here's two items. Who's got more? C'mon folks, let's get a link thread going.
o ry_of_prog_lang/hopper.html
http://tennessee.cc.vt.edu/~hopl/hopper.html
http://rocky.dlib.vt.edu/~cs4624/spring_2001/hist
Forgot COBOL, every time you "debug" something it is a remembrance of the day she pulled that moth out. That was the creation of the term computer "bug".
How about not learning legacy skills? Then all you have to do is wait a few years, watch all the old programmers retire, and all the companies still stuck in the stone age go out of business. Then we can go and get a job doing something actually enjoyable.
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.
"100 years of Grass Hoppers"?
That would be really bad...
Biblical, even...
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
You haven't used the ERP/MRP system where I work, then.
I keep wanting to call up our sales rep and say, "Hey, do you know what database normalization is? Neither do your programmers!"
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
concepts that existed in the 60's.
Sorry, I meant 50's
Table-ized A.I.
"Grace" is a classic name namevoyager says "Grace" was most popular in 1880 with 5,000 per year named. That dwindled to a low in the 1970's with a recent upswing in 2006.
l
See for yourself
http://babynamewizard.com/namevoyager/lnv0105.htm
Thanks,
Jim Burke
Of course /. lameness filter does not allow posting of BF code! See http://esoteric.sange.fi/brainfuck/bf-source/src-b f/hello.b
Engineering is the art of compromise.
It was back in the late '60s, or perhaps early '70s.
... well, I forget what. I asked questions (I forget what) and she answered graciously (but I forget what)
I was a COBOL programmer, and oddly enough, working on the ubiquitous payroll system (Was COBOL ever used for anything else?)
I hated COBOL, and was trying to get into tech support, which I felt I already knew more about than the resident System Programmers, but they seemed to have some kind of corporate tenure.
So I went to a DPMA (Does DPMA still exist?) meeting in Montreal with my IT boss, at which she was the guest speaker. I was awed, but he (obviously) had never heard of her.
She was not yet an Admiral, just a Commodore, and her speech was on
My only brushes with COBOL afterwards were when, as a Systems Programmer, I had to explain to dolts, that "NO, the COBOL Compiler is NOT wrong - HERE'S where you goofed".
Not being a people-person, my terminalside manner was less than gracious.
Huh! After being out of COBOL for 30 years or more, and retired in a state of f*#%ng penury, perhaps it's time I got back into it - but just for the bucks. Screw PHP, javascript and XML -
This time I'll soak the bastards.
.
- aqk
F U
A F*%#%NG COMMITTEE!
I KNEW IT !!!
Grrr.......
.
- aqk
F U
Heck, haven't you ever tried COBOL++ or COBOL-- ??
.
- aqk
F U
And "Google Groups" is NOT Usenet.
news:comp.lang.cobol
Sorry, surely some slashdotters have around since before I was reading about Usenet carried by Arpanet in Jerry Pournelle's Byte column, but some others don't seem to know the difference.
Tag lost or not installed.
Compiles Only Because Of Luck
Tag lost or not installed.
in smaller embedded applications. Good C compilers are a godsend for DSP's and smaller 8 and 16 bit processors/microcontrollers, where the choices as short as 10 years ago were assembly or BAD C compilers.
Tag lost or not installed.
No, this is something called "Global Shop" (from Global Shop Solutions, formerly InFiSy). It's an old COBOL system designed for green screens, which has been dragged, kicking and screaming, into the Windows world. I wish I could say this was an exception, but it's not. I've met several such beasts in my relatively young career. Global Shop, C/F Data Systems STRUCTURE, some others I cannot remember the names of. They all had one thing in common: They're all old COBOL, kept alive via AcuCOBOL from AcuCorp.
If anyone here encounters anything which uses WRUNCBL.EXE, run away. That's the AcuCOBOL runtime. I have yet to see anything which uses it which doesn't suck in multiple major ways.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
A F*%#%NG COMMITTEE! I KNEW IT !!!
Actually, a bigger committee was working on the project, but they were so slow that the smaller committee got it up and going quicker such that they dumped the big committee's work. The smaller committee basically added some features and minor changes to Grace's language, which was in production, rather than try to start from scratch.
Table-ized A.I.
I was lucky enough to meet Commodore Hopper at an ACM event in Kansas City back in the 80's. She's a wonderful speaker and told stories about the creation of COBOL and other early computing tales. I wasn't aware she was still with us.
Happy Birthday, Grace!
Nitewing '98
Everything works...in theory.
One friend of mine (unaware of her hand in COBOL), piped up "Perhaps because they're ashamed of it."
Another friend quickly pulled him aside and explained the gaffe.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
At the time, languages like COBOL and FORTRAN (on which GMH also worked, IIRC) were revolutionary.
The fact that "design flaws" can be found 50 years later is not relevant to that time.
Also, the fact that COBOL is still used 50 years on, while many other languages have fallen by the wayside, should indicate that COBOL must be doing something right.
Bitching about COBOL being "deficient by design" is like bitching about the QWERTY keyboard being "deficient by design".
At the time, there were valid reasons for doing things the way that they were done.
The fact that things have changed since then does not necessarily invalidate decisions made at the time.
You also did not give any examples of what part(s) of the "design" you consider "deficient".
Is it the verbosity ("ADD 1 TO X GIVING Y.")?
Remember that the language was designed for use by business people, who would understand "ADD 1 TO X GIVING Y." more easily than C's/C++'s/Java's "Y = X + 1;", or Pascal's "Y
Is it the "PICTURE" clause?
"PICTURE" clauses are more understandable than, say, "printf" statements ("999,999.99" vs "%9.2d" (and how do you embed that comma using a "printf" statement anyway, and how do you put parentheses around debits (rather than using a minus sign), without adding additional logic? (I suppose that you could write a general-purpose library function, but would that be any clearer (or more efficient) than COBOL's "PICTURE" clause? My guess is no.))).
COBOL works for its intended use, and more recent versions of COBOL, which incorporate technology discovered in the past 50 years (such as more sophisticated looping mechanisms and some object-oriented features), work even better.
(Disclaimer: Since I don't do business programming, I have not used COBOL since I took a course on it in college in the 1970s.
I program today primarily in Python and C++, and less so in a dozen or so other languages.
Still, I have followed developments in COBOL (and other languages) for my entire career, and I don't agree with the bum rap that many people with only a casual exposure to it seem to give it.)
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
I was talking about bad code, too. It crashes a lot, it leaves out data when printing reports, various other things don't work the way they should, it lacks documentation, it's slow. It's not like it's a frozen-in-time legacy system, either; they release regular new versions which add new features and new bugs.
Also, I find that most ugly code is also bad code. If the programmers didn't care enough (or know enough) to program well, the program tends to reflect that.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.