| |
| Posted by Anders F Björklund in reply to Norbert Nemec | PermalinkReply |
|
Anders F Björklund
Posted in reply to Norbert Nemec
| Norbert Nemec wrote:
>> And I guess it is slower than Java...
>
> I strongly doubt that: It is aimed to be for Fortran what D is for C++.
> The major strength of Fortran is performance...
>
> The Fortress specs talk of a "virtual machine", but I'm pretty sure
> this will in no way harm the performance.
>
> A first glipse tells me that Fortress should be taken serious as a Fortran successor, just like D should be taken serious as C++ successor.
I thought that D was a C successor, and a simpler alternative to C++ ?
(I don't enough advanced C++ to tell whether it's a "full" replacement)
And I don't know Fortran, so I can't say much of the Fortress analogy.
However, it seems to aim to "do what Java did for C" - or so they say.
The performance is provided by Just-In-Time compilation (like Java/C#),
but there might be more opportunities for optimization in this language.
> The only major drawback of Fortress that I can see right now is, that it does not aim at being a general purpose language. I would guess that it has good chances in the niche of numerics and high-performance computing, but it does not even seem to attempt going beyond that.
Their strategy seems to be different from what Walter chose for D :
"Wherever possible, consider whether a proposed language feature can
be provided by a library rather than having it wired into the compiler."
(http://research.sun.com/sunlabsday/docs/Talks/Track1/1.02_steele.pdf)
This is different from the D approach, which hardwires a lot of things ?
"D offers several capabilities built in to the core language that
are implemented as libraries in other languages such as C++"
(http://www.digitalmars.com/d/builtin.html)
And then Walter didn't even mention unit testing or contracts there...
Also:
- Booleans, integers, floats, characters are all objects (first-class)
- Libraries define math operators supplied by Unicode (i.e. Unicode ops)
Not even Java added that, but it kept the primitives and the ASCII ops ?
And D has kept with this tradition, as well. (i.e. the C/C++ tradition)
Even though object wrappers and unicode operators have been mentioned.
("suggestions" seems to come up on the newsgroup on a regular basis...)
--anders
|