In the Beginning Was FORTRAN. 188
Faux_Pseudo writes: "The NY Times (free reg) has a nostalgic article on the birth of the language that made computers usable by people without an IQ over 300. You might also note the lack of focus groups looking over their shoulders telling them what it should be, bureaucrats telling them when it must be released and bean counters about how much they could spend doing it."
Re:Fortan?! (Score:1)
Re:ah, nostalgia (Score:1)
Performance is no longer as important (Score:1)
Now that's funny... (Score:4)
Re:Fortan?! (Score:3)
Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
Re:Contrary to popular belief. . . OS Fortran (Score:2)
fwiw
Speaking of homegrown, how about IITRAN? (Score:1)
IITRAN was a teaching language developed at IIT here in Chicago. Strange hybrid of Basic and Fortran. I played around with it in freshman yr of high school.. around '68.
You'd punch up your program to paper tape on an ASR33, dial into their S/360 RJE system, and if you were lucky, your program would execute properly overnight, when they ran their batch jobs (No multitasking on that puppy, noosssiree), and you'd have results the next day.
Just for the hell of it, we tried calculating the volume of the earth's atmosphere in cubic angstroms 8-P
Can you say 'arithmetic overflow'? I knew you could.
Re:Fortan?! (Score:1)
Well, Visual Fortran [microsoft.com] seems to be at version 5 alread...
Re:Fortan?! (Score:1)
cross platform fortran gui you ask? (Score:1)
i've seen a few programs written in this that look very professional. i wonder what the code looks like...
fortran: write once compile anywhere
Re:FORTRAN still lives (Score:1)
TI's C compiler for their DSPs implements restrict, as does recent versions of GNU C.
The TI compiler uses the guarantees offered by restrict to do some rather aggressive optimizations to loops, similar to what one finds in a FORTRAN compiler. (When restrict is not present, it also performs global alias analysis to attempt to disambiguate pointer references. That's a much harder problem, particularly in C, which is why restrict is valuable.)
--Joe--
Actually, in the beginning was Lisp. (Score:2)
Re:Early BASIC *was* compiled (Score:2)
On a similar note... that reminds me of the time I was in a record store and some teenaged kid held up a copy of ``Dark Side of the Moon'' to show his friend who told him ``Oh, yah. That's their first album.'' They were wondering why some OF was laughing at them. (This doesn't seem all that far off-topic since your username is ``auntfloyd''.)
Anybody who thinks that computing started with the IBM PC (and we've probably all run into at least one) probably thinks that Microsoft's BASIC was the first. I learned programming using a ``real'' BASIC (one with the matrix functions so it was easy to fit polynomials to all that data I was collecting in physics lab!) on an HP3000 and MPE (our school was a beta site so we got a deal). What a step down it was to have to use GW-BASIC and its offspring on PCs. And, yes, I know about TrueBASIC but by then I'd left BASIC far behind. BASIC was for learning the beginnings of programming; then you move on. By the time BASIC compilers came out for PCs, I didn't care anymore.
--
Re:Anyone remember AFBIC? (Score:2)
Arrgh! That's the environment under which I had my first experience with FORTRAN (II, if memory serves). If you were extremely fortunate, you could get three runs in a day. If you had a buddy in the computer center, you might get a fourth run. Getting a clean compile was like winning the lottery. Usually, you'd get something like a mixed-mode arithmetic error that either wouldn't compile or cause a strange run-time error. ``Productivity'' wasn't a word normally associated with FORTRAN programming in the punch card days.
--
Re:Contrary to popular belief. . . (Score:2)
The last time I was at an office supply store, you could still get green-bar paper. Finding a DECwriter III in good working order might be a little tougher. There are days when I wouldn't mind having one to dump listings out on. And to think that someone was ready to give me one for free years ago...
--
Re:F90/F95 for (IA64/Itanium) Linux (Score:2)
Digital had some awesome compilers writers. I had some orbital simulation software that, when compiled for use on a PC using the MS-FORTRAN compiler, required at least 512K to run. Compiling the same program for a PDP-11 using DEC's FORTRAN-77 compiler it was runnable on an I/D-space system (11/70), which had far less memory available to my programs.
--
Re:IQ 300 ? (Score:2)
Sounds like the same person who tried to teach FORTRAN programming as part of first year calculus (not quite ten years earlier):
It was amazing to see all his students standing in line for a crack at the three keypunchs that were available to students. Needless to say, not much was learned about programming until a later class.
--
Re:*Sigh* Nostalgia How Sweet (Score:2)
OK. VT-100s were nice. I always thought VT-52s were nicer, in a way, since they could be stacked and in a cramped lab that was awfully convenient.
When I get nostalgic about terminals, though, I think about the Heathkit terminals that we used. The director's theory was that if you wanted a terminal bad enough, you'd brush up on your soldering skills and build one. The other one that brings back memories was called, if memory serves, the Asciiscope (made by ITT). Orange phosphor, 40 column display, built-in acoustic coupler, and operated at a blazing 1200 baud. YeeHah!
--
Re:FORTRAN is still useful! (Score:2)
I thought FORTRAN V was an enhanced version of FORTRAN IV and only available from certain vendors. I used it on a Sperry/Univac system back in the early '80s. On some of our other platforms we used a preprocessor call IFTRAN that let us write ``structured FORTRAN IV''. It generated some of the most gawd-awful intermediate FORTRAN IV code you could imagine. A terrible tool for writing high performance code too. On the PDP-11 it generated a CONTINUE statement at the end of every structured block of code. If you had nested blocks you got a series of CONTINUES in the generated FORTRAN. Doesn't sounds like a bad thing until the standard FORTRAN compiler kicked in and generated a NOP (or was that NOOP) for every CONTINUE in your intermediate code. Pretty funny in a way.
--
Re:MY FORTRAN EXPERIENCE (Score:2)
Well, I'd suspect your compiler would complain about all those FORMAT statements since the ``F'' is in the continuation column. Plus, it'd probably squawk about the lowercase ``x'' at the end of the lines. Lastly, there doesn't seem to be any actual, executable code in the program, like, say, a WRITE statement. But then, it's been a heck of a long time since I cranked out FORTRAN code so I may be wrong. I just remember that our convention was to keep column 1 for comments (or to begin debugging code on VAX FORTRAN), columns 2-5 for line numbers, column 6 for the continuation character (we always used ``&'' since it wasn't a valid language character and would help to find column violations), and then, finally, columns 7-72 for code. And, I'm surprised I remembered all that.
Of course, maybe your biggest problem is you just forgot to enclose it in <PRE></PRE>. :-)
--
Re:Then how come... (Score:2)
We tend to train programmers how to program but not how to program well.''
Which is why you have software like Windows or Notes that brings even the fastest computer in the department to its knees. The hardware that runs these dogs with acceptable performance is never the cheaper hardware that these people have been talking about.
--
Re:Another funny bug (Score:2)
Which is why, at most places where I knew people were writing FORTRAN, they had a utility that would check for those things. We had one called SCANCHAR that would check a source file and spit out any lines in a source file that contained characters that weren't acceptable. The students we had working for us loved it, since they grew tired of the look we'd give 'em when they came asking why something wouldn't compile and it turned out to be a bogus character.
--
Re:Insignificant whitespace (Score:2)
Sure. I had a coworker that thought it was clever to write code like:
DO10I=1,2,100
He actually thought this was an important thing to do in order to save disk space.
When he left to work elsewhere, the first thing folks had to do with his code was to edit it and insert spaces so that you could read it more easily:
DO 10 I=1,2,100
or even
DO 10 I = 1, 2, 100
Whitespace is important if a human has to read and maintain the code. Sorry, but you'll never convince me otherwise.
--
Re:cross platform fortran gui you ask? (Score:2)
You've probably never had to write cross-platform FORTRAN where one of the platforms used the Microsoft FORTRAN compiler. I would hope that it's gotten better but I remember how much trouble it used to be. Every single READ and WRITE statement had to be examined to see if it would need a rewrite before working under MS-FORTRAN.
--
Re:MY FORTRAN EXPERIENCE (Score:2)
Aahh! I remember RAD50...
--
Re:Contrary to popular belief. . . (Score:3)
Slacker!
--
LISP, COBOL, FORTRAN (Score:2)
use. BASIC (from the 60s) is relatively youthful.
MIT still uses LISP as its comp-sci intro language.
Re:Fortran and Engineers (Score:2)
(I can't remember the attribution, though, and can't find it on the web at the moment.)
For an updated version of this joke, do a s/Fortran/Perl/
Re:Changing social focus in mainstream media (Score:2)
This shows that the Times, at least, is interested in the same thing it always has been: money (and the power that comes from that). So, I disagree with your reading that the Iimes is interested in tech not as a means to an end but in itself. I think they are interested in it purely as a means to the end of business and money.
// mlc, user 16290
--
Early BASIC *was* compiled (Score:3)
The first BASIC system, the one written by Kemeny and Kurtz at Dartmouth, was a compiler. It was felt (rightfully so) that this was needed in order to make the system fast enough to be usable. For whatever reason, this is often overlooked nowadays, and many people assume that BASIC compilers started with VB 5.
References:
A History of BASIC [digitalcentury.com] (Jones Telecommunication & Multimedia Encycolpedia)
BASIC [wikipedia.com] (Wikipedia)
Re: Scripting vs. Programming language vs. 4GL? [iecc.com] (comp.compilers article by David Wright)
Re:Contrary to popular belief. . . (Score:5)
Check out the G95 project at http://g95.sourceforge.net/ [sourceforge.net]. It's still in the beginning stages, but someone like you who knows the language could certainly help with the development. At worst, you could run your code through it and give feedback.
-----
Re:MENSA Requirements, FORTRAN and whatnot.. (Score:2)
Re:I believe (Score:2)
If course, I'm not sure if we're just more stupid over here, but in the UK the entry requirement is around 150, and that's fudged a lot of the time. They give you 3 IQ tests, and if any of them are over the required amount, they say 'sure, you can join us, just pay £x a month'.
The real intelligence test in the Mensa application process is realising that you don't need to join a society to show that you are clever.
What about RATFOR? (Score:2)
Re:Contrary to popular belief. . . (Score:2)
Every time I wrote a program in it I was glad I was at least able to use a modern editor like emacs rather than typing the program onto a punch card!
Doug
Re:Fortan?! (Score:2)
I could probably get better performance with Fortran, particularly on the university supercomputer...but would it be worth it?
Doug
Re:Fortan?! (Score:3)
And we're not talking stuff that takes days, we're talking stuff that takes months
These are the sorts of things where you'd rather spend the extra time in development to tweak a few extra percent, rather than use a language/platform which introduces a significant amount of overhead.
Doug
Re:Fortan?! (Score:5)
I'll be the first to admit that it sucks to program in, but it does have its advantages. Fortran compilers for large machines tend to be very well optimized, and can generate faster code than the equivalent c compilers. Also, the restrictions the language imposes makes it easier for the compiler to optimize the resulting binary.
And don't forget, freedom comes with a price. C's pointers are fun to use and allow for many interesting solutions to problems, but they are the number one cause of bugs in C.
Doug
A priceless quote (Score:3)
"We were the hackers of those days," said Richard Goldberg, now 77, one of the original Fortran team members.
Could it get any better than that?
---
Re: (Score:2)
Re:Fortan?! (Score:2)
Re:Fortan?! Sure! (Score:2)
A giant step 50 years ago but it's still not easy (Score:3)
And a giant step it was back then. We all owe the original Fortran team a debt of gratitude. However, I think that the programming world could afford another giant step because it is still not easy for people to program. It still takes years of training and experience and the process is expensive, time consuming and prone to errors.
We won't be there until the average human being can put a sophisticated application together after just a few hours on a computer. We need powerful compositional software tools that allow us to throw pre-packaged components together simply by clicking and dragging. Software components should have plug-compatible connectors that can connect together automatically. Building a primitive component should be just as easy. It should all be message (data) and/or signal driven. Until then, software is still a primitive cottage industry that just limps along the best it knows how. My apologies to all the pioneers on whose shoulders we stand.
Re:I believe (Score:3)
So, IQ is really just a number for braggarts to toss around, it's the percentile that counts, if that counts at all. I used to be in Mensa, but I never quite understood what they were all about. It was a little bit social club, a little bit of pimping for the idea of intelligence tests, and a lot of people with big egos. In some ways it was OK, but I'd rather hang out with intelligent people who aren't getting together just because they're intelligent, so I'll take a user group or some other fun gathering over a Mensa meeting any day.
But I suppose I'll get flamed now for trying to act cool by saying "I could be in Mensa, but I'm not". I just hope it's a good flame and not a boring goatse.cx link. 8-)
Re:A funny bug (Score:2)
From the point of the redimensioning on, the next 100 or so memory locations were permanently assigned the value of the 100 lost array units. Even explicitly writing 'R=7.8d0 ' in the code would not change the value of R... it took me almost a week to find the problem, since the code was close to 50k lines long and the problem was in a common block which the step debugger skipped.
yech.
Anyway although Fortran can be frustrating, there is no way I would consider doing any kind of complex cfd in C. I've seen the source of a NASA code [nasa.gov] which is written in C- those guys must have spent every moment of every day cursing the idiot who told them "C is the future"... The code is (at least) twice as long as it needs to be, runs at least 50% slower than an equivelant code in Fortran, and is nowhere near as extensible as a code written in Fortran would be. As far as engineering programming goes, FORTRAN is really the best solution.
Re:Contrary to popular belief. . . (Score:2)
Re:FORTRAN still lives (Score:2)
Indeed. The fact that a FORTRAN compiler, unlike C/C++ compiler, can verify that two objects aren't actually the same allows optimizations to be done that make FORTRAN code typically faster than C/C++, especially in number crunching.
Re:Contrary to popular belief. . . (Score:3)
A funny bug (Score:3)
When Was the last time Code You Wrote..... (Score:4)
Just last week I integrated some Fortran code into a DLL that will wind up on several hundred desktops. It does regressions.
The regression code was written about 30 years ago. It still runs as good today as it did 30 years ago.
When was the last time you wrote something that will run exactly as you wrote it 30 years from now?
It would be nice to see Fortran moved into the CLRE framework MS is proposing to make cross language issues less tedious.
Re:Fortran and Engineers (Score:2)
(Apologies to A. Einstein.)
Re:FORTRAN is still useful! (Score:2)
We have a slightly nicer front end (pre-compiler) called RATFOR
FMR ! I'm used to hearing the "FORTRAN 90, it's not as horrid as it used to be" viewpoint, but I'm amazed that anyone still used RATFOR. I ported RATFOR (from The Book) to George 3, back in the mid-80's. At the time, it was a huge improvement over the FORTRAN I was using (can't remember what, but RATFOR was originally built for the WatFOR and FORTRAN V generation) but even FORTRAN 77 and 80 seemed to have overtaken it for "structured programming" constructs. You shouldn't still need RATFOR. Not even FORTRAM shops should still need RATFOR.
It has to do it reliably, and fast.
FORTRAN does that fine. However, programs also need to be affordable to build and maintain - FORTRAN is terrible for this. In the last decade, we've also become more interested in connectivity and interworking between systems. Again, FORTRAN is terrible here (although I did hear from a brave chap building an XML DOM in FORTRAN).
FORTRAN is still useful, but only because of the legacy code. I'm not even sure that's still viable (automatic porting works pretty well, when it's heading upscale).
Re:IQ 300 ? (Score:2)
IQ 300 ? (Score:4)
Computer programmers, before high level programming languages, were poorly paid and were not considered to be highly skilled valuable employees. No, one thought them to be geniuses
The computers of the time were mostly used to calculate scientific problems, the scientists were not the programmers.
BTW Fortran was not the first high level language, their were a few interpreted languages before it.
Re:Fortan?! (Score:2)
Ten days later I had another, wonderful position... entirely because I was a FORTRAN programmer for 15 years and their systems used FORTRAN.
Don't kid yourself: FORTRAN is alive and well in the 21st Century!
Re:IQ 300 ? (Score:2)
Re:Now that's funny... (Score:2)
Re:A Riddle Wrapped in an Enigma (Score:2)
Oh come on, we're not idiots. It's just that when you've got a brand new ACME gold-plated electric hammer with the variable-angle striking surface so that the nail is always hit straight on...well, COBOL looks like the handle of a cheesy screwdriver that you're trying to use as a hammer.
You got one thing right (Score:2)
But what do you call "deemed unworthy"? There are fewer people who know Fortran than people who know Visual Basic, true, but that's because Fortran is a specialized language. If you go around messing in the source code for numerical calculations you are going to find a lot of Fortran, in the form of libraries.
Few people are needed to maintain those libraries, because they were fully tested and debugged decades ago, and that's why they are so valuable. You are assured of bug-free code. Of course, you can write your own linear algebra package in C, or Java, or Perl, or whatever you deem to be a worthy language, but you would be wasting your time.
Re:A giant step 50 years ago but it's still not ea (Score:2)
This will happen about the time an average humn being can compose an interesting symphpony and score it for full orchestra.
Ie you'd need to change the human beings not the tools.
_O_
*Sigh* Nostalgia How Sweet (Score:2)
Ah those were the days. Sure it was not as efficient. Of course it was slow and clunky. But applications back then worked. There was only one release and it worked, we were not hounded by managers and marketers to get it out the door before it was ready. And things worked then. Because we were the forgotten people in the basement who kept everything going back stage.
Now you have all this superflous crap that is really unneeded. Windows... BAH! X-Windows BAH! Apple... thats what the OTHER computer people used. And with all this superflous complexity comes increased development cycles, more need for debugging, and yet less time to do it.
You know I remember back in the day programming an application in Assembler. If any single byte of my code was wrong the whole computer would crash and I would have to reboot it and pour over my code for a while to figure out where the error was. Now I make an error in my code and the system won't crash... at least this one won't. But the one in the next cube that has a small difference in hardware configuration will go down like a $20 hooker. And it will take me hours and hours to figure out where the error is and in fixing that error it does not mean that it has not gone and created another one or that it has made sure that there will never be another error.
I say a return to good old fashioned programming values is needed. A return to those old unforgiving languages and the inflexible systems they ran on. The fires from those big irons forged quality programmers.
I Guess The Real Question Is... (Score:2)
...should FORTRAN be used to teach beginners. :)
I actually wrote some simple FORTRAN programs as an intern in the mid 1980s. It wouldn't surprise me if it was still in widespread use in certain math circles. IIRC, a FORTRAN compiler was released concurrently with MSVC 4.x.
Re:Math Nazi (Score:2)
On another note in any given poll there is about a 3% margin of error.
On a funny note there was a slashdot poll a long time ago that only had one option. ~97% of the people who responded picked that response.
Re:I believe (Score:3)
The true requirement is that you place in the 98th percentile.
Fun with numbers:
pop. with IQ >125 = 3.5%
pop. with IQ 125 with Bipolar Disorder = 33%
Percent of Bipolar people that make up the 1% of total population with Bipolar = ~97%
The numbers for other disorders like schizophrenia are much the same.
Most people with an IQ in the 180 range that I have met are unable to see the value in things like bathing more than 1 time a week, can't tie there shoe laces, can't spell or lack some other less obvious skill like the ability to say how much time has passed (like 3 minutes or 3 hours).
Ignorance is bliss and Mensa is expensive.
Fortran and Engineers (Score:4)
A: I don't know, but they will call it Fortran.
Re:Fortan?! Don't forget legacies (Score:2)
Another reason why Fortran is popular in scientific circles is that if it ain't broke, don't fix it. There's a lot of code in physics departments that's been running for decades and the senior scientists are so afraid of mucking it up that they won't touch it and won't let anyone else either. And, for that matter if someone before you worked out the algorithm for a problem in Fortran, why waste time redoing it if the program runs? And, Fortran is fast for numerical work. It blows for doing system work, but the unforunate reality is that for many scientists who were given the hammer called Fortran in their schooling, every thing looks like a nail. One of the truly awful things I saw in Fortran was a database emulator that took flat text files and pretended it was a relational database.
Re:F90/F95 for (IA64/Itanium) Linux (Score:2)
I never would have used Fortran if my academic advisor (and numerical analysis teacher) hadn't forced me to. C and C++ were banned from his course. He claimed that students spent too much time worrying about semi-colons, overloaded operators, and managing memory than writing good software that explored the ideas he taught in his class. This just goes to show, you should use the right tools for the job.
Contrary to popular belief. . . (Score:5)
If you're writing the newest and best desktop, use C++, or Java, or something else well suited for the job. If you want to integrate complex fluid systems or model intricate mechanical systems, grab yourself a Fortran compiler and go to town.
One of my biggest complaints about Linux is that there isn't a modern open source Fortran compiler for it.
Anyone remember AFBIC? (Score:2)
AFBIC differed from BASIC in that we had to use ".LT." instead of "<" and a couple of other things I don't remember any more (gimme a break, this was 1966).
Did AFBIC ever show up anywhere else? Am I correct that AFBIC was a homegrown program at Hopkins?
Distinguishing characteristic of F90: (Score:2)
Of course, I shouldn't be talking. Most of my FORTRAN legacy (still running on flight simulators at USAir, British Airways, and SAS) was in SEL/Gould/Encore FORTRAN 77+ which has DO...END DO, CASE, and even string libraries -- which were buggy as hell: you were better off doing your own string routines using EQUIVALENCEd INTEGER*1 and INTEGER*8 arrays.
F77/F90/F95 compilers still developed, optimized (Score:3)
The decision to switch from a Cray C90 to SGI had a lot to do with SGI's on-going fortran compiler development, optimization, and obscure/rare bug hunts. Their short term Cray R&D ownership also brought about some updated scientific libraries and optimized routines. Lots of happy folks here.
http://www.sgi.com/software/scsl.html [sgi.com]
http://www.sgi.com/developers/devtools/languages/
http://www.sgi.com/developers/devtools/languages/
http://www.sgi.com/developers/devtools/languages/
F90/F95 for (IA64/Itanium) Linux (Score:3)
I'm sure you probably mean Linux for IA32/x86, but this may be of interest anyway... seems SGI is hard at work on a "commercial-grade" freeware set of compilers for Linux IA64/Itanium. Not only will their Pro64 compilers include F90/F95 support, but they will also be bringing over their SCSL libraries gained from Cray. Neat stuff.
http://oss.sgi.com/projects/Pro64/
ah, nostalgia (Score:5)
A couple years ago we remodelled our labs and we tossed out all of the documentation produced before 1990, and of course he was appauled to find out that we no longer had the manuals he needed. The looks on the faces of the lab assistants (all born after 1977) when asked about Fortran syntax was priceless.
Nice printouts with FORTRAN (Score:2)
There was a FORTRAN 90/95 course in my physics studies. I wasn't thinking of the printout quality as such (I'd write the report in LaTeX anyway) but more like the hassle of copypasting the results. So I wrote the program to output results into a file as a LaTeX table, and included it in the report. Also, it produced data files for gnuplot which could be drawn as latex graphics. In the end I had a script which would run the program, run gnuplot for the graphs, and bring it all together in latex.
I think this speaks very much for 'compiling' text processors like latex. Not to mention that the output quality is a lot better than using Word or something.
--
Then and Now (Score:2)
You don't think that they didn't have IBM honcho's prodding them along constantly? They didn't have accountants telling them they were above the budget?...I mean, these things didn't just HAPPEN all of a sudden in our 'information age'...They started WAY back when programming first started...And the same rules that applied then, apply now...
Work hard, work smart, prepare for all of the blame and none of the glory
And then again, some of us just get lucky
I believe (Score:2)
Though I'm not sure, you see, because I'm not a "Mensa Master".
Oooh.. does anybody else like to watch them lose on jeopardy?
The slashdot 2 minute between postings limit: /.'ers since Spring 2001.
Pissing off hyper caffineated
FORTRAN is actually a result, not the beginning (Score:3)
For those of you who are really interested in the history of programming languages:
You have to go to a library, actually; the article is not available online. But it pays back with the wonderfull style of DEK.
Online addicts may want to check The historical development of Fortran [nsc.liu.se].
Mensa scores on tests you probably already took (Score:2)
Mensa really isn't all that exclusive; if you took the PSAT, SAT, GRE, or ACT, you can see if you qualify [alaskamensa.org].
The page I linked is a bit out of date, but the main Mensa sites don't appear to publish test score requirements anymore. I suspect they want you to contact them first, so they can tell you how smart you are. And remember to pay your dues, smarty.
Re:Contrary to popular belief. . . (Score:2)
Okay, I should have read the NYT article first. It had to have been 1957 when I discovered FORTRAN. I had taken an assembly language course in March 1956, but it was too tedious to write in for my heat transfer and fluid flow work.
It was not machine efficiency that won me over; it was my own efficiency in getting results. I believe that this was the essential thing for most,if not all, engineering folks who started using FORTRAN.
We were able to solve some humongous problems with the programs that I and others wrote as the years rolled on.
Skunk works project (Score:2)
Like the development of UNIX at AT&T Bell Labs, the FORTRAN development project was done "under the radar," a common enough practice in the '50s and '60s...even the '70s. Projects lasted long enough and required enough resources and money that small productivity projects were easily buried by low and middle management, and more often than not the productivity improvements helped managers bring projects in on time and within budget.
Where do you think a number of our useful tools came from? Many of them got their start as skunk works projects. DDT, as part of Automatic Electric's development of the computer-based switch. LEXX and YACC from UNIX, which made application-specific language much, much easier. And how about the TECO and VI editors?
The only reason that productivity improvements can't be buried these days is that people now schedule with the tools that we already have, and that doesn't leave much room for hiding stuff. Also, the marketing cycle is much, much reduced.
Re:Fortan?! (Score:2)
The core routines (linear system solvers, etc.) in matlab were LINPACK (linear systems) and EISPACK (eigenvalue routines) from the beginning. Cleve Moler, who wrote the original matlab, was one of the coauthors of LINPACK. I haven't followed it, but if there has been any change here, I suppose Matlab might have incorporated the more recent LAPACK. Either way Speed of the core computations shouldn't be a big problem.
It's using Matlab as anything other than a slick interface to Fortran code that causes performance problems. Memory in particular is a real killer with Matlab. Unfortunately, it's inherent in the language. Matlab lacks pointers or any ability to pass matrices to functions by reference. The upshot of this is, instead of allowing you to overwrite a matrix, matlab has to allocate new space to store the results of every computation. Loops aren't terribly fast either, though many matlab programs can work around this using the subarray notation. Octave suffers from similar problems.
Fixing these problems would turn Matlab into a real programming language, but it would cut down on its ease of use, readability, and interactivity. If you did this you would essentially get something that looked like Fortran 90 with some really nice numerical libraries. That's not the point of matlab, though I think it's a pretty good argument for Fortran 90 as what you might use for production code after experimenting/prototying in matlab.
Re:Fortan?! (Score:3)
OK, I admit it...I know Fortran and I'm proud of it. I Learned F77 and F90 in University (it was part of the Electrical Engineering program). No, I am not a dinosaur from the punch card days, I'm only 25.
I know of NO BETTER LANGUAGE to handle complex algebra arithmetic or matrices. I had to use both Fortran, C and MATLAB at various times during my schooling for numerical methods and digitital signal processing courses, and I think Fortran is the best suited by far--it is much faster than MATLAB and it is more suited to the task than C. Sure C is flexible, but in being flexible it makes a LOT of useful tasks difficult to accomplish. Yeah yeah, there are C libraries out there for complex numbers and matrices, but are they standardised and widely known? I wasn't aware of any when I was in school...and Fortran IS widely known amongst scientists and engineers at least.
Yeah, Fortran is old, weird (for some) and inflexible, but it was designed to tackle mathematical computations for scientists and engineers (FORmula TRANslation...think why they called it that?). It wasn't meant to program OSes in, or hook to relation database, or process text, or be compiled on-the-fly and embedded on a web page, or do e-commerce. It is a number-crunching tool, and a VERY WORTHY one at that.
I see C and C++ as jacks of all trades, masters of none...they can do everything, but make everything difficult, which makes them good to use when you need to develop a jack-of-all-trades program or where speed and size are critical and you need more portability than assembly language (I think a really good use for C is to use it to write other languages
*sigh* Why do people get caught up in language wars? Every language has its merits in certain areas...yes, I'm sure even Cobol and BASIC have some merits...I just have to think for awhile and I'll find them
Here's a funny link (Score:2)
RTFA(rticle)! (Score:3)
The story explicitly points out that the project was approved with a nod and never had a formal budget.
Don't get me wrong: I'm actually one of the people who believes that (good) managers are an asset to a company. But in this case, it really sounds like this thing was a skunkworks, something flying so far below the radar of management -- or at least management who might gripe about it -- that the environment had a much more academic flavor. That's the kind of thing that a company with IBM's muscle could afford to do at the time.
Math Nazi (Score:2)
Percent of people in set A that make up set A? ~97% is fairly accurate, only about 3% off. I would imagine it's fairly difficult for the 1% of the total population with bipolar to be made up with anything but people with bipolar.
Not, of course, that I'm having fun with the numbers of someone who was having fun with the numbers. :)
97.6% of all statistics are made up on the spot.
Changing social focus in mainstream media (Score:3)
More importantly than the content of this article (which is interesting but known by most techies), is the fact that the article appeared in the NY Times - a mainstream media outlet. Even five years ago, the apearance of such an article would be unheard of. It's amazing that information technology has become so pervasive in our sucture, beyond the stature of a tool - a means to an end; but rather all aspects of computer technologies now represent such a source of interest to the general public that the mainstream media feel it appropriate to cover such an arcaine (although interesting to us geeks) piece of computer history.
It's actually quite gratifying to see this level of interest in technological history by the general public (as represented by the fact that the article was published in such a mainstream paper)
--CTH
---
A Riddle Wrapped in an Enigma (Score:3)
Set the Wayback machine, Sherman.
18 years ago I finished college and got my first programming gig at a manufacturing company. We wrote (almost) exclusively in Fortran on a Prime mini (anyone remember PrimOS?). Anyways, Fortran rocked back then for writing mathematically complex apps for shop-floor controls - scheduling for shipping and manufacturing runs, inventory analysis and projections, BOM component tracking and the like.
After 4 years of this I moved to a large bank where, inevitably, Cobol was king on the mainframe. I still work at this bank and, incredibly, my Fortran skills were called upon just 2 years ago (moving from Java back to Fortran was akin to the Enterprise slingshotting around the Sun to travel back in time!). We have a Cobol module (like a DLL for you young'uns) that calculates a type of interest using Log functions. Long story short, I wrote a Fortran module to get at Log libraries and statically linked it inside the Cobol module to provide a much faster calc routine.
Maybe Fortran is old, but amazingly it's still in use in lots of places.
P.S. For all you greenhorns out there clucking your tongue and predicting (hoping for?) the end of Fortran's cousine Cobol, please understand that there are still billions of lines of Cobol in the world being developed by thousands and thousands of programmers (more than there are Java programmers). Cobol is aimed at business apps, period. You know - Common Business Oriented Language? It's a tool for a specific kind of task, plain and simple. Unfortunately, too many people advocate a one-size-fits-all approach to software (when all you have is a hammer, every problem looks like a nail).
FORTRAN still lives (Score:2)
Get the right tool... (Score:3)
So if you are going to write programs that will tie up the FPU for hours, days, weeks, or even months, and don't need a user interface or care much what the printout looks like as long as the numbers are accurate, then FORTRAN is the right tool (assuming the job is too big for math worksheet tools like MATLAB). If you need a decent user interface, or have to produce nice looking reports for managers, then using FORTRAN is like building a car body with a hammer and anvil. I did have to do a short hardware-driver type of program in FORTRAN back in engineering school (it was the only compiler the obsolete minicomputer in that lab had), but if there'd been an _assembler_ available it would have been easier. I knew of companies that did all their programming in FORTRAN through the 60's and 70's, from corporate accounting to machine control programs, but it sure wasn't a smart choice.
Re:Fortan?! (Score:2)
There is a RAD tool for it.
Visual Fortran. Get it here:
http://www.compaq.com/fortran/visual/index.html
--
Two witches watch two watches.
Re:Fortan?! (Score:2)
--
Two witches watch two watches.
Re:I believe (Score:3)
Actually, it's funny. The majority of people I know who could qualify for mensa AREN'T in mensa at all. Big reason? Anyone with an IQ hovering around the 98th might find the organization something to boost themselves with (think self-esteem problems), but for the most part, once you get past that level, IQ tests (especially for adults) become less and less meaningful. Anyone who can score over 150 on DECENT tests (as opposed to 25 pages of 'a fox is like cheese as religion is like______') usually has no interest limiting their social group to only one type of person.
On a personal note, what finally convinced me that being a geek may be cool, but sometimes it can be taken to extremes, was going to my first mensa-related social gathering. No lie, these people were sitting around, sipping wine, nibbling cheese, listening to Opera on an incredibly expensive sound system, and discussing the legitimacy of Star Trek. I felt like I had walked into a stereotype. When I pointed this out to them, no one really seemed to understand what I found funny about the whole thing.
I guess having a higher than average IQ doesn't always make you 'smart' :)
Re:I believe (Score:2)
Now, if you'll excuse me, I'm going to go have myself checked for bipolar disorder....
"What are we going to do tonight, Bill?"
FORTRAN vs C (Score:2)
He challenged a student to write a piece of C code to perform a task that the student could select. The student spent days optimising his code so that it would run as fast as possible. When he was finished he took his code to the lecturer for comparison. While the student was watching the lecturer coded the entire algorithm (a couple of minutes) without bothering to optimise it. The lecturer's FORTRAN code was faster!
So don't knock FORTRAN; for mathematical tasks it is still the fastest language available.
hacker (Score:2)
This just goes to show.. (Score:5)
Re:MY FORTRAN EXPERIENCE (Score:2)
MY FORTRAN EXPERIENCE (Score:5)
C SCHOOL IN ABOUT 1980 ON A PDP-8 WITH A x
100 FORMAT('PUNCH CARD READER. OUR CARD PUNCH') x
110 FORMAT('DIDNT WORK SO WE HAD TO MARK THE') x
120 FORMAT('TEDIOUS PENCIL-MARKED CARDS BY') x
130 FORMAT('HAND. OUR FORTRAN COMPILER WAS') x
140 FORMAT('BROKEN TOO, SO I WROTE A PROGRAM') x
C IN BASIC TO MIMIC THE OUTPUT OF A FORTRAN x
C RUN, INCLUDING JOB CONTROL MESSAGES. I WAS x
C ABOUT THE ONLY PERSON IN MY CLASS x
C TO GET CREDIT ON THE FORTRAN SECTION x
C OF THE COURSE.
C IT LOOKS LIKE SLASHDOT IS MESSING UP MY
C CARD COLUMN FORMAT HERE. THIS PROGRAM
C WON'T LOAD.
SYNTAX ERROR LINE 1 COLUMN 3
ABEND JOB 1343
THU JUN 14, 2001 5:23GMT LPT42X
RUNTIME: 342MS COMPUTING UNITS USED: 7
YOU HAVE 432 UNITS REMAINING IN YOUR ACCOUNT
FORTRAN is still useful! (Score:4)
The computer system is a real time host that processes up to 800 transactions per second. Each transaction consists of incoming data, validation, comparison to other data, writing of data to disk, formulation of reply, validation of reply and sending of reply. The central engines are written in FORTRAN.
We have a slightly nicer front end (pre-compiler) called RATFOR - it's much closer to C. The rest of the system is written in C, and there's some nice stuff done to interface between the FORTRAN and C code.
This system is supporting a very large business, and has to be stable. It also has to handle enormous amounts of transactions at peak periods. It has to do it reliably, and fast. FORTRAN is at the heart of this system, pumping away without problems. Don't think it's crap, just because it's old!
If you want to raise an archer, . . . (Score:3)
. . . teach his grandfather to shoot. What's necessary isn't to make programming easier, it's to raise programmers. To make automobile construction other than a cottage industry, we didn't make engineering easier, we raised engineers. Likewise software.
Education is the bottom line. If we want everyone to be able to program computers in at least a basic way, we need to introduce our children to them at an early age as something other than toys and media outlets. Programming will never be "easy" until compilers are as ubiquitous as web browsers, and as often used.