Suche IDE

MisterY

Urgestein
Thread Starter
Mitglied seit
17.03.2007
Beiträge
2.782
Hi,

ich würde gerne mit der Programmierung von C und Fortran einsteigen und suche einen guten IDE. Mit Python hatte ich gute Erfahrungen mit Spyder gemacht. Was könnt ihr mir (freeware) empfehlen?

Grüße
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Öh, bist du da nicht 30 Jahre zu spät dran? Naja, vielleicht als Physiker noch.

Für C ist Eclipse ganz ordentlich. Falls du unter Linux unterwegs bist evtl. KDevelop. Fortran keine Ahnung, das stellt ja auch hohe Ansprüche an die richtige Formatierung. Mit Glück gibt's da vielleicht auch etwas für Eclipse, sonst nimmst du besser Emacs oder Vim.
 
hast du denn ein paar andere Vorschläge, was für eine Sprache ich stattdessen nehmen sollte? Anforderungen: mathematische Modellierungen, RPI3-Hardwaresteuerung und einfach zu lernen.
 
hast du denn ein paar andere Vorschläge, was für eine Sprache ich stattdessen nehmen sollte? Anforderungen: mathematische Modellierungen, RPI3-Hardwaresteuerung und einfach zu lernen.
Wie hoch muss denn die Performance sein?
Eigentlich bist du da mit Python schon sehr gut dabei, außer wenn es wirklich Echtzeit Verarbeitung braucht, aber das ist nicht unbedingt das Einsatzgebiet vom Raspberry. Regelkreise mit Sensoren und Aktoren kann man schon ziemlich gut entwickeln.

Ansonsten, vieleicht noch Rust ansehen?
The Rust Programming Language
Hat den Umfang und Performance von C++, aber deutlich weniger pitfalls in die man tappen kann.

EDIT: Oder willst du später auf richtige Maschinensteuerungen (die eben kein Py o.ä. können) umsteigen? Dann ist C eine gute Basis, aber Fortran nutzt eigentlich kaum noch jemand.
 
Zuletzt bearbeitet:
Die Performance sollte schon gut sein.
Ich habe hier ein Modell, dass einmal in Python und einmal in Fortran geschrieben wurde.
Python: dt=1e-5 braucht ca 2 Tage zum rechnen
Fortran: dt=1e-7 braucht 10h zum rechnen (dt=1e-5 ist in 15 sekunden fertig)
Wenn die Parameter gut eingestellt sind, ist eine Auflösung von dt=1e-10 das Ziel. Da würde ich mit Python mehrere Wochen dran sitzen. Leider kann das Modell nicht parallelisiert werden, sodass nur ein Thread genutzt werden kann.

Deshalb ist Python wohl glaube ich nicht das richtige für diese Art der Modellierung.

"Richtige Maschinensteuerung" ist nicht das Ziel, lediglich für den Homebereich.
 
Hmm, verstehe (wobei mir solch ein gravierender Unterschied neu ist.. EDIT: Ich merke grad wo mein Fehler liegt. Hab Py mit Java gleichgesetzt in Sachen Geschwindigkeit, aber da ist ein massiver Unterschied. Java wäre demnach auch eine Option wenn du eine einfachere Sprache willst: Python 3Java (64-bit Ubuntu quad core) | Computer Language Benchmarks Game Manche Computing Sachen sind hundertfach schneller.).
Solche computing Aufgaben willst du aber auf einem Raspberry erledigen? o_O Was genau wird da im Homebereich berechnet?
Als du Fortran erwähnt hast, dachte ich bereits an Supercomputer oder zumindest HPC, denn nur in diesen Extremfällen wird die Sprache noch eingesetzt.

Auf jeden Fall scheint das kein Bastelprojekt zu werden, daher würde ich es professionell mit C++ und Visual Studio (Community version reicht) angehen.
Das zu lernen erscheint mir jedenfalls etwas sinnvoller als Fortran da deutlich vielseitiger...
EDIT: Was du allerdings beachten musst, ist dann einen ARM(-optimierten) compiler zu nehmen um es auf dem Raspi zum laufen zu bringen, oder es direkt auf dem Raspberry kompilieren, sofern das Programm nicht all zu groß wird. Sofern du keine Libraries nutzst, die Systemcalls aufrufen, sollte das keine Probleme machen (sicherheitshalber während der Entwicklung aber immer mal wieder auf dem Endgerät testen sobald du eine neue Komponente einfügst).
 
Zuletzt bearbeitet:
mathematische Modellierungen und RPI-Steuerung sind zwei unabhängige Bereiche bei mir. Die Modelle laufen auf normaler x86 Hardware.
 
Achso. Naja, es gibt halt gründe wieso man für unterschiedlicher Hardware, unterschiedliche Sprachen verwendet.Beides mit einem abzudecken ist schwer. Für den Raspi reicht ja Python für die allermeisten Aufgaben, daher kannst du dich auf eine hardwarenahe Programmiersprache für die Modellierungen fokusieren. C++ ist da die erste Wahl wenn du etwas mit breiter Basis willst. Wenn du sowieso alles selbst schreiben würdest, also keine Libraries brauchst, ist Rust ein interessanter Einstieg.
Fortran wäre vieleicht noch einen ticken performanter, aber noch schwerer zu lernen und hat sicherlich eine erheblich kleinere Community.
 
hast du denn ein paar andere Vorschläge, was für eine Sprache ich stattdessen nehmen sollte? Anforderungen: mathematische Modellierungen, RPI3-Hardwaresteuerung und einfach zu lernen.
Fortran ist keineswegs schlecht, wenn man aktuelles Fortran nutzt. Leider gibt es im Netz massenweise uralt Tutorials, die nur Fortran77 behandeln. Ich mußte mich leider mit dem Thema Fortran66 und Fortran77 intensiv auseinandersetzen :kotz:. Insbesondere COMMON Blöcke und die statischen Felder sind eine Krankheit und so einige Konstrukte sind echt hard core. Hingegen ist Fortran2003 eine moderne Sprache und wird auch vom gfortran unterstützt. Fortran2008 bringt einige kleinere Neuigkeiten, die aber noch nicht von allen Compilern vollständig unterstützt werden. Also man hängt irgendwo zwischen Fortran2003 und Fortran2008. Dazu solltest Du Dich mit OpenMP und ggf. MPI auseinandersetzen. Fürs Rechen von immenser Bedeutung BLAS und LAPACK. Modernes Fortran enthält zwar so Konstrukte wie Matrizenmultiplikation von Haus aus, aber die BLAS ist dafür sinnvoller.

Ich fand das Buch Fortran 95/2003 for Scientists and Engineers von Stephen J. Chapman sehr hilfreich. Die ISO Norm läßt sich als Draft von der Projektseite herunterladen, so dass man nicht die ISO Norm kaufen muss. Als IDE empfiehlt sich eindeutig Eclipse für C/C++ Entwickler, dass enthält mittlerweile ein Fortran Paket. Man muss nicht mehr das Photran Paket herunterladen.
 
Schau dir mal Julia an - moderne Sprache, spezialisiert auf mathematisch-technische Probleme, bindet Hochleistungsbibliotheken aus C und Fortran ein, etc.: The Julia Language

Für RPI3 Steuerung ist wohl C am naheliegendsten aber komfortabler wird's eventuell mit Python. Go oder Rust finde ich auch interessant, aber keine Ahnung wie es da mit der Hardwareunterstützung aussieht.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh