Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Meinungen zu fortran

Anonym / 9 Antworten / Flachansicht Nickles

mich würden mal eure Meinungen zu fortran interessieren.

Meine ist:

Fortran (77) ist sehr übersichtlich und neigt zu weniger Adressfehlern als C(++). Wäre Windows in fortran programmiert, würde die Meldung "Schwerer Ausnahmefehler" (fast) nicht existieren. In fortran BRAUCHT man nämlich keine Pointer, deshalb kann man damit auch keine Fehler machen... (Nur bei der Windows-Programmierung könnte man machmal einen Pointer gebrauchen, weil man ein C-Programm aufrufen will, das einen erwatet.)

mfg, M@rtin

bei Antwort benachrichtigen
Anonym thomas woelfer „sorry, aber ich glaube das ist etwas gewagt: in fortran _braucht_ man keine...“
Optionen

Hast du schon mal Fortran programmiert oder sind das nur Vorurteile??

Ich habe allerdings etwas verschwiegen, was Pointer betrifft. Natürlich hat und braucht fortran auch Pointer, aber ich muß sie nicht programmieren. Der Compiler entscheidet automatisch, ob mit dem Variablennamen ihr Wert oder ihr Pointer gemeint ist. Und das kopieren des Wertes einer Variable statt ihres Pointers auf den Stack beim Aufruf eines Unterprogramms bringt ja wohl nicht wirklich einen Geschwindigkeitsvorteil.

Und Typensicherheit hat fortran in seiner Sprachdefinition eingebaut. Es ist nicht möglich, in eine Charactervariable eine Integer-Zahl hineinzuschreiben, ohne über eine Funtion vorher die Zahl als ASCII-Code uminterpretieren zu lassen. In C braucht man nur (char) davor zu schreiben, dann hat man die Typprüfung mehr oder weniger umgangen. Und bei Unterprogrammaufrufen hat auch C/C++ keine ECHTEN Typprüfungen, die Prototypen kann sich schließlich jeder selbst falsch zusammenschreiben... Und die einzig richtige Methode, zur Laufzeit jeden Typ zu überprüfen dauert - sprachunabhängig - ja wohl viel zu lange, außerdem ist das bei Fortran bei vielen Compilern mit einer /check - Option möglich...

Wenn man dann mal Pointer aus Performance-Gründen braucht (z.B. um via DirectDraw auf den Bildschirmspeicher zuzugreifen), kann man unter fortran CORE1(ipnt) benutzten. Das liefert das Byte an der Adresse ipnt (Entsprechend CORE2 2Bytes und CORE4 4Bytes...). Das ist sogar etwas schneller als unter C!!!

Soviel dazu,

mfg M@rtin

bei Antwort benachrichtigen