Weche Programmiersprache Physik?



  • Hallo,

    welche Programmiersprache könnt ihr mir empfehlen, wenn ich damit hauptsächlich Physik-Simulationen basteln möchte? Bisher habe ich nur Erfahrungen in RealBasic und VisualBasic, allerdings glaube ich nicht, dass sich damit leistungsstarke Simulationen bauen lassen, außerdem gibt es dafür keine Physik-Engines, jedenfalls für RealBasic nicht. Also was soll ich lernen? 🙂

    Danke,

    Grüße,

    Thilo



  • Java. Ist plattformunabhängig, sehr verbreitet und es gibt viele Bibliotheken dafür.



  • Danke, wird das auch im wissenschaftlichen Bereich verwendet? Also bis zum Physik-Studium ist es noch eine Weile, aber je früher ich anfange, desto besser kann ich es später 😉



  • Weiß nicht was Physiker wirklich gern verwenden, aber http://de.wikipedia.org/wiki/Matlab könnte was sein.



  • Thilo87 schrieb:

    Danke, wird das auch im wissenschaftlichen Bereich verwendet?

    Ja. Einfach mal googlen...



  • Steffo schrieb:

    Thilo87 schrieb:

    Danke, wird das auch im wissenschaftlichen Bereich verwendet?

    Ja. Einfach mal googlen...

    ...das ist ja mal ein toller beweis



  • Hallo,

    möchtest du nur mathematische Berechnungen anstellen oder auch Visualisierungen?
    Schau dir aber auf jeden Fall mal die Liste unter Physik-Engine an.
    Die Programmiersprache wählt man nach den besten Tools aus - daher kämen auch C++ oder C# in Betracht.



  • Wohl Matlab oder C++. Java willst du wirklich, wirklich nicht, wenn du auch nur einmal was mit Vektoren/Matrizen bauen musst. 😉 (Oder mit BigInt Klassen oder Ähnlichem.)



  • Danke euch allen, ich denke ich werde mich mal an C++ versuchen. Da gibt es auch schön viele Tutorials und Videos und vor allem Physik-Engines :p



  • cooky451 schrieb:

    Wohl Matlab oder C++. Java willst du wirklich, wirklich nicht, wenn du auch nur einmal was mit Vektoren/Matrizen bauen musst. 😉 (Oder mit BigInt Klassen oder Ähnlichem.)

    Wobei es erstaunlicherweise (zumindest für mich) sehr viele wissenschaftliche Programme in Java gibt. Da braucht man nur auf sourceforge suchen, ich glaube, allein da ist schon das meiste aus der Kategorie "Wissenschaft" in Java.



  • Jaja, und dann findet man Sweet Home 3D. 😃



  • Mechanics schrieb:

    Da braucht man nur auf sourceforge suchen, ich glaube, allein da ist schon das meiste aus der Kategorie "Wissenschaft" in Java.

    Ich glaube nicht, dass diese "Wissenschaft" gemeint war.



  • 17girlsinarow schrieb:

    Mechanics schrieb:

    Da braucht man nur auf sourceforge suchen, ich glaube, allein da ist schon das meiste aus der Kategorie "Wissenschaft" in Java.

    Ich glaube nicht, dass diese "Wissenschaft" gemeint war.

    Da gibt es haufenweise Frameworks und Simulationen, unterschätz das nicht.



  • Thilo87 schrieb:

    leistungsstarke Simulationen

    C++ mit CUDA



  • Thilo87 schrieb:

    Danke, wird das auch im wissenschaftlichen Bereich verwendet? Also bis zum Physik-Studium ist es noch eine Weile, aber je früher ich anfange, desto besser kann ich es später 😉

    In meiner Umgebung wird verwendet:
    - C und C++ (für fast alles)
    - MATLAB und Mathematica (für viele verschiedene Dinge)
    - Delphi (von Technikern und Elektronikern)
    - LabVIEW (von Technikern und Elektronikern)
    - FORTRAN (für Simulationen in der Astrophysik)
    - R (für Statistikzeugs)
    - IDL (für Simulationen in der Astrophysik)
    - Python (in der Bildverarbeitung)

    Java ist mir noch nicht so häufig begegnet.

    R finde ich übrigens stark unterbewertet.



  • hustbaer schrieb:

    Thilo87 schrieb:

    leistungsstarke Simulationen

    C++ mit CUDA

    Witzbold, und auf was für einem Cluster hab/brauch ich eine Grafikkarte? ...



  • Auf einem Cluster mit Tesla-Karten.


  • Mod

    gastfrage schrieb:

    Witzbold, und auf was für einem Cluster hab/brauch ich eine Grafikkarte? ...

    Das witzige ist, dass du dann eventuell gar keinen fetten Cluster brauchst, sondern bloß Grafikkarten für läppische 1000 Euro.

    audacia schrieb:

    In meiner Umgebung wird verwendet:
    - C und C++ (für fast alles)
    - MATLAB und Mathematica (für viele verschiedene Dinge)
    - Delphi (von Technikern und Elektronikern)
    - LabVIEW (von Technikern und Elektronikern)
    - FORTRAN (für Simulationen in der Astrophysik)
    - R (für Statistikzeugs)
    - IDL (für Simulationen in der Astrophysik)
    - Python (in der Bildverarbeitung)

    Java ist mir noch nicht so häufig begegnet.

    R finde ich übrigens stark unterbewertet.

    So sieht's ungefähr auch bei mir aus. Simulationen fast alle in C, C++ oder Fortran, gelegentlich unterstützt durch CUDA & Co. Wobei die Frage ob Fortran, C oder C++ vor allem eine Altersfrage zu sein scheint, Fortran benutzen eigentlich nur Leute über 40 und bei den jüngeren ist C++ beliebter als C. Bei C gegen C++ zählt aber auch stark, ob man Code "vererbt" bekommen hat, man muss halt nehmen, was man bekommt.

    Persönlich mache ich inzwischen sogar die Nicht-Simulationen in C++, bloß durch kleine Bashscripte unterstützt. Ich bin einfach so viel besser in C++ als in Python oder R, dass ich darin letztendlich schneller bin, auch wenn es eigentlich eine suboptimale Wahl für eine Aufgabe ist.


  • Mod

    http://www.maphy.uni-hannover.de/de/studieren/cip/

    Cuda ist eigentlich C basiert aber es gibt natürlich auch Dinge wie
    http://www.doc.ic.ac.uk/teaching/distinguished-projects/2009/w.jones.pdf

    Java scheint für Lowlevel Simulationen (Prozessoren und so Zeug) recht beliebt zu sein. Außerdem kann man sein Handy damit programmieren, was ziemlich praktisch sein kann, ganz abgesehen von Minicomputeralgebrasystemen im Handy.

    Und es gibt auch ein beliebtes C Buch, veraltet und vergriffen, aber didaktisch gut und Physikfreundlich:
    http://www.amazon.de/Programmieren-lernen-für-Teens-mit/dp/3827318025/

    und überhaupt, alles was Spaß macht, und die Neugier und Einfallsreichtum beflügelt.



  • gastfrage schrieb:

    Witzbold, und auf was für einem Cluster hab/brauch ich eine Grafikkarte?

    Das ist gar nicht so unüblich. Schau mal hier, da findet sich schon der eine oder andere GPU-Cluster in den Top-10.


Anmelden zum Antworten