Welche Programmiersprache besser geeignet für Höhere Mathematik C oder C++?



  • Andromeda schrieb:

    Java ist Spitze und eine der am meisten genutzten Sprachen. Wie auch C (siehe Tiobe Index)

    Der Tiobe Index basiert AFAIK auf der Anzahl von Suchergebnissen mit bestimmten Schlüsselbegriffen. Das könnte auch irreführend sein. Alleine schon deshalb, weil sicherlich nicht alle Surchergebnisse tatsächlich einen thematischen Bezug zu der jeweiligen Programmiersprache haben. Wenn ich eine Internetseite zu den Sprachbesonderheiten auf der Insel Java im Internet hätte, würde die da vielleicht auch gefunden werden. Und wenn ich irgendwelche Eigenschaften der Java Programmiersprache mit a, b, c, ... aufliste, dann kriegt C vielleicht auch einen Treffer. Gerade "C" ist kein wirklich exklusiver Name. Ich würde vermuten, dass es da jede Menge ungewollten Beifang bei den Suchergebnissen gibt.



  • Ernsthaft: Wenn es um reine Mathematik und Forschung geht, dann ist python die Wahl! Mit numpy und scipy hast du hochperformante Schnittstellen zu C- und Fortran-Libs.
    Ich kenne nichts einfacheres als python für mathematische Ausdrücke außer vll. Matlab (womit ich mich aber nie so recht anfreunden konnte). Meine Hochschule ist mittlerweile auch von Matlab auf python gewechselt.

    Auch was Plotten angeht, ist python extrem stark!

    Header-Dateien, Build & Run, Clean Project sind einfach kein Gewinn was die Produktivität angeht.



  • ShadowClone schrieb:

    Ernsthaft: Wenn es um reine Mathematik und Forschung geht, dann ist python die Wahl! Mit numpy und scipy hast du hochperformante Schnittstellen zu C- und Fortran-Libs.
    Ich kenne nichts einfacheres als python für mathematische Ausdrücke außer vll. Matlab (womit ich mich aber nie so recht anfreunden konnte). Meine Hochschule ist mittlerweile auch von Matlab auf python gewechselt.

    Ich erinnere mich, dass ich mal einen rechenintensiven Code mit Python gescriptet habe. Der lief dann für einige Stunden und ist dann abgebrochen, weil ich irgendwo im Pythoncode einen Syntaxfehler hatte. Zum Glück waren es nur einige Stunden. Das hätte auch viel mehr Zeit kosten können. Was ich sagen möchte ist, dass ich skeptisch bin, ob eine dynamisch typisierte Sprache für diesen Anwendungsfall wirklich so gut geeignet ist. Zum Plotten ist es natürlich sehr gut geeignet, das ist keine Frage. (...und zum Plotten ist eine Sprache wie Fortran überhaupt nicht geeignet.) 🙂


  • Mod

    Gregor schrieb:

    Ich erinnere mich, dass ich mal einen rechenintensiven Code mit Python gescriptet habe. Der lief dann für einige Stunden und ist dann abgebrochen, weil ich irgendwo im Pythoncode einen Syntaxfehler hatte.

    War das jetzt wegen dem Syntaxfehler oder dem Interpreter oder beidem?
    Pycuda o.ä. implizit mit drin oder nicht?

    Mir ist jetzt auch nicht klar, was bei Python netter ist, als anderswo. Die mathematischen Grundlagen bleiben doch über all die gleichen.
    (ach so, hat natürlich ein paar nette Syntaxgoodies von anderen Sprachen geklaut, meinst du das?)

    (habe mal kurz gegoogelt und das hier gefunden.:
    http://dev-perspective.blogspot.de/2012/10/on-list-comprehension-in-c.html)
    😉



  • Gregor schrieb:

    Andromeda schrieb:

    Java ist Spitze und eine der am meisten genutzten Sprachen. Wie auch C (siehe Tiobe Index)

    Der Tiobe Index basiert AFAIK auf der Anzahl von Suchergebnissen mit bestimmten Schlüsselbegriffen. Das könnte auch irreführend sein. Alleine schon deshalb, weil sicherlich nicht alle Surchergebnisse tatsächlich einen thematischen Bezug zu der jeweiligen Programmiersprache haben. Wenn ich eine Internetseite zu den Sprachbesonderheiten auf der Insel Java im Internet hätte, würde die da vielleicht auch gefunden werden. Und wenn ich irgendwelche Eigenschaften der Java Programmiersprache mit a, b, c, ... aufliste, dann kriegt C vielleicht auch einen Treffer. Gerade "C" ist kein wirklich exklusiver Name. Ich würde vermuten, dass es da jede Menge ungewollten Beifang bei den Suchergebnissen gibt.

    Okay, hier ist noch eine andere Liste: http://helmbold.de/artikel/programmiersprachen-beliebtheit/

    Auch hier steht C an erster Stelle. Die Wähler waren aber wohl eher so richtige Hardcore-Computerfreaks. Das sehen wir schon daran, dass sich recht esoterische Sprachen wie Lisp und Haskell auf den oberen Plätzen tummeln und dieses unsägliche Python sogar Platz 2 belegt.

    Wie auch immer: egal welchen Programmierertypus man fragt, - C scheint immer ganz weit oben zu sein. 🙂


  • Mod

    Das ist ja lächerlich. Ich meine die Liste. C und Python können zuerst mal ganz weg, schlicht außer Konkurrenz.
    Scheme? Was macht diese PR-Sprache denn da oben? Zeigt höchstens den Grad der Affektiertheit/Gestörtheit an.
    Haskell und Lisp haben da etwas mehr Kante.

    Fortran irgendwie auch:
    http://phrack.org/issues/67/11.html



  • nachtfeuer schrieb:

    Das ist ja lächerlich. Ich meine die Liste. C und Python können zuerst mal ganz weg, schlicht außer Konkurrenz.
    Scheme? Was macht diese PR-Sprache denn da oben? Zeigt höchstens den Grad der Affektiertheit/Gestörtheit an.

    Es ist halt eine andere Klientel, unter der diese Umfrage durchgeführt wurde. Mehr so die Idealisten. Coder just for fun, anstatt jene "Gebrauchsprogramm-Schreiber", die als Entwickler ihre Brötchen verdienen.

    Auffällig ist jedenfalls, dass das gewaltige Potential von C auch von diesen Leuten anerkannt wird. C ist irgendwie die Manifestation des Understatements im IT-Bereich: total primitiv aber unglaublich mächtig. 🙂



  • C vs C++ für mathematische Aufgaben

    Ich verstehe oft gar nicht warum man sich für C entscheiden kann, wenn man C++ hat.
    Ich verstehe, dass man die Design Entscheidung treffen kann, sich zu beschränken, was die Features von C++ angeht. Ich kann es besonders verstehen bei wirklich wirklich kritischer Software (Kernel und OS).
    Aber wenn man C++ wählt, hält man sich immernoch die Option offen auf gewisse Features zurückzugreifen: RAII, Auswertung zur Übersetzungszeit (constexpr und Metaprogramme), Expression Templates, Abstraktion ohne Overhead, ...
    Wodurch auch besonders bei mathematischen Anwendungen Abstraktion existiert, die einfach verdampft zu sauberem Maschinencode.

    "Versicherungsmathematik" klingt für mich aber eher nach "alles was Excel kann" ohne große Rücksicht auf Performance.
    Dann würde ich erst recht C++ wählen um in das Programm mehr Struktur zu bekommen, als C bieten kann ohne OOP, ... .

    Meine Meinung, warum ich für Desktop Programme vielleicht doch was anderes nehmen würde...

    Andererseits muss ich eines sagen: Interne Daten irgendwie hübsch grafisch darzustellen ist in C & C++ eher eklig. Qt ist überbewertet und die Lizenz ist blöd; andere kostenlose GUI Frameworks sind primitiv und der C++ Builder hat selbst bei der neusten Version nur den fast schon archaischen clang 3.3 (C++11 aber kein C++14) (Mehr kann ich nicht sagen, mein Arbeitgeber hat ein Upgrade gerade erst gekauft, sodass ich mit dem C++ Builder Seattle erst demnächst rumspielen kann).

    Fazit?

    Vielleicht ist etwas anderes als C oder C++ sogar eher besser, wenn es schnell Prototypen fabriziert, die dem "Kunden"/"Probanden" vorgelegt werden können um schon früh im Entwicklungsprozess Feedback zu erhalten über die Useability. Ich glaube das ist wichtiger als alles andere.

    EDIT Nach Recherche:

    Es scheint ja hier viel Statistik und Stochastik gefragt zu sein. Ich denke Bibliotheken findet man dazu in vielen Sprachen und nieschige Funktionen muss man sicher vermutlich eh selbst schmieden. Meine Aussage: "Für die mathematik ist die Sprache wurscht, wichtiger sind andere Sachen" steht IMHO noch immer.
    Um hochfrequente oder gigantisch viele Berechnungen scheint es ja eher nicht zu gehen.



  • fortran ftw schrieb:

    Man darf jetzt Variablennamen mit mehr als 6 Zeichen nutzen und Zeilen duerfen auch mehr als 72 Zeichen haben

    wow, mehr als 6 Zeichen, das ist aber echt ein tolles Feature. Ich steige sofort um auf Fortran.

    es waren eigentlich nicht ganz 6, weil man mit "implicit" das erste Zeichen für eine Typangabe reservieren konnte.



  • Das waren offensichtlich Compiler für skurrile dampfgetriebene Computer? 😕

    Ich habe zuletzt gearbeitet mit Microsoft Fortran 5.1 und anderen Compilern für
    Mainframes. Da gab es solche Einschränkungen einfach nicht! Leider wird MSF 5.1
    nicht mehr unterstützt und wurde auf 32/64-bit nicht erweitert. Schade eigentlich!



  • berniebutt schrieb:

    Das waren offensichtlich Compiler für skurrile dampfgetriebene Computer? 😕

    Ich habe Fortran auf einer univac 1100 (oder 2200?) gelernt. Wir waren glaub ich die letzten, nach unserem Kurs wurde der Rechner abgebaut.

    Verregnete Nachmittage vor grün flimmernden Terminals und zum Abholen der Ausdrucke mußte man den Drucker in einem anderen Gebäude besuchen ... da werden Erinnerungen wach.



  • versionsnummer schrieb:

    Verregnete Nachmittage vor grün flimmernden Terminals

    Wenn man danach rausging, sahen alle weißen Sachen leuchtend rosa aus. Zwar jeden verdammten Tag, aber der Farbeindruck war schon geil! Kann gerne sein, daß dieser Farbeindruck nie mehr wiederzubringen sein wird. Also die Flachmonis heute können's sicher nicht.



  • falls die Sehnsucht übermächtig wird:

    /usr/lib64/xscreensaver/phosphor -scale 2 -program sh
    

Anmelden zum Antworten