Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Sun Microsystems Programming IT Technology

Sun Releases Fortran Replacement as OSS 233

sproketboy writes "Sun Microsystems has released an alpha version of a new programming language called Fortress to eventually replace Fortran for high performance scientific computing tasks. Fortress was designed specifically for multi-core processors and is published under the BSD license."
This discussion has been archived. No new comments can be posted.

Sun Releases Fortran Replacement as OSS

Comments Filter:
  • Wellllllll... (Score:3, Interesting)

    by SatanicPuppy ( 611928 ) * <SatanicpuppyNO@SPAMgmail.com> on Monday January 15, 2007 @05:15PM (#17618948) Journal
    Much as I like Java, I'm not exactly sure how much a fortran-esqe language is going to "benefit from the lesson's learned with Java". It's apples to oranges, because of fortran's narrow focus, and equally narrow deployment base. Java's primary schtick is in the exact opposite direction, with wide focus, and deployment on a large number of systems.

    I suppose increased multi-processor support would be nice. It'll all depend on performance.
  • by Harmonious Botch ( 921977 ) on Monday January 15, 2007 @05:17PM (#17618970) Homepage Journal
    Yep, programming languages advance by evolution, not intelligent design.
  • by nuzak ( 959558 ) on Monday January 15, 2007 @05:23PM (#17619044) Journal
    http://research.sun.com/projects/plrg/PLDITutorial Slides9Jun2006.pdf [sun.com]

    Fortress uses a lot of unicode mathematical operators, which slashdot will quite pitifully fail to display.
  • by msuzio ( 3104 ) on Monday January 15, 2007 @05:28PM (#17619130) Homepage
    For those who won't bother to read the article, Fortress was designed by Guy Steele [wikipedia.org], which gives it a good pedigree in my book. I heard his talk at OOPSLA 2006 on the language design decisions they made for Fortress, and although my Fortran (and math) experience is too shallow to fully appreciate it, I found it fascinating nonetheless.

    At the very least, Sun has given people something to think about.
  • by EmbeddedJanitor ( 597831 ) on Monday January 15, 2007 @05:29PM (#17619152)
    I used fortran quite a lot around 25 years ago. Sure it had some oddball limitations and wierdness, but it is damn fast and quite efficient for some coding purposes.

    I wrote a Fortran program that printed out a calendar with the year in a banner font at the top. It took 57 cards (no library calls etc, beyound PRINT). Try do anything useful in 57 lines with today's languages.

  • Re:Read the FAQ (Score:3, Interesting)

    by Daniel Dvorkin ( 106857 ) * on Monday January 15, 2007 @05:36PM (#17619236) Homepage Journal
    So they're going to include, what, a LaTeX implementation so programmers can make their symbols look right?
  • Re:Wellllllll... (Score:3, Interesting)

    by geoff lane ( 93738 ) on Monday January 15, 2007 @05:37PM (#17619248)
    Fortress doesn't look anything like Fortran.

    The source form looks more like Algol60 printed on a flexowriter (all aged programmers will recognise this blast from the past.) There is some resemblence to BCPL. But the language is much more complex than anything most people will be familiar with.
  • by XPulga ( 1242 ) on Monday January 15, 2007 @06:11PM (#17619766) Homepage
    I've seen this a couple of days before and bothered to skim through the specifications carefully hidden in the depths of Sun's site. I am not pleased with what I saw. Summarizing:

    It seems that the only Fortran-esque side of Fortress is that it is aimed at scientific computing and number-crunching. Other than that, the programming paradigm of Fortress is based on object orientation and programming-by-contract. If Java smelled like Smalltalk, Fortress smells like Eiffel.

    Fortress has focus on three basic things:

    1) programming by contract (pre-conditions and post-conditions of a method)
    2) Numerical and dimensional correctness
    3) Keeping the programming language as close to mathematical notation as possible.

    1) means that people will write more to achieve the same thing with some guarantee of correctness. Much like Java's enforcement of exception handling, an be easily misused.

    2) means that Sun bothered to include kelvin, Pascal, meter, second, Newton and every Physical unit you can think of as language keywords, that all parameters should specify what unit they're in, and that the language will do some effort to prevent errors arising from adding oranges and bananas, or precision errors from summing milligrams to some hundreds of kilograms.

    3) means that Fortress will make Perl look readable. Good part of the language specification deals on how the editor should render the source code onscreen. The logical AND operator is the upward-pointing wedge symbol of math. The logical OR operator is the downward-poiting wedge symbol. The Integer type is that special-font Z, and a real is that special-font R. The specification deals on how to represent these in an ASCII file, using a meta-language similar to TeX (but incompatible with).

    Programming Fortress on anything other than Sun's own IDE will most likely be unfeasible. Think of every math operator you've seen. If you have experience with TeX/LaTeX, think of those 4 pages from symbols.dvi with all symbols you could use. Those are the Fortress operators. Sun has finally come with something mor unreadable and with more operators than Perl. And the operators aren't even ASCII, they're untypeable. The bitwise AND and OR operators are a weird thing I had never seen before (after 5 years of engineering, and 5 years as graduate student in CompSci).

    That said, Fortress may even succeed as a niche programming language. But I still have two concerns left:

    How will non-scientific code look on it ? Surely Fortress programs will want to open windows, and dialog boxes, access files and the network. The math-oriented syntax has all it takes to make UI programming uglier than C+Xlib.

    Sun claims that Fortress is aimed at High Performance Computing. Sun released an alpha interpreter of Fortress, which is written in Java. What kind of sick language designer writes an interpreter in Java to demonstrate something related to High Performance computing ?

  • Re:APL (Score:4, Interesting)

    by Coryoth ( 254751 ) on Monday January 15, 2007 @06:33PM (#17620124) Homepage Journal
    I'm not sure that's a good idea, either, since reals and floats are different things. Reals have infinite precision, whereas precision is finite for floats.

    In Fortress the basic types ZZ and RR provide arbitrary preceision integers and floats. If you want a specfied precision then you need, say, ZZ32 or RR64 etc. So in fact it is the correct notation.

    Yes, that's what I imagined it would be like. I also imagine actually _typing_ something that looks a lot more like regular program code, so that you still have to learn an alternative to math notation.

    Yes, but it is well documented and, if you are at all familiar with mathematics, straightforward to learn (indeed, you almost don't need to learn - instinctually typing in whatever you would say works for most symbols. It is no harder to learn than TeX - easier if you already know TeX in fact.

    Also, the result will look like what one would see printed in a math textbook, as you said which is (1) not what the programmer typed, and (2) horribly obfuscated to me (which is a personal thing, but applies to many people).

    Sure, it applies to many people. None of them are in the target market for Fortess though. Fortress is aimed at mathematicians and scientists - the sort of people who are still using Fortran - and for them the math notation makes the whole thing much, much easier to read. It all depends on what you're used to. If you're a programmer who reads C and Java all day then that probably looks good to you. If you spend much of your time reading math papers, however, then mathematical syntax looks far more natural the the elaborate and obfuscated look of C. Congratulations, you're not the target market for the language - that doesn't mean it isn't a great idea that will be of great value to many other people.
  • INCONCEIVABLE (Score:2, Interesting)

    by OpenSourced ( 323149 ) on Monday January 15, 2007 @06:46PM (#17620378) Journal
    ...and is published under the BSD license.

    -...You keep using that license. I do not think it means what you think it means [slashdot.org].

  • by spagetti_code ( 773137 ) on Monday January 15, 2007 @06:55PM (#17620532)
    I know that Fortran has a good reputation for speed...

    But when I was postgrad at university, I helped a Math mate recode some department apps used in his thesis from Fortran into 'C'.

    The end result is the damn stuff ran faster. I looked into it more deeply to try to understand the difference - was it that I (comp-sci major) was coding the apps more cleanly than the original math majors?

    Details are lost - it was a while ago - but I do recall that the 'C' libs were doing most floating point operations faster than fortran. Not just the low level co-processor stuff, but also the more complex operations.

    Surprised the heck out of both of us. I suspected at the time that it was just the variant of fortran we were running on Vax's, but didn't bother checking further.

  • by Anonymous Coward on Monday January 15, 2007 @07:18PM (#17620864)
    Damn, I was all ready to completely agree with you (bobblehead style), and then you had to go and stick your food in your mouth at the very end:

    What kind of sick language designer writes an interpreter in Java to demonstrate something related to High Performance computing ?
    Ok. Step away from the crack pipe. I'm no fan of Java either, but let's not bash this just because he used Java, Mmmmmkay? Prototypes are just that -- prototypes. Also, keep in mind that it's possible to write a compiler in any language (n.b. whether you can actually execute the resulting binary on the same platform is an another issue). And also keep in mind that Java server is no slouch when it comes to performance.
  • by XPulga ( 1242 ) on Monday January 15, 2007 @07:49PM (#17621346) Homepage
    The major issue with Eiffel was the lack of APIs (or bindings) for useful stuff when the language appeared. The bindings came too late. My point in comparing Fortress to Eiffel was pointing out that Fortress may be closer to Eiffel than to Fortran, and the press release from Sun mentions Fortran alone.

    Fortress may be wonderful for the scientific part, but I do hope Sun finds a way to keep the GUI/OS-interaction code in some other language (Java is reasonable), making it possible to build applications from Fortress and non-Fortress parts. Treating mouse and other UI events with that math notation won't be fun, even for the most devout Mathematician.

    I didn't see in the specs (I skimmed through it quickly, could be my fault) how Fortress is meant to parallelize computations more efficiently. From all I saw, I assume each method runs atomically in a single thread and parallelization of methods is be based on the contracts.

    I am a Perl programmer, and I don't think Perl is that unreadable. In fact, I agree with most of its design. I am happy that now we can point the finger at something else when someone complains about "weird syntax" and "too many operators".

The hardest part of climbing the ladder of success is getting through the crowd at the bottom.

Working...