Warum hat C Fortran abgelöst und warum konnte sich Pascal nur in der DOS Ära behaupten?



  • Bis auf die wenigen Delphi Nischenprodukte.
    Vom Verbreitungsgrad hätte Pascal doch eigentlich auch in der Windowswelt noch weiterbestehen müssen.

    Wieso ist es nicht so gekommen?



  • Und ganz wichtig, wird C das gleiche Schicksal erleiden, wie Fortran?

    Eine austerbende Sprache die überwiegend nur von alten Programmierern benutzt wird?



    1. Hat es? Fortran ist eine Sprache für wissenschaftliche Berechnungen. Das ist sie immer noch, Fortran wird in dem Bereich immer noch gerne benutzt. C ist eine Sprache für Systemprogrammierung, das war Fortran nie.

    2. Weil Pascal nicht die 2 großen Hypes der frühen 90er erfüllen konnte: GUI-Programmierung hieß Windows-API, also C; und OOP war in Pascal nicht so dolle.

    3. meine Glaskugel ist grad in der Werkstatt


  • Mod

    Ich würde auch eine andere Sache nicht unterschätzen: Schreib mal ein C-Programm und ein gleichwertiges Pascalprogramm. Das Pascalprogramm hat dann zwar ungefähr genausoviele Zeilen aber 5x so viele Zeichen!

    Ähnlich bei Fortran, welches vor Freiformfortran sehr umständlich zu tippen war und teilweise sehr kryptisch zu lesen ist mit seinen Defaultvariablentypen. Wobei ich, wie Bashar, betonen möchte, dass Fortran nicht ausgestorben ist.

    P.S.: Pascal hat aber noch andere Probleme: Stringverarbeitung ist absoluter Mist. Und wenn man etwas gegenüber der Stringverarbeitung in C schlecht nennt, dann ist es wirklich grottig. Allein dadurch ist Pascal nicht für echte Anwendungen geeignet. Weiterer Lesestoff zum Thema, der auch ungefähr meiner Meinung entspricht:
    http://www.lysator.liu.se/c/bwk-on-pascal.html
    Besonders der Punkt über Arrays ist ein ganz wichtiger.



  • Bashar schrieb:

    1. Fortran ist eine Sprache für wissenschaftliche Berechnungen. Das ist sie immer noch, Fortran wird in dem Bereich immer noch gerne benutzt. C ist eine Sprache für Systemprogrammierung, das war Fortran nie.

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?
    Wie sieht es mit der Threadingfähgikeit von Fortran in Multicore CPUs aus, ist Fortran dafür überhaupt geeignet?

    Und wäre Ada für wissenschaftliche Berechnungen nicht besser geeignet?



  • Vor C hatte ich Pascal. 1 Zeile C ist so ungefähr eine Seite Pascal ... (wenn man will).



  • Geschichte der Progsprach schrieb:

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?

    Ich bin kein Fortran-Experte, aber dort gibt es einen riesigen Korpus an mathematischen Bibliotheken. Der Großteil aller numerischen Verfahren des letzten Jahrhunderts wurde vermutlich als erstes auf Fortran implementiert. Die Datentypen sind die bekannten, soweit ich weiß. Fortran dürfte die erfunden haben 😉

    Wie sieht es mit der Threadingfähgikeit von Fortran in Multicore CPUs aus, ist Fortran dafür überhaupt geeignet?

    Da gibt es wohl ziemlich gute parallelisierende Compiler. Wie gesagt, Fortran ist m.W. die wichtigste Sprache im Bereich wissenschaftliches Rechnen, alle möglichen Innovationen im Bereich Parallelität gehen zuerst nach Fortran.

    Vielleicht mag jemand noch was dazu sagen, der sich damit auskennt 😉



  • Bashar schrieb:

    Geschichte der Progsprach schrieb:

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?

    Ich bin kein Fortran-Experte, aber dort gibt es einen riesigen Korpus an mathematischen Bibliotheken. Der Großteil aller numerischen Verfahren des letzten Jahrhunderts wurde vermutlich als erstes auf Fortran implementiert. Die Datentypen sind die bekannten, soweit ich weiß. Fortran dürfte die erfunden haben 😉

    Ok, aber gibt's mittlerweile nicht lauter C Implementierungen für die gestellten Mathematischen Probleme?

    Ich mein C hat ja inzwischen auch schon mehr als 30 Jahre auf dem Buckel.



  • Pascal hat sicher auch immer das Problem gehabt, dass es den Ruf einer Schulsprache hatte. Wirth hat ja mit Oberon und Modula-2 versucht Pascal für den "Mainstream" weiter zu entwickeln.

    Geschichte der Progsprach schrieb:

    Bashar schrieb:

    1. Fortran ist eine Sprache für wissenschaftliche Berechnungen. Das ist sie immer noch, Fortran wird in dem Bereich immer noch gerne benutzt. C ist eine Sprache für Systemprogrammierung, das war Fortran nie.

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?
    Wie sieht es mit der Threadingfähgikeit von Fortran in Multicore CPUs aus, ist Fortran dafür überhaupt geeignet?

    Fortran hat einfach verdammt gute Compiler. Im Vergleich zu C macht die Sprache es auch dem Compiler leichter effizienten Code zu generieren. So gibt es kein Aliasing und man hat direkt Operationen auf Vektoren (so wie in Matlab oder bei C++'s valarray bzw. blitz++). Es gibt sogar Fortran-Compiler die den Code automatisch in Threads aufteilen können (weiß aber nicht wie gut das ist).

    Und Fortran gab es vor C. Oft ist die Wahl ja historisch bedingt. Irgend ein Professor kannte nur Fortran und wollte daher alles nur in Fortran. Irgend ein Solver war in Fortran programmiert. Also hat man alles andere auch in Fortran programmiert etc.



  • Interessant finde ich, dass -obwohl Pascal ausstirbt- Pseudo-Code immer noch irgendwie Pascal-mässig auszusehen hat.
    Oder hat sich das mittlerweile auch geändert?
    Hab lange kein frisches Lehrbuch mit Algorithmen oder sowas gesehen.



  • Geschichte der Progsprach schrieb:

    Eine austerbende Sprache die überwiegend nur von alten Programmierern benutzt wird?

    Is doch jetzt schon so. Abgesehen von BS und Treiberentwicklung benutzt doch nahezu niemand mehr C fuer neue Projekte. Wenn Performance nicht das wichtigste ist (was es meistens nicht ist), wird man eher Java oder .NET nehmen, ansonsten C++.



  • Ich nutze C ständig, auch für Neues.

    Vermutlich gibt es Besseres, ich müßte eine Sprache finden die für DOS
    (= Kommandozeile), Windows und Web (CGI) vernünftig funktioniert. Performance
    brauche ich auch.

    Die gängigen Web-Sachen wie PHP etc müssen ständig gepatcht werden (ein Update
    jagt das nächste, die Herren die die Server administieren würden mich erschlagen)
    und können keine Windows oder DOS-Programme, Pascal ist mir persönlich zuviel
    Tipparbeit (schlage mich eh mit einem Mausarm herum) und umgekehrt ist es
    auch nix.

    Mit C uns SQLite habe ich etwas das alles abdeckt, dazu performant.

    Um da eine neue Sprache erfolgreich zu verwenden brauche ich einige Zeit die
    ich nicht habe. Das mit dem ++ hatte mich schon interessiert, ich sehe da nur
    keinen Fortschritt und für mich persönlich keinen Gewinn.

    Na ja - egal. Ich brauche eine Möglichkeit, meine Ideen einem Rechner klarzumachen,
    wie die heißt ist eigentlich wurscht.



  • Geschichte der Progsprach schrieb:

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?
    Wie sieht es mit der Threadingfähgikeit von Fortran in Multicore CPUs aus, ist Fortran dafür überhaupt geeignet?

    Lustigerweise, ich war 2009 auf einem Intel-Seminar zum Thema Multithreading/Multicore, hat Intel seine Parallel-Compiler (im Parallel Studio) zunächst für 3 Programmiersprachen herausgebracht:

    - C
    - C++
    - Fortran!

    http://software.intel.com/en-us/intel-sdp-home/

    Erst danach(!) geht es an die Unterstützung der Multithreading-/Multicore-Fähigkeiten von .NET und der Java-VM. Erst seit diesem Jahr hat Intel dazu mehr in der Pipeline.



  • Scheppertreiber schrieb:

    Vermutlich gibt es Besseres, ich müßte eine Sprache finden die für DOS
    (= Kommandozeile), Windows und Web (CGI) vernünftig funktioniert. Performance
    brauche ich auch.

    Du könntest D nehmen.



  • Vielleicht beantwortet das deine Frage: FORTRAN kam aus der Zeit der Grossrechner (1960 ...), PASCAL kam später. Ich habe mit beiden Compilern gerne gearbeitet und bin wie viele andere auf C und C++ umgestiegen. Warum? 🙂



  • Geschichte der Progsprach schrieb:

    Bis auf die wenigen Delphi Nischenprodukte.
    Vom Verbreitungsgrad hätte Pascal doch eigentlich auch in der Windowswelt noch weiterbestehen müssen.

    Wieso ist es nicht so gekommen?

    Delphi war alles andere als ein Nischenprodukt. Selbst heute wird es noch gerne eingesetzt, jedoch fast ausschließlich für geschäftliche Anwendungen. Skype oder Peazip sind da wenige bekannte Ausnahmen an populärer Software.

    Jockelx schrieb:

    Interessant finde ich, dass -obwohl Pascal ausstirbt- Pseudo-Code immer noch irgendwie Pascal-mässig auszusehen hat.
    Oder hat sich das mittlerweile auch geändert?
    Hab lange kein frisches Lehrbuch mit Algorithmen oder sowas gesehen.

    Das könnte aber auch daran liegen, dass Pascal und seine Nachfolger versuchen der menschlichen Sprache nahe zu kommen. Das gilt für C absolut nicht.

    Außerdem: Wenn du mal in die Pascal-Communities schaust, wirst du feststellen, dass die noch sehr aktiv sind. Die FreePascal/Lazarus-Community wächst derzeit sogar eher an (wohl aber auch auf Kosten von Delphi). Ein Aussterben ist nicht wirklich zu erkennen. Zumindest noch eine ganze Weile nicht.



  • Delphin schrieb:

    ...Skype oder Peazip sind da wenige bekannte Ausnahmen an populärer Software.

    ich dachte skype ist mit qt gemacht und dann wärs eher c++ 😕



  • _-- schrieb:

    ich dachte skype ist mit qt gemacht und dann wärs eher c++ 😕

    Windows Original: Pascal/Delphi
    Linux Port: C++/Qt
    Mac Port: Objective-C/Cocoa



  • Marc++us schrieb:

    Geschichte der Progsprach schrieb:

    Welche Vorteile hat hier Fortran?
    Gibt's da bessere mathematische Bibliotheken oder größere Fließkommadatentypen oder warum ist Fortran hier so toll?
    Wie sieht es mit der Threadingfähgikeit von Fortran in Multicore CPUs aus, ist Fortran dafür überhaupt geeignet?

    Lustigerweise, ich war 2009 auf einem Intel-Seminar zum Thema Multithreading/Multicore, hat Intel seine Parallel-Compiler (im Parallel Studio) zunächst für 3 Programmiersprachen herausgebracht:

    - C
    - C++
    - Fortran!

    http://software.intel.com/en-us/intel-sdp-home/

    Erst danach(!) geht es an die Unterstützung der Multithreading-/Multicore-Fähigkeiten von .NET und der Java-VM. Erst seit diesem Jahr hat Intel dazu mehr in der Pipeline.

    Das ist ja nicht überraschend. Den .NET/Java-Leuten geht es ja nicht um Highperformance und die SPEC-Benchmark (sehr wichtige Benchmark) hat einen großen Fortran-Anteil. Und Fortran ist im wissenschaftlichen Umfeld wirklich nicht tot. Ohne einen Fortran-Compiler hat man im HPC-Bereich keine Chance.



  • rüdiger schrieb:

    ... Und Fortran ist im wissenschaftlichen Umfeld wirklich nicht tot. Ohne einen Fortran-Compiler hat man im HPC-Bereich keine Chance.

    Der Sprachumfang von FORTRAN ist genauso mager wie der von C, eher weniger. Mögliche Unterschiede liegen allein in den verfügbaren Bibiotheken, die man für dies oder jenes fertig einsetzen möchte oder manchmal sogar muss. Wenn die Konventionen stimmen, kann man getrost gemischtsprachige Programme schreiben. Das war ich irgendwann mit FORTRAN, ASSEMBLER, C aber leid und habe für alles C/C++ gewählt. 🙂 Gut, die Leute die C als überholt ansehen gibt es auch.


Log in to reply