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.
Benutzeravatar
snafu
User
Beiträge: 5901
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sonntag 29. Juli 2012, 12:37

Doch, Python 3 *ist* die Zukunft. Es ist gut, dass die Distris zunehmend den Schritt gehen, Fakten zu schaffen, indem allmählich nur noch Python 3 als Standard-Interpreter ausgeliefert wird. Nur so entsteht der nötige Druck auf die Entwickler, nicht bis in alle Ewigkeit für 2.7 zu entwickeln.

Klar, es sind keine bahnbrechenden Neuerungen, die bisher eingeführt wurden. Aber die Summe der Teile wächst ja stetig an. Inzwischen ist der neue Zweig immerhin so gut wie bei Version 3.3 angelangt (Blick in What's New gefällig?). Das kann man doch nicht einfach ignorieren. Mit der Einstellung hätte man auch ganz einfach bei 2.6 bleiben können.

Übrigens denke ich, das selbstauferlegte Moratorium hat auch seinen Teil zu der Denke beigetragen, dass Python 3.x ja eh nichts neues bringen würde. War vielleicht nicht das beste Timing, aber hinterher ist man immer schlauer.
BlackJack

Sonntag 29. Juli 2012, 14:00

@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.
lunar

Sonntag 29. Juli 2012, 14:48

@bremer: Ich glaube nicht, dass Deine spezielle Situation für „Python als Ganzes“ steht, ebenso wie Hochschulen sicherlich nicht das Maß aller Dinge sind. Ist es schade, dass Du Python 3 nicht verwenden kannst, doch das ist eher Dein persönliches Problem, in anderen Bereich kann man Python 3 mittlerweile sehr gut verwenden. GvR und die Python-Entwickler sind auch in keiner Weise verpflichtet, Python 3 für Dich benutzbar zu machen.

Es ist irgendwo auch eine persönliche Entscheidung, ob man willens ist, sich auf Neues einzulassen, und darauf hinzuarbeiten, eine neue Version mit samt ihren neuen Features und Möglichkeiten – in Python 3.3 gibt es davon mittlerweile einige – verwenden zu können, selbst wenn man dafür einiges an Aufwand betreiben muss, oder ob man beim Altbekannten bleibt, und darüber klagt, dass man den Fortschritt nicht für lau bekommt…

@Hyperion: .NET-Bytecode ist nicht abwärtskompatibel, doch da mehrere Versionen parallel verwendet werden können, ist das kein Problem. Auf jedem über Windows-Update verwalteten System sind alle Versionen von 2 bis 4 installiert, und die Laufzeitumgebung sorgt dafür, dass ein Programm immer mit der Version ausgeführt wird, gegen die es kompiliert wurde (sofern das Programm in der Konfiguration nicht explizit Kompatibilität mit höheren Versionen angibt).

Zudem ist Bytecode in aller Regel aufwärtskompatibel, so dass man Bibliotheken, die gegen ältere .NET-Versionen kompiliert wurden, auch in einer neueren Laufzeitumgebung verwenden kann. Seit .NET 4 kann man ohnehin mehrere Versionen der Laufzeitumgebung im selben Prozess ausführen, so dass Kompatibilitätsprobleme eigentlich kaum noch auftreten.

Generics kann man allerdings – mit gewissen Abstrichen bei der Typsicherheit – auch ohne Änderungen des Bytecode-Formats implementieren, indem man sie in Casts kompiliert.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Sonntag 29. Juli 2012, 15:39

Hyperion hat geschrieben:
bremer hat geschrieben: Immer wenn ich externe Module nutzen will, sind sie nur für 2.x verfügbar.
Kannst Du uns da mal Beispiele geben? Evtl. hast Du eben "Pech", dass Du in Bereichen arbeitest, für die Python3 eben noch nicht geeignet ist.
PIL and matplotlib. Abgesehen davon nocht wxPython, PyGTK, py2exe und Django. Django wird die Unterstützung für 2.5 aufgeben in der nächten größeren Version.

Das ist das Problem. Viele, wenn nicht die meisten Bibliotheken stürzen von der Klippe.
Hyperion 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.
Öh... und wie kann man *externe* Entwickler zwingen, ihre Module gefälligst im Vorfeld auf eine neue Sprachversion zu portieren? Das kann ja nicht einmal Microsoft... und .NET ist ja nun auch schon >10 Jahre alt...
Da muss man kreativ sein.

Aber wenn man sich nicht darum bemüht, könnte man wenigstens die Werbung einstellen, wie z. B. "extensive standard libraries and third party modules for virtually every task".
Hyperion hat geschrieben:
bremer hat geschrieben: An Hochschulen wurde in meinem Umfeld immer nur mit Python 2.x gearbeitet.
Ah ja... *wurde* ist Dir selber schon aufgefallen? ;-) So eine Umstellung ist immer ein *Prozess*, kein Quantensprung ;-)
2012.
Hyperion hat geschrieben: Nö. Das ist eben der *Prozess*, eine Art "wechselseitiges Hochschaukeln". Je mehr Module für Python3 verfpgbar sind, desto mehr Entwickler werden umsteigen. Je mehr Distros Python3 per default nutzen, desto mehr sind die Entwickler von Modulen motiviert, ihre Software zu portieren. Da man problemlos beide Varianten parallel nutzen kann, sind doch viele Probleme gar nicht wirklich existent.
Die alte Leier.
Hyperion hat geschrieben: Zum einen kann imho nicht von Spaltung die Rede sein und zum anderen: Wie hättest Du das denn verhindert? Das würde mich doch mal brennend interessieren.
Einen guten Übersetzer schreiben. Python 2.x wesentlich früher aufgeben. Warum wurde es denn noch parallel weiterentwickelt, wenn der Sprung kommen sollte?
lunar hat geschrieben:@bremer: Ich glaube nicht, dass Deine spezielle Situation für „Python als Ganzes“ steht, ebenso wie Hochschulen sicherlich nicht das Maß aller Dinge sind. Ist es schade, dass Du Python 3 nicht verwenden kannst, doch das ist eher Dein persönliches Problem, in anderen Bereich kann man Python 3 mittlerweile sehr gut verwenden. GvR und die Python-Entwickler sind auch in keiner Weise verpflichtet, Python 3 für Dich benutzbar zu machen.

Es ist irgendwo auch eine persönliche Entscheidung, ob man willens ist, sich auf Neues einzulassen, und darauf hinzuarbeiten, eine neue Version mit samt ihren neuen Features und Möglichkeiten – in Python 3.3 gibt es davon mittlerweile einige – verwenden zu können, selbst wenn man dafür einiges an Aufwand betreiben muss, oder ob man beim Altbekannten bleibt, und darüber klagt, dass man den Fortschritt nicht für lau bekommt…

@Hyperion: .NET-Bytecode ist nicht abwärtskompatibel, doch da mehrere Versionen parallel verwendet werden können, ist das kein Problem. Auf jedem über Windows-Update verwalteten System sind alle Versionen von 2 bis 4 installiert, und die Laufzeitumgebung sorgt dafür, dass ein Programm immer mit der Version ausgeführt wird, gegen die es kompiliert wurde (sofern das Programm in der Konfiguration nicht explizit Kompatibilität mit höheren Versionen angibt).

Zudem ist Bytecode in aller Regel aufwärtskompatibel, so dass man Bibliotheken, die gegen ältere .NET-Versionen kompiliert wurden, auch in einer neueren Laufzeitumgebung verwenden kann. Seit .NET 4 kann man ohnehin mehrere Versionen der Laufzeitumgebung im selben Prozess ausführen, so dass Kompatibilitätsprobleme eigentlich kaum noch auftreten.

Generics kann man allerdings – mit gewissen Abstrichen bei der Typsicherheit – auch ohne Änderungen des Bytecode-Formats implementieren, indem man sie in Casts kompiliert.
Ich hab' kein Problem damit, mehrere Versionen zu nutzen (wobei das zumindest unter Windows manchmal Schwierigkeiten bereitet.) und ich finde 3.x oft schlüssiger.

Mehrere .NET-Versionen installieren zu müssen ist eine Notlösung und IMHO in der Tat ein Problem. Ich will garnicht wissen, welche Sicherheitsrisiken das birgt.
lunar

Sonntag 29. Juli 2012, 17:57

@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.

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.

Ich glaube, Du unterschätzt Aufwand und Komplexität einer solchen Portierung. Deine Forderung, Python 2 früher einzustellen, ist weltfremd. Soll den Bibliotheken noch weniger Zeit zur Portierung bleiben?! Dann gäbe es jetzt noch weniger Module für Python 3, wir wären aber alle dazu gezwungen, Python 3 zu verwenden, da Python 3 nicht mehr unterstützt werden würde… Du hättest dann noch mehr Grund zur Klage über fehlende Module.

Die Forderung, einen „guten Übersetzer“ zu schreiben, ist ein schlechter Witz. 2to3 existiert, doch Python-Quelltext zu transformieren, ist aufgrund der dynamischen Natur und der fehlenden Typinformationen alles andere als leicht, und in manchen Fällen sogar unmöglich.

Den Zusammenhang zwischen Sicherheitsrisiken und parallel installierten .NET-Versionen sehe ich nicht. Jede .NET-Version wird mit Sicherheitsaktualisierungen und Fehlerkorrekturen versorgt, .NET 2 ist mithin nicht unsicherer als .NET 4.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sonntag 29. Juli 2012, 19:48

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

Sonntag 29. Juli 2012, 19:54

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

Sonntag 29. Juli 2012, 19:55

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

Sonntag 29. Juli 2012, 20:05

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

Sonntag 29. Juli 2012, 20:21

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

Sonntag 29. Juli 2012, 20:27

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

Sonntag 29. Juli 2012, 20:57

@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: 5901
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sonntag 29. Juli 2012, 22:00

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

Sonntag 29. Juli 2012, 22:11

@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: 5901
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sonntag 29. Juli 2012, 22:16

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.
Antworten