Seite 1 von 1
Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 17:38
von tomPyhton
Hallo zusammen,
bisher habe ein paar einfache Tools unter Windows mit WinForm GUI in C# geschrieben. Durch einen Artikel bin ich auf Python aufmerksam geworden hab aber noch ein paar Frage hierzu bzw. Verständnisfragen
Derzeit nutze ich hauptsächlich Windows, werde aber demnächst auf Mac OS umsteigen. Für mein Hobby habe ich auch ein paar Tools geschrieben, welche ich gern weiterhin aktualisieren möchte.
- Welche GUI's lassen sich mit Python bauen? Gibt es vlt. ein paar prominente Beispiele? Calibre habe ich schon gefunden.
- Hab ich es richtig verstanden, das Python Programm mit GUI unter beiden Systemen (Win und Mac) lauffähig sind? Ist dies mit viel Aufwand verbunden?
- Wenn ich das richtig verstehe, dann ist Python ja auf jedem System ausführbar? Welche Nachteile hat Python dann gegenüber C#? Irgendwelche Nachteile muss es doch geben.
Bin wirklich stark am überlegen, komplett auf Python umzusteigen.
Besten Dank im Vorraus
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 18:02
von __deets__
Du kannst Python Tkinter (das mitgelieferte gui toolkit) auf allen Plattformen laufen lassen. Gerade auf dem mac ist das look & feel jedoch nicht so nativ. Daher habe ich da immer zu pyobjc gegriffen, und echte Cocoa Apps geschrieben.
Und Nachteile sind: Ausführungsgeschwindigkeit & keine statische Typisierung. Letzteres ist eher Geschmacksache. Ersteres ist weniger relevant für den meisten Code als man glaubt, und es gibt eine Vielzahl an Lösungen wie numpy, numba, tensorflow, opencv die für bestimmte Probleme dann eh nativen Code laufen lassen, aber von Python super genutzt werden können.
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 18:44
von tomPyhton
Phyton wird ja interpretiert, wenn ich das jetzt aber richtig verstanden habe kann ich das ganze mit numba komplett als Maschinencode laufen lassen? Damit dürften die Performance Probleme doch gegessen sein, oder?
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 18:54
von Sirius3
Man kann nicht von Vorteilen oder Nachteilen von Sprachen sprechen. Jede hat Stärken und Schwächen, je nachdem was man machen will, ist die eine besser geeignet, oder die andere.
`numba` ist für spezielle Probleme ausgelegt. Wenn Du solch eins hast, kannst Du es anwenden, ansonsten schadet es nur.
Bevor Du Dir zu viele Gedanken machst, fang einfach an, ein Projekt umzusetzen. Egal was Du machst, Du wirst es nicht perfekt machen. höchstwahrscheinlich alles nochmal löschen, aber trotzdem viel dabei lernen.
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 18:57
von sparrow
Und um die Performance solltest du dir wirklich erst Gedanken machen, wenn du ein Performanceproblem hast.
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 20:21
von nezzcarth
Aufgrund deiner Anfrage möchte ich mal zaghaft von Python abraten. Das wäre jedenfalls nicht die Sprache, die ich für RAD (nennt man das heute noch so?

) von cross-plattform GUI-Anwendungen verwenden würde. Geht mit Python auch, wäre aber nicht meine erste Wahl für den Fall.
Re: Verständnisfragen zur Python und C#
Verfasst: Donnerstag 23. Mai 2019, 20:27
von sparrow
@nezzcarth: Nur aus interesse, was würdest du denn für eine Cross-Plattform-Entwicjlung verwendet?
Gerade für wenig Manpower finde ich Python + QT sehr umgänglich.
Re: Verständnisfragen zur Python und C#
Verfasst: Freitag 24. Mai 2019, 20:07
von tomPyhton
Gibt es außer Claibre noch Software welche in Python geschrieben ist? Meine damit jetzt nicht irgendwelche Firmen Internen Tools.
Wenn der Code nur interpretiert wird, dann kann ich die phyton Datei doch einfach mit einen Editor aufmachen und mir den Code anschauen, oder?
Re: Verständnisfragen zur Python und C#
Verfasst: Freitag 24. Mai 2019, 20:17
von __deets__
Nö, es gibt Mittel und Wege das zumindest ein bisschen zu obfuskieren. Von nur die pyc files ausliefern bis mit cython alles zu C-API-Calls transformieren (nein, das bringt nicht substantiell einen Geschwindigkeitsvorteil)
Und ich kann nur genauso suchen wir du nach Projekten. Python wird bei Netflix, Dropbox, Google und vielen anderen benutzt. Irgendwann mal hat eine pyobjc basierte Anwendung einen Apple Design Preis gewonnen. Der springende Punkt ist: da man sowohl nativ als auch mit zb Qt grafische Oberflächen bauen kann, geht halt alles.