John W. Backus Dies at 82; Developed FORTRAN
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."
... Backus-Naur Form (BNF) grammars, the sine qua non of compiler design for the most-popular languages out there.
Truly an American icon. Even if you never ran LEXX or YACC in your life, Backus's impact on contemporary culture cannot be denied.
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.)
What does that entail? Did he hemorrhage "WRITE (6,7) 7 FORMAT(12H GOD DAMN IT)" and flatline? What about his death rattle? "STOP END"?
If it were not for the work of that generation, and the creativity they displayed, our world would be a far different place.
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
I'm still working on a clever footer.
GOTO END or , for those that believe in reincarnation: GOSUB END
I understand the context in which the word "apology" is being used (as in "justification"), but I had to laugh at the semantics of "apologising for FORTRAN".
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.
"And then I visited Wikipedia
PROGRAM FAREWELL_JOHN
...
IMPLICIT NONE
PRINT *, 'Farewell John W. Backus'
STOP
END
*
* End indeed
*
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.
Nothing on Netcraft yet.
Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
...you insensitive clods!!
Show some respect instead of making lame FORTRAN jokes...
while (Backus--);
With both the lack of interest and the distortion of the original goal, Computer Science as we know may be dying with the elders. Computer Science originally had nothing to do with computers (as in personal computer) per se, but with the science of computation, optimal algorithms for pure math problems, etc. Actually, it was nothing but a branch of Math. The way computer science is being dealt with nowadays, with disdain, lack of interest and with people thinking about it as a tool to put another "screw tighter" professional in the market, soon we may run out of real breakthroughs like the ones those genius created to pave the yellow brick road we run over nowadays.
Backus is also the B in BNF. Many will mourn his parsing.
By the time I was clacking out my tragic FORTRAN programs on a card punch machine, the language was already over 20 years old.
Slashdot: Where nerds gather to pool their ignorance
Backus' Turing Award Lecture about FP was a true inspiration for me and has influenced a lot of what I have done over the years. Here's to you Mr Backus, your name will live on beyond eternity.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
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.
http://michaelsmith.id.au
Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs
Swedish plasma phys. PhD student; MSc EE; knows maths, programming, electronics; finance interest; seeks opportunities
...Backus's apology for creating FORTRAN...
(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.
http://michaelsmith.id.au
Maybe it's because I was breastfed with BASIC from a very young age, but when I was forced to learn FORTRAN to work on legacy code I discovered after some initial, computer science taught disgust, that it was really the best way to express myself in code, better than with anything else, and I owe my present university position to FORTRAN because it made me so productive. I guess it was because the language was conceived by engineer, scientists oriented types, and not by formal logic adepts or grammar nazis. I still teach FORTRAN to this day, using F90/F95 in all its power, and MATLAB-like exposed students tend to enjoy it because they can develop simple and efficient numerical codes much faster than with anything else; some of them found positions thanks to it. The trick is to use FORTRAN for what it's for (numerical arrays, heavy linear algebra, easily parallelizable scientific computing) and not strings or files manipulation, linked lists (LISP) , graphics or system : for that there is C(++), and tons of libraries. If the code grows larger than 10 000 lines, very strong discipline is necessary, and that's where true OO can be pertinent. In scientific code FORTRAN tends to be 20% faster than the best possible C++ implementation because the grammar is so simple that compilers tend to understand better the code and can vectorize or optimize it much farther than C ; and there is much less overhead than with C++ because the objects are simpler to manipulate. Major code used in the industry (Star-CD, Gaussian for instance) is still written in FORTRAN for those (and legacy) reasons.
Google passes Turing test : see my journal
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 -- it's a great read!
Old programmers never die, they just GOSUB with no RETURN
What's so wrong with FORTRAN? From the sound of things, it's like the guy committed a crime or something...if it was so 'destructive' or whatever then how come it got so popular? Or did it? Why did so many choose to use it?
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!?
was he related to A Backus?
_ In Egypt Networks: Network Solutions with a Twist
Are you sure you don't mean Jim Backus, you know, the guy that played Mr. Howell on Gilligan's Island, and was the voice of Mr. Magoo.
c++;
If Mr. Backus hadn't developed fortran, would we be as advanced scientificaly as we are now?
"We the unwilling, lead by the unknowing, have been doing the hard with little for so long that we are ready do do the i
FORTRAN isn't that bad of a language (and I am not one of those programmers who is over 50, or 30) But I program in it twice a week. It isn't as sleek as python. or as Powerful as C. But it seems to work. And it is just like every other language out there. Has all the main bits and pieces. The only thing I truely hat about it is not the Language but the stupid VAX/HP Compiler and Linkers. Which make every simple change a major task.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Indeedandhi s i nsight fulidea ofre mov nig thesigni ficanc e o f s p aces be tweenwo rdsw as real lyah eado fits time. :-)
I do, in fact my main project is not only in FORTRAN but in standards compliant fixed form FORTRAN 77, huzzah!
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.
Raise your glasses to the spirit of Bacchus - he gave us a lot.
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.
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 membership required) (summarized here http://lambda-the-ultimate.org/classic/message4172 .html) 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.
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.
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.
Sanity is a sandbox. I prefer the swings.
Sure it's flawed in certain ways by todays standards, but that fact that it still has an application really speaks to it's design. It was the FIRST high level language for cripes sake.
The funny thing about Backus-Naur Form is that Naur himself says it should be Backus Normal Form, like it was before Naur used a slightly modified version of it.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
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.I can see a new trend of "Goodbye cruel world" programs replacing the "Hello world" equivalents, as designers of programming language pass away.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
I won't believe that until Netcraft or Dvorack confirm it.
-- Using the preview button since 2005
Like all old computer folks, they'll have to bury him 9 edge forward, face down.
Sigs. We don't need no steenking sigs.
FTA, he first wrote Fortran and then he developed BNF. Perhaps if it was the other way around, Fortan would had much simpler syntax?
"Face down, 9 edge first"
Ahhh...the old 082 sorter...IBM's efficient tool for tearing cards in half.
He didn't exactly create LISP or anything...
~= scwizard =~
if (!Backus) SlashDot();
"No matter where you go, there you are." -- Buckaroo Banzai
I came here to make the same stupid comment.
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.
Perhaps BNF was his hindsight-ful reaction to having written Fortran.
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)
The living have better things to do than to continue hating the dead.
In scientific code FORTRAN tends to be 20% faster than the best possible C++ implementation because the grammar is so simple that compilers tend to understand better the code and can vectorize or optimize it much farther than C ;
Apparently, this is not true anymore. Most scientists are writing their codes in C++ nowadays because expression templates remove the performance penalty associated with the abstraction of manipulating N dimensional matrices. (And I'm guessing that expression templates are making up for the optimization deficitances of modern compilers...) See http://osl.iu.edu/~tveldhui/papers/techniques/ for a good explaination. See http://www.oonumerics.org/blitz/benchmarks/ for some benchmarks for blitz++ vs. F77. Blitz is actually not so cutting edge anymore. There maybe better packages out there now too. Also, with the new autovectorization technologies, these comparsions might be wrong too.
Cheers
Ben
In FORTRAN "GOD" is REAL, unless declared INTEGER. ;-)
...richie - It is a good day to code.
Indeed it was.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
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 comes to mind). John was extraordinarily decent, kind, and down-to-earth, and he will be very much missed.
"To this day I believe that our emphasis on object program efficiency rather than on language design was basically correct. I believe that had we failed to produce efficient programs, the widespread use of languages like FORTRAN would have been seriously delayed.".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 (full text is available only to ACM subscribers, unfortunately):
"It is beyond the scope of this paper to go into the details of the analysis which section 2 [I.e. the optimizer] carried out. It will suffice to say that it produced code of such efficiency that its output would startle the programmers who studied it. It moved code out of loops where that was possible; it took advantage of the differences between rowwise and column-wise scans; it took note of special cases to optimize even the exits from loops. The degree of optimization performed by section 2 in its treatment of indexing, array references, and loops was not equalled again until optimizing compilers began to appear in the middle and late sixties."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 that would be too weak (if not too small!) to power a wrist watch today. Its core storage units 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.
In case you were wondering, the Chomsky of the "hierarchy of formal languages" is the same Noam Chomsky that you probably know of in a political context.
Check out the Wikipedia page on him. . . agree with his politics or not, he's had an interesting career in linguistics. . .
Ever use GCC?
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 has some unique idea or method of working that caused it to become popular. They're all fascinating to me.
Except for VBScript and Matlab. Those pretty much suck even if you know them completely.
If moderation could change anything, it would be illegal.
I read about him a few hours ago and Interestingly (and it seems erroneously) enough, my Discrete Mathematics book (Discrete Mathematics With Applications) lists him as having died in 1998.
[alk]
Ok. Well then maybe LISP makes a good Intermediate Language. I never embraced it as a general purpose language for solving a wide spectrum of problems. Perhaps FORTRAN and BASIC poisoned my mind, making it difficult to learn LISP.
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.
"No matter where you go, there you are." -- Buckaroo Banzai
Yet, Dijkstra ran out of the loop several years before him.
"No matter where you go, there you are." -- Buckaroo Banzai
The $1,000,000 was at Binions, not Vegas World.
Rest in peace. His legasy lives on..
Its more modern forms, such as F95, aren't bad at all. All the power of C++ as far as numerics goes, a consistent and sane syntax (complex variables and operations are just there, not reimplemented by every programmer in their own unique way), modern control and data structures, and easy to read. (Translation: doesn't look like line-noise )
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 million-line massively-parallel quantum-chemistry package in an object-oriented fashion using F77. In the hands of modern compilers, it is an amazing language.
the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
It's so true... you can talk about how much a genius Plato was... but what was his competition? The CS "greats" were also smart guys - they also weren't encumbered by a lot of legacy crap.
It reminds me of the 'survival bias'... as time passes, people tend to forget the crap, and remember the good stuff (the things that survive). For every good thing these giants did (Aristotle defining the syllogism) there tended to be a lot of crap people forget (his knack for making physics dictums w/o testing them).
http://www.coderoshi.com/
BBSes were the precursor to the Internet, for home users at least. Sure, universities could exchange among themselves, and CIS sucked our bank accounts down like a runaway pr0n habit, but BBSes allowed the everyman to connect to others online, chat, leave messages, learn, download, upload and all that good stuff (a decade or more before the Internet became popular) -- all without being charged for it.
RBBS was the king of BBSes for a long long time, with good reason. Widely distributed on floppies, impressively documented and configurable -- yet Basic-coded to fit in
Like Fortran, Basic had its time, place and purpose -- and still does. Only problem is that simple languages are hard for Microsoft to make money from. With ridiculously complicated languages they can crank out new, incompatible versions like clockwork and everyone must follow in goose^H^H^H^H^Hlock step.
Another also-ran is FoxPro, almost impossible to even get the darn thing, no printed docs, few third-party manuals -- yet SBT, among other things, depends on it. If only it paid to perfect things (and people)...
I come here for the love
May he rest in peace.
Face down, 9 edge first.
Get off my lawn.
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.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
I find Fortran90/95 pretty nice to program in. It's still lacking in string manipulation (Fortran was never really designed for that and can't compete with Perl or Python) and exception handling would be nice.
Of course, its probably largely the lack of such features that contributes to the execution speed of Fortran.
"Open the pod by doors, Hal" > "I'm afraid I can't do that, Dave" sudo "Open the pod bay doors, Hal" > alright
{a(=@[1,%0]->+@[2,%1];(=@[2,%0]->a@[-@[1,%1],%1];a @[-@[1,%1],a@[1,-@[2,%1]]]))}
John Backus' surgeon said shortly after his death, "It's total spaghetti in there; I couldn't tell what connected to what and when I pulled something out he just woke up and sad 'NaNQ.'"
"FP" means "Functional Programming," not "Function-level Programming Language." It refers to a class of programming techniques, as well as to a type of programming language particularly suitable for applying those techniques. John Backus' Turing lecture on FP was a key inspiration for my own dissertation, as well as for a lot of work in Scheme, Haskell, and a host of other projects.
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.
Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
No, it's a million lines because the team writing it couldn't figure out what features they didn't want. The fact that they somehow managed to use OO-type abstractions while continuing to code in strict f77 was the source of amazement.
the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
Autocad
I'm sick about hearing that Computer Science "has nothing to do with computers". Backus himself serves as a counterexample. His efforts in the field of Computer Science were precisely because he was unsatisfied with the state of computers. FORTRAN was written so that people who needed the power of computers could utilize them directly, without having to resort to the same things that my father did (like actually knowing the circuit layout of the computer's components!). His formal CS work was a direct result of his work with languages and compilers-- another level of abstraction like how FORTRAN was an abstraction of machine language. This is a recurring theme with many of the pioneers of CS-- People like Knuth and his algorithmic work, Dijkstra and structured programming, Codd and RDBMS, and so on-- their drive was inspired by a their negative experience with the status quo and a desire to move the practice in a new direction because their experience showed them a Better Way.
Certainly, CS, like Physics, is a field big enough to encompass both theoreticians and practitioners. My opinion is that the most important people are the ones who understand the dialectic between the two. The idea that people-who-use-computers can't be Computer Scientists is rubbish.
LISP is about to enter its sixth decade too, is still used by advocates, and had its heyday in computer culture. I believe its inventor John McCarthy is still around. MIT used to use LISP as its required CS training language from the 1960s until 2006.
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.
A dedicated programmer can write Fortran in any language.
Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind. - Dr. Seus
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.
I recall it is in most assemblers. Other compiled languages of the era had GOTO. A real horror was the FORTRAN computed-GOTO, sort of like a two-case switch statement. After FORTRAN-77 had IF-THEN-ELSE blocks, one used it much less then.
Saint Peter, the guardian of Heaven's Gate decreed Backus will eventually be admitted to Heaven, but will have to execute a large FORTRAN program with lots of GOTOs in order to find the way into Heaven. That program will send him into infinate loops for millennia at a time, side track him to Hell, return him into the Void, not mention occasional ABEND-dumps(*) now and then.
(*) 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.
Just because the language allowed you to omit spaces, doesn't mean you had to. I wrote a ton and a half of FORTRAN over more than a decade and never once encountered anyone who thought that was the correct way to code.
I can understand, though, why someone might want to omit the spaces: it conserved punch cards. Maybe that's why I never considered it important; I only used punch cards for one semester in college and, after that, only when forced by some instructor who wanted them. And, even then, I created them from programs that were originally created on disk. It used to confuse the operators who'd usually respond "Seriously?" to my request to punch the contents of my virtual punch to real cards. "Yeah, it's for a class."
Inline comments? Those used to be vendor-specific. I got used to them when I used VAX FORTRAN. I remember when MS FORTRAN said they'd have them but the compiler versions I used never allowed them. In fact, most of their compilers (which were total crap anyway) were unable, without significant modification, to use code that was accepted by other compilers even when they (MS) advertised that it could. Portable code? They'd heard of it but didn't believe in it. even back then. Guess that makes me something of an early adopter: I was sick and tired of Microsoft by the late-80s.
Ah, FORTRAN. Brings back some memories. Maybe someday I'll resurrect some of those old F77 programs I have on floppies.
CUR ALLOC 20195.....5804M
I'd always heard that FORTRAN came about through necromancy
Until 2006 they used LISP/Scheme, but their is change for Fall 2007. Its unclear to me what the change is. My MIT first computer course was LISP in the 1970s, so its been a long haul.
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, 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.
Schools have always had two departments. Computer Science and Computer Engineering. CS was meant for theoreticians and Engg was meant for practitioners. Its a sad thing that the actual breakdown happened on the lines of CE is HArdware (VLSI and chip design) and CS as software and once CS got ladled with the Software only tag it degenerated into programming only. So having different programs would not solve the problem at all. What we need is there should be a two year associate degree in Programming just like we used to have draftsmen in Civil Engineering. For those interested in 4 year courses we should have Engineering concentrating on building new systems both hardware and software and CS concentrating on research in new systems both hardware and software. And to do it right do not combine EE and CE.
**Life is too short to be serious**
It mostly means that I have recently re-read Girl Genius from start to current page, which is temporarily mind-warping. Possibly permanently so.
As with other work in the steampunk genre, persons with a damaged or congenitally lacking sense of humor should avoid looking at this online comic. Persons who are prone to spewing coffee, milk, or other beverages from their nasal passages onto their keyboards and monitors should avoid drinking while clicking from page to page. Do not read this comic while landing a Boeing 747 in manual mode. Do not read this comic while driving. Do not think about any of the scenes in this comic during your marriage ceremony, or during anyone else's funeral. Steampunk has been associated with psychotic breaks and states of episodic manic euphoria, and also with the District of Columbia. Discontinue use if you ever see more than one blimp or dirigible in the sky at the same time. Consult your doctor or mechanic if you begin to see steam powered robots, or pocketwatch wind-up robots, or persons of strange color, odd hats, and many pointed teeth.
Wow. That's like saying, whether or not you're a bongo fan, Dick Feynman did some cool stuff with physics too. Chomsky is the father of modern linguistics and was head of the linguistics department at MIT for years. His theoretical work is the basis for most of what we study in formal syntax in linguistics. It's really a lot of fun going into a graduate linguistics class on syntax, and seeing the same diagrams on the board as in your graduate compilers class. Who cares about his politics?
--brian
GOTO NERD HEAVEN
Table-ized A.I.
FORTRAN was the only programming language I used for the first 20 or so years of my career, starting in 1964, first as an applied math student, and then as a scientist. I see that it is common today to ridicule it, and it is not much taught, nor are there many jobs for FORTRAN programmers today. It is true that FORTRAN progamming in the early days was difficult; and this has given FORTRAN a somewhat poor reputation. However, FORTRAN is not today a bad language, and it probably should be used more for purposes (math-science-engineering) that suit it.
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.
... but JESUS is not!
you misunderstand Grace's intent and purpose with COBOL. It was to allow (intelligent) non-programmers to be able to follow what was happening, Grace was more tuned in to business process, communication and management than your typical geek whiz-boy. That is one of the reasons COBOL has endured in the corporate realm.
Or something like that :-)
IANAL but write like a drunk one.
That is what happens when you are not parsing tags when you read
IANAL but write like a drunk one.
And Fortan? Well, I have just finished working with the Met Office (http://www.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.
Ian D. K. Kelly
idkk Consultancy Ltd.
"Quality through Thought"