Ich denke, es ist sinnvoll, eine etwas alternative Sichtweise zu bieten und die Angelegenheit zu klären.
FORTRAN vs. Fortran
Zunächst muss man das alte FORTRAN von unterscheiden das neue Fortran, wo der Name der alten Sprache üblicherweise in Großbuchstaben geschrieben wird. Das alte FORTRAN (bis FORTRAN 77) wird zwar immer noch wegen Tonnen von Legacy-Code verwendet, aber das neue Fortran (ab Fortran 90) wird hauptsächlich verwendet, weil es eine sehr elegante und einfache, aber leistungsstarke und effizient implementierte Sprache ist zum Knacken von Zahlen .
DSL vs. GPL im Allgemeinen
Beachten Sie insbesondere, dass selbst das moderne Fortran meiner Meinung nach eine domänenspezifische Sprache em ist > (DSL) und hierin liegt seine relative Schwäche im Vergleich zu einigen Allzwecksprachen (GPL) wie dem erwähnten C ++: Fortran ist auf eine bestimmte Aufgabe spezialisiert (Zahlenverarbeitung) und möglicherweise nicht so geeignet für Einige verwandte Aufgaben (z. B. automatisierte Analyse der Endergebnisse, deren grafische Darstellung usw.)
Allzwecksprachen wie C ++ bieten Ihnen mehr Flexibilität (in Sprachfunktionen, in Bibliotheken von Drittanbietern). usw.), damit Sie nicht nur die Hauptaufgabe (Zahlenkalkulation), sondern auch die zugehörige Aufgabe in derselben Sprache lösen können. Wenn Sie jedoch Fortran für die Zahlenverarbeitung auswählen, müssen Sie für diese verwandten Aufgaben häufig eine weitere Sprache (z. B. Python) verwenden. Stellen Sie sich zwei verschiedene DSLs vor: eine für die Hauptaufgabe und eine für verwandte Aufgaben. Natürlich könnten Sie Python auch zusammen mit C ++ verwenden, aber ein erfahrener C ++ - Entwickler (der Sie sein sollten, wenn Sie sich dafür entscheiden, eine Zahl zu knacken) würde nicht unbedingt die Verwendung einer anderen Sprache anstelle seines C ++ - Biests nutzen.
Fortran vs. C ++ speziell
Das alles ist etwas subjektiv, aber hier sind meine 5 Cent. Insgesamt ist Fortran einfacher als C ++, aber (und weil) C ++ ist funktionsreicher . Grundsätzlich, weil Fortran DSL ist, während C ++ GPL ist. Und wie gesagt, dies ist bis zu einem gewissen Grad subjektiv, und außerdem ist die Komplexität eines der komplexesten Dinge im Universum, sodass wir eine Debatte darüber beginnen könnten, aber hey, nur ein Wort: Vorlagen und die Diskussion sind in Prinzip vorbei. Vorlagen machen C ++ zum Biest, aber alles hat seinen Preis.
Beachten Sie, dass ich nicht gesagt habe, dass C ++ leistungsfähiger ist, da meiner Meinung nach "funktionsreicher" nicht immer bedeutet " stärker". Es kommt vor allem darauf an, ob Sie diese zusätzlichen Funktionen überhaupt benötigen oder nicht. Im Ernst, benötigen Sie das Maß an Großzügigkeit (und Metaprogrammierung), das C ++ - Vorlagen für die Eingabe von Zahlen bieten? Nicht unbedingt. In diesem Fall wäre C ++ nicht leistungsfähiger als Fortran, obwohl es immer noch funktionsreicher ist.
Vorlagen sind nicht die einzige Funktion von C ++, die Fortran nicht bietet. Ausnahmen und Standardbibliothek - sind zwei weitere auffällige Funktionen, die Fortran nicht bietet. Auch hier ist es nicht so wahrscheinlich, dass Sie von diesen Funktionen für die Zahlenverarbeitung stark profitieren. Bei einigen anderen Aufgaben können sie jedoch sehr hilfreich sein, sodass C ++ als GPL sie enthält, Fortran als DSL für die Zahlenverarbeitung jedoch nicht. Denken Sie an Fortran als eine "Koffersprache" nur zum Knacken von Zahlen und an C ++ als eine "Amtssprachensprache" für alles.
Es gibt auch eine großartige Funktion der Fortran-Sprache, die C ++ immer noch nicht einholen konnte: Module. Ich meine, echte Module und keine alten Präprozessor-Maschinen, die mich mehr als alles andere irritieren.