Hallo ich bin neu hier, und daher hoffe ich mal das ich hier richtig bin.
Bei meiner Frage geht es um die Zukunft von Python generell.
Ich bin zurzeit noch blutiger Anfänger, ein paar Sachen kann ich schon so programmieren, bspw:
Einfache Rechnungen (Addition etc.)
Eingaben mit Berechnungen
Eingaben mit Feststellungen (IF Anweisungen etc.)
Vielleicht ein kleines Fernsterchen
Da ich mich derweil reinsteigere, denke ich auch über die Zukunft nach, was es mich bringt, wenn ich dann mal als Vollprofi repräsentieren kann.
Zur Zeit ist ja PYthon im Status 3.8+. So wie ich es verstanden habe, war die Vorgängerversion 2.+ inkombatibel zu 3.+.
Jetzt ist die 4.0 Version für mitte des Jahres geplant. Wie sieht es mit der Kompatipilität aus? Gleich wie bei 2+ zu 3+?
Kann man davon ausgehen, dass man seinen Code nicht mehr umschreiben muss?
Was mich weiter interessiert, ist die Performance. Kann man eventuell eine Leistungssteigerung erwarten?
Bspw. habe ich gelesen, dass die Compiler von C++ teilweise sehr langsamen Code erzeugen. Für PYthon gibt es da auch einen Compiler für native Programme?
Was ich noch viel gelesen habe, ist das viele Webanwendungen in Python geschrieben wurden, wie darf ich das verstehen?
Angenommen ich beherrsche nach etlichen Jahren Python perfekt, programmiere ein Grafikprogramm ala Gimp mit Filter, Renderfunktionen etc.. Angenommen
ich würde eine zweite Sprache (Java oder Kotlin oder C++) beherrschen, und ebenso das gleiche Grafikprogramm ala Gimp wie bei Pyhton entwickeln.
Inwieweit wäre ich mit Python eingeschränkt? Inwieweit würde die Performance auseinandergehen, bei erstellen eines nativen Code?
So muss weiter Üben.
Zukunft Python
Mir waere nicht bekannt, dass es in absehbarer Zeit ein Python 4 gaebe. Woher hast du das? Entsprechend kann ich auch keine Aussage zur Kompatibilitaet taetigen.
Was Performance angeht: nichts dramatisches. PyPy ist da ggf. eine Alternative, und fuer viele Aufgaben ist die Nutzung von numpy und Co der notwendige Boost. Aber fuer Feld-Wald-und-Wiesen-Code wirst du keine grossen Steigerungen erwarten duerfen. Das C++ wiederum *langsam* waere, ist kompletter Unfug. Und nein, es gibt keinen Compiler fuer native Programme. Bestenfalls Cython, was auch gewisse Performance Steigerung bringen kann, aber eher von der nahtlosen Integration mit C/C++ lebt.
Und Webanwendungen brauchen Server, und Server kann man wenn man will mit Python Webframeworks wie Django, Bottle & Flask schreiben.
Warum glaubst du so sehr, dass Performance ein so wichtiges Thema fuer dich werden wird?
Was Performance angeht: nichts dramatisches. PyPy ist da ggf. eine Alternative, und fuer viele Aufgaben ist die Nutzung von numpy und Co der notwendige Boost. Aber fuer Feld-Wald-und-Wiesen-Code wirst du keine grossen Steigerungen erwarten duerfen. Das C++ wiederum *langsam* waere, ist kompletter Unfug. Und nein, es gibt keinen Compiler fuer native Programme. Bestenfalls Cython, was auch gewisse Performance Steigerung bringen kann, aber eher von der nahtlosen Integration mit C/C++ lebt.
Und Webanwendungen brauchen Server, und Server kann man wenn man will mit Python Webframeworks wie Django, Bottle & Flask schreiben.
Warum glaubst du so sehr, dass Performance ein so wichtiges Thema fuer dich werden wird?
Ich habe das Gefühl, da stecken einige Fehlinformationen bzw. -annahmen drin. Von Python 4.0 ist (abgesehen von einem satirischen Text, den man schnell findet) bisher kaum die Rede. Aus meiner Sicht ist dabei auch eher zu erwarten, dass das läuft wie mittlerweile beim Linux-Kernel und 4.0 einfach ein reguläres Release wird, das irgendwann kommt, ohne große Umbauten. Ich würde mich mit den meisten deiner Fragen nicht belasten
Viele davon werden sich mit fortschreitendem Lernprozess erübrigen. Weiterhin wäre ein gut gemeiner Ratschlag, mit dem GUI-Zeug zu warten, bis Python halbwegs sitzt. Viele Anfänger hier im Forum (und ich habe das Gefühl, es werden immer mehr) steigen ziemlich schnell damit ein; meiner Meinung nach ist das der falsche Weg.

- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Bzgl. Python 4: Es gibt ja einen ungefähren Zeitrahmen für neue Releases und da ist die Frage was nach der absehbaren 3.9-Version kommt. Es gab noch nie eine Python x.10, es wäre also zu vermuten, das die 4.0 ganz einfach die Nachfolgeversion von 3.9 werden könnte.
Ich denke einen harten Bruch mit der Rückwärtskompatibilität werden sich die Entwickler gut überlegen. Falls ja, gehe ich stark davon aus, dass die Planung und Umsetzung deutlich anders ist als das ”Desaster” von 2 nach 3.
Umschreiben wird man aber letztlich immer ”müssen”, denn auch wenn sich keine unkompatiblen Änderungen ergeben, wird es Neuerungen in Syntax und Standardbibliotheken geben, oder einfach nur in den „best practices“ wie man mit dem umgeht was es bereits gibt. Vielleicht wird in Zukunft beispielsweise deutlich mehr Gebrauch von Typannotationen oder ``async``/``await`` gemacht. Oder es gibt neue Bibliotheken und Rahmenwerke die ”in” sind.
Als Compiler gibt es neben Cython noch Nuitka und eventuell kann man auch Numba da noch drunter zählen.
Gimp ist in C, Guile (ein Scheme-Dialekt), Perl, und Python geschrieben. Wenn Du so etwas in Python schreiben willst, benutzt Du letztlich auch in C und/oder C++ geschriebene Bibliotheken, weil auf der einen Seite Implementierungen von Sprachen wie Python zu langsam in der Ausführung sind, auf der anderen Sache möchte man nicht alles in Sprachen wie C oder C++ schreiben, weil da die Entwicklung oft länger dauert.
Ich denke einen harten Bruch mit der Rückwärtskompatibilität werden sich die Entwickler gut überlegen. Falls ja, gehe ich stark davon aus, dass die Planung und Umsetzung deutlich anders ist als das ”Desaster” von 2 nach 3.
Umschreiben wird man aber letztlich immer ”müssen”, denn auch wenn sich keine unkompatiblen Änderungen ergeben, wird es Neuerungen in Syntax und Standardbibliotheken geben, oder einfach nur in den „best practices“ wie man mit dem umgeht was es bereits gibt. Vielleicht wird in Zukunft beispielsweise deutlich mehr Gebrauch von Typannotationen oder ``async``/``await`` gemacht. Oder es gibt neue Bibliotheken und Rahmenwerke die ”in” sind.
Als Compiler gibt es neben Cython noch Nuitka und eventuell kann man auch Numba da noch drunter zählen.
Gimp ist in C, Guile (ein Scheme-Dialekt), Perl, und Python geschrieben. Wenn Du so etwas in Python schreiben willst, benutzt Du letztlich auch in C und/oder C++ geschriebene Bibliotheken, weil auf der einen Seite Implementierungen von Sprachen wie Python zu langsam in der Ausführung sind, auf der anderen Sache möchte man nicht alles in Sprachen wie C oder C++ schreiben, weil da die Entwicklung oft länger dauert.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Mitte des Jahres erscheint kein Python 4, sondern voraussichtlich im Oktober Python 3.9. Ob die dann folgende Version 3.10 oder 4.x sein wird, ist mir nicht bekannt. Fest steht aber, dass ein Sprung wie von 2 auf 3 nicht noch einmal erfolgen wird. Statt dessen wird es für entfallende Funktionalitäten oder zukünftige Inkompatibilitäten vorab deprecation-warnings geben.
Die Performance von Python wird weiter zunehmen, aber an gute Compiler prinzipiell nicht herankommen können; aber auch dafür gibt es Lösungen, die hier schon genannt wurden.
Wenn es Dir um Geschwindigkeit geht, sind Kenntnisse über Algorithmen und deren Laufzeitverhalten wichtig. Eine Programmiersprache ist letztlich nur das Werkzeug zur Umsetzung. So wird z.B. eine schlechte Lösung durch die Wahl einer compilierenden Sprache nicht besser.
Die Performance von Python wird weiter zunehmen, aber an gute Compiler prinzipiell nicht herankommen können; aber auch dafür gibt es Lösungen, die hier schon genannt wurden.
Wenn es Dir um Geschwindigkeit geht, sind Kenntnisse über Algorithmen und deren Laufzeitverhalten wichtig. Eine Programmiersprache ist letztlich nur das Werkzeug zur Umsetzung. So wird z.B. eine schlechte Lösung durch die Wahl einer compilierenden Sprache nicht besser.
-
- User
- Beiträge: 3
- Registriert: Donnerstag 27. Februar 2020, 22:09
Mir ist schon klar, dass Python letztlich ein Werkzeug ist, so wie C++, Java etc es sind. Klar ist Leistung nicht alles. Klar ist mir auch, dass Python hinsichtlich Nähe zur Hardware nicht mithalten kann.
Jedoch weiss ich, dass ich irgendwo gelesen habe, dass es möglich ist, Python Code in nativen Code zu kombilieren. Anderenfalls lauft es über Emulation ala C# Dotnet.
Hinsichtlich verschiedener Sprachen.
Es ist so wie bei einer Schule, man will nicht für etwas entscheiden, wo man später drauf kommt, hätte ich was anderes gemacht. Es ist dann schade um die vergeutete Zeit.
Anbei die News von Python 4.0 --> https://charlesleifer.com/blog/new-feat ... ython-4-0/
Anbei zum Release. ist mir ein Fehler unterlaufen, 3.9 kommt in Juni 2020 --> https://www.python.org/dev/peps/pep-0596/
Python 4.0 ist vorrausichtlich mit einen Release im Jahr 2023 zu rechnen.
Was mich noch weiter interessiert, ist die Opengl , Directx 12 integration. Gibt es seitens Python was? Wollte einen kleinen Test in openGL durchführen, jedoch für meine Version (aktuellste Version) gibt es
kein OpenGL bzw. keine kompatible Version. Oder gibt es eigentlich für Direct x was?
So muss weiter NAchdenken.
Jedoch weiss ich, dass ich irgendwo gelesen habe, dass es möglich ist, Python Code in nativen Code zu kombilieren. Anderenfalls lauft es über Emulation ala C# Dotnet.
Hinsichtlich verschiedener Sprachen.
Es ist so wie bei einer Schule, man will nicht für etwas entscheiden, wo man später drauf kommt, hätte ich was anderes gemacht. Es ist dann schade um die vergeutete Zeit.
Anbei die News von Python 4.0 --> https://charlesleifer.com/blog/new-feat ... ython-4-0/
Anbei zum Release. ist mir ein Fehler unterlaufen, 3.9 kommt in Juni 2020 --> https://www.python.org/dev/peps/pep-0596/
Python 4.0 ist vorrausichtlich mit einen Release im Jahr 2023 zu rechnen.
Was mich noch weiter interessiert, ist die Opengl , Directx 12 integration. Gibt es seitens Python was? Wollte einen kleinen Test in openGL durchführen, jedoch für meine Version (aktuellste Version) gibt es
kein OpenGL bzw. keine kompatible Version. Oder gibt es eigentlich für Direct x was?
So muss weiter NAchdenken.
@Christian1978 : Mach dir über die Geschwindigkeit von Python Gedanken, wenn du tatsächlich ein Problem mit der Geschwindigkeit von Python hast. Python zu kompilieren ist unüblich. In der Regel kommt das von Leuten, die noch nicht mit Python gearbeitet haben. Ebenso wie der Wunsch ihren Code "zu verstecken". Da kommen die tollsten Ideen bei raus.
Es ist übrigens wirklich wie in der Schule: Man lernt möglichst viel, weil nur breites Wissen hilft Wissen zu beurteilen. Eine Programmiersprache zu lernen ist niemals Zeitverschwendung, weil sich das Wissen auch anderweitig in der Programmierung verwenden lässt. Man lernt ja nur die Eigenschaften der Sprache, das Konzept der Programmierung bleibt ja gleich.
Der Text über Python 4.0 ist übrigens der satirische Text, der oben bereits angesprochen wurde. Also nichts News oder Ankündigung.
Zu Python und openGL solltest du mal die Projekte sichten, die es da schon gibt. Die sind zahlreich.
Es ist übrigens wirklich wie in der Schule: Man lernt möglichst viel, weil nur breites Wissen hilft Wissen zu beurteilen. Eine Programmiersprache zu lernen ist niemals Zeitverschwendung, weil sich das Wissen auch anderweitig in der Programmierung verwenden lässt. Man lernt ja nur die Eigenschaften der Sprache, das Konzept der Programmierung bleibt ja gleich.
Der Text über Python 4.0 ist übrigens der satirische Text, der oben bereits angesprochen wurde. Also nichts News oder Ankündigung.
Zu Python und openGL solltest du mal die Projekte sichten, die es da schon gibt. Die sind zahlreich.
Wenn du was mit 3D-Grafik machen willst, gibt es zwar durchaus Dinge wie pygame und pyglet - aber da waere dann ggf. der Griff zu entweder Blender oder gar einer Game-Engine wie Unity zu empfehlen. Kommt drauf an, was du vor hast.