Ist Python 3 ausgereift?

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.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

bremer hat geschrieben:Von ausgereift kann also keine Rede sein. Ich finde man muss da schon die Sprache als ganzes mit all seinen Abhängigkeiten betrachten und nicht nur den Kern.
Das sehe ich offensichtlich anders. Alle Module sind optional und letztlich ist es eine Entscheidung der Modul-Entwickler, nicht die letzten 4 Jahre genutzt und auf Python 3.x umgestellt zu haben. Python wäre bereit gewesen. Irgendwer muss einfach anfangen und nicht immer nur auf den jeweils anderen verweisen, der auch nicht umstellen will. Letztlich haben irgendwann alle Schuld, dass Python zwar nicht verschwindet, aber immer weniger attraktiv für neue Projekte ist und somit mit "mindset der community" keine Rolle spielt (ähnlich wie Perl, das mal "die" Sprache für Webentwicklung war und inzwischen dort keine Rolle mehr spielt).

Ruby hat es in kürzerer Zeit geschafft, von 1.8 auf 1.9 zu wechseln -- insbesondere in der Wahrnehmung der Entwickler. Natürlich hat es hier geholfen, dass die neue Version offensichtliche Vorteile wie eine Verdopplung der durchschnittlichen Geschwindigkeit oder ein wenigstens einigermaßen funktionierender Support für Unicode. Dennoch ist IMHO der wichtigste Unterschied, das bei Ruby die Community gemeinsam fortschreiten wollte, während bei Python die Community mehrheitlich einfach bewahren will. Und das ist der größte Nachteil, den ich sehe und der mich bewogen hat, keine weitere Zeit und Energie in Python zu investieren.*

Und das VW intern immer noch auf Java 1.4 setzt, ist nun nicht die Schuld von Java, wo Sun bzw. Oracle schon lange den Support für diese antike Version abgekündigt haben, sondern ein Fehler von VW.


Stefan

* Es sollte nicht schwer zu erraten sein, auf welche Sprache ich setze
deets

Wo siehst du denn Belege fuer die "immer weniger Attraktiv fuer neue Projekte"?

Ich halte zB ruby fuer ein one-trick-pony, dass halt durch Rails als Web-Plattform zu Ruhm gelangt ist.

Python hat im Gegensatz dazu niemals ein solches bestimmtes Image gehabt, sondern sich den recht hohen Grad an Zuspruch langsam erarbeitet. Und darum denke ich bleibt der auch erhalten, weil es eben nicht auf die Hype-Crowd ankommt, die von Ruby ueber JS via Coffee-Script zu DART migriert - ohne irgendwo zu verweilen auf Dauer.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

lunar hat geschrieben:Am Beispiel von Django lässt sich zeigen, warum vier Jahre ein kurzer Zeitraum für einen Portierung eines so umfangreichen Projekts ist, selbst wenn Dir dieser Zeitraum sehr lang erscheinen mag. Django hängt von diversen Bibliotheken und Schnittstellen ab, u.a. Datenbankanbindungen und WSGI. Von WSGI wiederum hängt auch jedes andere Webrahmenwerk ab. Django ist mithin gezwungen, seine Portierung mit diversen Bibliotheken und anderen Rahmenwerke zu koordinieren. Angesichts der Vielfalt des Python-Okösystems ist das in vier Jahren kaum zu schaffen.
IMHO hätte Django die Macht gehabt, dass zu erzwingen. Es ist richtig, dass es Probleme mit WSGI gab, aber mit deren Lösung gibt es keinen Grund mehr, nicht in wenigen Tagen oder Wochen einen Port zu machen und ab dann nur noch diesen Strang weiter zu entwickeln. Die Mailing-List hat immer noch über 22000 Mitglieder und die Community ist wahrscheinlich deutlich größer. Das ist eine Macht. Leider eine sehr konservative.

Stefan
deets

Django mag die "Macht" haben, aber sie waeren schlecht beraten, sowas zu tun. Im Webhosting Bereich sind noch aeltere Python-Versionen oft vorhanden, und einen solchen Portierungsaufwand fuer eine Menge Installationen vorzuschreiben ist schlicht Selbstmord.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

deets hat geschrieben:Wo siehst du denn Belege fuer die "immer weniger Attraktiv fuer neue Projekte"?
z.B. in den Aussagen, welche Technologien Startups nutzen. Eine Zeitlang schossen die Django-basierten Webprojekte nur so aus dem Boden, inzwischen ist meine Wahrnehmung eine andere. Es ist entweder immer noch Rails oder (weil das auch schon 5 Jahre auf dem Buckel hat) etwas JavaScript-basiertes.

Dabei ist die Technologie eigentlich zweitrangig, sondern die Community, die Leute, die von der Technologie aber auch von den anderen Leuten angezogen werden, das für mich entscheidende. In der Ruby-Community haben sich viele der Smalltalk-Vordenker, die ich auch (meist nur namentlich) kannte, wieder gefunden. Ruby-Konferenzen sind aufgrund der Aufgeschlossenheit der Community und dem Wunsch, Neues auszuprobieren, auch für Nicht-Ruby-Entwickler interessant. Ich will mich nicht auf dem erreichten Stand ausruhen sondern immer weiter nach Perfektion streben. Das ist etwas, das ich in dieser Community eher wahrnehme als z.B in der Python-Community, die gerne mit dem Erreichten zufrieden ist und das Pragmatismus nennt.
deets hat geschrieben:Ich halte zB ruby fuer ein one-trick-pony, dass halt durch Rails als Web-Plattform zu Ruhm gelangt ist.
Das ist mir in so fern egal, wie es auch Jim Weirich egal ist, wenn er spannende Vorträge über Methodiken zur Software-Entwicklung hält.

Und außerdem ist Web-Entwicklung etwas, mit dem ich mich viele Jahre beschäftigt habe und etwas, was eher mehr denn weniger wird, selbst wenn ich eigentlich ganz zufrieden mit nativen Apps auf mobilen Geräten bin und nicht denke, dass man diese zur Zeit durch Web-Anwendungen ersetzen sollte. Dennoch wird es passieren.
deets hat geschrieben:Python hat im Gegensatz dazu niemals ein solches bestimmtes Image gehabt, sondern sich den recht hohen Grad an Zuspruch langsam erarbeitet. Und darum denke ich bleibt der auch erhalten, weil es eben nicht auf die Hype-Crowd ankommt, die von Ruby ueber JS via Coffee-Script zu DART migriert - ohne irgendwo zu verweilen auf Dauer.
Eben dieses Nicht-Verweilen finde ich wichtig. Zudem ist es spannend zu beobachten, ob Dart nun von der Community akzeptiert wird oder nicht. Zur Zeit tippe ich auf "nicht", denn Google hat es noch nie geschafft, eine gute Strategie zu präsentieren, wie man etwas in den Markt drückt sondern immer dann aufgehört, wenn sie "etwas cooles" hatten.

Ich denke, Python ist stark im Linux-Umfeld, etwas das mich so wenig interessiert wie dich der Fokus auf die Web-Entwicklung, wie ich einmal unterstelle. Das prägt natürlich jeweils unsere Sichtweise und das ist ja auch gut so. Ich spreche ja niemandem ab, Python gut (oder sogar für die beste Sprache) zu halten. Ich finde halt, Python hätte noch viel stärker sein können und schade, dass es das nicht ist.

Es ist toll, dass man mit Python Unix-GUI-Apps bauen kann oder numerische Berechnungen durchführen kann oder oder oder. Doch Python hat keine überzeugende Story für den Browser und das ist IMHO eben die Zukunft. Der Rest wird kommen, früher oder später, und Python wird zum Drahtseilbagger, der gegen Dydraulikbagger verlieren wird. Kurzfristig ist es bereits jetzt möglich, mit dem "üblichen" Toolset GUI-Apps als Chrome-Extensions zu bauen, mittelfristig wird es auch einfacher sein, Spiele im Browser zu bauen, als mit PyGame. Irgendwann wird dann jemand eine Bibliothek für JavaScript ähnlich zu numpy u.ä. bauen - einfach weil es genug Leute gibt, die daran ein Interesse haben. Solange Google und Mozilla (und vielleicht auch Opera, selbst wenn das relativ egal ist) ein großes Interesse daran haben, Webapps zu pushen und Microsoft sie unterstützt, weil dann nur Apple noch native Apps verfolgt, ist der Browser das OS der Zukunft. Zudem glaube ich auch, dass Chrome OS eigentlich das beste Endnutzer-Betriebssystem ist - jedenfalls besser als Android - und sehe auch keinen Widerspruch darin, dass ich mit großer Freude Apps für iOS und Android baue.. :) (Wo übrigens Python ebenso wie im Browser keine Rolle spielt.)

Stefan
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

deets hat geschrieben:Django mag die "Macht" haben, aber sie waeren schlecht beraten, sowas zu tun. Im Webhosting Bereich sind noch aeltere Python-Versionen oft vorhanden, und einen solchen Portierungsaufwand fuer eine Menge Installationen vorzuschreiben ist schlicht Selbstmord.
Alles IMHO zu klein gedacht. Wer ist denn von wem abhängig? Der der sich abhängig macht. Warum sprießen die Anbieter, die nodejs-Apps kosten können aus dem Boden? Weil sie die Kundschaft bedienen wollen. Der Konkurrenzkampf ist hart und Kunden wechseln schnell. PaaS-Anbieter sind schnell ausgetauscht, wenn sie es nicht schaffen, eine Kundenbindung durch guten Service zu erreichen.

Stefan
lunar

@sma: Ich glaube nicht, dass Django den Umstieg hätte erzwingen können… wahrscheinlich wäre Django geforkt worden, der Python-3-Port in der Versenkung verschwunden, weil die Community für den radikalen Umstieg halt doch zu konservativ ist.

@deets: Ruby mag ein one-trick-pony sein, doch seine Community ist unglaublich innovativ. Im Github-Umfeld entstehen aus dieser Ruby-Community viele interessante Projekte und Dienstleistungen, die erst nachträglich langsam in der Python-Community ankommen. Travis-CI ist ein gutes Beispiel. Zuerst kam dort Ruby, dann kam Node und irgendwann dann später kam Python (sogar erst nach PHP). Im Umfeld von Bitbucket gibt es überhaupt keine innovativen Produkte aus der Community heraus, nur Attlassian zwingt seine Produkte auf den Markt, die sehr solide, aber eben nicht soo innovativ sind. Der Unterschied zwischen dem konservativen, funktionsreichen Sourcetree, und dem innovativen, manchmal arg funktionsarmen Github for Mac ist schon bezeichnend.

Python ist zweifelsohne nicht weniger als eine grundsolide Arbeitssprache, weitaus solider als die zusammengefrickelte Sprachen wie Ruby oder Javascript, aber leider auch nicht mehr, und insbesondere halt wenig innovativ. Man kann in Python gut grundsolide GUI-Programme entwickelt, i.e. irgendein statistisches oder numerisches Tool mit PyQt und numpy. Projekte eben, die mich vielleicht ob ihres wissenschaftlichen Hintergrunds begeistern, für mich als Programmierer jedoch kaum attraktiv sind. In dieser Hinsicht würde ich mich viel eher C# und WPF zuwenden, denn dort gibt es so manche interessante Entwicklungen.

Anders als die Python-Community ruht Microsoft sich nicht aus auf seinem Erfolg, sondern hat den Willen, seine Plattformen und Sprachen weiterzuentwickeln, und die Community geht mit. Microsoft forscht, und präsentiert neue Paradigmen, Konzepte und Technologien, die Community greift viele dieser Ideen auf, und entwickelt sie in interessanten Bibliotheken und Projekten weiter. Bei weitem nicht jedes dieser Projekte ist erfolgreich in dem Sinne, dass es in zehn Jahren noch existieren wird, aber man setzt sich dafür mit neuen Ideen auseinander und entwickelt sich weiter. Im Umfeld von C# und WPF beispielsweise gibt es sehr coole und innovative Lösungen für asynchrone GUI-Programme, die ich bei Python gar nicht sehe, nicht bei Qt, nicht bei Gtk und erst recht nicht bei wx.

Ich bin mir – anders als sma – nicht so sicher, dass der Browser die Zukunft ist, und Webanwendungen irgendwann dominieren, und sehe trotzdem nicht optimistisch in die Zukunft von Python, denn die Sprache wird auch bei nativen GUI-Anwendungen mehr und mehr abgehängt. Man wird in Python sicherlich immer Werkzeuge, Tools, Skripte und normale GUI-Frontends schreiben können, und ich werde das in Zukunft sicherlich noch tun, aber mehr wird irgendwann nicht mehr gehen, und Python steht dann an der Stelle, wo Perl jetzt ist.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Es stimmt vermutlich schon: Python gehört nicht mehr zu den Trendsettern unserer Zeit (falls es das überhaupt mal war). Es sieht momentan auch nicht so aus, als ob dies in absehbarer Zukunft nochmal passieren wird. Bahnbrechende Innovationen scheinen sich doch sehr in Grenzen zu halten. So ehrlich muss man durchaus sein.

Python als Sprache ist aber nach wie vor für viele Anwendungsgebiete sehr zu empfehlen. So kann ich mir gut vorstellen, dass es noch für viele Jahre als Einsteigersprache oder für kleine System-Skripte oder im naturwissenschaftlichen Bereich die erste Wahl (oder zumindest vorne mit dabei) sein wird.

Will sagen: Python ist ausgereift und es lohnt sich IMHO nach wie vor (auch aus beruflicher Sicht), die Sprache zu lernen. Wenn man hingegen immer mit den neuesten Progammiertechniken gehen will oder wenn man allgemein sehr viel Wert auf eine möglichst vitale Sprache bzw Community legt, dann ist man bei Python sicherlich nicht so gut aufgehoben. Das sehe ich allerdings nicht unbedingt als Manko, sondern mehr als Eigenschaft der Sprache (alles hat bekanntlich auch seine Nachteile).
deets

@lunar

Das du Microsoft als eine Brutstaette der Innovation hervorhebst finde ich interessant. Gerade die Tage kam ja dieser Artikel raus

http://www.businessinsider.com/ballmer- ... -me-2012-7

Natuerlich ist der debattierbar. Und das passiert auch gerade recht heftig. Aber er hat in vielem Recht, und zwar auch genau im Kontext dieser Diskussion: wenn Python ein Problem hat, weil es nicht genug Aufmerksamkeit einer energetischen Community auf sich zieht, dann hat MS dieses Problem erst recht. Wer mag denn fuer diese Plattform entwickeln? Ich *muss* es tun, und jeder Schritt darin ist unfassbar schmerzvoll. Die Menge an Workarounds, die wir zu machen haben fuer irgendwelchen absurden Ideosynkratien von Windows - das ist schon absurd.

C# an sich ist eine nette Sprache, aber nachdem ich neulich das Programm eines Kollegen in C# zu Python ueberfuehren musste (ein reines Textprocessing-Tool) bin ich bestaerkt in meiner Ansicht, dass statische Kompilation oft genug den Preis nicht wert ist. Das war alles schon ganz ok wie er das geloest hat, aber letztlich doch so weit an Java, dass ich froh war, das Ganze in Python neu umsetzen zu koennen.

Ich weiss leider nicht, von welchen innovativen asynchronen GUI-Ansaetzen du sprichst. Vielleicht kannst du das mal ausfuehren bzw die benennen? Und infwiefern ist das relevant fuer die Brot-und-Butter-Entwicklung unter Windows, sind diese Ansaetze in VS integriert?

Womit wir nochmal kurz zu Windows 8 schlenkern. So beeindruckt ich von der technischen Qualitaet der ganzen Kachelei bin (sehr smooth) - als *Desktop*-Paradigma ist es voellig daneben, und konsequenterweise bezweifele ich dort einen Erfolg. Auf Tablet-Systemen gerne - dann aber mit einer neuen Suite an Office-Programmen, denn der bestehende Kram ist ja nun alles andere als simpel + touch-freundlich, und wird sich dazu auch nicht so ohne weiteres treten lassen. Womit auch wieder der USP von MS ins wanken geraet. Kein Schwein kauft ein Betriebssystem. Wir kaufen ein Oekosystem, und da ist fuer mobile Geraete der Markt fuer MS *verdammt* eng.

Und das macht Apple dann doch einfach besser: die konsequente Ausrichtung der Software auf das Endgeraet. Und Steve Jobs hat klar TouchScreens bei Notebooks eine Absage erteilt. Wofuer ich ihm dankbar bin - Mausarm ist schlimm genug. Nicht auszudenken, was die Leute fuer Probleme bekommen, wenn sie auch noch die ganze Zeit auf ihren 3 24"-Bildschirmen rumtatzen muessen...

Ich finde alles in allem nicht, dass die Python-Community sich auf irgendetwas ausruht. Bestenfalls vermarktet man Dinge nicht so, wie es vielleicht moeglich waere.

Aber wenn das hoch-gehypte JS-Framework to jour jQuery mit Version 1.5 Deferred als neues Pferd im Stall anfuehrt, dann erinnere ich mich nur selig an twisted vor > 10 Jahren. Womit auch gleich Node.js verarztet waere, das noch nicht mal im Ursprungszustand *irgendwas* mitgeliefert hat, und dort auch der simple HTTP-Server noch zu entwickeln war. Das mag sich geaendert haben - aber innovativ im Sinne von "whao, die machen da was, das kannte ich noch nicht" - Fehlanzeige.

Natuerlich ist im Staate Python nicht alles gruen. Ich kann verstehen, wenn man den fehlenden Tooling-Support ankreidet. Qt ist gut, aber eben cross-plattform, und das brauchen die wenigsten. Und im Gegensatz zu dir halte ich das Web auch fuer den groessten Innovationsmotor, und da spielt Python client-seitig natuerlich wirklich keine Rolle. Sondern eine zwar durchaus nette, aber im Grunde immer noch viel zu limitierte Sprache Javascript, die aber gerade durchaus bewusst Erweiterungen diskutiert, die aus Python kommen.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:@snafu: Ich kann mit Druck auf 3.x umzusteigen überhaupt nichts anfangen weil ich aufgrund fehlender Abhängigkeiten nicht umsteigen *kann*. Der Druck wäre bei mir an der völlig falschen Stelle ausgeübt und würde hier nur Leidensdruck erzeugen.
Eine angenehme Lösung ist das keineswegs. Da hast du Recht. Es muss IMHO aber einfach was passieren, um Python 3 zu pushen bzw diesen ätzenden Zustand der zwei parallel zueinander existierenden Zweige endlich loszuwerden. Damit macht die Sprache mMn besonders auf (potenzielle) Neueinstiger wirklich keinen tollen Eindruck. Ich bin mir sogar sicher, dass der eine oder andere Interessierte davon sogar vergrault wird.
lunar

@deets: Um Windows 8 oder andere Microsoft-Produkte geht es mir nicht, insofern ist mir auch der verlinkte Artikel egal. Ich finde die Sprachen und Plattformen von MS attraktiv, eben weil sie kontinuierlich weiterentwickelt werden. Deine Einschätzung, dass es MS an einer energetischen Community fehlt, entspricht nicht meiner Erfahrung. Für mich ist die .NET-Community sehr präsent.

C# hat sich in den letzten Jahren stark verändert, weil Microsoft die Sprache entwickelt hat, weg von einem Java-Klon, hinzu einer eigenen Sprache mit sehr vielen funktionalen Aspekten. Das Programm Deines Kollegen stammt vielleicht aus der Zeit von C# 2.0. Es wäre damit so alt wie Python 2.5 und mithin alles andere als modern.

Modern sind C# 4.0 und Bibliotheken wie Reactive Extensions und darauf aufbauend ReactiveUI. So sollte asynchrone GUI-Programmierung aussehen: Keine explizite Parallelität, dafür implizites Marshalling zwischen verschiedenen Threads, und alles mit einer funktionalen Syntax. Ob diese Ansätze in der „Brot-und-Butter“-Entwicklung relevant sind, weiß ich nicht, ich glaube es nicht. Aber Brot-und-Butter-Programmierung ist doch nicht das Maß der Dinge…

In Python sind die Lösungen für Parallelität bei "QThread" stehen geblieben, Brot und Butter eben… C# 5 bringt Syntax für task-basierte, parallele Programmierung. Ob die Syntax „gut schmeckt“, sprich sinnvoll ist, kann ich nicht beurteilen, aber es ist wenigstens ein Versuch, parallele Programmierung zu vereinfachen. Wo siehst Du solche Versuche, solche Entwicklungen in der Python-Community?

Dein Verweis auf Twisted bestätigt doch nur smas These, dass sich die Community auf Erreichtem ausruht. Twisted ist asynchron, ja, und funktioniert wirklich hervorragend. Modern, oder auch nur bequem, ist es nicht. Die API ist vorsintflutlich, ich möchte 2012 keine Klassen mehr ableiten und Handler überschreiben müssen, um asynchron auf Ereignisse reagieren zu dürfen.
deets

@lunar

Ich finde schon, das Brot-und-Butter relevant ist. Wenn sich in akademischen Ecken Dinge tun ist das schoen und gut, aber wenn diese Impulse nicht in die Koepfe der Entwickler diffundieren ist damit wenig getan. Und wenn ich mich nicht irre, hast auch du selbst an anderer Stelle (ich mag das jetzt nicht ewig raussuchen) gerade die Integration zB bezueglich Installer/Executable Generierung und GUI-Builder als Pluspunkt angefuehrt. Wenn die nun fuer alles, was innovativ ist (und mein Ausflug in VS Express GUI Building hat mir da nix gezeigt, dass ich zB mit dem Qt Designer nicht auch so hinbekomme) nicht gegeben ist, dann finde ich das als Argument fuer die Plattform weniger gewichtig.

Aber selbst wenn wir mal in der rein akademischen Ecke bleiben: Twisted ist *alt*, tornado, gevent & co sind es nicht. Alles Frameworks, mit denen du asynchron und moderneren Paradigmen arbeitest. Von Ausruhen kann da doch nicht die Rede sein.

Parallelitaet bei QThread? Wo ist multiprocessing, dass zum einen das GIL-Problem umschifft, und zum anderen message-passing beinhaltet? Das ist halt so mal nebenbei mit eingeflossen, funktioniert AFAIK aber gut und tut genau das, was es soll, mit dem richtigen Ansatz des message passing. Wo ist deiner Ansicht nach der Unterschied/Vorteil der C#-5 Ansaetze?

Last but not least: PyPy experimentiert im Moment mit transaktionalem Memory, um Parallelitaet + GIL in den Griff zu bekommen. ISt das *kein* fortschrittlicher Ansatz?

Meine These ist halt, dass vieles, das in anderen Bereichen hochgehangen wird in Python eher nebenbei Einzug erhaelt bzw. halt "einfach geht".

Die beiden grossen Themen Optimierung & Paralelisierung werden von PyPy in zumehmender Geschwindigkeit angegangen. RPython hat sich als solide Plattform bewaehrt, auf der sogar sprachfremde VMs mit JIT erstellt werden - und das ganz ohne den riesen Hype der zB damals um Parrot gemacht wurde, dass dann sang+klanglos verschwand.

Und irgendwie war das schon immer mein Eindruck: Python entwickelt sich ohne grossen Druck von aussen stetig weiter, und fuer vieles nach dem die Leute mit einem mal schreiben gibt's schon was.

Was halt schade ist (aber vielleicht auch gut, wer weiss) ist, dass zB Apple den Ansatz, Python mit pyobjc als Cocoa-Enwicklungsumgebung wieder eingestellt hat. Ich vermute dahinter das Streamlining mit iOS, womit der Fokus aus Performance-Gruenden doch wieder staerker auf Objective-C gelegt wurde. Und Microsoft ist ja anerkanntermassen niemals willig, etwas bestehendes zu nehmen & drumrum ein Oekosystem zu bauen, sondern baut alles neu. Von da wird also auch nix kommen.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich finde, eine Diskussion wie diese zeichnet das Forum aus. Eine harmlose Frage nach Python 3, der OT taucht nicht mehr auf, aber es entbrennt eine Diskussion über Innovation.

Danke dafür :)
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@jbs: Das ist jetzt aber nicht ironisch gemeint, oder? Weil, die Antworten mögen zwar an der Ausgangsfrage vorbeigehen, aber aufschlussreich sind sie ja dennoch.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Python braucht nichts spektakuläres Neues machen, das Konzept ist gut. Eine Suchfunktion oder ein Datenverarbeitungsprogramm kann nicht das, was ich mir wünsche: schon schreibe ich eine Lösung in Python. Selbst wenn ich was im Webbereich machen würde, würde ich mir schon erst einmal Python und seine Frameworks anschauen. Es geht nur einfach nicht so glatt, wie man sich das vorstellt. Die Umstellung ist dabei ein Faktor, aber im Allgemeinen stört mich oft das Verhalten der Gemeinschaft (missachtet PEP8, Inkompatibilitäten, Abhängigkeit von Hobby-Entwicklern, die alle Jubeljahre mal weiter machen).
lunar hat geschrieben:@bremer: PyGtk ist wie Gtk 2 selbst veraltet, und durch PyGObject ersetzt, welches Python 3 unterstützt. py2exe lässt sich durch cx_freeze ersetzen, welches ebenfalls Python 3 unterstützt. Um wxPython ist es nicht schade, denn wx ist veraltet. Darüber hinaus unterstützen PyQt, PyQwt, numpy, scipy und diverse andere Bibliotheken Python 3. Die Situation ist also weiß Gott nicht so dramatisch, wie Du sie darstellst.
Da sind ein paar hilfreiche Ratschläge bei.

Ich könnte noch viele weitere erwähnen, auch welche, mit denen ich arbeiten wollte. Die Hemmung in der Entwicklung ist da, die Spaltung ist da, das lässt sich halt nicht wegdiskutieren. Wenn sie vorüber ist, sind vielleicht 7 Jahre vergangen. 7 Jahre, in denen Python nicht das Maximum an Mächtigkeit und Praktikabilität erreicht hat, die sie theorethisch besitzt.
sma hat geschrieben:
bremer hat geschrieben:Von ausgereift kann also keine Rede sein. Ich finde man muss da schon die Sprache als ganzes mit all seinen Abhängigkeiten betrachten und nicht nur den Kern.
Das sehe ich offensichtlich anders. Alle Module sind optional und letztlich ist es eine Entscheidung der Modul-Entwickler, nicht die letzten 4 Jahre genutzt und auf Python 3.x umgestellt zu haben. Python wäre bereit gewesen. Irgendwer muss einfach anfangen und nicht immer nur auf den jeweils anderen verweisen, der auch nicht umstellen will. Letztlich haben irgendwann alle Schuld, dass Python zwar nicht verschwindet, aber immer weniger attraktiv für neue Projekte ist und somit mit "mindset der community" keine Rolle spielt (ähnlich wie Perl, das mal "die" Sprache für Webentwicklung war und inzwischen dort keine Rolle mehr spielt).
Mit so einer politischen Haltung kann ich nichts anfangen, da bleiben wir also verschiedener Meinung.
deets

Ein paar weitere Thesen:

1) Und wenn Python Version 3 erst gar nicht eingefuehrt haette, dann wuerde es durch den akkumulierten Ballast in der Bedeutungslosigkeit verschwinden.

2) Wenn es den Umstieg auf 3 erzwungen haette fuer alle Module durch Abkuendigung von Version 2 waeren alle, die von diskontinuierten Modulen abhaengig waren, auf andere Plattformen migriert, und Python wuerde in der Bedeutungslosigkeit verschwinden.

3) Wenn es den Umstieg auf 3 erzwungen haette fuer alle Module durch Abkuendigung von Version 2 haette sich ein Fork von Python 2 gebildet, und die Community waere fragmentiert. Python wuerde in der Bedeutunglosigkeit verschwinden.

Alles genauso Wahrscheinlich oder unwahrscheinlich wie deine Annahmen ueber die relative Bedeutung (oder Losigkeit). Niemand hat ein Rezept fuer die richtige Balance zwischen Innovation und Konstanz. Wenn der gute problembaer noch hier waere, er wuerde sich ueber Python2.3 freuen als Mass aller Dinge.

Ich finde darum Diskussionen dieser Art ziemlich fruchtlos. Keiner hat eine Zeitmaschine, mit der man Gewissheit in diesen Fragen erzielen wuerde.

Ob Python im Vergleich zu anderen Plattformen/Sprachen/Oekosystemen relevant ist oder nicht hingegen kann man betrachten. Offensichtlich fuerchten da einige die Versenkung. Ich nicht. Wir werden sehen :)
BlackJack

@deets: Ich weiss es ist Spekulation aber These 1) ist IMHO unwahrscheinlich, weil Python 3 letztendlich nicht sooo viel geändert hat. Was einige als Grund sehen warum so zögerlich gewechselt wird — es bringt nicht so wirklich viele Vorteile oder Anreize auf 3 zu wechseln wenn man mit 2 ganz zufrieden ist.

Und angeblich hat Guido doch eine Zeitmaschine. Also muss das Vorgehen das beste sein was möglich war. ;-)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

snafu hat geschrieben:@jbs: Das ist jetzt aber nicht ironisch gemeint, oder? Weil, die Antworten mögen zwar an der Ausgangsfrage vorbeigehen, aber aufschlussreich sind sie ja dennoch.
Nein, das ist mein voller ernst.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

jbs hat geschrieben:Ich finde, eine Diskussion wie diese zeichnet das Forum aus. Eine harmlose Frage nach Python 3, der OT taucht nicht mehr auf, aber es entbrennt eine Diskussion über Innovation.

Danke dafür :)
Ich fand die Diskussion auch super (keine Ironie). Ich sehe übrigens kein Problem darin das Python keine Sprache für Android, iOS, oder Windows GUIs für den Massenmarkt ist. Natürlich gibt es Ausnahmen, aber die sogenannten "Apps" werden doch zum Großteil mit dem Toolchain der Platform gecodet, genauso wie Windows Anwendungen mit irgendeiner NET Sprache oder C. Das Windows eines normalen Anwenders kommt ohne Java aus, weil er einfach kein (GUI-)Programm hat was das unbedingt benötigt.

Das tolle an Python sind die Bindings. Gerade im Moment fallen mir dazu ROS.org (Roboter Operating System) und openCV. Beides C/C++ Projekte die von sich aus Python Bindings pflegen. Der Fluch daran ist das einem dann genau diese vielen 3rd Party Libs auch den upgrade auf Python 3.X so schwer machen. Den wer will 2 verschiedenen Versionen nutzen, wenn er auch alles noch in 2.7 machen kann?

Ich habe die Hoffnung das der Umstieg auf 3.X durch die Linux Distros bei der Mehrheit der Menschen ankommt, unter anderem auch bei mir. Die neu organisierte stdlib, unicode überall und das neue Divisionsverhalten sind doch schon drei Gründe. Und zum anderen ist Python 3 keine neue Sprache und Python 2.3 nutzt auch keiner mehr der es nicht aus irgendeinem seltsamen Grund muss.
friedduck
User
Beiträge: 76
Registriert: Montag 23. Juli 2012, 20:41

jbs hat geschrieben:Ich finde, eine Diskussion wie diese zeichnet das Forum aus. Eine harmlose Frage nach Python 3, der OT taucht nicht mehr auf, aber es entbrennt eine Diskussion über Innovation.

Danke dafür :)
hehe, da habe ich ja was losgetreten ;)

Im ernst, ich war willig mit Python 3 anzufangen, aber der Weg dorthin ist verdammt steinig...
Antworten