Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
Compaq

Compaq Fortran for Linux Alpha Released 92

stevel wrote to us with the news that Compaq has announced Version 1.0 of Compaq Fortran for Linux Alpha systems. The compiler is the same as the one that is used on Tru64 Unix, OpenVMS, and Windows. Click below for more details from Compaq.

Compaq Fortran for Linux Alpha systems is a full-language Fortran 95 implementation. Fortran programs using the latest features as well as traditional Fortran 77 programs will be able to take advantage of the highly optimized Alpha code generation technology to take advantage of the Alpha processor's leadership performance. The compiler also supports most of the popular language extensions available on other Compaq platforms (OpenMP and HPF features are not currently supported.)

Accompanying the compiler and optimized run-time libraries is Ladebug, a robust and easy to use debugger that will simplify the debugging of all of your Fortran applications.

Also provided is the Compaq Extended Math Library (CXML), a library of technical and scientific subroutines.

Compaq Fortran for Linux Alpha Systems is available as a free download under a Technology Enthusiast license for non-commerical use. A Commercial Use license and media kit is available for US$399 - attractive multiple-license pricing is also available.

For more information, please visit the Compaq Fortran web site.

This discussion has been archived. No new comments can be posted.

Compaq Fortran for Linux Alpha Released

Comments Filter:
  • A friend of mine is, as far as I can tell, the first person to have ever written a CGI program (Common Gateway Interface, not Computer Graphics Images) in pure FORTRAN. He's an astronomer (who reads Slashdot and may follow up with details), and used it for some very cool plots of the sky....

    Though a lot of people here may not "get" why FORTRAN is still important, you can get a idea by looking at "modern" toolkits such as the Perl Data Language (PDL module) which has a stunningly huge mathematical library that is ALL written in FORTRAN. FORTRAN was (is?) THE language for scientific analysis, so there's a ton of powerful math libraries that you can buy or get free for it. When you need to do something hideously complex, you don't want to have to start from scratch, writing all of the libraries to, say, do high-level matrix manipulation.

    See, Java HASN'T taken over the world ;-)
  • I have used C++ now for about 5 years. I also have 5 years of FORTRAN experience (distant past).

    There are million line FORTRAN programs. And it has advantages for numerical calculation. When converting numerical calculation programs from BASIC or FORTRAN to C/C++, I frequently get bitten by automatic promotion of types in expressions and precision being lopping off in the process. The only way to fix some of this stuff is to add explicit type casting in strategic parts of the expression.

    If you were a scientist, why would you bother with this noise. FORTRAN (stands for Formula TRANslation) is the best tool for the job.

    Also, the Compaq compiler is likely to descend from the old VAX/VMS FORTRAN compiler. This compiler had many man-years of optimization put into it and was difficult to match in performance.

    The reason we do not all use FORTRAN today is that unlike the old days, most computing is not floating point number crunching. Maybe that is why Digital Equipment Corp (formerly #2 in computers) no longer exists.
  • by rsilva ( 128737 ) on Wednesday December 22, 1999 @07:17AM (#1453918) Homepage
    When one says that Fortran is faster than C/C++ one means that if you have two versions of the same program, one written in Fortran and the other in C/C++ then the fastest executable will be likely the compiled Fortran version.

    The reason for this is usually due to the control over aliasing that Fortran has. This allows better compiler optimizations that result in faster executable. Moreover Fortran 95 has lots of constructs that give hints to the compiler on possible optimization: the array sintax (so the compiler knows that order doesn't matter), the intent of paramters (in, out, inout), pure functions (functions with no side effects), allocatable arrays (that guaratee no aliasing) are some exemples.

    Oh, and yes, it is very nice to borrow some APL features :-)

    Paulo.

    PS: I am not really a Fortran fan, I am fan of using the best language to solve a given problem. In the case of numerical problems, Fortran seems the best. I would gladly program in C/C++ if I could prove to my advisor that I can get a faster executable by doing so.
  • No, the C compiler was released at the same time as Fortran. Fortran was in beta test first by a month or so...

    Steve Lionel

  • by stevel ( 64802 ) on Wednesday December 22, 1999 @07:40AM (#1453920) Homepage
    There's nothing preventing us from releasing a compiler on Linux Intel, other than finding the time and resources to do so. However, the motivation for doing the Alpha compiler was to promote Alpha hardware sales, so that's what we did. An Intel compiler would have an entirely different business case to be made for it. (Yes, Compaq sells Intel boxes too, but that side of the company doesn't seem interested in Fortran.)

    Our Intel Windows compiler (Compaq Visual Fortran) is very popular, and we do get frequent requests for an Intel Linux version. There are no current plans to do that, but then again, a year ago there were no plans to do Linux at all. So, "never say never"...

    If you feel that we should do an Intel compiler, and would be willing to pay for it, let us know. (Feel free to send me mail with your comments.)

    Steve Lionel

  • Why would using Lisp for number crunching be stupid? Are you aware of the high-grade native compilers? Of the multiple types (arrays, vectors, etc) beyond lists that can be easily optimized? Or the fact that floating point precision can be arbitrarily specified and runtime checks turned off? Of the ease with which you can change the safety and speed settings of the compiler on the fly? I would think that Common Lisp would be much better than Fortran95 for pretty much everything.

    There's some stuff about Lisp FP speed vs. C at http://www.cons.org/cracauer/lisp.html There's been some benchmarking vs. g77 done, but I don't know where it is. For more info, check dejanews's archive of comp.lang.lisp
    ~~~~~~~~~
    auntfloyd
  • Our compilers do not use gas - they compile directly to ELF object code. They do work with gdb, but for Fortran in particular, you'd be happier with ladebug.

    Steve Lionel

  • I am confused by the comments here about the license. Here is what we intended...

    The "Technology Enthusiast" license is free for non-commercial and personal and classroom educational use. It allows you to develop software for and distribute to others, as long as you aren't "paid" for it.

    If you want to use the compiler for paid work, or for use by a "business" (even an educational institution), then buy the commerical license (which is by far the least expensive Fortran license we offer!) We did a survey of beta users asking how much they would expect to pay for a commercial license - I was astonished to see many listing figures well over $1000! Initially we had been thinking $499, but we knocked that down to $399.

    I agree that the wording of the license terms at present is a bit confusing. I have some new wording which will be put up on the site soon.

    Steve Lionel

  • I am primarily a C/C++ programmer with all of the biases that come therewith. I also use Perl quite a bit because it is useful, even if the syntax is abomitable. If I had my way we would all be using LISP. I started out using VAX Fortran and Fortran 77 in scientific applications. As I gained increasing familiarity with it I began to seek alternatives.

  • Your associate professor is one of many people who don't realize that Fortran has evolved a bit since Fortran 77.

  • Have you ever heard of double precision floating point numbers and long integers in C? I can't help it if your are not careful handling numeric types. C often makes bad decisions for you if you let it.
  • Trusty hammer, indeed. I spent a few months maintaining some Fortran code and started calling it blunt-object oriented technology. In fairness, that describes the previous coders' styles as much as the language features.
  • Dumba$$ moderator... the Multia is a stripped down AlphaStation 200, so this is a *VERY* on-topic post.

    To answer your question, yes - both Linux and the new compiler will work on a multia.
    --
  • Fortran is still in use, but only because lots of people believe, it is cheaper (time wise) to fix existing code than make a paradigm shift. I wrote all my code for heavy number crunching for my PhD these in FORTRAN 77 using PVM for massive parallelization. I spend days debugging code, since prototyping does not exist and subroutine calling sequence did not match after some changes.

    Three years ago, I finally gave it up and switched to C++. Almost all my code is rewritten since. You can always start writing a C++ wrapper class around existing and running FORTRAN code, to utilize it in new projects.

    I noticed, that my developing cycles are much shorter now, since less debugging is necessary. In the mean time we have a farm of Linux PC's and they are feed in C++ through a simple PVM++ wrapper class in a much cleaner way as I used to do it in FORTRAN. Less code is necessary in switching to an OO paradigm.

    I do not look back on the times, I was programming FORTRAN. FORTRAN is not clean and nice. It is dirty, has lots of memory problems, since FORTRAN does only know pointers in calling sequences and therefore the subroutine has no change to check consistency of the arguments.

    Of course, you can formulate any problem in any programming language. It is just a question of efficency.

    Let me finish with a comment on the Alpha boxes: Some time ago, I looked into buying an "killer box" based on the alpha for heavy number crunching. However, I only got a factor of two speed increase out of an alpha testbox. Since my appliation using heavly threads and PVM it turns out to be cheaper per MFLOP moneywise to buy a SMP x86 box than an ALPHA or even MAC G4 based system. The last buy for our institute were two PII 400 dual 128MB RAM boxes for total $2500 in 8/1999.

    Your milege might vary, especially if you spent $10000 or $100000 on your boxes. But I bet, your MFLOP/buck rate is even lower.

  • You're a brave man. You aren't allowed to question this.
    Surprisingly, no - I would be more likely to be accused of jumping on the "!GPL==BAD" Bandwaggon, recently aggravated by the Sun Community Licence and their recent aboutface, taking someone else's work, rebranding it as their own (or not acknowledging the originators, which amounts to the same thing) and suddenly starting charging for the right to call your compiler "Java".

    If you are, you'll get branded offtopic or overrated.
    Hmm. I am seldom offtopic, but fairly often overrated :+)

    But you're right: it's not free, and this is a problem.
    Not so much a problem as initially misleading - It *is* a step up from nothing, and a useful time-unlimited "trial" package if you wish to evaluate this package, but given it's very narrow field (Linux on Dec Alpha! how many people HAVE a spare dec Alpha, never mind one runnning Linux? Possibly a discarded NT box now that MS have dropped NT4Alpha like a hot stone :+) and the fact that fortran, despite it's huge legacy codebase, and that it is ideally suited for certain tasks, is very much a fringe language in the *nix environment.
    --

  • It's not just a "compiler optimized for Alpha". The back end to the compilers (C, C++, Fortran)is a technology called GEM. The Compaq Visual Fortran (CVF) compiler for Intel compilers is GEM based also. GEM has an intermediate language that can then be output into Alpha or Intel binaries. (this is a 50,000ft level description)

    There's a group of engineers that work up in Nashua, NH that live and breath compilers and compiler technology. You are getting the fruits of their labour for nothing.

  • My employer would never have won the $15 million FSL bid
    (see this press release [noaa.gov]) without a good Fortran 95 compiler.

    Most people who don't use fortran don't think that anyone uses Fortran. They are mistaken.

  • Ohh jeez.. go stick yourself in the eye. If linux had been built using Borland C as the compiler.. do ya think it'd be where it is today.

    NO.. it wouldn't exist.

    Soo.. it's not just a "convenience" to have a free compiler. In some cases it is necessary. Other's it doesn't matter.

    But let me add that as a personal/application compiler - go for it. I happen to use ccc myself. It's freaking fast and wonderfully STRICT! I'm not a f77 guy.. but thhis compiler is freaking fast.

    One noteable feature in ccc is that they are trying to make the cmdline switches to ccc compatable with gcc. Ofcourse.. ladebug still sucks rocks. Nowhere near gdb standards.

    Pan
  • This is almost exactly what we do in my shop. I work on a system for realtime telemetry processing. We have an enormous amount of legacy Fortran code. As things have evolved over the years, the core Fortran routines have remained relatively stable. New code tends to be written in C as a wrapper around the Fortran. I have, for example, developed Motif interfaces to replace our old command line and SMG (the proprietary DEC equivalent of curses) interfaces. All the old Fortran was accessed through callbacks from Motif written in C.
  • the real problem is that c *can't* make some good decisions, with or without your help (the aliasing problem).

    C will never be as quick on some numerical problems, because the language hobbles the compiler in certain respects.

    C++ might (see blitz++, etc.) but only by taking those decisions away from the complier and making them explicit (via templates, or whatever).

    There are lot's of reasons one might want to ditch FORTRAN (from a comp sci. point of view) but there aren't any really good contenders there yet. That doesn't even bring up the F95 sucks/sucks not debate :)

    You seem to be extrapolating from a problem domain you understand to one that you don't...always a mistake.

    S.
  • Unfortunately, we only got 2 of them right...but we are stuck with all four ;)

    S.
  • by vndr ( 89323 ) on Tuesday December 21, 1999 @11:24PM (#1453949)
    Truly commercial-quality Fortran for Linux is definitely good news - despite the fact that Fortran itself has quite a limited number of serious users (a couple of scientists with alphas, not quite a blockbuster) it certainly carries a PR value you cannot just ignore.

    Free-but-not-free license is disappointing, but what else can you expect from a company like Compaq.

  • by BJH ( 11355 ) on Tuesday December 21, 1999 @10:55PM (#1453950)
    IIRC, this has actually been available for quite a while in beta form. This is, however, good news - the Digital (I can't bear to call it Compaq) Alpha compiler for Fortran produces code that is anywhere up to 2-3 times as fast as g77 (currently, that is. I'm sure g77 will get better). Anybody doing scientific work on an Alpha under Linux (and, let's face it, most people that have Alphas use them specifically because they're good at scientific work) can benefit from this.

    (FWIW, I've used the Digital C compiler for Linux, and it produces excellent code - better, in most cases, than gcc.)
  • by Improv ( 2467 )
    Last I heard, the primary g77 developer gave up
    on it, and its status is in limbo. In any case,
    g77 isn't very close to fortran-90 compatibility.
    OTOH, I find it hard to imagine that too many ppl
    on Linux/Alpha have a big use for fortran anyhow..
  • "A couple of scientists with Alphas"? Try searching on Google for a little something called Beowulf - many of them are Alpha-based.

    And believe me, a lot more than a "couple" of scientists use Fortran for data analysis.
  • by BJH ( 11355 ) on Tuesday December 21, 1999 @11:06PM (#1453953)

    OTOH, I find it hard to imagine that too many ppl on Linux/Alpha have a big use for fortran anyhow..

    You have got to be kidding. An awful lot of scientific applications are written in Fortran for two reasons:
    1: Many scientists started using Fortran a long time ago, and they can't be bothered switching now (not to mention all that legacy software they've stocked up).
    2: The floating-point math libraries for Fortran on the Alpha are way faster than just about any other language on any desktop platform, period.

    If Fortran wasn't available for Alpha, the architecture would have most likely sunk into obscurity a long time ago.
  • by alexhmit01 ( 104757 ) on Tuesday December 21, 1999 @11:13PM (#1453954)


    Freshman year, my advising seminar involved developing a method for modeling sail boats. We were given a spec file and implemented some algorithms to scale the boat, apply wind, etc. We wrote some code, and used some code that the professor developed years earlier. The language in use? Fortran-77. Developing that on our Sun Workstations was a travesty.


    Fortran is STILL heavily used in academic circles because the code already exists. My friend, when interviewing for an on campus job doing mathematical modeling, was asked if he knew Fortran. He convinced the guy to let him do it in C++, but some professors would insist on Fortran.


    From my experience, for doing scientific analysis, Fortran is fine. Fortran, C, PASCAL, BASIC, it really doesn't matter, the structured languages are all almost identical with slightly different syntax.


    While object oriented techniques make sense for real software development, if you merely want to run a particular algorithm on a lot of data points, any structured language will do.


    Older researchers learned Fortran and probably never moved to the newer languages. Fortran is really clean, and if your existing code is in Fortran, why migrate to a newer language. While I haven't read the newer Fortran specs, I believe they implement much of the functionality of other structured languages (although I'm assuming no real memory control).


    Fortran makes it VERY easy to develop robust applications for number crunching without any risk of memory leaks, etc. Additionally, groups may already have thousands of lines of code already written and just need to write a bunch of 15-20 line applications utilizing them to do different forms of analysis.


    Fortran on the Alpha under Linux may be the "killer app" to move Linux into acadamia. I don't mean in the school's IT departments, but into research departments. For departments that need to process a LOT of data points, allowing students to develop code at home or on public workstations and then run the massive calculations on their Alpha machines may be a real cost and time saver.

    If Compaq gets the rest of their compilers in line, then Linux/Alpha may become huge.

    Your statement that:

    I find it hard to imagine that too many ppl on Linux/Alpha have a big use for fortran anyhow..


    is kinda silly. Outside of home users, people don't buy a system and then find a use. People have a need and pick the best platform.


    If you have a lot of existing Fortran code and want to utilize it for new processes and do massive calculations, you pick the best platform available. If current computing capabilities fit your need, you use them. If you need a newer machine to process all the data, you buy a new machine. If the Alpha platform under Linux is the best platform and you have a lot of Fortran to process, I can bet that you'll be buying a new Alpha machine running Linux.


    Alex

  • Fortran still has its strengths and with the new extensions (OpenMP, OO traits) can still be used. However, for teaching purposes, I would hazard that people would prefer coding in higher level languages such as MatLab. Sure Fortran may be that trusty comfortable hammer but when you've got an automated nailgun handy, it makes sense to shoot yourself in the foot faster :-). CPU cycles are getting cheaper whereas human development time is not. Debugging old style Fortran is still a pain even though it doesn't have the pointer aliasing problems of C. Also people at TriLabs have found that with the right approach, numerical libraries written in C++ can be just as good as Fortran. If you look at areas where some heavy number crunching is used, for example real-world physics in game engines, I suspect that C++ would predominate. Hence Fortran will still cruise on like the mainstay Cobol but the use of other languages (like Java and Python) will start to draw attention, especially to utilise commercial development environments.

    The big bugbear is that Matlab compilers still don't optimise themselves very well for modern architectures with cache and/or hierarchical memory. If you're interested in the nitty gritty details of cache-line control and low-level latency then hand-tuned Fortran still has a place. As the Alpha processor has the highest raw floating point performane, it is a favorite of many academic and scientific grunt workstations. And if worst comes to worst, you can use the heat it generates as a coffee warmer :-).

    LL
  • If you think that real-world physics in game engines is "heavy number-crunching", then please, write your software in C++.

    BTW, there's a big difference between in saying that libraries in C++ can be just as good as those in Fortran, and actually providing libraries that are faster than those in Fortran. I've yet to see any compiler/library combination on Alpha that improves on the performance of Digital's Fortran.

  • >CPU cycles are getting cheaper whereas human development time is not.
    This is exactly the point. You can't just take the existing Fortran code and convert it to C++. Besides, CPU cycles are cheap now if you do game engines, but in the REAL WORD (tm), if you design let's say an engine, it doesn't have to look nice and feel godd, it has to WORK as good as possible and it has to be designed as fast as possible as cheap as possible. If you do your simulation in 2 hours instead of 6 hours, and you do thousands of them in the design cycle, $400 for a compiler is peanuts.

  • Heh. I just bought a Digital 600MHz Alpha 21164 PWS secondhand (but in spotless condition) for around $US1600. It'll kick a PII/400's ass for FP any day.
  • Fortran is still in use, but only because lots of people believe, it is cheaper (time wise) to fix existing code than make a paradigm shift.

    This is nonsense. FORTRAN ist still in use, because it is the fastest compiled HLL (often much faster than C) and it is much easier to write fast numerical cores in FORTRAN than in C/C++.

    I spend days debugging code, since prototyping does not exist and subroutine calling sequence did not match after some changes.

    I think its more like you spend days with debugging because you didn't get your code right in the first place. Don't blame FORTRAN for your sloppy programming.

    I do not look back on the times, I was programming FORTRAN. FORTRAN is not clean and nice. It is dirty, has lots of memory problems, since FORTRAN does only know pointers in calling sequences and therefore the subroutine has no change to check consistency of the arguments.

    Let me suggest the following practice: Write your numerical cores in FORTRAN, and use C/C++ or whatever for data structure handling and everything else. It really pays off, especially if you consider the pricy high end hardware and the fact that it is relatively easy to write FORTRAN code wich is 20% faster than its 1:1 C counterpart (20% is a difference in number crunching).

  • by Black Parrot ( 19622 ) on Wednesday December 22, 1999 @12:23AM (#1453961)
    At least that what the notice [linuxtoday.com] quoted at Linux Today says.

    --
    It's October 6th. Where's W2K? Over the horizon again, eh?
  • Um, sure, except for the fact that it would be nearly impossible. (Excuse me while I go into language bigot mode) Frankly, I think FORTRAN is ugly and hard to work with. Maybe I just didn't use it enough to grok it, but after a semester of writing programs in it, my only though was: "This is annoying in the extreme." However, people put up with FORTRAN's ugliness because it has features that make compiler optimization really fast, especially when you are doing mathematical operations on vectors and matrices. (I wish someone would explain the aliasing thing.)

    An OS doesn't need these features, it needs direct memory access and code that is easier to follow than FORTRAN. Writing an SMP, threaded OS in FORTRAN would be about as easy as writing it in BASIC. Parallelization of FORTRAN != Good SMP OS Language.

  • Yes, it will work on a Multia, but you'll lose most of the benefits of its code optimizations; a Multia is an EV4 Alpha (a 21066?), whereas the compiler's optimizations (especially math optimizations) are written to perform best on EV56 / EV6.
  • do you understand the problem of address aliasing and how it affects what code optimizations can and cannot be done by a compiler? People that use FORTRAN do so for a reason.
    It's remarkable what kind of thing a truly good Fortran compiler can do. For example, a really good one can even detect subtly illegal code due to overlapping arrays.

    Here are two references:

    • http://www.hpcc.gov/pubs/tech_transfer.html [hpcc.gov]
      In November 1990, CONVEX Computer Corp. announced its new applications compiler, giving substantial credit to the compiler group at Rice for ideas underlying the system. The Convex applications compiler analyzes and transforms whole programs to eliminate errors and improve execution efficiency. The underlying implementation technology, called "interprocedural analysis and optimization," was first implemented in a practical compilation system in the ParaScope programming environment by researchers at Rice.
    • http://suif.stanford.edu/papers/mhall95a/node20.ht ml [stanford.edu]
      A few commercial parallelizing compilers have initial interprocedural analysis systems. Most notably, the Convex Applications Compiler performs flow-insensitive array analysis and interprocedural constant propagation and obtains some path-specific information through inlining and procedure cloning Applied Parallel Research has demonstrated good speedup results on some of the programs presented here; these programs were parallelized with programmer directives that instruct the compiler to ignore dependences and to privatize certain variables. We know of no commercial system that currently employs any flow-sensitive array analysis, particularly interprocedural array privatization.
  • The old time languages FORTAN, LISP, COBOL and BASIC are still in widespread use.
    The largest computer company in the world began
    by selling BASIC for the Altair. Its best selling language and InterNet strategy is a descendent of BASIC.
  • > I wonder if Compaq is afraid to release it for
    > Intel.

    Huh? This is a port of the UNIX/VMS compiler. No "Intel" version exists.

    > I use it on the Intel platform and found it to
    > be a solid product.

    Use /what/? What are you talking about?


    --
  • True dat, but its still *much* better than GNU.

    I've used this compliler extensively, and the output is as fast as the TRU64 compiler. The EV4 doesn't have super-advanced pipelining, etc like the later chips, but the compiler still turns out some great binaries.


    --
  • For those of you that don't know a Multia is just one of the many Digital produced Alphas.

    It does run Compaq's C compiler, so I suppose it runs the Fortran one too. Certainly they seem to state this.

  • All the posting kiddies talking about FORTRAN77 as
    if its an ancient language, and I think of it as
    that new version, that I have'nt got around to
    trying yet. I hope to get a chance to use this
    new f95. Maybe next year.

    P.S. I Original learned FORTRAN IV in 1974, when I
    was 14. Had to use a keypunch and submit cards!
    And some say change isn't good. Object oriented
    FORTRAN -too cool.
  • Steve, Thanks for the information. I am a big fan of Compaq Visual Fortran on Intel. I wish Compaq alot of success in selling the Alpha hardware vis a vis Linux and Fortran.
  • I was merely wondering/speculating if Compaq had created a version of their compiler for the Linux Intel platform and if they were under some sort of weird obligation not to release it. A post further down this list from Steve Lionel from Compaq gives their reasons for releasing an Alpha version and not an Intel. He confirmed there is nothing subliminal going on.

    I use the Compaq Visual Fortran (for Windows) a fair amount at work and I found it to be a solid product.

    That is all I was trying to say.



  • peter303 sayeth:
    "largest computer company in the world began by selling BASIC for the Altair."

    Wow.. I always thought that IBM got started building manual calculators for the Census Bureau..

    You much be refering to the largest SOFTWARE company. And low and behold.. that version of BASIC was umm.. borrowed from UMICH. I guess they didn't have the GPL then.. huh? Or did Lady Lovelace get that from rms?

    Pan
  • by Anonymous Coward
    Actually, while we're correcting people, IBM is also the largest software company in the world, in terms of revenue. You-know-who only leads in PC software.

  • Gcc was conceived from the start as a Free(tm) compiler to run on commodity hardware.

    This one wasn't. For each purpose there is a license.


  • The C compiler has been available for quite a while now. I think they just tacked it on to the end of the press release as an afterthought, rather than as a new announcement.
  • > its going to be funny in 10 years when there will be c++ and java news and the new lang and OS supporters will say "So fucking What"

    Your subject line won't win you much karma, but yeah, it's amazing how many people seem to think that 'their' language is the only one in general use.

    I was offended a few weeks ago when some accountant got laughed at for wanting Cobol for Linux. I never touch the stuff myself, but it's out there and people rely on it.

    IMO there's not much excuse for not broadening your horizons, when there are so many compilers and other utilities out there for free. Try an alternative language today.

    --
    It's October 6th. Where's W2K? Over the horizon again, eh?
  • While object oriented techniques make sense for real software development, if you merely want to run a particular algorithm on a lot of data points, any structured language will do.

    Well.. numerical simulations are getting larger all the time, and structuring the code and enabling evolution and replacement of components is becoming more and more important.
    Although I've never used Fortran, one associate professor [ifi.uio.no] I've talked to, claimed that Fortan was unsuitable because of this.

    Believe me; there's more to numerical simulation (and visualization) than to run a particular algorithm on a lot of data points.

    I took a course in numerical simulation and visualization last semester, and we used C++ with Diffpack [nobjects.no] and VTK [kitware.com], and although many students did not take advantage of C++ by programming OO, I did it to keep my sanity.. and it paid off. Big time.
  • I wonder if Compaq is afraid to release it for Intel. I use it on the Intel platform and found it to be a solid product. I know there was an agreement with MS some years ago (MS sold them Powerstation). I cant help but wonder if Compaq is dancing around MS on this one, or worse, they are contractually obligated to create a Windows only compiler for Intel platforms.

  • I believe Alan Cox put together the remnants of a DOS COBOL compiler into a package that would run on Linux (try looking in ftp://ftp.linux.org.uk/pub/linux/alan/ Cobol/ [linux.org.uk].
  • I'm going long on Compaq this morning. Expect a big pop in the stock from this one.

    It's exactly this kind of forward thinking that's going to leave Microsoft in the dust.
  • Does it use gas and GNU ld, or do Compaq supply the entire toolchain?

    Does it work with GDB, or just ladebug?

    Is its loader compatible with existing static and shared libraries?
  • by Johnboy ( 15518 ) on Wednesday December 22, 1999 @01:18AM (#1453987)
    Are the Open Source zealouts at it again?

    Fortran itself has quite a limited number of serious users

    Ummm...no. A huge number of serious scientific and engineering simulations are coded in Fortran. It is a fairly low-level language that has unmatched capabilities for optimization and parallelization.

    For God's sake, take a look at O'Reilly's High Performance Computing" [oreilly.com]

    And don't whine about the license.

    1. Compiler optimiztions are very much tied to the architecture, so it's not surprising that the best compiler writers for a high-end RISC platform are indeed employed by same company. In this case, it's "a company like Compaq". The old Digital would have been no different.

    2. If a 10% increase in hardware speed costs $10,000, then $400 for a compiler is nothing, even if the executable is only 10% faster than that of g77. And Lo and Behold, it runs on Linux, not the costly, closed-source Tru64 UNIX!

    Christ, what a bargain!

  • kickass and thanks
    I will take a look
    I dont give a damn about karma I just hate people that dont bother to learn anything from there history and follow the latest fad.

  • by rsilva ( 128737 ) on Wednesday December 22, 1999 @05:15AM (#1453990) Homepage
    Unfortunately it seems that most slashdot readers don't know much about the new Fortran standard (Fortran 95) and keep on saying that Fortran is an old language, etc. I will try to point out some things:

    1) Fortran 95 is structured.

    2) Fortran 95 has abstract data types (called modules). But certainly it is not OO (lacks inheritance). Oh, it has overloading too.

    3) Fortran 95 has cool matrixes that are, in a certain sense, close to Matlab matrixes. For exemple the code

    A(:,3) = 1 + 2*A(:,4)

    changes the second column of the matrix A to 1 plus two times the forth column. Of course this serves as a good hint to the compiler that the implicit loop above can be done in parallel.

    4) Fotran 95 was designed with efficiency in mind. A good exemple is the distiction between allocatable arrays and regular pointers, so that you can have dynamic allocation with a better control of aliasing.

    6) Fortran 95 is usually faster than C/C++. There is some effort to change this (see Blitz++ library or the MTL, for information http://www.oonumerics.org).

    7) The main disadvantage of Fortran 95 for a scientific linux user is the lack of free (as in freedom compilers). g77 only implements FORTRAN 77 (plus some extensions), it is not a Fortran 95 compiler.

    Hope that helps.

    Paulo.
  • Why the heck do we need ONE MORE fortran?
  • Oh God. Here we go again. The mantra of the Fortran programmer is efficiency. Cobol programmers make the same claims. Ofcourse people stopped listening to both groups 10 years ago. The notion that C is inefficient has been so thoroughly refuted in the past 10 years that it is not worth debating. Together Fortran and Cobol programmers the lowest rungs of computing, and rightly so. I still think that this story is a yawn.
  • Note that the Dec^h^h^hCompaq compiler is a Fortran 95 compiler. I'd agree with pretty much everything you say about F77...but that was 20+ years ago. I don't do much in f77 any more either (except when I can't avoid it). Its too painful to deal with the lack of decent data structures and several other things.

    F95 compilers will compile old f77 code because f77 is basically a subset of f95. And many people (obviously including yourself until 3 years ago) still code in f77 for various reasons: comfort with the language, maintenance of large codes already in f77 (although there are ways to mix the old and new stuff).

    Sometimes its purely from prejudice. In a high visibility project that I better not name, I've been required to use about anything except for f90/f95 - for no coherent reason. Anything else is ok. F77 is fine. F77 extensions are fine (as long as I don't point them out as f90 features). Various autocoders are fine. As best as I can tell, if I used the NAG f90 compiler to translate my f90 code into C, I could claim that it was a C auto-coder and all would be fine...as long as I didn't reveal that the name of the autocoder was f90.

    And, for some relevance to slashdot, sometimes its because of such things as free compiler availability.

    But "real" f90/f95 is a very different language in many ways from the f77 that you are obviously familliar with. Don't judge f95 based on experience with its 20+ year old predecessor.

    It seems to be a common theme - to critique Fortran based on f77 not having lots of more modern features, but then to discount the modern versions of Fortran as not being f77 and therefore not counting. :-(

    I use Fortran (a modern version) preferentially in most of my coding. Why? Not because of speed, but because I find it far more productive of my time compared to any alternative I've tried. Yes, that includes C/C++. It also includes f77. Others obviously have different priorities, and some others also have different experience in what language they are most productive in. These things do vary.

    To summarize. I advise against making judgements about modern Fortran if you haven't actually used it....or just because its not the operating system that "everybody" uses....Um. I mean language. How did "operating system" slip in there. There couldn't possibly be any similarities in the issues, could there? :-(
  • http://oonumerics.org/blitz/

    is a superb library, and free too.

    Actually, real world physics in game engines
    is extremely CPU-time sensitive. Assembly is
    still necessary for bits and bobs.

    Now if you've got lots of legacy code and stuff,
    then you're right - stick with Fortran.
    (Yo Dud3, use Java hahahahaha).
  • I hear a lot (mostly from C programmers) that FORTRAN is a lousy language, but I never hear much beyond that statement to back it up. I'm not even sure why people say it is an ugly language. The function calls are natural (if you're not sure the exact name of a function, you can pretty easily guess it), and simply not having semi-colons all over the place even makes the code asthetically more pleasing then other languages.

    I've approached C from the perspective of being well-versed in FORTRAN, and frankly nothing about C jumps out at me and makes me say, "Gee, this is much better than FORTRAN." I see the differences, but none of them strike me as one being far superior to the other; it is all in what you're trying to do. Anything I need to do with pointers in C I easily do with common blocks in FORTRAN. I actually prefer how FORTRAN handles variables by address instead of value, but that is probably just a matter of taste.

    I haven't used g77 because now I use Linux at home and Unix at work and there isn't much code on *nix systems that isn't written in C/C++ or one of the scripting languages. But to say that FORTRAN is outdated or bad because not many public applications are written in it is like saying that Unix/Linux/etc. are bad operating systems because most people use Windows.

    I have spent the better part of the '90s programming FORTRAN on a DEC Alpha, and I can say that the compiler is very nice and fast, and the help files are excellent. I just hope Compaq maintains these standards.

  • Yes to all three. It uses GNU ld, works with gdb and existing
    shared libraries, but apparently ladebug works better than gdb for
    the fortran compiler. The C compiler is fairly gcc-compatible
    and compiles 70% of the RPM's in Red Hat's distribution without
    problem, according to the docs.
  • Yes to all three. It uses GNU ld, works with gdb and
    existing shared libraries, but apparently ladebug works
    better than gdb for the fortran compiler. The C
    compiler is fairly gcc-compatible and compiles 70% of
    the RPM's in Red Hat's distribution without problem,
    according to the docs.
  • There is another major reason why Fortran is still good for scientific calculation: it has vectors. simple as that. C has only pointers. Write a matrix multiplication function and C will create the worst code imaginable because it is so afraid of bad aliasing.

    I tuned some Finite Element code. starting at about 50 MFLOPS, I got up to 350 MFLOPS (on a 500MHz 21164) by tuning the C code. gcc went up to about 150 MFLOPS. With Fortran you don't need that tuning.

    And now tell me how many scientific applications don't need some kind of vectors...

    - Alex
  • I am not particularly enthused by the licence on this one - it matches the licence commonly found on "get $$$ of sofware free with this magazine" copies of commercial software - It explicitly forbids any commercial use, or any non-commercial institutions (such as charities), and the licence is to an individual and can be withdrawn at 30-day's notice for no reason other than they would like you to buy a licence from them.
    That said, it *could* be of use to students to test any Fortran code they were developing at home - assuming they had a handy Dec Alpha box at home of course, as this is for ALPHA linux, not Intel.....
    --

Luck, that's when preparation and opportunity meet. -- P.E. Trudeau

Working...