Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Guido van Rossum: Python…

Alles wegen := ?

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Alles wegen := ?

    Autor: ryazor 13.07.18 - 10:30

    Was ist denn da los?

    So wie ich den := Operator verstanden habe, weist := einer Variablen einen Wert zu und liefert den Wert zurück. Keine Raketenwissenschaft. Meiner Meinung nach sogar durchaus eine sinnvolle Ergänzung.

    Sicher, man kann darüber diskutieren, ob es die Lesbarkeit erhöht. Meines Erachtens schon, da es zwei Dinge impliziert und man somit hier und da Code einsparen kann.

    Wenn ich mir andere Konzepte wie List Comprehensions oder Lambda Expressions anschaue (die ich persönlich liebe und so oft wie möglich nutze) kann man ebenfalls argumentieren, dass sie "die Lesbarkeit vermindern".

    Meine Güte, in zwei, drei Jahren kräht kein Hahn mehr danach und := wird ein gern genutzter Operator sein. Dass die Community da so ein Heckmeck macht ist gleichermaßen typisch wie unnötig und dass van Rossum sich jetzt deswegen zurückzieht ist dünnhäutig und bedauerlich.

    Gruß, R.

  2. Re: Alles wegen := ?

    Autor: Schattenwerk 13.07.18 - 10:37

    Es geht nicht um den Operator selbst sondern um die Tatsache, dass du deine Aufgabe mit Herzblut und Aufopferung machst, für Dinge kämpfst und am Ende merkst, dass keiner die Arbeit haben oder schätzen will.

    So etwas demoralisert enorm und nimmt jede Bereitschaft sich für eine Sache einzusetzen.

    Manche Leute kommen besser damit zurecht, z.B. der gute Linus, andere eher weniger. Es hat zum Beispiel Gründe warum der Ton von Linus teilweise so bissig ist. Wenn du nämlich permanent von allen anderen immer irgendwo Widerstand erfährst, dann fährt man mit der Zeit automatisch die Ellenbogen aus.

    Das ist aber nicht jedermanns Sache. Ich kann die Sache vollends verstehen.

  3. Re: Alles wegen := ?

    Autor: stiGGG 13.07.18 - 10:43

    Schattenwerk schrieb:
    --------------------------------------------------------------------------------
    > Es geht nicht um den Operator selbst sondern um die Tatsache, dass du deine
    > Aufgabe mit Herzblut und Aufopferung machst, für Dinge kämpfst und am Ende
    > merkst, dass keiner die Arbeit haben oder schätzen will.
    >
    > So etwas demoralisert enorm und nimmt jede Bereitschaft sich für eine Sache
    > einzusetzen.
    >
    > Manche Leute kommen besser damit zurecht, z.B. der gute Linus, andere eher
    > weniger. Es hat zum Beispiel Gründe warum der Ton von Linus teilweise so
    > bissig ist. Wenn du nämlich permanent von allen anderen immer irgendwo
    > Widerstand erfährst, dann fährt man mit der Zeit automatisch die Ellenbogen
    > aus.
    >
    > Das ist aber nicht jedermanns Sache. Ich kann die Sache vollends verstehen.

    Also ich weiß nicht, aber diese Analyse rückt Guido IMO in ein falsches Licht.

  4. Re: Alles wegen := ?

    Autor: staeff 13.07.18 - 10:53

    Ich habe mit Python nur ein wenig zu tun, deshalb kann folgender Eindruck auch falsch sein:

    Die Community scheint sich gegen eine Weiterentwicklung der Sprache häufig zu stemmen. Siehe Transition von Python 2 zu Python 3.

    Das macht es einem Sprachentwickler nicht leicht.

    Anderseits ist der Vorteil von python, dass es eine leicht verständliche Scriptsprache ist.
    Für größere Projekte ist Python m.E. weniger gut geeignet. Daher könnten Verkomplizierungen der Syntax kontraproduktiv wirken.

  5. Re: Alles wegen := ?

    Autor: Schattenwerk 13.07.18 - 11:03

    Und wieso?

  6. Re: Alles wegen := ?

    Autor: Bruto 13.07.18 - 11:06

    Zum Thema, es gab einige sinnvolle Vorschläge um das Problem zu verschärfen (dass es jetzt zwei verwechselbare Zuweisungsoperatoren gibt). Man hätte z.B. das Keyword "as" verwenden können, so wie es in anderen Sprachen auch oft für temporäre Bindings genommen wird.

    Das Feature ist gut, aber der Syntax verwirrt die Leute (genau nicht das, was man mit Python wollte).

    Das ging aber irgendwie nicht, sondern es musste genau so sein, und daraus entstand dann der verbitterte Streit.

  7. Re: Alles wegen := ?

    Autor: Oh je 13.07.18 - 11:46

    Ich habe es so verstanden das er einen Alias-Namen für einen Ausdruck erzeugt.

  8. Re: Alles wegen := ?

    Autor: gadthrawn 13.07.18 - 12:29

    Schattenwerk schrieb:
    --------------------------------------------------------------------------------
    > Und wieso?
    Unter anderem weil Tovalds von Anfang an sozial inkompetentes Verhalten hatte und nicht entwickelte?

  9. Re: Alles wegen := ?

    Autor: dabbes 13.07.18 - 12:52

    Dann ist es ja nur logisch, dass durch seine Tätigkeit das soziale Verhalten nicht besser werden konnte.

  10. Re: Alles wegen := ?

    Autor: LH 13.07.18 - 14:39

    staeff schrieb:
    --------------------------------------------------------------------------------
    > Die Community scheint sich gegen eine Weiterentwicklung der Sprache häufig
    > zu stemmen. Siehe Transition von Python 2 zu Python 3.

    Python 3 war am Anfang einfach für viele nicht sonderlich nützlich. Fast keine externe Lib war damit nutzbar, es hat Jahre gebraucht bis z.B. Django damit stabil verwendet werden konnte. Kaum ein großes Projekt war in den ersten Jahren voll mit Python 3 kompatibel, und wenn dann am Anfang recht buggy.

    Zudem waren viele Probleme, die Python 3 lösen sollte, im Alltag vieler Entwickler gar nicht relevant. So habe ich schon dutzende Projekte mit Unicode und Python 2 umgesetzt, ohne je die Schmerzen zu empfinden, die Python 3 lösen sollte.

    Aber mit der Zeit wurde das alles bei Python 3 besser, entsprechend stieg die Nutzungsquote. Inzwischen hat es einige nette neuer Funktionen, die Libs sind verfügbar und stabil -> Also wird es auch verwendet.

  11. Re: Alles wegen := ?

    Autor: FreierLukas 13.07.18 - 14:56

    Ich wusste bis heute nicht dass print(a=10) nen error schmeißt. Ich weiß grad nicht mehr wie das in C++ ist aber print(a++) oder print(++a) waren immer sehr nützlich. Natürlich ist das nicht grade leserlich und es obligt dem Entwickler es sinnvoll anzuwenden und nicht zu übertreiben.

    Wenn ich jetzt so drüber nachdenke macht es irgendwie keinen Sinn dass print(a=10) nicht funktioniert. Diese Art des Funktionsaufrufs in Python ist völlig normal da man Konstruktoren nicht überladen muss.

    Statt also eine Million Konstrutoren zu definieren benutzt man einfach funktion(name='dings', wert='bums')

    Andererseits braucht es dafür keinen neuen Operator. Es liegt ja wohl eher an der print funktion dass das nen Error gibt. Wobei... print(a=10) würde bedeuten der Scope der Variablen a ist innerhalb von print(). Ohje, ich glaube ich verstehe die Kontroverse langsam. Würde print(a=10) funktionieren dann wäre die Konsistenz nicht mehr gegeben, also braucht es, wenn man sowas einführt, einen neuen Operator. print(a:=10) würde den Wert 10 übergeben und a wäre nicht im Scope von print sondern darüber.

    Was bedeutet das jetzt aber für andere Funktionen? Ist funktion(name:='dings, wert:='bums') doppelt gemoppelt? Oder übergebe ich nur Werte und weise keiner internen Variable einen Wert zu? Verwirrend... der Code ist nichtm ehr Eindeutig wie ich finde bzw. er wäre nicht eindeutig wenn es doppelt gemoppelt wäre. Ist es nicht doppelt gemobbelt ist es nutzlos für "überladene" Konstruktoren und Funktionen mit Standardwerten.

    Code Beispiel: ( _ = Leerstrich )

    def wuzen(a=2, b=0):
    __return pseudo(a-te wurzel aus b)

    print(wuzen(b=4))

    ---
    2



    11 mal bearbeitet, zuletzt am 13.07.18 15:14 durch FreierLukas.

  12. Re: Alles wegen := ?

    Autor: FreierLukas 13.07.18 - 15:22

    Ich glaube ich verstehe es jetzt endlich (hoffentlich)

    b = 0
    print(wuzn(b=4))
    print(b)
    ---
    2
    0

    und

    b = 0
    print(wuzn(b:=4))
    print(b)
    ---
    2
    4

    *haben will* Sowas ist auf jeden Fall nicht nur was für Faule. Es hilft sogar Fehler zu vermeiden da die Variable b so automatisch aktuell bleibt ohne dass ich extra dran denken muss sie neu zuzuweisen.

    b = 4
    print(wuzn(b=b))
    print(b)
    ---
    2
    4

    ist aktuell der Fall und total bekloppt wie ich finde. Da ist die Neuerung aber sowas von besser.. WENN die Neuerung das ist das ich hier beschreibe.



    6 mal bearbeitet, zuletzt am 13.07.18 15:36 durch FreierLukas.

  13. Re: Alles wegen := ?

    Autor: Quantium40 13.07.18 - 16:03

    staeff schrieb:
    > Die Community scheint sich gegen eine Weiterentwicklung der Sprache häufig
    > zu stemmen.

    Das trifft in der Regel nur zu, wenn die Weiterentwicklung dafür sorgt, dass Programme von vorher danach entweder gar nicht mehr oder fehlerhaft arbeiten.

    Ich habe zudem das Gefühl, dass über kurz oder lang jede Programmiersprache per Weiterentwicklung zu einem C++/Java-Verschnitt mutiert, weil jedes Feature unbedingt überall integriert werden muss.

  14. Re: Alles wegen := ?

    Autor: Hotohori 13.07.18 - 18:02

    Bruto schrieb:
    --------------------------------------------------------------------------------
    > Zum Thema, es gab einige sinnvolle Vorschläge um das Problem zu verschärfen
    > (dass es jetzt zwei verwechselbare Zuweisungsoperatoren gibt). Man hätte
    > z.B. das Keyword "as" verwenden können, so wie es in anderen Sprachen auch
    > oft für temporäre Bindings genommen wird.
    >
    > Das Feature ist gut, aber der Syntax verwirrt die Leute (genau nicht das,
    > was man mit Python wollte).
    >
    > Das ging aber irgendwie nicht, sondern es musste genau so sein, und daraus
    > entstand dann der verbitterte Streit.

    thx, jetzt verstehe ich das auch ausreichend, um die News nachvollziehen zu können. Wenn man an oberster Stelle steht, sich dann für eine Lösung entscheidet, dann aber die Leute nicht akzeptieren können das es diese Lösung wurde, dann kann das schon ziemlich auf die Motivation schlagen. Vielleicht sind aber auch ganz spezielle Dinge vorgefallen, die das Fass zum überlaufen brachten und er auch deswegen hin schmiss.

    Aber ich finde gerade diese Sache jetzt zeigt auch gut wieso es einen solchen Diktator braucht. Sonst wird da ewig rumdiskutiert und rumgestritten und es geht gar nichts vorwärts oder sie entwickelt sich zu einer Kraut und Rüben Sprache, weil Jeder sein Ding reindrücken will. Verstehe absolut wieso solche Projektleiter oft den Ruf weg haben nicht besonders sozial zu sein, das ist quasi eine Grundvoraussetzung für eine solche Position.

  15. Re: Alles wegen := ?

    Autor: Anonymer Nutzer 13.07.18 - 21:25

    Hotohori schrieb:
    --------------------------------------------------------------------------------
    > Bruto schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Zum Thema, es gab einige sinnvolle Vorschläge um das Problem zu
    > verschärfen
    > > (dass es jetzt zwei verwechselbare Zuweisungsoperatoren gibt). Man hätte
    > > z.B. das Keyword "as" verwenden können, so wie es in anderen Sprachen
    > auch
    > > oft für temporäre Bindings genommen wird.
    > >
    > > Das Feature ist gut, aber der Syntax verwirrt die Leute (genau nicht
    > das,
    > > was man mit Python wollte).
    > >
    > > Das ging aber irgendwie nicht, sondern es musste genau so sein, und
    > daraus
    > > entstand dann der verbitterte Streit.
    >
    > thx, jetzt verstehe ich das auch ausreichend, um die News nachvollziehen zu
    > können. Wenn man an oberster Stelle steht, sich dann für eine Lösung
    > entscheidet, dann aber die Leute nicht akzeptieren können das es diese
    > Lösung wurde, dann kann das schon ziemlich auf die Motivation schlagen.
    > Vielleicht sind aber auch ganz spezielle Dinge vorgefallen, die das Fass
    > zum überlaufen brachten und er auch deswegen hin schmiss.
    >
    > Aber ich finde gerade diese Sache jetzt zeigt auch gut wieso es einen
    > solchen Diktator braucht. Sonst wird da ewig rumdiskutiert und
    > rumgestritten und es geht gar nichts vorwärts oder sie entwickelt sich zu
    > einer Kraut und Rüben Sprache, weil Jeder sein Ding reindrücken will.
    > Verstehe absolut wieso solche Projektleiter oft den Ruf weg haben nicht
    > besonders sozial zu sein, das ist quasi eine Grundvoraussetzung für eine
    > solche Position.

    Jap Opensource ist toll und Demokratie in solche Projekten auch aber ohne so ein "benevolent dictator for life" würden manche Projekte ganz schön schnell absplittern und sehr sehr hässlich enden.

    Guck dir mal C++ an, wegen der Kompabilität zu ältern Version und wünschen der Community (die manchmal sehr sehr spezifisch waren/sind) ist die Sprache nun so aufgebläht das man Angst hat, dass es so endet wie die Vasa.

    (Die Geschichte hinter der Vasa ist sehr interssant!)



    1 mal bearbeitet, zuletzt am 13.07.18 21:29 durch Seroy.

  16. Re: Alles wegen := ?

    Autor: PyCoder 14.07.18 - 15:03

    Bruto schrieb:
    --------------------------------------------------------------------------------
    > Zum Thema, es gab einige sinnvolle Vorschläge um das Problem zu verschärfen
    > (dass es jetzt zwei verwechselbare Zuweisungsoperatoren gibt). Man hätte
    > z.B. das Keyword "as" verwenden können, so wie es in anderen Sprachen auch
    > oft für temporäre Bindings genommen wird.
    >
    > Das Feature ist gut, aber der Syntax verwirrt die Leute (genau nicht das,
    > was man mit Python wollte).
    >
    > Das ging aber irgendwie nicht, sondern es musste genau so sein, und daraus
    > entstand dann der verbitterte Streit.

    Weil "as" schon lange belegt ist.

    ---> import foo as bar
    ---> with open('file.txt') as f:

    as
    as is used to create an alias while importing a module. It means giving a different name (user-defined) to a module while importing it.

  17. Re: Alles wegen := ?

    Autor: PyCoder 14.07.18 - 15:10

    staeff schrieb:
    --------------------------------------------------------------------------------
    > Für größere Projekte ist Python m.E. weniger gut geeignet.

    Nicht? Benutzt wird Python aber bei den Grossen gerne

    Google Engine, Youtube, Instagram, Reddit, Spotify, Dropbox, Quora,

  18. Re: Alles wegen := ?

    Autor: teenriot* 14.07.18 - 16:26

    Für mich ist das ein Nogo Code kompakter auf Kosten der Komplexität zu machen.
    Effekte sollten nicht versteckt werden. Code sollte nicht so mühsam zu lesen sein wie eine Handschrift. Deswegen lieber einen Effekt pro Zeile, dafür dann ein paar mehr davon. Das macht Code wartbarer und vermeidet Fehler aufgrund von Flüchtigkeit beim Lesen.

  19. Re: Alles wegen := ?

    Autor: teenriot* 14.07.18 - 16:29

    Dann eben 'with' oder 'is'
    (Wenns das auch schon gibt, nicht schlagen, kenne Python nur oberflächlich)

  20. Re: Alles wegen := ?

    Autor: PyCoder 14.07.18 - 17:38

    teenriot* schrieb:
    --------------------------------------------------------------------------------
    > Dann eben 'with' oder 'is'
    > (Wenns das auch schon gibt, nicht schlagen, kenne Python nur oberflächlich)

    Gibt es beides schon

    https://docs.python.org/2.5/whatsnew/pep-343.html
    https://docs.python.org/3/library/stdtypes.html#comparisons

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. awinia gmbh, Freiburg
  2. Universitätsklinikum Augsburg, Augsburg
  3. Witt-Gruppe, Weiden in der Oberpfalz
  4. Hays AG, Stuttgart

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Lenovo Legion Y530-15ICH für 699€ + Versand - Bestpreis!)
  2. ab 99,00€
  3. (u. a. GTA 5 für 12,99€, Landwirtschafts-Simulator 19 für 27,99€, Battlefield V für 32,99€)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Sicherheitslücken: Zombieload in Intel-Prozessoren
Sicherheitslücken
Zombieload in Intel-Prozessoren

Forscher haben weitere Seitenkanalangriffe auf Intel-Prozessoren entdeckt, die sie Microarchitectural Data Sampling alias Zombieload nennen. Der Hersteller wusste davon und reagiert mit CPU-Revisionen. Apple rät dazu, Hyperthreading abzuschalten - was 40 Prozent Performance kosten kann.
Ein Bericht von Marc Sauter und Sebastian Grüner

  1. Open-Source Technology Summit Intel will moderne Firmware und Rust-VMM für Server
  2. Ice Lake plus Xe-GPGPU Intel erläutert 10-nm- und 7-nm-Zukunft
  3. GPU-Architektur Intels Xe beschleunigt Raytracing in Hardware

Bundestagsanhörung: Beim NetzDG drohen erste Bußgelder
Bundestagsanhörung
Beim NetzDG drohen erste Bußgelder

Aufgrund des Netzwerkdurchsetzungsgesetzes laufen mittlerweile über 70 Verfahren gegen Betreiber sozialer Netzwerke. Das erklärte der zuständige Behördenchef bei einer Anhörung im Bundestag. Die Regeln gegen Hass und Hetze auf Facebook & Co. entzweien nach wie vor die Expertenwelt.
Ein Bericht von Justus Staufburg

  1. NetzDG Grüne halten Löschberichte für "trügerisch unspektakulär"
  2. NetzDG Justizministerium sieht Gesetz gegen Hass im Netz als Erfolg
  3. Virtuelles Hausrecht Facebook muss beim Löschen Meinungsfreiheit beachten

Strom-Boje Mittelrhein: Schwimmende Kraftwerke liefern Strom aus dem Rhein
Strom-Boje Mittelrhein
Schwimmende Kraftwerke liefern Strom aus dem Rhein

Ein Unternehmen aus Bingen will die Strömung des Rheins nutzen, um elektrischen Strom zu gewinnen. Es installiert 16 schwimmende Kraftwerke in der Nähe des bekannten Loreley-Felsens.

  1. Speicherung von Überschussstrom Wasserstoff soll bei Engpässen helfen
  2. Energiewende DLR-Forscher bauen Kohlekraftwerke zu Stromspeichern um
  3. Erneuerbare Energien Wellenkraft als Konzentrat

  1. Europawahlen: Schwere Verluste für Union und SPD, hohe Gewinne für Grüne
    Europawahlen
    Schwere Verluste für Union und SPD, hohe Gewinne für Grüne

    Bei der Europawahl 2019 haben die Regierungsparteien Union und SPD historisch schlecht abgeschnitten. Besonders profitieren konnten die Grünen. Während die Piraten viele Stimmen verloren, legte eine andere Kleinstpartei besonders stark zu.

  2. Briefe und Pakete: Bundesregierung will Rechte von Postkunden stärken
    Briefe und Pakete
    Bundesregierung will Rechte von Postkunden stärken

    Aufgrund gestiegener Beschwerden über Mängel bei der Post- und Paketzustellung will das Bundeswirtschaftsministerium die Rechte von Postkunden stärken. Dabei geht es auch um die Frage von Sanktionsmöglichkeiten.

  3. Vodafone: Red-Tarife erhalten mehr Datenvolumen und werden teurer
    Vodafone
    Red-Tarife erhalten mehr Datenvolumen und werden teurer

    Vodafone bietet veränderte Red-Tarife. Bei vier der fünf verfügbaren Tarife erhöht sich das ungedrosselte Datenvolumen. Dafür steigen auch die Preise.


  1. 20:12

  2. 11:31

  3. 11:17

  4. 10:57

  5. 13:20

  6. 12:11

  7. 11:40

  8. 11:11