Fortran Programmierung



  • @SeppJ

    Mag sein das ich ein wenig hinter dem Mond lebe 😉 .

    Aber für z.B. LAPACK finde ich bis heute keine C Version. FTN2C zählt in meinen Augen nicht der dabei generierte Code ist praktisch nicht mehr lesbar.

    Und das Fortran in C/C++ Programme eingebunden werden kann ist mir schon klar. Aber für mich der unter Windows arbeiten muß, ist der extra Fortran Compiler eine Kostenquelle und auf der anderen Seite ist es ein ziemlicher Krampf das so einzubinden. Ich mache das hin und wieder aber bei Leibe nicht gerne.

    Ich weiß nicht ob Du mich falsch verstanden hast. Aber ich bin der Meinung man kann Fortran schon können (zumindest lesen) aber ich programmiere heute eigentlich nur noch in C++. Dazu stehe ich dann auch.

    Gruß Andreas Georg


  • Mod

    fwbp34 schrieb:

    Aber für z.B. LAPACK finde ich bis heute keine C Version. FTN2C zählt in meinen Augen nicht der dabei generierte Code ist praktisch nicht mehr lesbar.

    Ich glaube, du verstehst die Problematik nicht. Was interessiert, wo drin der Quellcode einer Bibliothek geschrieben ist? Selbst die in Fortran geschriebene Referenzimplementierung von LAPACK bietet C-Bindings, das ist das Entscheidende! Sonst würde niemand mehr LAPACK nutzen…

    Ich weiß nicht ob Du mich falsch verstanden hast. Aber ich bin der Meinung man kann Fortran schon können (zumindest lesen) aber ich programmiere heute eigentlich nur noch in C++. Dazu stehe ich dann auch.

    Das klang sehr stark so, als würde man ohne Fortran wichtige Numerikbibliotheken nicht nutzen können. Das ist absolut nicht der Fall. Eher schon im Gegenteil. Eine Bibliothek, die nur Fortran-Bindings bietet, würde schlicht kaum benutzt, wodurch sie kaum Verbreitung fände, wodurch sie noch weniger benutzt würde, usw.



  • Okay das ist natürlich super, dass ich einfach die Bibliotheken in C++ nutzen kann und mir das nicht selbst ausdenken muss.

    Ich hoffe die Entscheidung zu C++ zu wechseln ist ne gute Entscheidung.



  • Ich hoffe die Entscheidung zu C++ zu wechseln ist ne gute Entscheidung.

    Welche Empfehlung erwartest du in einem C++ Forum?



  • knivil schrieb:

    Ich hoffe die Entscheidung zu C++ zu wechseln ist ne gute Entscheidung.

    Welche Empfehlung erwartest du in einem C++ Forum?

    Nur eine Bestätigung 😃



  • fwbp34 schrieb:

    @SeppJ

    Aber für z.B. LAPACK finde ich bis heute keine C Version. FTN2C zählt in meinen Augen nicht der dabei generierte Code ist praktisch nicht mehr lesbar.

    Die gibt es aber! LAPACKE (man beachte das E am Ende)

    Ich persönlich ziehe jedoch die Bibliothek armadillo vor. Die bietet ein Interface, mit dem man Matrix- und Vektoroperationen genau so leicht wie in MATLAB machen kann, ruft im Hintergrund jedoch die LAPACK und BLAS Routinen auf.



  • Ist die Frage hier nicht eher, wozu überhaupt C++, was geht denn genau mit Java nicht?
    Ich würde zuerst mit Fortran herumprobieren (nachdem ich java ausgelotet hab), um einfach mal eine andere Perspektive zu lernen, und um ein eigenes Urteil bilden zu können.

    Rein technisch empfiehlt sich vielleicht C, C ist nicht zu umfangreich, und Cuda setzt auf C auf.
    Aber für das Rummachen mit Cuda helfen alte, veraltete, eklig gestrige Programmiertexte mit Fortran.



  • hab in der Uni einiges mit Fortran geschrieben.
    Ist wirklich recht einfach zu erlernen und eigentlich ganz komfortabel zu verwenden.

    Insgesamt würde ich eher zu C++ raten (gut ... nicht sehr aussagekräftig in einem C++ Forum), da du damit auch C verstehst und weil sehr viele Open Source Projekte in C und/oder C++ geschrieben sind und man diese dann leicht lesen und verwenden kann. Gerade auch im wissenschaftlichen Bereich wird einiges mit C++ gemacht.



  • 92 schrieb:

    Ist die Frage hier nicht eher, wozu überhaupt C++, was geht denn genau mit Java nicht?

    Es geht nicht unbedingt darum, was mit Java nicht geht, sondern wie alles zusammenspielt. Vieles was ich benötige baut auf C auf und ich kann mit C++ darauf zurückgreifen. Es gibt sicher viele Sachen, die auch für die JVM umgeschrieben wurden aber das Zusammenspiel von allem, was ich benötige ist mit C++ besser (nicht unbedingt einfacher) gemacht.

    Ein wenig Fortran werde ich wahrscheinlich doch mal ausprobieren und wenn es mir gut gefällt, dann auch etwas mehr aber hauptsächlich geht es mir um C++ und zum Teil auch C.



  • SLx64 schrieb:

    Ein wenig Fortran werde ich wahrscheinlich doch mal ausprobieren und wenn es mir gut gefällt, dann auch etwas mehr aber hauptsächlich geht es mir um C++ und zum Teil auch C.

    Bedenke: FORTRAN hatte seinen dominierenden Platz (neben ALGOL, PL1, BASIC, COBOL). Doch mit der Verfügbarkeit von C sind bei Neuentwicklungen
    die meisten FORTRAN-Programmierer auf C umgestiegen. Ging sogar mit dem Codeconverter ftoc recht einfach.

    Wenn du also mit C und C++ gut zurecht kommst, sehe ich keinen Grund, sich auch noch FORTRAN aneignen zu wollen.
    FORTRAN ist veraltet, wenig gepflegt, und nur bei vorhandenem FORTRAN-Code überhaupt noch interessant.


Anmelden zum Antworten