Hacker News new | past | comments | ask | show | jobs | submit login
In Memoriam: Jean E. Sammet 1928-2017 (acm.org)
131 points by sohkamyung on May 29, 2017 | hide | past | favorite | 12 comments



Does this part from the memoriam sound correct? That it needed her three days to hand toggle a program on to a computer?

In early 1955, the company was working on a digital computer, the Sperry Electronic Digital Automatic Computer (SPEEDAC) and asked Sammet to be their programmer. Her first task was to write the basic loader for the SPEEDAC, which was a 20-line program that took three days to toggle into the computer by hand in binary.

This [1] appears to be the source for that.

[1] "Jean Sammet: Programming Language Contributor and Historian, and ACM President" (PDF) [ http://ieeexplore.ieee.org/stamp/stamp.jsp?reload=true&arnum... ]


Yes, I was wondering about this too. I also tracked this down to the IEEE article but it unfortunately has no other detail. I find it hard to conceive that a 20-line program would take three days to toggle into a computer, even if each line expanded to several words of computer memory.

Here's some speculation, though. The SPEEDAC had 4096 18-bit words. [1] If one were able to toggle manually at a rate of one bit per second, it would take over 20 hours of toggling to fill memory. If you add time to recheck values, set addresses correctly, and so forth, it's quite plausible that loading a large program would take three full eight-hour workdays.

An automatic loader would thus save the three days it would have taken to toggle in a program that filled memory. Again, this is just my speculation. But regardless, it's a remarkable achievement.

[1] https://en.wikipedia.org/wiki/SPEEDAC


That definitely sounds plausible for a very early computer, yep. Hand toggling, in this case, meant literally loading code probably bit by bit (byte by byte if you were lucky) with switches. Very error prone.


It depends on what exactly those 20 lines contained, but it does sound a little exaggerated to me --- perhaps 3 days to actually develop that program (including learning about the machine and its architecture) seems more reasonable.

The first microcomputers in the 70s also require bootstrapping from manually entering code, and it usually didn't take days to do that: http://oldcomputers.net/altair-8800.html

(I was going to make a joke about APL, but then realised this was before its invention...)


Her paper on history of PL is really good too (1972) http://dl.acm.org/citation.cfm?id=361485&dl=ACM&coll=DL&CFID...

I can't believe how little coverage her passing has caused.


I highly recommend her 1969 book, Programming Languages: History and Fundamentals.


Coincidentally, I just bought this book the week before last. Definitely an interesting historical perspective. I've only skimmed it a bit, but one thing that struck me was at the time (1969) the metasyntax for specifying the syntax of a programming language wasn't a settled thing. BNF was relatively new, but there were several alternatives in active use. She did point out the possibility of ambiguities, but there was no mention of LR (Knuth 1965) or LALR (DeRemer 1969) parsing. I guess parsing techniques were considered research at the time, not settled practice.


Has anyone here ever used FORMAC or know anything about it?


I was curious too. Here are two papers I found, but they are both paywalled:

Introduction to FORMAC (Sammet and Bond, 1964): http://ieeexplore.ieee.org/document/4038202/

The beginning and development of FORMAC (Sammet, 1993): https://dl.acm.org/citation.cfm?doid=154766.155372

From what I gathered reading a few snippets of other sources, FORMAC was one of the first systems to do symbolic math, like an early Mathematica.



Through some google-fu, I was able to find some good material related to FORMAC:

> This was the first step in extending the use of computers to do formal mathematics, as distinct from numerical mathematics. MAPLE and MATHEMATICA, which are discussed here, are the "children" of FORMAC. [1]

I was able to find some example code: https://gist.github.com/relyks/4e63e4fbe73e2a0ad9d681624eb96... [2]

And another good quote from a paper:

> The basic concepts of FORMAC (FORmula MAnipulation Compiler) were first developed by Jean E. Sammet (assisted by Robert G. Tobey) at IBM’s Boston Advanced Programming Department in July 1962. I recognized that what was needed was a formal algebraic capability associated with an already existing numeric mathematical language; FORTRAN was the obvious choice. An internal memo describing the basic ideas was written on August 1, 1962, and a complete draft of language specifications was finished in December 1962; implementation design started shortly thereafter. The basic objective was to develop a practical system for performing formal mathematical manipulation on the IBM 7090194. Originally FORMAC was intended only as an experiment, and there was no plan to make it available outside of IBM. In April 1964 the first complete version was successfully running after extensive testing, and papers on it appeared in the literature.

...

FORMAC introduced and/or emphasized two major concepts the desirability of a language for doing formula manipulation, rather than just a series of routines, and the concept of extending an existing language to provide this type of capability. Of the other two systems that appear to be in general use in 1980 one, REDUCE, has more or less followed the FORMAC language philosophy by adding capabilities to ALGOL, whereas MACSYMA has developed its own language. Perhaps the most lasting value of FORMAC was its major role, along with Sammet’s formation of the ACM Special Interest Group on Symbolic and Algebraic Manipulation (SIGSAM), in getting this technical field started. [3]

[1] http://ageconsearch.umn.edu/record/28555/files/wp03-17.pdf

[2] http://web.archive.org/web/20110927015538/http://hopl.murdoc...

[3] https://pdfs.semanticscholar.org/b77c/4a57b8cb314ff07744c3d3...

Looks pretty similar to Matlab :)


Rip




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: