Warum einen wenn sie auch viele haben kann?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • torquato schrieb:

    Der eigentliche Knackpunkt ist, daß man bei mehrfacher Protokollkonformität einmal & verwenden muß extension Array where Element: A & B {} und einmal Kommata struct Bar: A, B {}.
    Das liegt wahrscheinlich daran, dass im zweiten Fall eine Liste zu implementierender Protokolle gemeint ist, während es sich im ersten Fall um ein Prädikat (lies where Element implements A and Element implements B) handelt. Diese Unterscheidung ist für den Programmierer lästig (Wie war die richtige Schreibweise nochmal?) und für den Compiler überflüssig, da die Bedeutung aus dem Kontext hervorgeht. Wenn man das schon syntaktisch auseinanderhalten will, hätte man auch den Doppelpunkt durch ein anderes Schlüsselwort ersetzen sollen, z. B. where Element implements A & B.
    „Meine Komplikation hatte eine Komplikation.“
  • Viele Sachen an Swift finde ich sehr nett (block-syntax, structs, generics, die standard library etc), aber die ständigen Code-breaks (insbesondere bei den dependencies in Ermangelung eines stabilen ABIs) halten mich noch davon ab.

    Und ich muss sagen, seit ich mich einmal an AppCode gewöhnt habe, ist es ein Graus, mit Xcode zu arbeiten. Man weiß nicht, was eigtl. möglich ist, wenn man nie eine IDE mit solch großartigem Refactoring benutzt hat. Wäre schön, wenn Apple sich da mal ein bisschen inspirieren lassen würde, aber diese unerfüllte Hoffnung hege ich seit Jahren...
  • t-no schrieb:

    na ja, dieser Thread ist ja explizit als "Jammern über Swift"-Thema gestartet - da kann man den alten, verbitterten Männern ruhig ihre nostalgischen Nörgeleien lassen.
    Ich war eigentlich über dieses Konstrukt belustigt. Hätte Apple das in Objective-C eingebaut, gäbe es einen Grund zum Jammern. ;) :P

    Weißt DU eigentlich, was das Schöne am Alter ist?

    BTW: Wie kann eigentlich eine NörgeleiBelustigung über ein sehr neues Konstrukt nostalgisch sein?
    „Meine Komplikation hatte eine Komplikation.“

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von macmoonshine ()

  • macmoonshine schrieb:

    torquato schrieb:

    Der eigentliche Knackpunkt ist, daß man bei mehrfacher Protokollkonformität einmal & verwenden muß extension Array where Element: A & B {} und einmal Kommata struct Bar: A, B {}.
    Das liegt wahrscheinlich daran, dass im zweiten Fall eine Liste zu implementierender Protokolle gemeint ist, während es sich im ersten Fall um ein Prädikat (lies where Element implements A and Element implements B) handelt. Diese Unterscheidung ist für den Programmierer lästig (Wie war die richtige Schreibweise nochmal?) und für den Compiler überflüssig, da die Bedeutung aus dem Kontext hervorgeht. Wenn man das schon syntaktisch auseinanderhalten will, hätte man auch den Doppelpunkt durch ein anderes Schlüsselwort ersetzen sollen, z. B. where Element implements A & B.
    Mmhhh... Interessanter Erklärungsversuch...

    Solch ein implements hätte mir wahrscheinlich gefallen. Die Bedeutung dieses Doppelpunktes ist ja auch nicht in allen Fällen unbedingt ganz eindeutig. In class Foo: Bar { } ist Foo da eine Subklasse von Bar oder eine unabhängige Klasse, die ein Protokoll Bar implementiert?
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • t-no schrieb:

    matz schrieb:

    Deine Späße über Swift auch.
    na ja, dieser Thread ist ja explizit als "Jammern über Swift"-Thema gestartet - da kann man den alten, verbitterten Männern ;) ruhig ihre nostalgischen Nörgeleien lassen.Im besten Fall führt das dazu, dass sich das Gejammer hier konzentriert, statt konkrete Frage-Threads vollzuspammen ;-).
    Ich bin 22... Also nur verbittert!
    Every language has an optimization operator. In ObjC that operator is ‘//’.

    golbros.de
  • macmoonshine schrieb:


    Weißt DU eigentlich, was das Schöne am Alter ist?

    Das man nicht mehr jeden Mist mitmachen muss? :D

    Nein mal im Ernst...
    Ich beschäftige mich im Gegensatz zu den meisten Leuten hier hauptsächlich privat mit der iOS-/macOS-Programmierung und finde trotz vieler guter Absichten keinen wirklichen Zugang zu Swift. Objective-C mag als angestaubt gelten, aber es wurde nicht alle paar Monate die gefühlte Hälfte des Gelernten wieder obsolet. Wenn das jammern ist, gut, dann jammere ich. ;)

    Ich habe beim besten Willen nicht den Eindruck, dass Swift "ready to use" ist. Korrigiert mich gern, aber mit jedem neuen Release kommen nicht nur neue Funktionen hinzu, sondern es werden Dinge als veraltet und ab sofort inkompatibel deklariert. Das macht mir als quasi Freizeitprogrammierer schon keinen Spass mehr, will gar nicht daran denken, wie ich das finden würde, wenn ich damit mein Geld verdienen müsste.
  • derSascha schrieb:

    Ich habe beim besten Willen nicht den Eindruck, dass Swift "ready to use" ist. Korrigiert mich gern, aber mit jedem neuen Release kommen nicht nur neue Funktionen hinzu, sondern es werden Dinge als veraltet und ab sofort inkompatibel deklariert. Das macht mir als quasi Freizeitprogrammierer schon keinen Spass mehr, will gar nicht daran denken, wie ich das finden würde, wenn ich damit mein Geld verdienen müsste.
    Richtig lustig wird es, wenn nicht nur Swift sich ändert, sondern auch noch das SDK. In iOS 10 wird zum Beispiel die Methode supportedInterfaceOrientations() zu einer Property. Hast du diese Methode überschrieben, bekommst du erst mal ein error: method does not override any method from its superclass um die Ohren. Ok, denkste dir. Mach ich halt das override wech. Doch dann gibt es prompt die nächste Klatsche: error: method 'supportedInterfaceOrientations()' with Objective-C selector 'supportedInterfaceOrientations' conflicts with getter for 'supportedInterfaceOrientations' from superclass 'UIViewController' with the same Objective-C selector. Komischerweise frisst Swift 2.3 die überschriebene Methode, trotz iOS 10 SDK.
  • Ich finde das ehrlich gesagt mit der Typaufzählung nicht verkehrt. Ob man nun & oder , oder <,> oder was auch immer nimmt, finde ich nicht wichtig.

    Entscheidend scheint mir zu sein, dass man für eine derartige Lappalie, die vielleicht eine schöne Abstraktheit verspricht, aber keinen praktischen Nutzen, auch nur minimalen Aufwand betreibt.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?