RIP: Betty Holberton, Original Eniac Programmer
DecoDragon writes "Betty Holberton, one of the original ENIAC programmers, died on December 8th. An obituary describing her many achivements as well as her work on the ENIAC can be found in the Washington Post. Her accomplishments included contributing to the development of Cobol and Fortran, and coming up with using mnemonic characters for commands (i.e. a for add). She was awarded the Lovelace Award for extraordinary acomplishments in computing from the Asssociation for Women in Computing, and the Computer Pioneer Award from the IEEE Computer Society for "development of the first sort-merge generator for the Univac which inspired the first ideas about compilation.""
Sometimes, the world loses a great person. While her accomplishments may seem minor compared to those of the modern-day programmers, she laid an important stone in the foundation of modern computer science. Can you imagine life without her? One whole section of a computer's logic would be eliminated. Perhaps she made some obscure discovery that tomorrow will change the way we think about computers.
Everything is mainstream now.
From the article "By the completion of the ENIAC project in 1946, work that once took 30 hours to compute instead took 15 seconds."
Since most of us were born after the advent of computers we take for granted that mundane computation tasks can be automated for fairly low cost and at great time savings. However, for all that technological progress has been hailed in the last 20 years, is there any task that we have received this kind of improvement in efficiency on?
Are we becoming too focused on the day to day improvements in computing, each one of ever decreasing relevance to people who actually use the computer?
How can we focus more in the future on finding the areas where our efforts can be best utilized to produce efficiency gains of this sort, rather than Microsofting everything by putting 74 new features into a product just so a new product can be sold?
These kind of questions stand as the things that can best be answered by open source, where we are not constrained by profit. This should be what we think about in the future, rather than what featuress we can copy from someone else's software just because they have it and we don't.
That's more attributable to Grace Hopper, but she didn't coin it, she just made a joke of it, pasting the moth in her lab notebook and annotating it "first real bug".
--Blair
It was Gace Hopper Look at this site they have picture of the Bug.
Help fight continental drift.
decompile her code.
...
...
Another one for the bit bucket
while my compiler gently weeps
-
--- Will in Seattle - What are you doing to fight the War?
See the page on 1945, where it says:
"Grace Murray Hopper, working in a temporary World War I building at Harvard University on the Mark II computer, found the first computer bug beaten to death in the jaws of a relay. She glued it into the logbook of the computer and thereafter when the machine stops (frequently) they tell Howard Aiken that they are "debugging" the computer. The very first bug still exists in the National Museum of American History of the Smithsonian Institution. The word bug and the concept of debugging had been used previously, perhaps by Edison, but this was probably the first verification that the concept applied to computers."
What languages have YOU designed?
Now we got folks who what their case midnight black.
But given all of the design issues we have seen, it is interesting to note that the human interface problem was being considered from the very beginning.
[Insert your Microsoft insult joke here]
"It is a greater offense to steal men's labor, than their clothes"
There is a nice picture a her here. just if anyone is interested...
I got my master's in Comp Sci at UPenn in '89 (I used to walk past some of the remnants of ENIAC on display there, every day). And I can't help but be saddened by this:
She hoped to major in the field [mathematics] at the University of Pennsylvania but was discouraged by a professor who thought that women belonged at home.
I'm glad she finally got her chance to shine during the war, but who knows what else she might have accomplished, had someone's idiotic prejudices not dissuaded her into working for the Farm Journal?
Stupid git.
Then again, maybe he just meant /home...
I'm a bloodsucking fiend! Look at my outfit!
"There were no manuals," one of the women, Kay McNulty Mauchley Antonelli, later told Kathleen Melymuka for an interview in Computer World. "They gave us all the blueprints, and we could ask the engineers anything. We had to learn how the machine was built, what each tube did. We had to study how the machine worked and figure out how to do a job on it. So we went right ahead and taught ourselves how to program."
Mrs. Holberton took responsibility for the central unit that directed program sequences. Because the ENIAC was a parallel processor that could execute multiple program sections at once, programming the master unit was the toughest challenge of her 50-year career, she later told Kleiman.
Now that is a programming challenge.
Imagine that the first programs were parrallel processing problems from the start, with no manuals or instructions in programing because they had to invent it all first. And the pressure of being in wartime as well.
very impressive indeed. one of those things that get done because no one knows it is impossible yet.
"It is a greater offense to steal men's labor, than their clothes"
And I've always thought that the first programmers were all men. I do wonder: is there is a higher percentage of female programmers today or has it fallen in time?
As for those who are belittling her use of mnemonics, you shouldn't take it for granted. Imagine having to type out 'file system consistency checker' instead of fsck among other commands.
You die too easily.
Admiral Grace Hopper to you.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
The folk etymology of "bug" is that, in the early days of electronic computing, an actual insect flew into the innards of the Harvard Mark II, and caused a malfunction (this did happen), and that is where we get the word bug (in the sense of a flaw in the process). It seems however that the word was already in use in that sense in industrial manufacturing circles at the end of the 19th century.
(New Hacker's Dictionary)
What were you expecting?
Ms. Holberton, this Jolt's for you. You are one of the few early computer geek vetrans of war, an honor that few can claim. Thank you for what you have done for my country, and my profession.
So what are you suggesting, that we invent a wheel that is an order of magnitude...wheelier?
We're talking about a basic shift in the way things are done, from humans adding colums of numbers to an industrial number-adding machine.
You don't get the next big thing from microsoft, or from open source, or from programming at all.
You get it from inventing the next widget that automates, streamlines, accelerates some human activity.
What is it? A better word processor? Nope. Who knows. An automated intuiter? An enlarged and speed up memory core for the human brain? Something that turns dioxin into peanut butter?
Ginger?
Damned if I know, kemosabi. But when you're making those kind of calls, you're in the high country....
What were you expecting?
Most ENIAC progamers were women. Read this. You just might learn something.
First of all, she is one of the first programmers in the history of computing.
Second, she is probably the programmer with the longest active career: she started before the war, and retired in 1983.
Third, hey, she had a husband 33 years younger than her!
I think she got a few things worth of envy, huh?
Sigged!
Yeah, I remembered the "Rear" as I pressed "Submit," but I wasn't certain how much of a difference that makes to the official rank. I guess it's just like the subdivisions in a general's rank. (I haven't done as much work with the Navy as with the other branches.)
She also won a Turing Award, didn't she? In '74 or '78?
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
My computer at college in 1981 was something nearing the end of its life. It was an 8086 with 4K of ram, and a paper tape drive. To boot it, you load up the tape, and load three values into ram (by a series of eight switches and a "set" switch), and then send a command 377 to the processor. This would jump it tot a location in memory, and then run the commands that you loaded there (effectively JMP address), which would then run the KEX program. KEX was a driver for a teletype. After that, you input through the keyboard by assembler code.
Compared to that, mnenomics like a for add and b for bring would have been a godsend.
Of fortran, basic and cobol. In the days of wire wound core, each bit of the byte made the machine more expensive, and there was some comprimise on the size of the bit. Fortran was designed to run on a six-bit machine. Even Knuth's MIX is underpowered by modern computers.
BASIC is intended to run in small memory. MS made their packet by bumming it into 4K of ram, with a point and shoot interface.
In effect, you moved a cursor around the FAT and entered on the file you wanted to run or edit, at least on the tandy 1000. Still, I built a RPN multibase hackable calculator in 6K of code.
Where BASIC comes off the rails is that people start using it as a general programming language. Its inability to pass parameters to subroutines is easily overcome
Thus var1 = fn3130{x, v, z} can be written as:
A1=x:A2=v:A3=z:GOSUB 3130:var1=A1
In fact, once the kernel is written and documented, you can turn a generic RPN calculator script into specific special purpose code. I had mine so that all variables in the calculator start with O, P and Q. The idea was that you could write messy code outside these letters, and use the calculator as an input device.
And they say girls can't program. Ha. We just do it differently.
OS/2 - because choice is a terrible thing to waste.
One should realize that the most fundamental numerical algorithms do not change very rapidly. The most common numerical algorithms (sorting, linear algebra, differential equations, etc., both in serial and parallel) have been the subject of intense research by an army of applied mathematicians over the last half-century. All you have to do to take advantage of that work is to call your friendly local numerical library.
Of course, sophisticated 3D graphics methods are still the subject of intense research.
So in sum, I would argue that as far as "serious" numerical methods go, excellent solutions usually exist. (These methods are "open source", indeed open source before the term existed! They are usually published in the scientific literature. The main gains that remain are in "entertainment" applications. Bob
Science, like Nature, must also be tamed, with a view turned towards its preservation.
I wonder how many IT people suggest technologies that are not computer-related: eg how many people suggest paper cards as a solution. I know I have.
You see, once you start fiddling around with the hardware like Betty H did, you start using it wisely. It is one of the reasons that Unix works so well.
OS/2 - because choice is a terrible thing to waste.
In OS/2 it is easy to do that. This is because of EXTPROC and REXX. From that, you can write a REXX script for the processor, and feed the language script in as data. Saved many hundreds of hours' work doing it like that.
Maybe you can do that in Linux too - don't know enough about that.
Most good authorities on computer languages says you should learn several languages. This allows you to think more creatively. I know.
OS/2 - because choice is a terrible thing to waste.
Similar tricks were used in machines that had drum and delay-line memories, arranging the instructions such that the next one needed would emerge from the magnetic head or piezo reader just as the previous one was finished executing ... often with other instructions belonging to a different "thread" filling the gaps.
In those days you programmed to the bare metal because it was the only way to get anything useful done.
Brackets contain world's first nanosig, highly magnified:[.]
Of course you can do that under linux. IBM Object REXX for Linux or other REXX for Unix.
I'm typing this from a Penn CSE lab which is right down the hall from the room housing some of the remnants of ENIAC. There is a large picture on the wall, in which Betty is featured prominently, and she's been mentioned in almost every undergrad CSE class I've taken here so far.. it's nice to know that her efforts won't go un-noticed by kids like me these days, who grew up in the PC (non-mainframe) age.
While her accomplishments may seem minor compared to those of the modern-day programmers,
Actually her accomplishments seem a hell of a lot more important than those of any contemporary programmers. I know slashdotters tend to have messianic complexes, but come on, show some humility; she represents the generation that created the computer revolution.
In general you can do this under *nix with #!at the top of the file. So if you had a *nix command /usr/bin/rpn your example would translate into:
#!/usr/bin/rpn
b %1
b %2
a
s
Just about every *nix command that accepts a file containing commands as an argument will work this way.
I never did like REXX back when I was using OS/2 and I don't know why. It looks like REXX is an easy language to program with. And really I should have jumped at the chance to use a "real" scripting language versus basic and those hideous dos batch files.