Ich bin ein Maschinenbaustudent, der sich für den Bereich Luft- und Raumfahrttechnik interessiert, in dem Fortran noch immer gebräuchlich ist.
In welche Fortran-Version soll ich meine Zeit investieren, um zu lernen?
Ich bin ein Maschinenbaustudent, der sich für den Bereich Luft- und Raumfahrttechnik interessiert, in dem Fortran noch immer gebräuchlich ist.
In welche Fortran-Version soll ich meine Zeit investieren, um zu lernen?
Antworten:
Es ist ein bisschen eine populäre Fehlbezeichnung, dass es eine "Version" von Fortran zu wissen gibt. Mit seltenen Ausnahmen behalten die neuesten Fortran-Standards (und Compiler) eine hervorragende Abwärtskompatibilität mit älteren Standards bei. Dies hat einen guten Grund: Nicht viele Menschen würden Fortran heute verwenden, wenn nicht die große Menge an noch verwendetem Legacy-Code vorhanden wäre. Das heißt, ein standardkonformer Fortran77-Code funktioniert fast immer noch mit den neuesten Compilern.
Sie sollten lernen, die modernste Version der verfügbaren Sprache zu verwenden. F2008 hat einem Anfänger vielleicht nichts fürchterliches Nützliches hinzugefügt, aber die Einführung objektorientierter Konzepte durch F2003 ist definitiv eine große Sache. "Modern Fortran Explained" ist ein guter Anfang, und "Scientific Software Design: Der objektorientierte Weg" ist auch ziemlich gut, um zu lernen, wie man es in die Praxis umsetzt.
Wenn Sie an Legacy-Code (z. B. F77 oder früher) arbeiten möchten, müssen Sie an einem bestimmten Punkt einige der Funktionen kennenlernen, die aufgrund fehlender F90 + -Funktionen ausgeführt wurden. Wenn Sie beispielsweise Fortran-Code für etwas schreiben, sollten Sie niemals einen so genannten "COMMON-Block" verwenden, aber Sie werden sie immer in F77-Code sehen, den Sie möglicherweise verwenden müssen.
Ich würde niemals jemandem empfehlen, in Fortran zu arbeiten, ohne zumindest die F90 / 95-Features zu haben.
Das heißt, wenn Sie nicht in einer anderen Sprache programmieren können, werden Sie wahrscheinlich einen Konsens darüber finden, dass Fortran nicht die beste Sprache ist, die Sie als erstes lernen können, selbst wenn Sie sich für die Luft- und Raumfahrt interessieren. (Und ich sage das als jemand in der Luft- und Raumfahrt, der Fortran regelmäßig verwendet und es als meine Muttersprache hatte).
Ich bin mit euch beiden nicht einverstanden. C ++ und Python sind immer noch nicht so optimiert wie FORTRAN. Ich würde definitiv zustimmen, dass FORTRAN 90/95 das Minimum ist. Es ist jedoch immer nützlich, andere modernere Versionen zu verwenden. Die Herausforderung bei FORTRAN besteht darin, dass es einfach zu verstehen ist, wenn Sie es lernen, bevor Sie objektorientierte Sprachen lernen. Es ist viel schwieriger zu lernen, wenn Sie es gewohnt sind, mit Objekten zu denken. Ich unterrichte hier die Supercomputing-Klasse und zwinge meine Schüler, FORTRAN zu verwenden. Es zwingt sie, beim Programmieren eine andere Art von Logik zu verwenden. Sie mögen es nicht, weil es nicht wie Python oder C ++ "denkt". Es kommt wirklich darauf an, was Sie vorhaben und wie viel Parallisierung und Leistung von Bedeutung sind.