Slashdot Log In
John W. Backus Dies at 82; Developed FORTRAN
Posted by
kdawson
on Tue Mar 20, 2007 03:50 AM
from the go-to-considered-seminal dept.
from the go-to-considered-seminal dept.
A number of readers let us know of the passing of John W. Backus, who assembled a team to develop FORTRAN at IBM in the 1950s. It was the first widely used high-level language. Backus later worked on a "function-level" programming language, FP, which was described in his Turing Award lecture "Can Programming be Liberated from the von Neumann Style?" and is viewed as Backus's apology for creating FORTRAN. He received the 1977 ACM Turing Award "for profound, influential, and lasting contributions to the design of practical high-level programming systems, notably through his work on FORTRAN, and for seminal publication of formal procedures for the specification of programming languages."
This discussion has been archived.
No new comments can be posted.
John W. Backus Dies at 82; Developed FORTRAN
|
Log In/Create an Account
| Top
| 271 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Wow. (Score:2, Funny)
(http://www.fiveeightforums.com/)
Re:Wow. (Score:5, Insightful)
I'm more inclined to thank him for all the other high level programming languages.
Re:Wow. (Score:4, Funny)
(http://www.chemicalwonderland.net/ | Last Journal: Monday September 03, @10:34PM)
Re:Wow. (Score:5, Interesting)
(Last Journal: Friday October 26, @01:12AM)
FORTRAN was the first working high level compiler language; BASIC was the first working interpreter language. Very different underlying structures.
Now COBOL was the second major high level compiler language, and it was very much a reaction to FORTRAN, so I suppose using parent post's logic, we can blame Backus for COBOL. But then that cheapens the contributions of the Girl Admiral (Grace Hopper) who gave us such wonders as the nanosecond wire, and MULTIPLY 2 BY 2 GIVING FOUR.
For the youngsters out there:
</drivel>
It is hard for some of us graybeards to poke fun at Backus. His vision was the inspiration that has taken us all down this road.
LISP is a "centenial language" too (Score:4, Informative)
I call "centennial languages" languages that were invented near the beginning of the computer age as, still used a fair amount, and probably will be around until their 100th birthdays. Some languages like ALGOL, OL/I, and even PASCAL have faded.
Re:What do you know? (Score:5, Insightful)
(http://en.wikipedia.org/wiki/User:H2g2bob)
Compared to more modern languages - by which I mean C - it's bad. There are plenty of things which drive me nuts - the need to define things a million times, the lack of any sane way to group variables.
But compared to what was around when it was made, it was a leap forward (assembly, anyone).
Also, lets not forget that it was made for... yes, that's right: punched cards! It has a maximum line width because of this (even if it's not on punched cards). This is, I think, one of the main reasons why FORTRAN encourages you to write code like it's in a big dense block (the lack of spaces, the inline looping of variables).
FORTRAN still has good use among physics labs, partly because there's a lot of physics-specific code that is made for it, and partly because everybody's already used to it. And it has been updated (F95) to include all the modern features you could want.
Still, you'd need to be mad to use it. Which is why I do.
Also known for... (Score:5, Informative)
Truly an American icon. Even if you never ran LEXX or YACC in your life, Backus's impact on contemporary culture cannot be denied.
Re:Also known for... (Score:5, Funny)
(http://netapps.com.au/)
Many times I have edited lex and yacc code, but never have I understood what the hell I was doing.
Re:Also known for... (Score:5, Funny)
(http://kamthaka.blogspot.com/ | Last Journal: Wednesday March 30 2005, @03:18PM)
Well fear not. I think far fewer programmers today are familiar with BNF than back in the day when anyone who was not utterly worthless had a dog eared copy of The Unix Programming Environment. This means the end of all those tersely documented syntaxes, and with them those cryptic yacc scripts.
Modern system designers have taken a clean sheet approach to the problem of grammar, one which escapes the limits of technology in Backus' generation, when computing power was scarce relative to brain power. Today you are much more likely to be called upon to work with XML schemas, which follows a simple easily understood philosophy: if something is worth saying, then it is worth saying with a lot words.
Re:Also known for... (Score:5, Funny)
(Last Journal: Wednesday February 07 2007, @10:52AM)
if something is worth saying, then it is worth saying with a lot words.
I like the corollary more: "XML is like violence. If it's not working, you're not using enough of it."
Re:Also known for... (Score:5, Informative)
(http://billposer.org/)
BNF is a useful notation, but it is just a notation for context-free grammars, which had already been developed and whose properties were already understood. Chomsky described the Chomsky hierarchy of formal languages, including context-free languages (type 2), in 1956, three years before Backus introduced a primitive version of BNF in describing what became Algol 58. The basic ideas came from mathematical logic and linguistics. Backus' role was to introduce these ideas to the specification of computer languages, ironically in part in reaction to the problem of specifying Fortran, which is not context-free.
Yup, it's the same Chomsky (Score:5, Informative)
Check out the Wikipedia page on him. . . agree with his politics or not, he's had an interesting career in linguistics. . .
Worst headline ever (Score:5, Funny)
(http://www.iki.fi/wwwwolf/)
This has to be the worst Slashdot headline ever. Makes FORTRAN sound like a type of cancer or something. (I thought that stuff was more of COBOL's league.)
So he developed FORTRAN as he died, huh? (Score:5, Funny)
We Stand On The Shoulders of Giants (Score:5, Informative)
Poke fun at Fortran all you want, but dammit I use code today to drive a statistical website that was written in the 60's, and it still runs great.
http://nces.ed.gov/nationsreportcard/nde [ed.gov]
Re:We Stand On The Shoulders of Giants (Score:5, Funny)
(Last Journal: Friday February 11 2005, @04:09AM)
Re:We Stand On The Shoulders of Giants (Score:4, Interesting)
Re:We Stand On The Shoulders of Giants (Score:5, Informative)
Personally I don't see why this man seems to be getting such a bad send off here. After all the man invented a programming language that at a time when their were few others around, a language that has survived in critical usage until today. There may be many geeks on this site, but I doubt many of those who seem to be dancing on his grave could have done something so difficult, anywhere near as well as he did.
Just because an old language is more difficult to use than some more modern ones, does not mean that old language is a bad thing to have existed. And it doesn't mean that it wasn't a great achievement.
The Tombstone (Score:5, Funny)
Re:The Tombstone (Score:4, Funny)
...viewed as Backus's apology for creating FORTRAN (Score:4, Insightful)
(http://www.cr0n.net/)
82 is a good innings. No matter what you think of FORTRAN as a language, I think it's safe to say that it, and later some of the other really early languages advanced computer science greatly during its infancy. We have a lot to thank Backus for.
Farewell John (Score:5, Insightful)
(http://www.chriswareham.net/)
IMPLICIT NONE
PRINT *, 'Farewell John W. Backus'
STOP
END
*
* End indeed
*
It's a hoax (Score:3, Funny)
(Last Journal: Sunday June 17, @02:35AM)
FFS a person died... (Score:3, Insightful)
(http://www.segfault.gr/)
Show some respect instead of making lame FORTRAN jokes...
Re:FFS a person died... (Score:4, Insightful)
Re:FFS a person died... (Score:5, Insightful)
Be afraid, be very afraid (Score:5, Insightful)
(http://www.vivaoporto.com/)
BNF (Score:5, Funny)
(http://elgoog.rb-hosting.de/)
Fond Memories of FORTRAN IV (Score:2)
(http://adavid.com.au/ | Last Journal: Tuesday July 10, @10:09PM)
An inspiration (Score:2)
(http://slashdot.org/)
The mentioned Turing Award lecture (Score:5, Informative)
No need to apologise (Score:3, Insightful)
(yes, yes, I know, he's no apologising in the usual sense; this is a play on words, or a pun, as it is also known)
Still, FORTRAN was and still is one of the great programming languages. There are many languages that offer better features and are much suitable for general usage, but there's huge number of programs written in FORTRAN, and many in science still prefer it to C/C++; FORTRAN is very well suited for numerical calculations, which is after all what is was made for.
rest in peace (Score:5, Informative)
(http://www.mastermodelisation.com/ | Last Journal: Sunday April 03 2005, @03:23PM)
Re:rest in peace (Score:5, Insightful)
(http://www.just-think-it.com/ | Last Journal: Friday August 03, @08:28AM)
95 percent of the people who programmed in the early years would never have done it without Fortran.
It is easy to criticize, as many other posts have done, something invented half a century ago. Personally, I miss being able to use Fortran (or a procedural basic) to solve today's problems -- we've given ourselves over to the machine's favorite language (C) while we pat ourselves on the back for how smart we are now (as we create write-only code).
I wish this [cminusminus.org] had become more popular. There's still time.
Re:rest in peace (Score:5, Insightful)
Fortran has been criticized because you can write "spaghetti code" or other crap, while other languages supposedly protect you from the mistakes you can make in Fortran. But you can write crappy code in any language (including "spaghetti classes"). I teach my students to write with good style. They know their code has to be clearly understandable not just to the machine but also to someone else who is familiar with the goal of the code but not the details. Trying to enforce good style through grammar is misguided at best, just as it is in writing in general. Developing good style is a personal, ongoing process for writing anything, including good code.
What's with the flaming? (Score:4, Insightful)
And for that matter, what IS 'constructive'? Maybe C++? And whatever that is, it wasn't influenced in any way by FORTRAN?
Just evolution, people... the TV scorning the radio as backward!?
obligatory (Score:2, Funny)
(http://www.in-egypt.net/ | Last Journal: Wednesday January 31 2007, @09:10AM)
Just to give people something to think aboout. (Score:2, Insightful)
(http://leviccampbell.writing.com/)
I'll drink to that... (Score:1, Offtopic)
(http://www.chiark.com/ | Last Journal: Friday March 05 2004, @11:08AM)
Remember him not for FORTRAN (Score:5, Interesting)
(http://comonad.com/)
I find it somewhat troubling that in this article John Backus is remembered primarily for the genie that he tried to put back in the bottle.
FORTRAN was utilitarian and procedural and good at enabling engineers and scientists to get work done. However, the problem with FORTRAN is the imperative pattern of though that it imposed led us to tell the computer a precise sequence of steps to accomplish each task. It doesn't offer information on dependencies, simply a "go here, do that" sequence of instructions. Imperative programs are inherently hard to reason about in terms of global state and effects and as written tend to be subject to off-by-one errors.
Backus saw this in 1978! See http://http//www.stanford.edu/class/cs242/readings /backus.pdf [http].
His insight spawned a great deal of the interest in functional programming languages. It was been credited by Paul Hudak of Haskell fame http://portal.acm.org/citation.cfm?doid=72551.7255 4 [acm.org] (ACM membership required) (summarized here http://lambda-the-ultimate.org/classic/message4172 .html [lambda-the-ultimate.org]) and others as really helping to turn the tide and kept functional programming languages from being snuffed out.
A lot of people don't see the point, having never programmed in a functional programming language like Haskell or ML. However even those people see dozens of cores on the horizon and wonder how they are going to deal with the debugging issues associated with all of the threads to keep those processors churning.
Functional programming offers an alternative viewpoint that is arguably much better suited to handle multiple CPUs working on large datasets. A case for this was recently reiterated by Tim Sweeney of Epic Megagames fame who said "in a concurrent world, imperative is the wrong default!" http://www.st.cs.uni-sb.de/edu/seminare/2005/advan ced-fp/docs/sweeny.pdf [uni-sb.de].
Haskell has brought Software Transactional Memory (STM) into play offering an alternative approach to traditional mutexes and locks that is compositional in nature unlike locking models. This is an approach that isn't readily emulable in an imperative setting because of the lack of guarantees about side effects. http://research.microsoft.com/~simonpj/papers/stm/ index.htm [microsoft.com].
These are solutions to real problems that we are experiencing today, not some academic sideshow, and they arise from a school of thought that he helped bring a great deal of attention to.
If you want to do something to remember Backus take the time to learn OCaml or Haskell or even just take the time to learn how to effectively use the map and fold functions in Perl, PHP or Ruby.
It is his willingness to turn his back on what was percieved as his greatest work when confronted with a better idea for which I will remember him and I am a better programmer today for having learned what I could from his ideas.
FORTRAN greatest time save since assembler (Score:5, Insightful)
First there was machine language. You hand coded all the little ones and zeros manually to get your machine code. Then came assembler which was a great time saver with all its mnemonics, registers and loops.
The next step was a real higher-level language: FORTRAN. Its estimated, that this meant a time saving ratio for programmers of 10:1 against assembler. This rate of improvement was never reached again. All other improvements in programming are only incremental compared to that.Headline (Score:1)
(http://mattwarden.com/)
John W. Backus Dies at 82; Developed FORTRAN
In that order?
Burial (Score:1)
(Last Journal: Monday September 20 2004, @10:29AM)
GOTO considered harmful (Score:1, Troll)
(http://roostme.com/)
Sigh... (Score:2)
(http://www.netlabs.net/~richieb | Last Journal: Friday December 23 2005, @09:26AM)
In FORTRAN "GOD" is REAL, unless declared INTEGER. ;-)
We've lost a wonderfully nice guy (Score:5, Interesting)
When I was in my early 20s and had been programming only a few years, and John was already a legend and IBM Fellow for his work on FORTRAN, I had the pleasure of meeting him informally a few times. You would have thought our positions and experiences were nearly the same. He was always as engaged and delighted with younger people like me as with other giants of the computer field, some of whom were standing right with us at those get togethers (Jim Gray [wikipedia.org] comes to mind). John was extraordinarily decent, kind, and down-to-earth, and he will be very much missed.
I think some of the wise guys/gals on this list are missing the point of the FORTRAN team's contributions. It wasn't that FORTRAN was the perfect language. To some degree, that wasn't even the goal. Quoting from an an article by Backus [acm.org] (full text is available only to ACM subscribers, unfortunately):
At the time the FORTRAN work was done, people didn't believe that a compiler could produce code that was fast enough. If you go back to the early references on FORTRAN you'll find that they implemented optimizations that were still considered sophisticated 15 years later. The difference is: the FORTRAN team did it at a time when nobody had done it before. Furthermore, they did it on an IBM 704 [ibm.com] that would be too weak (if not too small!) to power a wrist watch today. Its core storage units [ibm.com] were tens of cubic feet in size, and each held 4K 36 bit words, or just over 32K bytes in modern terms. Even the "high speed" drum storage units (like a disk, but with no seeking needed) held only 16K of those 36 bit words. On this machine, they built optimizations that were considered sophisticated even decades later, when machines had gotten much bigger and faster. Quoting from that same article:
The computing field has lost someone very special.
Interesting (Score:2)
(http://www.loconet.ca/)
R.I.P. (Score:1)
May he rest in peace. (Score:2)
Face down, 9 edge first.
My first internship (Score:2)
(Last Journal: Thursday April 18 2002, @07:50PM)
During the 2nd year of my one and only Summer intern job, I got to write and run some FORTRAN (the year before that, I had to run the shredder and do other simple clerical stuff). It was probably about 100 lines and did a very simple analysis; but it was actually used. This was in 1987, so it wasn't punched cards though. I'm not that old. RIP Mr. Backus.
Ackerman ala Backus (Score:1)
Real Programmers Don't Use Pascal (Score:1)
John Backus' surgeon (Score:1)
(Last Journal: Thursday June 07, @02:55PM)
"FP" means "Functional Programming" (Score:1)
(http://people.cs.uchicago.edu/~odonnell/)
I see that others have already addressed some of the other foolishness in the lead article as well as the replies. John Backus was an outstandingly careful and insightful thinker, with a deep understanding of the difference between progress in a line of work and completion of that work. I don't care any more than I think he would have about an appearance of disrespect or lack of appreciation. But I encourage those who reacted superficially to the obituary to look more deeply into Backus' work, and use it as a model of effective thinking.
That includes the writer of the lead article. I read Slashdot first, because it so often provides a better introduction to the news than the New York Times. In this case, Slashdot fell down badly on the job.
Brain Surgery with Stone Knives (Score:1)
Backus, et al., wrote FORTRAN for and on the IBM 704. The 704 was a 36-bit vacuum tube machine that could sustain 4902 single-precision floating point multiplies per second. His team wrote the entire compiler in 704 assembler language, writing and maintaining its roughly 50,000 lines of code using punched cards and magnetic tape. Because a complete assembly of the compiler ran several hours, programmers made changes in binary machine code, noting them on a paper listing for later inclusion in the source.
They had to invent the compiler as they went along. Working toward the goal of producing code as good as that written by a skilled assembly language programmer, his team invented key optimizations including register renaming, code hoisting, branch prediction, and strength reduction. We continue to this day to use Backus-Naur Form (BNF) to describe a computer language's syntax.
And it worked. Truly brain surgery with stone knives.
St. Peter sends Backus to GOTO purgatory (Score:2)
(*) A "feature" in IBM systems when a program crashed it printed the contents of core memory in hexadecimal filling a hunderd pages or more. Not unlike JVM-hs-errs.
Tombstone should read... (Score:1)
(http://www.geocities.com/tablizer | Last Journal: Saturday March 15 2003, @01:22PM)
FORTRAN matured as programming itself matured (Score:1)
There were, IMO, three main reasons why writing and debugging programs was more difficult and time-consuming in those days:
First, the techniques and procedures of programming were not well understood, and were therefore not well taught, in the 1960s. One had to learn, year by year, partly by trial and error and partly by reading about new thinking in the field, to program better. One had to learn about consistent, well-organized, readable style, systematic testing and bug-finding, avoidance of methods that caused buggy programs, and so on. As the skill and science of computing matured, techniques improved, and programmers were able to be more productive.
Second, FORTRAN itself had to mature (as other posters have noted). When it was first created in the 1950s, as the first real programming language, the techniques of writing a good programming language were not understood. Therefore the first versions of FORTRAN lacked important features (such as IF-THEN-ELSE constructions), and programming with these versions was troublesome. However, later versions of FORTRAN are much better; FORTRAN 77 is usable, and current FORTRAN is reasonably good. I might add that I think it might be easier to write reliable code in modern FORTRAN than in C; C has bug-inducing pitfalls such as "pointers" and IMO is less readable than FORTRAN.
Third, the technical resources available in "the bad old days" were by today's standards poor. Programs had to be punched onto cards. Since one's workplace did not generally have its own computer, one had to hand carry the deck of cards to an available computer (in my experience sometimes a half-hour trip each way). One generally had to wait several hours for the output, so there would be only 1-2 turnarounds possible a day. Output was on the old-fashioned large-format computer paper. One's only record of past work on a project was a bulky and cumbersome stack of this paper output.
FORTRAN tended in time to become a scapegoat for the difficulties caused by poor programming practices and now-antiquated resources. Those problems that were in fact caused by the old-type FORTRAN have been mostly eliminated in later versions.
Not just the shoulders, but beside giants (Score:1)
(http://www.idkk.com/)
And Fortan? Well, I have just finished working with the Met Office (http://www.metoffice.gov.uk/ [metoffice.gov.uk]) and, yes, they do use Fortran - and just last year I had to translate great swathes of it into C so that it could run on a system that lacked a Fortran compiler. Engineers are not bad programmers - but they do want access to complex - and fully tested - routines that already exist. So Fortran is going to continue for quite some while yet - a few more decades at least.
People of my age stand not just on the shoulders of giants, but beside them. The abstract conversations in which us geeks revel were much harder to set up - and be paid for - in the 1950s. People of all ages should thank John Backus in memoriam for his technical vision and inventiveness.
Re:Obligatory (Score:2)
(http://trolltalk.com/ | Last Journal: Saturday November 03, @08:45PM)
Re:RIP and thank you (Score:5, Insightful)
(http://itaintart.blogspot.com/index.html)
Re:Famous for two other things as well (Score:2)
(http://www.vhemt.org/)
Re:Obligatory (Score:2)
(http://kehoes.org/ | Last Journal: Friday August 10, @04:32AM)
Re:End of an era (Score:1)
Though I know Jim Backus died 'way back in the 80's. I remember because I was in Vegas at the time, so I got my picture in front of the million dollars at the old Vegas World in his honor.
Re:Fortran was horrible (Score:1)
Well, I wouldn't be at all surprised that the browser you're using and the operating system it's running on were compiled using optimizers that are the direct descendants of Backus' original FORTRAN compilers. As discussed in my post above [slashdot.org], those optimizers were the real point of the FORTRAN project. Remember also that FORTRAN was designed in 1954, when the alternative was assembler or machine language. Backus was ahead of the industry in realizing what high level languages could do, and later ahead of the industry in recognizing that his own FORTRAN was not a good long term design point; as others have noted, he devoted the latter part of his professional career to promoting functional languages. There too, he was years or even decades ahead of, not behind the curve. Did you know John personally? I did, at least a bit. He was neither an average mind nor an average person.