C++ plus Python



  • Hi,

    man sieht in vielen Projekten die Kombination von C++ und Python. Heute wollte ich mich Mal erkundigen, was dabei der große Vorteil ist.

    Wird Python in der Regel für das Frontend eingesetzt, während C++ das Backend bildet? Oder nutzt man Python eher für Skripterweiterungen?

    Online gibt es einiges an Material, nur ist davon häufig auch viel Käse dabei. Hier jedoch hoffe ich wieder auf eure tiefgehenden Erfahrungen. *schleim* 🙂

    Wie nutzt ihr das in euren Projekten aus? Oder gar privat?



  • oje, da will wieder mal einer rumfrickeln!
    🙄



  • Ich find jetzt nicht, dass das Kombinieren verschiedener Programmiersprachen unbedingt zu Frickelei führen muss. Verschiedene Sprachen haben halt verschiedene Vor- und Nachteile.
    Es gibt ja viele Python-Module, die in Cpp implementiert sind, also da scheint das von der Schnittstelle her nicht sonderlich problematisch zu sein. Ist ja auch gut dokumentiert.
    Da ich demnächst sowas auch mal selbst machen wollte, freu ich mich auf weitere Antworten hier. 😉



  • Ich seh das eher so, dass Python am ehesten für Plugins benutzt wird. Als integrierte Scriptsprache.
    Wirklich die Projekte zu mischen, macht für mich wenig Sinn. Auch die GUI in Python zu schreiben finde ich nicht wirklich sinnvoll. Es gibt ja auch kein Standard GUI Framework für Python. Es gibt das hässliche Tkinter, was fast schon sowas wie ein Standard ist, aber sonst gibts lauter Frameworks, von denen man sich eins aussuchen kann. Und wenn man dann z.B. PyQt nimmt, kann man gleich auch in C++ Qt programmieren und hat keine zusätzlichen Interop Probleme.



  • Dafür hat man dann den normalen C++Aufwand, den man in Python nicht hätte.
    h+c++, compile time, statische typisierung, usw.
    Ja gut, ist Geschmackssachem, und vermutlich bekomme ich den kram gleich um die Ohren gehauen, weil andere in Python viel üblere Probleme sehen, aber ich bin nach jetzt nichmal 2 Jahren Python damit wesentlich schneller als mit C++ (nach vielen Jahren). Letztes benutz ich privat freiwillig nur noch wenns um Performance oder byte-genaue Kontrolle geht.


  • Administrator

    Als interne Skriptsprache sehe ich Python oft im Einsatz oder auch andere Skriptsprachen. Vorteile dabei sind nicht nur die leichtere Erweiterung des Programmes, sondern auch Kernbereiches eines Programmes können so einfach modifiziert werden.
    So kannst du z.B. teile oder sogar alles der Geschäftslogik als Skriptsprache implementieren. Wie werden z.B. gewisse Rabatte für Produkte berechnet, unter den gegebenen Bedinungen und Kunden. usw. Eine Skriptsprache erlaubt da meistens verdammt viele Möglichkeiten und deckt sehr viele Szenarios ab, welche mit simplen fest verdrahteten Lösungen nicht realisiert werden können. Dadurch muss auch keine neue Software zum Kunden ausgeliefert werden, wenn dieser nur eine etwas komplexere Änderung der Geschäftslogik beabsichtigt. Der Releasezyklus von solchen Änderungen kann damit verkürzt und sogar direkt vom Benutzer ausgeführt werden.

    Für das GUI selber habe ich es bisher auch schon im Einsatz gesehen, zwar nicht unbedingt Python. Aber wenn schon dann eher in einem fixen Umfeld. Heisst z.B. um die Felder einer Tabelle zu füllen und somit per Python die Anzahl Kolonnen und Name der Kolonnen dynamisch anzupassen. Auch für das Erstellen von benutzerdefinierten Ausdrucken (z.B. Rechnungen), habe ich es auch schon im Einsatz gesehen.

    Wenn einem Python Programm dagegen C++ hinzugefügt wird, dann war das bisher immer nur aus Geschwindigkeitsgründen oder um eine bestimmte Bibliothek zu verwenden. Aus anderen Gründen habe ich das noch nie gesehen.

    Grüssli


Anmelden zum Antworten