John W. Backus Dies at 82; Developed FORTRAN 271
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."
Wow. (Score:2, Funny)
Re: (Score:2, Interesting)
I am inclined to blame him for Basic as well, because it started out as a kind of simplified Fortran.
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)
Re:Wow. (Score:5, Interesting)
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.
FORTRAN isn't that bad. (Score:2)
Re: (Score:2, Insightful)
He lived to 82, I doubt there are any modern-day potato-ass programmers that could catch him even in his golden years. We should feel fortunate for his contributions and hope to hell we live that good of a life, that long. Now, where did I leave my Cheetos?
Re: (Score:2)
Re: (Score:2)
Psh, he developed FORTRAN. I'm surprised he even lived to 82 without being killed by a rabid programmer.
John W. Backus Dies at 82; Developed FORTRAN
IE. he developed it after he passed away. Surely that explains it...
Re: (Score:3, Funny)
Re: (Score:2)
Indeed it was. [att.com]
Re:What do you know? (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
It remains popular due to backwards compatibility, and the ease of writing numeric code with it.
As for other uses, I've seen cgi-bin scripts written in F77, and a
Re: (Score:2)
Has anyone read a biography on Backus? I know Erwin Schroedinger once said of quantum mechanics, "I don't like it, and I regret ever having had anything to do with it." (or something like that)
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)
Many times I have edited lex and yacc code, but never have I understood what the hell I was doing.
Re: (Score:2)
How they managed to come up with that stuff still amazes me.
Re: (Score:3, Interesting)
> never have I understood what the hell I was doing.
So true. I'm writing a JavaCC book [generating...javacc.com] and I'm still learning new stuff about it even though I'm almost done with the book.
The thing that's worked best for me is writing the lexical spec first, then going back and writing the parser spec. At least then you know that the basic tokens of the language are being recognized before you try to shape them into a parse tree.
Re:Also known for... (Score:5, Funny)
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)
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)
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. . .
Re: (Score:3, Interesting)
Larry Wall has a similar outlook (though his politics likely diverge heavily from Chomsky, I dunno). He has that linguist's way of looking at theoretically opposing points of view and rationa
Re: (Score:2, Funny)
Re: (Score:2)
How does that song go?
If you believe in forever, then life is just a one night stand.
If there's a programmer heaven, well you know they've got a hell of a compiler!
No, wait, that's not it...
Backus-Naur Form (Score:3, Interesting)
Worst headline ever (Score:5, Funny)
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)
Re: (Score:2)
DELETE*
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: (Score:2, Insightful)
talking about anachronisms
Re:We Stand On The Shoulders of Giants (Score:5, Funny)
Re: (Score:2)
Re: (Score:3, Informative)
Funny, yes, but misinterpretation is not insight.
The code was developed in the 60's. It (the code) is used today to drive a statistical website.
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.
Re: (Score:2)
I'm not sure whether Fortran predated COBOL or vice versa. However, it was out there as one of the first two languages. If you wrote to a subset, it was even quite portable, more so than COBOL which tended to have some very specific file handling. A number of the high-end vectorising compilers were first written for Fortan so that with everything else meant that there were a lot of numerical libraries out there (and still are).
Re: (Score:3, Interesting)
The thing with a huge legacy system such as the airlines use is it's stability, they go by the rule "if it works don't touch it". I worked on a large dispatch system for a telco, the back end was HPUX/C that had been ported from FORTRAN and been in (limited) production at some other telco for a few years (they bought a snapshot of the source code), the central route planning and dispatch algorithim was similar to that used by the airline systems.
Re: (Score:2)
If not great, at least "faster"?
My first programming class was GOTRAN and FORTRAN on punched cards. The college's IBM 1620 had the extra 64K memory unit in the second room too!
The Tombstone (Score:5, Funny)
Re:The Tombstone (Score:4, Funny)
Re: (Score:2)
Re: (Score:3)
...viewed as Backus's apology for creating FORTRAN (Score:4, Insightful)
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.
Re:...viewed as Backus's apology for creating FORT (Score:2)
I agree that an "apology" is too strong - FORTRAN was pretty damned good for the first high-level language. If you look at some of the alternatives that evolved shortly after FORTRAN, such as BCPL, they were much more limited. It's got to be remembered that it was the first language that established the notion of making programs portable, even if the first couple of versions were fairly closely tied to specific IBM machines.
Re: (Score:2)
Well, Lisp came out the next year, and has about the most versatile architecture of any language invented since.
The history of Fortran reads like the history of Ada, Basic and Perl. Continually being retrofitted with good ideas from other languages, but not very well and late in the game.
Re: (Score:2)
Re: (Score:2)
Then you've used the architecture of LISP.
LISP is important not only because it's a great programming language, but because it's a concise method of expressing abstract syntax trees, which are at the heart of any decent compiler.
Take a look at Register Transfer Language, which gcc used to use as the intermediate target language. You'll notice a lot of parentheses...
I think the reason people disparage any programming language is that they don't understand it completely, because nearly every one
Re: (Score:2)
Personally, I've always found runtime support to be more important than language syntax. I recall using FORTRAN on VAX/VMS. I was able to call ANY VMS language runtime. For example, I used to call some of the VMS BASIC functions for formatting text.
``apology'' (Score:2, Informative)
I understand the context in which the word "apology" is being used (as in "justification"), ...
Actually, I'm pretty sure they do mean ``apology'' as in ``sorry, world''. Backus's work on FP was all about getting past the ``word-at-a-time'' assignment-based paradigm popularized by FORTRAN (the ``von Neumann bottleneck''), and moving on to more expressive algebraic programming techniques, today referred to as functional programming. Check out his Turing award lecture [stanford.edu] -- it's a great read!
Farewell John (Score:5, Insightful)
IMPLICIT NONE
PRINT *, 'Farewell John W. Backus'
STOP
END
*
* End indeed
*
New meme (Score:2, Interesting)
It's a hoax (Score:3, Funny)
FFS a person died... (Score:3, Insightful)
Show some respect instead of making lame FORTRAN jokes...
Re: (Score:2, Insightful)
Re:FFS a person died... (Score:4, Insightful)
Re:FFS a person died... (Score:5, Insightful)
Re: (Score:3, Insightful)
You don't think that the number of people here making and/or understanding the jokes about FORTRAN says more about the significance of Backus's contributions than any fawning obituary column ever could? Contrary to another poster's comment, I think most death really is sad, but since I didn't know Mr Backus personally, I prefer to reflect on what he contributed to society as a whole instead of displaying false grief.
Be afraid, be very afraid (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Re: (Score:2)
Not to belittle them, but they often picked the low-hanging fruit. Much of what can be proven about normal, deterministic computation has been proven. Want to do some groundbreaking CS research today? Start reading on quantum computing, which isn't exactly for the faint of heart. Put another way, we pretty much know how to build a von Neumann machine and program it (even if w
BNF (Score:5, Funny)
Fond Memories of FORTRAN IV (Score:2)
An inspiration (Score:2)
Re: (Score:2)
It's a compliment to him that he inspired you, but come now... these grandiose statements are useless calls to undefined functions.
The mentioned Turing Award lecture (Score:5, Informative)
Re: (Score:2)
I downloaded that PDF, saw something that looked a lot like APL to my blissfully ignorant eyes, and ran screaming. Did he really apologize for writing FORTRAN by writing APL, and if so, why didn't he die of lead poisoning?
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.
Re: (Score:3, Informative)
Not quite:
Source: WordNet (r) 1.7
apology
n 1: an expression of regret at having caused trouble for someone; "he wrote a letter of apology to the hostess"
2: a formal written defense of something you believe in strongly [syn: apologia]
(this is another accepted meaning of a word, or an alternate meaning, as it is also known)
rest in peace (Score:5, Informative)
Re: (Score:2)
Re: (Score:3, Insightful)
I'm sure there are millions of HTML hairdressers out there who don't know the first thing about real programming.
Re:rest in peace (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
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!?
Please MOD this up (Score:2)
Re: (Score:3, Interesting)
Well nothing really. It was a good, early attempt. Its mistake was in surviving too long.
Yeah I have been one of the worst offenders in this article. Sorry about that. He was obviously an accomplished guy and I am sorry he is gone.
Hard to explain. It attracted a certain, lets say, blue collar group of programmers. People who lik
Re: (Score:2)
obligatory (Score:2, Funny)
Just to give people something to think aboout. (Score:2, Insightful)
Remember him not for FORTRAN (Score:5, Interesting)
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.
Re: (Score:2)
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!
Re: (Score:2)
Erlang does work today and is rock-solid stable, even if I personally prefer stronger typing.
Software Transactional Memory works out of the box in current versions of the GHC Haskell compiler and is actually quite stable. The main thing it lacks at the moment is good library support, simply because the main Haskell libraries haven't had time to catch up. Once good general purpose data structures can be built that are parameterized over a wide family of monads (i.e. IO, ST, STM) using
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.Re: (Score:3, Insightful)
Sigh... (Score:2)
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)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re:RIP and thank you (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)