Arne Vajhøj said:
The last real Fortran was 77.
yeah.
some newer Fortran varieties add OO, function pointers, and a lot of the
stuff from C and C++...
Java or C# seems more obvious to me.
well, in my case, a lot has to do with familiarity...
C# raises the issue of differences between MS's implementation and Mono, and
the lack of good alternatives...
Java leaves one in a world of primarily Java-only...
An IDE does not need the OpenGL capabilities.
true, but in my case, OpenGL is the most convinient way (in C and C++) to
pull off portable GUI code (the main other alternative being to maintain
local bitmaps and draw into these...). but, I like OpenGL because it can do
nearly anything I need (from simple GUI's and consoles to more elaborate 3D
scenes), without having to really modify or port much code (usually just a
few kloc is needed to manage OS-specific matters).
also, my main widget toolkit is based on OpenGL.
interfacing with platform GUI facilities tends to be much more painful to
make work well (since damn near every OS has its own local GUI API, and
often it is not particularly a 1:1 mapping between them).
however, in the past I had done some basic GUI's using some design ideas
from HTML forms as a means of abstraction.
granted, portable GUI is much easier in Java, since Java includes AWT and
Swing, which work regardless of the target OS.
C# with Mono for *nix and GTK# instead of WinForms could work fine.
but, the issue with GTK# is that AFAIK it is not available for MS's .NET
implementation...
providing redundant GUI between WinForms and GTK#, or demanding use of Mono
on Windows, would also be lame...
possibly it would leave one needing to find some way to gloss over the
differences.
And you do not even need to use mixed mode C++ to access
C code - p/invoke will do fine for that.
granted.
however, there is some merrit in being able to write mixed-mode code, since
it can serve as an essentially bidirectional interface with both languages,
and thus avoid much of the "harsh edge" effect from using P/Invoke.
granted, I have not used it much in any large scale, but I would imagine it
to be a nicer experience...
and as well before I essentially used it to more-or-less coerce a bunch of
plain C code to run on .NET...
Java should do fine for IDE. There are lot sof IDE's written in Java.
JNI is a bit cumbersome, but I don't think an IDE need JNI at all.
but, this is only if one is willing to write the whole thing in Java, which
granted, seems like a little bit of a strain for someone far more used to
(the relative anarchy of) C and C++...
similar, there is also the uncertainty of one having to quite possibly
abandon much of their legacy codebase, essentially "starting over" as far as
programming goes...