In the Beginning Was FORTRAN.
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."
FORTRAN and an Office XP ad on the same page next to each other. Obsoletes back to back. ;-)
You'd be surprised how many people still use Fortran. Many Engineering programs still teach it as the primary languange, mostly because it fits their problems quite well. Also, Fortran has not been stagnant over the years, Fortran95 is actually a fairly modern language that loses most of the big limitations of earlier Fortrans (no recursion, thread-unsafe, column alignment, etc...)
Down that path lies madness. On the other hand, the road to hell is paved with melting snowballs.
I read the internet for the articles.
fwiw
"My opinions are my own, and I've got *lots* of them!"
And nobody took it seriously for fourty years (to date.)
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
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.
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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...
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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!
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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>. :-)
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
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.
--
CUR ALLOC 20195.....5804M
Aahh! I remember RAD50...
--
CUR ALLOC 20195.....5804M
Slacker!
--
CUR ALLOC 20195.....5804M
All nearly 50-year old languages in significant
use. BASIC (from the 60s) is relatively youthful.
MIT still uses LISP as its comp-sci intro language.
(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/
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
--
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 (Jones Telecommunication & Multimedia Encycolpedia)
BASIC (Wikipedia)
Re: Scripting vs. Programming language vs. 4GL? (comp.compilers article by David Wright)
Check out the G95 project at http://g95.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.
-----
--
perl -e'$_=shift;die eval' '"$^X $0\047\$_=shift;die eval\047 \047$_\047"' at -e line 1.
180 or 200? That would make it a *very* exclusive group :)
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.
-- Help Digitise the Public Domain at DP.
Anyone else remember RATFOR (RATional FORtran)? I think the first version of "Software Tools" by Kernighan and Plauger used it. It translated a C-like syntax into FORTRAN.
The line formatting in F77 is what always got me... starting each line 6(?) characters in, and only getting 75 characters was very frustrating...
:)
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
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
Ouch... I pity you... I've been fortunate enough to have my choice of languages (C) for doing my projects...
:)
I could probably get better performance with Fortran, particularly on the university supercomputer...but would it be worth it?
Doug
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
Well of course my position is biased coming from the heavy duty side of hydrodynamic simulations of supernovae, collisions between galaxies, and large scale cosmological simulations.
;)
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
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
Ha! Do you realize how many scientists still use fortran? They still teach it in my computational physics class (although half the time it's taught in c).
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
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
For fortune and for all time:
"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?
---
satire, n: 1) witty language used to convey insults or scorn; 2) a form of humor lost on most slashdot moderators.
A couple of years ago, when the iMac first came out, there was an *awful* lot of bitching and moaning about the fact that it didn't come with a floppy disk drive. Floppy hell, it didn't read Hollerith cards! Not only that, there wasn't a port of the original (Crowther &woods, FORTRAN) adventure game. So, my idea for a hack was to take a sheet-feeding scanner, and using the cards that had the digits pre-printed, I'd do image-to-text conversion and look for missing digits, which would tell me what holes were punched. Then, using a bit of Perl code I'd do the EBCDIC->ASCII conversion and feed the results into the Language Systems F77 compiler running under MPW. The idea failed for economic reasons. None of my packrat friends had a card deck for Adventure, and to make one up, I would've had to spend a nickel a card (I checked), which would have put me into four figures. I also considered making the iMac read paper tape that was pulled in front of a USB video camera, but my heart wasn't really in it at that point. -jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Fortran 77? Hah! You're a wimp! The very first language I learned was FORTRAN IV (I believe it was either the WATFOR or WATFIV variant).
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Come on. C???? C is 20 years younger than FORTRAN. If you want to #include C, then you need to add FORTH and LISP onto your list of languages with longevity.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
"You simply had to make it easier for people to program."
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.
It depends on the test. Mensa requires that you score 98th percentile or better on a standardized intelligence test. There are many different tests that they accept. Ten years ago when I took the tests, I know that included the Cattel Test and the California Test of Mental Maturity. I took both, and interestingly enough got the exact same percentile even though the tests are quite different. Many tests have different scales, so the number doesn't really count. 180 is quite high on some scales, such as this one where 131 will put you at the 98th percentile.
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-)
- "When you want something with all your heart, the entire universe conspires to give it to you" -Paulo Coelho
I'm working with a suite of ancient fortran codes right now (written between 66-78) and have seen some similar problems. For instance, I had an array construct in a common block which was dynamically resized in a subroutine; it went from dimension 199 to dimension 99. Just a typo on the part of some long-dead programmer, and apparently it compiled and ran fine on the Amdahl it was written for. However, surprise surprise, it does not on the Microsoft Fortran compiler which I am forced to use.
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 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.
... and there is no doubt, that one day he will be
where the eye of his telescope has already been
The problem with Matlab is that it is slow for any sufficiently complex program. We sometimes use it to prototype our fluid algorithms. I remember an SPH 1D shocktube we were writing took 2 orders of magnitude longer to run than the F90 version. It was rather painful. I think you should check out F90/F95 as it is a far cry from F77. Coding with F90 is a pleasure.
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.
Damn. I just spent weeks coding a complicated algorithm in c++, all on the assumption that fortran sucked. Thanks for the tip you bastard, where were you last month? ;)
:wq
All the talk about FORTRAN made be remember a funny story. It happened before my time but there was a FORTRAN compiler on an old PDP that wasn't all that fuzzy. Once a really obscure bug showed up in a big (numerical simulation) program. All of a sudden the program started to act as it couldn't count anymore. Expressions such as x+y were evaluated to something it shouldn't have been... After quite some time the bug was found. It turned out that somewhere a function was called with a literal 3 as one of the arguments. Inside the function the corresponding variable was set to 4. After that the computer was acting as if 3==4!
....would still be in use 30 years later.
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.
I'm still working on a clever footer.
(Apologies to A. Einstein.)
"Provided by the management for your protection."
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).
Environmentalists are their own worst enemy. ~tricklenews.com
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.
Environmentalists are their own worst enemy. ~tricklenews.com
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!
-Eldurbarn
Actually, It's quite beneficial to have a woman as your partner when coding in the pair methodology. There are some not so subtle diferances between our two sexes that make it the pair processes more effective. Typically I find that my female partner helps the code work from the Users point of view. And she helps me spell my vairable names correctly ;)
My Uncle was a comercial pilot and summed it up best when he said "Women are horrable pilots in emergency situations - they freak out. But they never *get in* emergency situations - they follow the pre-flight checklist and they don't take unnessesary risks just to show off."
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
COBOL...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).
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.
My other
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.
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_
_O_
.|< The named which can be named is not the true named
You know I really miss those days when all you had to program on was a monochrome VT-100 monitor connected up to a VAX machine and you were programming your little heart out in Fortran or Cobol... or some times... Assembler.
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.
...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.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
that was my error. it should have been the number of people with an IQ >125 that make up the total number of people with BPD.
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.
Ascii artist &
300 was just a nice round exaggerated number.
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.
Ascii artist &
A: I don't know, but they will call it Fortran.
"Rub her feet." -- L.L.
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.
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.
The middle mind speaks!
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.
The middle mind speaks!
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?
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.
My university has two large SGI systems that crank away on compiled fortran code day and night. Our analog EE's, biowarfare research group, and meteorology folks keep both machines at about 95% load around the clock. One machine is a shiny new Origin 3000 (96x R14K/500) and the other is an Origin 2000 (64x R10K/250). The O2K has a stack of R14K/500 CPU nodeboards and an additional 64 GB ram ready to replace its aging R10Ks, but the users keep telling the admin staff to "wait another day, my big batch job is almost done".
f ortran.html a po.html m ips73features.html
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
http://www.sgi.com/developers/devtools/languages/
http://www.sgi.com/developers/devtools/languages/
http://www.sgi.com/developers/devtools/languages/
One of my biggest complaints about Linux is that there isn't a modern open source Fortran compiler for it.
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/
This article made me think of a professor at our university...he's a walking piece of nostalgia himself. Our computer labs used to come well-stocked with SPSS v1 and Fortran manuals for people to sign out...of course no one ever did, except for this one prof who looks like he's straight out of the 70s.
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.
~~~ the problem as i see it is that i have absolutely no personality of my own.
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.
--
Escher was the first MC and Giger invented the HR department.
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
"Anybody who tells me I can't use a program because it's not open source, go suck on rms. I'm not interested." (LT 2004)
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
1q2w3e4r5t6y7u8i9o0pqawsedrftgthyjukilo;p'azsxdcf
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.
Joachim
People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]
Mensa really isn't all that exclusive; if you took the PSAT, SAT, GRE, or ACT, you can see if you qualify.
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.
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.
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.
Yes, Fortran...
;-). For EVERYTHING ELSE there are other, often better tools...Fortran for numerical processing, Perl for text processing, Java for portable applets and servlets, etc etc...
;-)
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 is a widely circulated piece about nostalgia and Fortran: Real Programmers Don't use Pascal.
You had me at "dicks fuck assholes".
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.
"Biped! Good cranial development. Evidently considerable human ancestry."
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.
I had the opportunity to mess with fortran as a programming excersise in school. It was quite an eperience
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
---
--Got Lists? | Top 95 Star Wars Line
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).
CrazyLegs
"Pork!!" said the Fish, and we all laughed.
Perhaps the best measure of FORTRAN's success is that it is still in use after nearly half a century. I coded in FORTRAN for my first programming job in 1979. An engineer friend of mine who designs scanheads for ultrasound machines uses FORTRAN today to do waveform analysis. It's still a number cruncher par excellence.
FORTRAN does fit pure number-crunching applications (science and engineering) fairly well. The syntax and (since 1977) program structure are a pretty good match to specifications written in math, and the compiled executables are _fast_. There are thousands of libraries for mathematical and statistical applications. Finally, it's easier to write a compiler that will automatically divide up the work among multiple CPU's in FORTRAN than in most procedural languages. (This is primarily due to a lack of those features that make C/C++ so flexible but also allow all sorts of non-obvious side effects.)
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.
Well, why not?
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.
--
Two witches watched two watches.
Which witch watched which watch?
I would like to note that a good IDE can really speed things up even for a good programmer, maybe it's worth it.
--
Two witches watch two watches.
--
Two witches watched two watches.
Which witch watched which watch?
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.
For once, a mainstream article using the word hacker for its true meaning.
We can't stop here! This is bat country!
Even a 'IQ over 300' can't save you from the slashdot effect.
Well, I used /.'s post as 'code' option, but it
still squeezed all the whitespace. I had to tack
on the lowercase 'x' chars to get it through the /.
lameness filter (it thought I was SHOUTING, but
I was really only using 6-bit characters :).
C THE ONLY TIME I USED FORTRAN WAS IN HIGH x
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
My current place of employment still uses FORTRAN, and it's still a very integral part of the system.
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!
. . . 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.
-- Robert Bunn, gun-toting neo-Nazi anarchist redneck freak