Swift oder Objective C

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

  • @Lucas

    Starre Typisierung ist jetzt kein Begriff, unter dem ich mir etwas vorstellen kann. Es existieren folgende Begriffspaare:

    Starke vs. weiche Typisierung. Darum geht es hier gar nicht, da auch Objective-C stark typisiert ist. (Der C Teil ist recht weich typisiert, aber noch weit entfernt von PHP usw.)

    Dann gibt es statische und dynamische Typisierung. Das hat mit "Starrheit" nichts tu tun. Davon reden wir hier. Und die Unterschiede zwischen statisch und dynamisch typisierten Programmiersprachen sind Legion.
    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"?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Amin Negm-Awad ()

  • Marco Feltmann schrieb:

    entwickler schrieb:

    Ich finde es wesentlich übersichtlicher und klarer, wenn die Typen vorab definiert sind. Insbesondere bei späterer Wartung des Codes.

    Wer oder was hindert Dich daran, für jede benötigte Collection eine entsprechende Kategorie drum herum zu basteln oder eigene Subklassen zu erstellen?
    Statt [NSArray add:NSObject]; dann halt [NSArray+NSNumber addNumber:NSNumber];

    Dann hast Du Deine 'Wartbarkeit'. Neben den Meckereien des Compilers siehst Du sogar während Du tippst, welcher Typ gerade erwartet wird.
    (Als ob man Code warten könne… Mal eben rasch die NSInteger gegen ein paar Neue wechseln, damit die Laufzeitumgebung schön geschmiert bleibt und nicht verkantet?)
    Daran hindert ihn ganz viel:

    Eine Kategorie hilft ihm überhaupt nicht. Auch mit Kategorie kann ich weiterhin -addObject: verwenden. Eine Kategorie erweitert eine API, schränkt sich nicht ein.

    Und Subklassen … Cocoa-Collections? Subklassen?
    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"?
  • iOOs schrieb:

    Hallo Leute, ich bin ein absoluter Anfänger in Sachen Programmieren. Da ich mir jetzt vorgenommen habe, programmieren zu lernen, stellt sich mir die Frage, ob ich eher Swift oder Objective C lernen soll. Ich habe vor NUR für iOS (Vllt auch OS X) zu programmieren und möchte auch eine einfach zu lernende und unkomplizierte Sprache lernen. Lohnt es sich überhaupt Swift zu lernen?


    Schau Dir beide Sprachen an und die Sprache, die Dich von der Syntax am wenigsten vom programmieren lernen abhält, nimmst Du ganz einfach. Nachdem Apple Swift gleichwertig zu Objective-C platziert hat, stellt sich die Frage "lohnt sich Swift überhaupt" erst gar nicht.

    Auf den drei Seiten hatte ich den Eindruck, als ob hier Rennradfahrprofis über die letzte Zehntel Sekunde bei einem 200km Rennen diskutieren, nur weil sich jemand fürs Radfahren interessiert. Und später statt Rennrad eigentlich ein Mountainbike möchte...
  • helmut72 schrieb:

    Auf den drei Seiten hatte ich den Eindruck, als ob hier Rennradfahrprofis über die letzte Zehntel Sekunde bei einem 200km Rennen diskutieren, nur weil sich jemand fürs Radfahren interessiert. Und später statt Rennrad eigentlich ein Mountainbike möchte...

    Klasse!! :)
    Nachdem die WWDC erst 3 Tage her ist, liegt das alles halt noch auf dem Herzen und wird ausgesprochen, auch wenn es vielleicht nicht 100%-ig zum Thema passt.
  • Kest schrieb:

    Was Obj-C angeht bin ich zwar blutiger Anfänger, aber ich denke, dass man sofort mit Swift anfangen sollte. Die Sprache ist echt genial. Mit der Zeit lernt man zwar Obj-C zu lesen, aber damit jetzt anzufangen, finde ich keine gute Idee -- wieso sollte man die Altlasten mitschleppen?

    Naja, einige Konzepte bleiben ja im Prinzip gleich. Ich finde es nicht so blöd, wenn man mit Obj-C anfängt.
  • kmr schrieb:

    Nur so … Benchmark Swift vs. Objc. Ich hab's noch nicht mit Verstand gelesen, sieht aber auf den ersten Blick interessant aus.

    Jemand, der im ersten Versuch an Benchmarks mit deaktivierter Optimierung compiliert -- ich glaube, da kann man sich den Rest schenken.
    Ich trau ihm auch zu, dass 0.000021s (Mikrosekundenbereich!) seine tatsächlichen Messungen sind, und er daher keine Ahnung von nichts hat?
    C++
  • Ich halte das auch für ebenso wenig aussagekräftig, wie Apples Benchmarks. Und vor allem: Für in 99 % irrelevant.

    Wenn man mal wirklich in einer OS-X oder iOS-App ein "Performanceproblem mit Rechnen" hat, wird man in Objective-C zu C greifen und in Swift halt beten. (Ist dann aber ein sehr elegant mit Operator-Overloading formuliertes Gebet.)
    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"?
  • Die Lösung besteht darin, dass das, was Swift vor allem verspricht, nämlich safeness, komplett weggeworfen wird.

    "Swift ist toll,weil es sicher ist. Es ist auch wahnsinnig schnell. (Wenn du die Sicherheit ausschaltest und es damit ja nicht mehr toll ist.)"
    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"?
  • Genau, Swift ist eine kompilierte Sprache wie Objective-C und verwendet die gleiche Runtime. Was sollen da für magische Geschwindigkeitssteigerungen noch möglich sein. Apple hat vielleicht ein bisschen am Dispatching und an den Abfragen für Nil-Pointer optimiert, aber viel kann man davon nicht erwarten.
    „Meine Komplikation hatte eine Komplikation.“