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
Verständnisfragen zur Python und C#
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.
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.
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.
`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.
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.
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?
Wenn der Code nur interpretiert wird, dann kann ich die phyton Datei doch einfach mit einen Editor aufmachen und mir den Code anschauen, oder?
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.
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.