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.)
I loved him on Gilligan's Island. /git of my lawn
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"?
[Insert a "Fortran is dead" joke here]
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...
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.
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
Old programmers don't die, they simply reboot...
Jokes Apart, thank you from the bottom of our hearts for your formidable contribution to computing. May your soul rest in peace.
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!
Played Mr. Howell on Gilligan's Island, and was the voice of Mr. Magoo.
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
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
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.
Will SCO now claim copyright of FORTRAN because it preceded Linux?
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.
John W. Backus Dies at 82; Developed FORTRAN
In that order?
There is always one on every "someone died" discussion on the internet. It is must be a universal rule that some hypersensitive pseudo-child has to show up and whine. People make jokes about bad things, especially death. It is part coping mechanism and part compliment to the subject. If people didn't care they wouldn't make the effort to make a joke. It is not like these people are turning up at the guys funeral and telling insulting jokes to his family and laughing in their faces as they cry.
Like all old computer folks, they'll have to bury him 9 edge forward, face down.
Sigs. We don't need no steenking sigs.
When you feel the urge to mod redundant, consider the timestamp, not the page position
He succumbed to the Y2K7 glitch.
"Face down, 9 edge first"
Ahhh...the old 082 sorter...IBM's efficient tool for tearing cards in half.
all of the users that insist on making themselves look computer savvy by saying "Well I was programming fortran in the 60's.....".
Seriously. It happened two days ago to me.
Peter
He didn't exactly create LISP or anything...
~= scwizard =~
Finally, proof that GOTO is harmful. Death.
"No matter where you go, there you are." -- Buckaroo Banzai
Anyone else think of this guy momentarily? :)
http://imdb.com/name/nm0000822/
"No matter where you go, there you are." -- Buckaroo Banzai
I'm still waiting for apologies from the creators of TSO, 80286, OLE 1 and 2, MFC, XML Schema...
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
Huh? No Real Programmer jokes?
In FORTRAN "GOD" is REAL, unless declared INTEGER. ;-)
...richie - It is a good day to code.
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]
...in that order.
--Edward Dassmesser
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
...Too bad FORTRAN didn't die first.
Rest in peace. His legasy lives on..
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/
Always back up, never back down. ---- Think you're cool 'cos your uid is prime? Take mine, modulo the one digit integers
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
AH ha - the cobol approach.
May he rest in peace.
Face down, 9 edge first.
Get off my lawn.
... but it was the first, and has lasted, in vastly mutated form, to today. It is ideally suited to physics/engineers needs - folks using it for other stuff deserve the pain they get*. There was a fad for C/C++ in the physics community - people are now returning to the bosom of fortran in droves as they discover that, actually, C++ sucks compared to Fortran 2003 - FOR STUFF THEY WANT TO DO.
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"?
{a(=@[1,%0]->+@[2,%1];(=@[2,%0]->a@[-@[1,%1],%1];a @[-@[1,%1],a@[1,-@[2,%1]]]))}
Another one bites the dust....
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/
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.
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.
So typical. An average mind responsible for something that everyone used just because it was all that was out there. Please, anybody who has coded in Fortran hates it bitterly. Cobal too.
This isn't news.
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.
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.
he was killed by none other than Thulsa Doom. you see, not even conan the gimp could destroy Thulsa for he has arisen to take his rightful place among the mighty. Hail Thulsa Doom!
You insensitive clod!
I know you are trying to be funny, but that just sounds very misogynistic and crass to me. Does that mean a programmer or an admiral is automatically a boy unless explicitly stated to be a girl?
I'm pretty sure Hans Reiser killed him.
First post = troll. Cleverly worded post designed to enrage others = flamebait.
F95 suffers from many half-baked compilers (I'm looking at YOU, Lahey-Fujitsu) that cannot all compile the same identical, legal F95 code. Why? I think it's because there are too few developers out there to give companies enough of a user base. Compare the market for F95 with C/C++. See what I mean?
There is nothing that F95 does that once cannot do as straightforwardly using C++ and part of the Boost libraries to array and matrix handling. You also then get to avoid FORTRAN's half-assed file handling, input and output routines, godawful text formatting, and lack of anything more than modules to organize your code. Additionally, if you teach your students C++ then they can get jobs outside of physics. I deliberately don't keep F77 on my resume - I don't WANT to be paid to program in it.
C++ >> F95 for anything, provided one uses the right tools and knows what one is doing. I will concede that F95 has a slight advantage if the only thing you want to do is manipulate a few 1D arrays of numbers in terms of learning curve, but that's it.
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**
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.
Python will be used instead of Scheme.
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"