C/C++ vs Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
abgdf

Es mag sein, daß man mit sehr guten Kenntnissen die eine oder andere Schwierigkeit, die ich oben, vielleicht etwas zugespitzt, aber stets rein sachbezogen und im Gegensatz zu manch anderen Beiträgen ohne jede persönliche Herabsetzung dargestellt habe, umgehen oder vermeiden kann.
Plattformunabhängigkeit und hohe Entwicklungsgeschwindigkeit sind auch außerordentliche Vorteile von Python (ebenso wie von Perl).
Ich glaube auch, daß die Benutzerakzeptanz steigen würde, wenn die Anwendung so schnell läuft und so gut aussieht, daß sie von einer C/C++-Anwendung kaum unterschieden werden könnte.
Dennoch glaube ich, daß C/C++-Anwendungen derzeit insgesamt besser vermarktet werden können. Wie jeder weiß, haben die C/C++-Anwendungen Windows und Word diejenigen, die die Nutzungsrechte daran innehaben, zu den derzeit reichsten Männern der Welt gemacht. In den Geschäften meiner Stadt werden meines Wissens ausschließlich C/C++-Anwendungen zum Kauf angeboten.
Sollte man mir eines Tages Python-Anwendungen nachweisen können, mit denen ein vergleichbarer wirtschaftlicher Erfolg erzielt wird wie mit den Microsoft C/C++-Programmen, werde ich meine Meinung möglicherweise ändern.
Bis dahin werde ich weiterhin jedem, der möglicherweise verkaufbare Einzelanwendungen erstellen möchte, empfehlen, sich auf C/C++ und leider auch auf die Entwicklung für Betriebssysteme, die nicht vom Open-Source-Prinzip geprägt sind, und bei denen die Anwender daher eher gewohnt sind, für Software zu bezahlen, zu konzentrieren.

Beste Grüße
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Erfolgreiche/bekannte Python Anwendungen/Firmen die erfolgreich mit Python arbeiten: google groups, eve-online, Industrial Light & Magic, ForecastWatch.com, united space alliance, wall street, hp für die wizzards bei ihren personal computern.
Sollte man mir eines Tages Python-Anwendungen nachweisen können, mit denen ein vergleichbarer wirtschaftlicher Erfolg erzielt wird wie mit den Microsoft C/C++-Programmen, werde ich meine Meinung möglicherweise ändern.
Python programme kann man nicht von C/C++ Programmen unterscheiden, was die GUI angeht. :roll:
Bis dahin werde ich weiterhin jedem, der möglicherweise verkaufbare Einzelanwendungen erstellen möchte, empfehlen, sich auf C/C++ und leider auch auf die Entwicklung für Betriebssysteme, die nicht vom Open-Source-Prinzip geprägt sind, und bei denen die Anwender daher eher gewohnt sind, für Software zu bezahlen, zu konzentrieren.
Du kannst für Linux auch closed software entwickeln, und für windows open source software. Das hat auch überhaupt nichts mit der Sprache zu tun. Und noch weniger mit dem GUI Toolkit. Meine Programme laufen alle auch wunderbar unter Windows und das tun in der Regel mehr python Programme.

Irgendwie hat diskuttieren mit dir keinen Sinn, weil du irgendwie nur Schwachsinn redest. Keines deiner Arugmente hat auch nur im entferntesten mit der Sprache etwas zu tun. :roll:
TUFKAB – the user formerly known as blackbird
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Irgendwie hat diskuttieren mit dir keinen Sinn, weil du irgendwie nur Schwachsinn redest. Keines deiner Arugmente hat auch nur im entferntesten mit der Sprache etwas zu tun.
Hart. Aber eigentlich ziemlich zutreffend, weil abgdf uns bisher jeglichen Beweis schuldig geblieben ist, dass darüber worüber er probiert mit uns zu diskutieren die Programmiersprache Python und ihre Bibliotheken ist die er aus eigener Erfahrung kennt, und er nicht probiert das wiederzugeben, was die Marketing-Maschine von Microsoft rumspinnt um OS- und verwandte Software zu diskreditieren. Letzteres würde ich von einem Troll vermuten. Und deswegen kann ich leider nicht umher, (mal wieder) einem Forenbenutzer der gerade mal vier inflammatorische Beiträge geschrieben hat (und bisher sonst gar nicht im Python-Forum aufgefallen ist) zu sagen, dass er entweder sachlicher werden soll, oder dass ich ihn sonst ab sofort ignorieren werde (okay, ob ihn das stört weiß ich nicht, aber trotzdem, ich kanns ja mal sagen).

Unabhängig davon: natürlich gibts unter Linux geschlossene Software, ich selbst verdiene mir mein Studium damit, dass ich LAMP-Programme entwickele (wobei das P für Python steht, wie könnte es anders sein), die bestimmt niemals das Open-Source-Licht erblicken werden. Wer wirklich einfach nur den Microsoft-schen FUD wiedergibt, der sollte sich selbst mal an die Nase fassen und überlegen ob er eigentlich überhaupt Ahnung von dem Thema hat über das er redet.

blackbird, sag, bist Du mittlerweilen von mir infiziert was das Leute runtermachen angeht? ;-)
Zuletzt geändert von modelnine am Montag 17. April 2006, 19:08, insgesamt 1-mal geändert.
--- Heiko.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

gerold hat geschrieben:Ich bitte weiterhin um produktive Beiträge, ohne andere zu beleidigen.
Wie schön, dass jeder auf mich hört. :|
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

blackbird hat geschrieben:Erfolgreiche/bekannte Python Anwendungen/Firmen die erfolgreich mit Python arbeiten: google groups, eve-online, Industrial Light & Magic, ForecastWatch.com, united space alliance, wall street, hp für die wizzards bei ihren personal computern.
Nicht zu vergessen Apple. Viele Tools von Mac OSX sollen in Python geschrieben sein.
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

gerold hat geschrieben:Wie schön, dass jeder auf mich hört.
Meiner Meinung nach kann gerade aus einer "Beleidigung" eine sinnvolle Diskussion entstehen. Dadurch, dass sich jemand angegriffen fühlt, und auf den Angriff reagiert (zum Beispiel indem er zurück angreift), kann man beiderseitig seine Position schärfer herausarbeiten, und vor allen Dingen herauskriegen, in welchem Aspekt man noch an seiner eigenen Position arbeiten muß.

Wenn man, wie ich es leider bisher von dem User auf den sich dieses bezieht gesehen habe, auf die Angriffe nicht reagiert (siehe meinen ersten "neueren" Post, auf den gar nicht reagiert wurde, sondern nur eine These aufgestellt wurde die meine Argumente nicht im mindesten bestärkt oder wiederlegt hat, wie BlackJack schon anmerkte), sondern stets neue inflammatorische Thesen aufstellt (anders kann ich diese nicht nennen, weil sie wirklich jeglicher Erklärung entbehren, die logisch nachvollziehbar ist), dann ist die Kommunikation einseitig sehr gestört (wie bei einem Troll), und bekommt leider den Beigeschmack, dass derjenige der eine Diskussion anzetteln will eher daran Interesse hat eine Gruppe von Leuten zu spalten oder zu diskreditieren, als seine eigene Position zu verdeutlichen.

Im allgemeinen finde ich gerade hier persönliche Angriffe auch nicht schlimm, da eine Position ja stets durch einen Menschen, der hinter einem Beitrag steht, getragen wird. Dieser Mensch muß sich nur seiner Sache sicher sein und sich wehren, dann kann man tatsächlich eine inhaltlich reiche Diskussion erarbeiten, und vor allen Dingen für beide Seiten eine Win/Win-Situation herbeiführen, was aber hier nie geschehen wird.

Es tut mir in der Seele weh, wenn ich solche Diskussionen mit ansehe, wenn im Endeffekt hat es nichts mit dem Herausarbeiten von Positionen zu tun, sondern eine Partei verhält sich wie Quitten-Gelee, den man ausgiebig traktiert, und der trotzdem nachher immer noch eine geelige Konsistenz hat, und genauso wenig Form wie zu beginn.
--- Heiko.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

abgdf hat geschrieben:Die Vorteile von C/C++ sehe ich darin, daß man nicht überall einen Interpreter oder Teile davon rumschleppen muß, sondern Standalone-Anwendungen produziert, die auch noch schön schnell sind.
Hi!

Es ist schade, dass keiner in dieser Diskussion auf meine Behauptung: "Ein Windows-Programm braucht ein Setup um von vielen Kunden akzeptiert zu werden." eingeht. So hat es zumindest meine Erfahrung gezeigt.

Den Kunden interessiert es nicht in welcher Sprache ein Programm programmiert wurde. Es muss sich schön installieren lassen, funktionieren und so aussehen, wie er es gewohnt ist. Zumindest hat mich noch keiner meiner Kunden je auf die Programmiersprache angesprochen.

@abgdf: Ein Bild (Beitrag) sagt mehr als tausend Worte (obwohl es nicht schlecht wäre, auch den Text durchzulesen): http://www.python-forum.de/topic-5726.html

Wenn dir Python nicht gefällt, dann programmiere halt nicht in Python. Keiner von uns wird dich oder jemand anderen dazu zwingen.

lg an alle
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:Es ist schade, dass keiner in dieser Diskussion auf meine Behauptung: "Ein Windows-Programm braucht ein Setup um von vielen Kunden akzeptiert zu werden." eingeht. So hat es zumindest meine Erfahrung gezeigt.
Was kann man dazu sagen, außer: Stimmt!
Wenn ich ein Programm für die Verteilung in Setups mache, dann baue ich mit py2exe eine EXE-Datei, schreibe einen NSIS-Installer dafür und fertig!
gerold hat geschrieben:Den Kunden interessiert es nicht in welcher Sprache ein Programm programmiert wurde. Es muss sich schön installieren lassen, funktionieren und so aussehen, wie er es gewohnt ist. Zumindest hat mich noch keiner meiner Kunden je auf die Programmiersprache angesprochen.
Das merkt man im Normalfall auch gar nicht. Ob ein Programm in Delphi, Visual Basic, C/C++ oder Python geschreiben ist, merkt man dem Programm nicht an. In welcher Sprache ist Maxima geschreiben? Lisp! Würde man das merken, wenn man nicht danach sucht? Nein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

gerold hat geschrieben:Es muss sich schön installieren lassen, funktionieren und so aussehen, wie er es gewohnt ist.
Meiner Meinung nach ist auf diesen Punkt bisher keiner genauer eingegangen, weil es erst einmal nichts direkt mit der Programmiersprache oder Ihrer Syntax/Standardbibliothek zu tun hat, sondern mit Erweiterungen, die gar nicht mehr zum Umfeld der Programmiersprache gehören. Dass diese Erweiterungen unter anderem sehr betriebssystemspezifisch sind (ich will unter Linux, wenn die Installation nicht mit setup.py von den distutils geht, höchstens automake/conf zum Installieren haben, was nun wirklich nichts mit Python zu tun hat!), machts noch schwieriger sinnvoll darüber zu diskutieren, wie man ein Paket an einen Endanwender verteilt. Und genauso unter Windows: InnoSetup kann mir Python-Dateien und den Interpreter genauso installieren wie auch ein C++-Programm oder ein von py2exe-generiertes Paket, und das hat nun wirklich gar nichts mehr mit Python zu tun, sondern ist eine Frage an den Programmierer und inwiefern er seinen Kundenwünschen entsprechen will und ein entsprechendes Setup-Tool kauft oder ein freies benutzt, bzw. selbst eins programmiert, was gewissen Kriterien im User-Interface entspricht.

Was sehr wohl etwas mit der Programmiersprache und Ihrer Laufzeitumgebung zu tun hat (die eben nicht nur Python, sondern genauso VB, MS VC++, etc. hat) ist zum Beispiel inwiefern ich die Standardbibliothek insoweit abspecken kann, dass nicht 200 MB DLLs installiert werden müssen um die Basisfunktionalität zur Verfügung zu stellen (siehe MS-Office), sondern auch 5 MB ausreichen (das tun sie bei Python im Normalfall, außer man braucht sowas wie wxWidgets/Python, dann reichen 10-12 MB).

Genauso interessant ist die Verbreitung von Bibliotheken/der Programmiersprache; wobei Python auf *nix-artigen Systemen eigentlich heute fast überall zu finden ist, auf Windows eher nicht, man also entsprechende Vorkehrungen treffen muß.

Genauso interessant ist die Diskussion über die Turnaround-Zeiten bei der Entwicklung in Python, im Gegensatz zu der Entwicklung in anderen Programmiersprachen: wie schnell habe ich einen Prototypen meines Produktes geschrieben, wie lange dauert es bis ich eine fertige Version hab, wie oft muß ich "drumrumarbeiten," wie viele Schulungen muß ich über mich ergehen lassen damit ich das Problem handhaben kann (das ist nicht nebensächlich, Firmen müssen häufig Mitarbeiter während eines laufenden Projekts zu Nachschulungen schicken weil die Mitarbeiter überfordert sind mit dem Problem und der Abstraktion)?

Genauso: die Benutzung von Programmiersprachen hat nichts, und wirklich garnichts mit Bequemlichkeit zu tun (zumindest bei einem Programmierer den man einen solchen nennen könnte), sondern mit Abstraktionsmöglichkeiten der Sprache im Bezug auf ein Problem. Zum Beispiel bietet auch eine Shell-Skript-Sprache massive Abstraktionsmöglichkeiten, nur sind diese auf einen spezielleren Fall ausgerichtet (nämlich die Bearbeitung von stdin/stdout und einfachste Verkettungsmöglichkeiten von atomaren Operationen), und genau aus diesem Grund sollte man überlegen, inwiefern man eine GUI-Applikation in Shell-Code schreiben will, da Python zum Beispiel ganz anders Probleme abstrahiert, und deswegen für andere Problemklassen sehr viel eher geeignet ist.

Solche Fragen, die allgemein die Programmiersprache in einen Kontext einbetten, der die gesamte Entwicklung des Programms/des Produkts beinhaltet, macht Sinn, und auch die Diskussion darüber, wie diese Abstraktion oder Beeinflussung des Programmierers bei verschiedenen Programmiersprachen geleistet wird, macht Sinn.

Fragen, die die Tools die man außer der Programmiersprache anschaffen will um das Ziel zu erreichen betreffen, machen Sinn, genauso wie eine Diskussion darüber welche Tools den Effekt den man erzielen will am besten erreichen.

Diskussionen darüber, was ein Endanwender toller findet (zum Beispiel setup.exe oder nicht) machen, da sie mit der Programmiersprache oder den Tools selbst garnichts zu tun haben, keinen Sinn in diesem Kontext, dafür gibts Foren die sich mit Usability oder ähnlichem auseinandersetzen, und entschuldigung wenn ich der Meinung bin, dass das Python-Forum kein Design- und Usability-Forum ist. Nicht nur vom Namen her.

Meine 5 Euro-Cent dazu.
--- Heiko.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

modelnine hat geschrieben:
gerold hat geschrieben:Es muss sich schön installieren lassen, funktionieren und so aussehen, wie er es gewohnt ist.
Meiner Meinung nach ist auf diesen Punkt bisher keiner genauer eingegangen, weil es erst einmal nichts direkt mit der Programmiersprache oder Ihrer Syntax/Standardbibliothek zu tun hat, sondern mit Erweiterungen, die gar nicht mehr zum Umfeld der Programmiersprache gehören.
Hi modelnine!

Du hast Recht, es hat nichts mit der Programmiersprache an sich zu tun, aber mit der Akzeptanz dieser und dem Gesamtbild das sie beim Betrachter hinterlässt.

Es ging in der Diskussion auch um die Akzeptanz von Python bei den (Windows-)Kunden. Sobald sich ein Python-Programm so ähnlich oder sogar gleich wie andere Windows-Programme anfühlt, spielt für den Kunden die Programmiersprache nicht nur eine untergeordnete, sondern **keine** Rolle mehr.

Um dieses Verhalten zu erreichen, braucht man derzeit noch ein Setup und eine GUI, die für den Kunden gewohnt aussieht.
Die Tatsache, dass dies auch mit Python, wxPython und einem Tool zum Erstellen von Setups erreichbar ist, ist eine Aussage, die ich, wenn ich könnte, sogar fett auf die Python-Homepage schreiben würde. Das beeinträchtigt das Gesamtbild von Python enorm. -- Und das im positiven Sinne. Es sagt unter anderem aus, dass man mit Python auch große Programme programmieren kann. Programme die anderen Windows-Programmen um nichts nachstehen. Man braucht kein C/C++ um solche Programme zu schreiben. Das geht auch mit Python und das in viel weniger Zeit.

Unter anderem fragen sich angehende Python-Programmierer doch immer wieder, ob man damit ein Windows-Programm mit Fenstern machen kann.

Wenn man denen sagen kann: "Ja, und diese sehen, wenn du willst, sogar gleich aus wie alle anderen Windows-Programme.", dann ist das doch ein rießiger Pluspunkt für Python, oder nicht?

"Du kannst mit Python so ziemlich alles programmieren. Das geht von Office-Anwendungen über Websites bis hin zu Spielen. Wenn dir irgendwann mal etwas zu langsam wird, dann kannst du es meist mit einem schnelleren Algorithmus optimieren, und falls das zu wenig ist, dann gibt es immer noch die Möglichkeit, den *kleinen* Teil der optimiert werden soll, in ein C- oder C++-Programm auszulagern." -- Das sind doch gute Aussichten, oder?

Die Zusatzmodule wie wxPython oder PIL gehören genauso zum Gesamtbild von Python wie Glade oder ein Editor der speziell für Python geschrieben wurde.

Also nochmal: Das Setup hat zwar nichts mit Python als Programmiersprache zu tun, beeinträchtig aber das Gesamtbild eines Python-Programmes. Deshalb dachte ich, dass es doch nicht schlecht ist, diesen Punkt auch zu erwähnen. Man kann also auch Python-Programme komfortabel unter Windows installieren. Die Möglichkeit, dafür ein Setup zu erstellen existiert und sollte nicht vernachlässigt werden. Der erste Eindruck zählt. -- Auch bei Programmen.

Ach so, was war noch mal der Titel dieses Threads? :wink: :twisted:

Es tut mir leid, wenn ich nicht auf alle Punkte deines Beitrages eingehen kann, aber das wäre mir jetzt zu viel.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
CapJo
User
Beiträge: 26
Registriert: Donnerstag 27. April 2006, 13:17

Ich bin derzeit bei einem großen Automobilzulieferer tätig und muss sagen, dass sich Python im Automobilbereich auf breiter Front durchsetzt.

Zwar wird sicher auch in nächster Zukunft kein Steuergerät unter Python laufen aber in der gesamten Toolkette hat Python seinen Platz.

Python wird vor allem in Testumgebungen verwendet und um viele Aufgaben zu automatisieren.

Python ist auch die bisher produktivste Programmiersprache mit der ich es zu tun hatte.

Bei JAVA verbringt man dagegen unmengen an Zeit um sich in die Frameworks einzuarbeiten und die JAVA-API zu studieren.

In C und C++ hat man es dagegen des öfteren mit Speicher-Zugriffsfehlern zu tun.

In C muss man sich um sehr viel "kleinkram" kümmern von dem ich bei Python verschont bleibe.

Audi, dSpace und ETAS sind nur ein paar Firmen die Python einsetzen oder Schnittstellen dafür bieten.
Antworten