2015

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

  • Ich persönlich als Objective-C Fan bin ja durchaus auch gewillt die Sprache Swift zu verteidigen.
    Lediglich die Integrität mit den Frameworks finde ich gelinde gesagt verspottungswürdig. ^^
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • macmoonshine schrieb:

    Fände ich übrigens interessant, wenn die Swift-Fans ihre Sprache aktiv und fundiert verteidigen würden, anstatt über das Bashing zu maulen.

    Also ich fände viel interessanter, wenn die Swift-Gegner die Sprache mal richtig angreifen würden ;)
    Spontan wüsste ich auch kein Beispiel, wo ein Swift-Anhänger über das Bashing gemault hat.

    Marco Feltmann schrieb:

    Lediglich die Integrität mit den Frameworks finde ich gelinde gesagt verspottungswürdig.

    Vor ein paar Tagen ist mir schon mal ein Link untergekommen, in dem prognostiziert wird, dass mit Cocoa früher oder später dasselbe passieren wird wie mit Carbon... und da drin hat mir sogar noch ein Aspekt gefehlt:
    Die Trennung iOS/MacOS halte ich für sinnvoll, aber viele Unterschiede in den APIs stören nur - das könnte man beim Wechsel der Bibliotheken gleich mit gerade ziehen (die NS/UI-Prefixe braucht man mit Swift ja eh nicht mehr).
  • t-no schrieb:

    Also ich fände viel interessanter, wenn die Swift-Gegner die Sprache mal richtig angreifen würden ;)

    Das geht leider im Bashing etwas unter, findest du aber dennoch hier im Forum; z. B.: statische Typisierung, Type-Inference, eigene Operatoren bzw. Operator-Overloading, Optionals

    t-no schrieb:

    Spontan wüsste ich auch kein Beispiel, wo ein Swift-Anhänger über das Bashing gemault hat.

    Siehe oben

    t-no schrieb:

    Vor ein paar Tagen ist mir schon mal ein Link untergekommen, in dem prognostiziert wird, dass mit Cocoa früher oder später dasselbe passieren wird wie mit Carbon.

    Falls du auf den NSHipster-Artikel anspielst: Das ist natürlich möglich. Allerdings empfand ich die Argumentation auch sehr stark von Wunschdenken geprägt. Cocoa durch etwas Neues zu ersetzen entspricht nicht dem Fortfall von Carbon sondern eher dem Wechsel von MacOS 9 auf OSX.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    statische Typisierung, Type-Inference, eigene Operatoren bzw. Operator-Overloading, Optionals

    ja, das waren jetzt ein paar Vorzüge von Swift :)

    macmoonshine schrieb:

    Cocoa durch etwas Neues zu ersetzen entspricht nicht dem Fortfall von Carbon sondern eher dem Wechsel von MacOS 9 auf OSX

    So richtig passen beide Vergleiche nicht - wenn, dann muss man wahrscheinlich noch weiter zurückschauen, als Pascal durch C++ abgelöst wurde... technisch ist Carbon->Cocoa aber schon die beste Analogie - auch wenn die Tragweite der Veränderung tatsächlich eher in der Liga System 9 -> OSX spielt.
    Mal abgesehen davon, dass der ganze Unterbau auch mal eine Renovierung vertragen könnte (vor allem mal ein zeitgemäßes Dateisystem) wird an der Basis ja eh nichts geändert: Die war nie Objective-C, und wird wohl auch ewig C bleiben.
  • t-no schrieb:

    macmoonshine schrieb:

    statische Typisierung, Type-Inference, eigene Operatoren bzw. Operator-Overloading, Optionals

    ja, das waren jetzt ein paar Vorzüge von Swift :)

    Nachteile. Unnütze Nachteile.
    Zumindest aus Sicht eines Smalltalk/Objective-C Verfechters.

    Ebenfalls aus Sicht des Smalltalk/Objective-C Verfechters wird sich dieser Swift Scheiß nie durchsetzen, weil Großteile des Systemunterbaus C ist. Und was ist eine Obermenge von C? Objective-C und nicht Swift.

    Solange Apple nicht beweist, dass sie Swift fundamental mit C/C++ operierfähig bekommen, wird es sich in meinen Augen genauso wenig durchsetzen wie diese Smartphones/-homes/-watches/-TVs, dieses Facebook oder diese Tablets.
    Bei diesem 'Internet' war ich ja noch 'early adopter', aber auch das hat sich nicht so richtig durchgesetzt.
    (Da hat man so etwas Ähnliches wie das Sub Etha Network an der Hand und wofür nutzt man es? Bashing. P0rn. Katzenbilder.)

    Apple hat ja seinerzeit die JavaBridge und WebObjects voran getrieben und dann irgendwann wieder aussterben lassen.
    Ich hoffe wirklich, dass Swift das Schicksal der JavaBridge und WebObjects teilt und es nicht Objective-C treffen wird…

    Vielleicht erleben wir hier auch eine friedliche Koexistenz ähnlich dem Dreiergespann C++/C#/VBasic unter Windows…

    Was mich an Swift weiterhin tierisch stört, liegt allerdings weniger an der Sprache und am Framework, sondern an den Neueinsteigern, die glauben, damit den Heiligen Gral in Händen zu halten.
    Die Framework-Konzepte sind nach wie vor gänzlich andere als in Java, C# und Ähnlichem. Viele, vor allem quer einsteigende Early Adopter, scheinen das gekonnt zu ignorieren und auf Gewohntes aufbauen zu wollen – was dann mitunter zu skurrilen Fehlern und gänzlich falschen Hinweisen führt.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Ich finde Swift toll. Hauptsächlich, weil ich in sehr kurzer Zeit sehr viele Erfolgserlebnisse haben kann. Vieles ist anders und der Compiler ist eher so Alpha-Zustand.

    Klar bin ich mit Objective-C schneller und der Code ist auch eleganter. Aber das wird sich ändern und ich werde dann froh sein, beides zu können. Die Sprache ist zweitrangig. Die Frameworks sind das, was lebenslanges Lernen "ermöglicht". Im Moment macht mir Swift mehr Spass. Also schreibe ich privat nur Swift-Code.
  • dasdom schrieb:

    Ich finde Swift toll. Hauptsächlich, weil ich in sehr kurzer Zeit sehr viele Erfolgserlebnisse haben kann. Vieles ist anders und der Compiler ist eher so Alpha-Zustand.

    Klar bin ich mit Objective-C schneller und der Code ist auch eleganter. Aber das wird sich ändern und ich werde dann froh sein, beides zu können. Die Sprache ist zweitrangig. Die Frameworks sind das, was lebenslanges Lernen "ermöglicht". Im Moment macht mir Swift mehr Spass. Also schreibe ich privat nur Swift-Code.


    Ich finde Swift zwar nicht toll, aber zumindest interessant. Allein: es löst aus sich heraus kein Problem der realen Welt, sondern bringt viele neue Probleme in die Mac/iOS-Programmierung, mit denen wir dank Objective-C bisher nie zu kämpfen hatten. Wie Amin auf der Macoun ja schon sagte: Lattner ist ein Compilerbauer, kein Programmierer. Und das merkt man Swift nun mal leider an. Operator-Overloading, statische Typisierung und Typinferenz können niemals die Gründe dafür sein, dass es ab sofort/Swift bessere, günstigere, modernere, sicherere und booom Apps gibt*. Die drei Jahre Entwicklung für Swift hätte Apple in eine stabile und ausgebaute API stecken sollen, da wäre (technisch betrachtet) mehr Nutzen bei rausgekommen.

    Und von daher verwehre ich mich auch gegen den Vorwurf des Bashings. So lange ich keinen Grund kenne, und bisher habe ich nirgends auch nur den Ansatz einer nachvollziehbaren Begründung gesehen, warum Swift besser sein soll als Objective-C, werde ich meine Meinung behalten. Swift ist die Rechtschreibreform der Programmiersprachen. Weil Objective-C zu schwierig ist, baut man eine neue Sprache, die all die schlechten, aber bekannten Eigenschaften anderer Sprachen enthält. Da Apple sich ja ausschließlich am Marktanteil orientiert, wird das (wirtschaftlich betrachtet) eine sehr sinnvolle Entscheidung gewesen sein.

    *) Möglicherweise hat Apple aus seinen Telemetriedaten Informationen extrahiert, die zur Entwicklung von Swift geführt haben. Das würde mich aber wundern. Ich sehe nicht, wie Operator-Overloading zu einer sichereren Programmierung führen könnte.

    Und um das Thema für meinen Teil abzuschließen: Ende 2015 werde ich auch nur noch in Swift programmieren. Toll finden muss ich das deswegen sicherlich nicht.
  • Guude,

    selbstverständlich soll auch weiterhin auf die Schwachstellen von Swift hingewiesen werden. Mir fällt nur immer mehr auf, das wenn in einem Thread "Swift" erwähnt wird, die Diskussion vom Thema abkommt. Ich hatte mit "Bashing" einen falschen Begriff gewählt. Das war mein Fehler, sorry. Mir liegt es mehr als fern Maulkörbe zu verteilen.

    Wollte das nur noch mal klarstellen.

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

  • kmr schrieb:

    Ende 2015 werde ich auch nur noch in Swift programmieren. Toll finden muss ich das deswegen sicherlich nicht.

    Wird mir vermutlich ähnlich gehen…
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • kmr schrieb:

    Ende 2015 werde ich auch nur noch in Swift programmieren.


    Marco Feltmann schrieb:

    Wird mir vermutlich ähnlich gehen…


    Hallo ihr zwei!

    Neugierig nachgefragt: Warum? Zwang durch Arbeitgeber / Kunden? Vorbereitung auf evt. kommenden Standard (für OS X / iOS)? Sonstige Gründe? Ich mag übertrieben konservativ sein, aber z. Z. sehe ich keinen zwingenden Grund, mich mit Swift auseinander zu setzen und habe keine Lust, unnötigen Aufwand als "early adopter" zu investieren. Sollte Swift sich als Standard heraus kristallisieren, bliebe m. E. noch genügen Vorlauf...

    Sorry, wenn ich diesen Thread nun endgültig hijacke, Mattes :D
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • dasdom schrieb:

    Die Sprache ist zweitrangig.

    Das sehe ich gänzlich anders.
    Die Sprache ist das, an das man sich gewöhnt hat. Mit der Sprache ändert sich auch das Gesprochene.
    Ich sehe das Ganze nicht als 'Rechtschreibreform' an. Ob ich das daß jetzt daß oder dass schreibe, das ist für den allgemeinen Sprachgebrauch eher unerheblich.
    Ob der Infinitiv mit 'zu' jetzt immer mit Komma getrennt wird, nie mit Komma getrennt wird oder lediglich dann mit Komma getrennt wird, wenn er außer dem 'zu' und dem dazugehörigen Verb noch weitere Worte beinhaltet ist ebenfalls unerheblich.

    Sofern man eine Sprache jahrzehntelang spricht, dann hat man diese Sprache gut drauf. Man kann mit dieser Sprache spielen. Man kann Doppeldeutigkeiten, Synonyme und Antonyme bilden, Ironie, Sarkasmus und Witz einfließen lassen, eigene Worte kreieren und mit jedem auf gewohnte Weise kommunizieren.

    Wenn man jetzt die Worte dieser Sprache austauscht, dann gehen einem diese Möglichkeiten verloren.
    Nehmen wir zum Beispiel 'Deutsch' und tauschen es gegen 'English'.

    Auf Englisch klappt der Spruch hier nicht mehr:

    Bodo Wartke schrieb:

    Weil wir Deutschen gerne mit dem Auto fahr'n,
    bau'n wir des öftern mal 'ne neue Autobahn.
    Das kostet uns dann jede Menge Kröten,
    weil Autos ja bekanntlich Kröten töten.


    Auf Deutsch klappt der Spruch hier nicht mehr:

    Douglas Adams schrieb:

    "Getting teleported feels like getting drunk."
    'What is wrong about getting drunk?'
    "Ask a glass of water…"


    Klar, die Grammatik ist ähnlich und nach etwas Lernaufwand bekommt man die neuen Worte auf die Reihe, wenngleich man die Sprache nie so fließend beherrschen wird wie jemand, der sie seit Jahrzehnten spricht.

    Der Umstieg von Objective-C auf Swift ist aber eher wie der Umstieg von Deutsch auf Finnisch.
    Statt Ich gehe zum Hafen heißt es plötzlich Menen satamaan und man versteht absolut nicht warum. Es ist überhaupt kein Sinn dahinter erkennbar, wenn man weder mit Postpositionen gearbeitet hat noch das Weglassen von Pronomen gewöhnt ist.
    (Wörtlich übersetzt hieße es ungefähr Gehe Hafenzum…)

    Auch der Wegfall einiger Zeitformen wie beispielsweise das Futur macht Aussagen wie Morgen werde ich zum Hafen gehen. schlicht unmöglich.
    Menen huomenna satamaan funktioniert, heißt aber Ich gehe morgen zum Hafen. – nicht dasselbe.

    Genau so ist es mit Objective-C und Swift.
    [object respondsToSelector:@selector(doSomethingWithObject:anotherObject:)] ist wunderbar gern gesehen als Abfrage für die Durchführung eines optionalen Protokolls.*
    object.respondsToSelector(Selector("doeSomethingWithObject:anotherObject:)) funktioniert – ausschließlich mit Objective-C Typen. Alle Swift Klassen müssen explizit von NSObject oder einer derer Subklassen erben, damit das funktioniert. Ergo: Swift kann es einfach nicht.
    (Sollten Amin und StackOverflow mich belogen haben bitte ich um sachdienliche Hinweise – falls nicht, ist Zustimmung natürlich ebenfalls herzlich willkommen.)

    Mir geht die Dynamik von Objective-C einfach in Swift abhanden, nur weil irgend so ein Compiler-Fuzzi seinen Kontrollwahn ausleben musste.

    *) Mir ist bewusst, dass objc_msgsend() Ressourcen frisst. Mir ist auch bekannt, dass man beim Hinzufügen eines das Protokoll implementierenden Delegates flink die optionalen Methoden abfragen und dem eigenen Instanzobjekt via boolscher Instanzvariablen verfügbar machen sollte.

    Mattes
    In meinem Fall ist Swift eine unglaubliche Umgewöhnung. Und ich gewöhne mich nur sehr langsam um. Insofern beginne ich früh damit, mich mit Dingen zu beschäftigen, um nicht beim Abschneiden der Objective-C Zöpfe ins Hintertreffen zu geraten.
    Sollten die Big News der WWDC 2015 sein, dass 'We proudly announce to support Swift as the new sister language and improve Objective-C further and further', fällt mir der geleistete Einsatz ja nicht unwiederbringlich weg.

    Ich mag mich halt nur ungern abhängen lassen. ;)

    Allerdings halte ich Swift im aktuellen Stand mit der Integration der Frameworks für nicht nutzbar, insofern werden aktuelle Bestandsprojekte weiter in Objective-C gemacht.

    Mein Arbeitgeber hält sicherlich so lange an Objective-C fest, bis es mit einem großen Zapfenstreich beerdigt wird.
    Nur will ich mich weiterentwickeln – im aktuellen Stadium fehlt mir dazu nur wie gesagt die Motivation.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • MyMattes schrieb:


    Neugierig nachgefragt: Warum? Zwang durch Arbeitgeber / Kunden? Vorbereitung auf evt. kommenden Standard (für OS X / iOS)? Sonstige Gründe? Ich mag übertrieben konservativ sein, aber z. Z. sehe ich keinen zwingenden Grund, mich mit Swift auseinander zu setzen und habe keine Lust, unnötigen Aufwand als "early adopter" zu investieren. Sollte Swift sich als Standard heraus kristallisieren, bliebe m. E. noch genügen Vorlauf...


    Bei mir ist es die Erfahrung, die ich mit Apple in den letzten 15 Jahren gemacht habe. Es wird von Swiftgegnern gerne GC als Beispiel dafür angeführt, dass Apple auch mal Rückzieher macht. GC war aber nie ein Feature, das die Massen interessiert hat, sondern immer nur ein Nischenthema. Ganz im Gegenteil zu OS 9 (RIP), PPC (RIP), Carbon (RIP), Java-API (RIP), Aperture (RIP), iPhoto (RIP) … um nur die bekanntesten Beispiele rigoros abgeschnittener Zöpfe zu nennen (ohne damit bewerten zu wollen, ob diese Zöpfe zu Recht oder Unrecht abgeschnitten worden sind). Aus dieser Erfahrung heraus bin ich fest davon überzeugt, dass Apple Objective-C auch töten wird. Und auf diesen Zeitpunkt möchte ich vorbereitet sein. Und im Gegensatz zu anderen Programmierern finde ich nicht, dass eine Sprache zweitrangig oder schnell gelernt ist, zumal wenn sich zentrale Paradigmen fundamental von denen von Objective-C unterscheiden.

    tl;dr

    Ich will nicht mit runtergelassenen Hosen erwischt werden, wenn es die neue superdupermodernsafeboom API nur noch für Swift gibt. Wenn ich mich dann erst mit Swift auseinandersetze, habe ich ggf. ein Problem mit meinen Kunden.
  • kmr schrieb:

    Ganz im Gegenteil zu OS 9 (RIP), PPC (RIP), Carbon (RIP), Java-API (RIP), Aperture (RIP), iPhoto (RIP) …

    Das sind zum größten Teil (OS 9, PPC, Java) veraltete Technologien, wo das Ende absehbar war. Nur Microsoft würde sowas am Leben erhalten. Wobei Java ja an den Hersteller Oracle (Burn in Hell) zurückgegeben wurde. Aperture ist anscheinend bei den Kunden auch nicht angekommen. Das abzuschneiden ist ja auch kein Aufwand. Carbon war eine Übergangstechnologie, die den Übergang von OS 9 auf OS X erleichtern sollte. Somit war dessen Ende auch von Beginn an absehbar; genauso wie bei Classic (RIP).

    iPhoto gibt's noch. Meinst du vielleicht iWeb (RIP)?

    Apple hat aber auch einige sehr gute Sachen abgeschossen (z. B. EOF und WebObjects +snief+).
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:


    Das sind zum größten Teil (OS 9, PPC, Java) veraltete Technologien, wo das Ende absehbar war. Nur Microsoft würde sowas am Leben erhalten. Wobei Java ja an den Hersteller Oracle (Burn in Hell) zurückgegeben wurde. Aperture ist anscheinend bei den Kunden auch nicht angekommen. Das abzuschneiden ist ja auch kein Aufwand. Carbon war eine Übergangstechnologie, die den Übergang von OS 9 auf OS X erleichtern sollte. Somit war dessen Ende auch von Beginn an absehbar; genauso wie bei Classic (RIP).


    Vom technischen Standpunkt aus betrachtet hast Du Recht. Es geht aber doch darum, dass Apple seit seinem erneuten Aufstieg rigoros auf das Votum der Masse setzt und sich nicht um die Wünsche langjähriger und treuer Kunden kümmert, wenn sie in der Minderzahl sind. Zu Aperture musst Du nur mal Google bemühen, wie professionelle Fotografen das Aus finden. Das mit "veraltete Technologie" zu begründen, ist mindestens gewagt. Bei Final Cut war es ähnlich.


    iPhoto gibt's noch. Meinst du vielleicht iWeb (RIP)?


    iWeb hatte ich vergessen. War auch super. Ist weg. iPhoto auf dem Mac ist abgekündigt, und iPhoto für iOS läuft einfach seit iOS 8 nicht mehr. Und zwar ohne eine Alternative. Das ist mehr als ein schlechter Witz.