Popularität von Swift ?

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

  • WernerB schrieb:

    MCDan schrieb:

    WernerB schrieb:

    Amin Negm-Awad schrieb:

    Und natürlich ist bei Apple intern fast alles Objective-C. Die wissen schließlich was Swift und Obejctive-C sind und können. Wieso sollten sie also Swift nehmen? Das ergäbe doch gar keinen Sinn.
    Apple wäre doch auch mit dem Klammerbeutel gepudert, eine Code-Basis umzuschreiben, die in Teilen 30 Lenze auf dem Buckel hat und somit ausgereift ist. Und (massive) Geschwindigkeitsvorteile von Swift scheinen auch nicht zu existieren.
    Ich meine ich hätte mal irgendwo gelesen, dass der aktuelle Finder jetzt mit Swift programmiert wurde. Kann mich aber auch täuschen. Evtl. Vorteile diesbezüglich beim Finder sehe ich nicht. Eher finde ich die Anzeige eines Verzeichnisse als Liste (Outline View) unschön, da die Verzeichnisse erst nach und nach aufgeklappt werden und somit die erste Anzeige lange dauert und sehr unruhig ist. Ich meine dies sah vorher besser aus.
    Gut, das haben sie ja beim Code Editor von Xcode 9 auch gemacht. Interessant wäre nur, ob sie weiterhin NS*-Klassen benutzen oder die bereits auftauchenden Analoga in Swift. Ersteres hiesse für mich, gehoppst wie gesprungen.
    Aber Xcode 9 steht nicht gerade hoch im Kurs der Entwickler, wenn man sich die Kritiken anschaut - oder auch den Thread hier im Forum zu dem Ärger mit Xcode.
  • Thorsten Kreutz schrieb:

    Aber ich denke, bei allen "neuen" Sprachen geht es in erster Linie um Übersichtlichkeit, vielleicht bessere Wartbarkeit.
    Naja, Wartbarkeit gehört bestimmt nicht zu den Stärken einer Sprache, die es inzwischen in vier nicht-abwärtskompatiblen Versionen gibt. Übersichtlichkeit hat sehr wenig mit der Sprache und sehr viel mit dem Programmierer zu tun.
    „Meine Komplikation hatte eine Komplikation.“
  • Ich finde die Lesbarkeit bei einer Programmiersprache auch sehr wichtig und da hat Swift für mich eindeutig verloren.

    Ausser Objective-C kenne ich noch andere Programmiersprachen und mit diesem Wissen kann ich viele weitere Programmiersprache, die ich so nie gelernt habe, "Lesen" und verstehen.. Bei Swift muss ich allerdings passen. Die Syntax z.B. bei der Funktions-Definition ist einfach nur kryptisch. Swift wirkt daher auf mich wie eine Nerd Sprache, also eine Programmiersprache von Nerds für Nerds.

    Beim Programmieren denke ich eigentlich auch sehr viel in nullen und einsen, also wie ein Computer den Code letztendlich verarbeitet. Bei Swift bin ich allerdings gar nicht in der Lage den Code überhaupt erst mal zu lesen und zu verstehen.

    Warum wählt man für Swift eine so kryptische Syntax, die man selbst mit einem Grundwissen an Programmierung nicht lesen kann und verkauft die Sprache dann als "leicht zu lernen"? Verstehe nur ich die Pointe nicht? ?(
  • Die schwere Lesbarkeit haben aber viele typstatische Sprachen an sich. C++ ist da ja auch so ein Kandidat. Das liegt daran, dass sie dazu neigen, alles Mögliche zu annotieren, weil der Compiler damit zusätzliche Informationen erhält. Außerdem muss man Templates als Bindeglied zwischen generischen Code und Typsicherheit einführen, was die Sache auch nicht einfacher macht. Der Gedanke ist ja: Je mehr der Compiler weiß, desto mehr kann er überprüfen und optimieren. Nur ist eine Programmiersprache ja nicht für den Compiler gedacht, sondern für den Programmierer.

    Ein klassisches Beispiel findet sich in dem Thread zum Formatter nebenan.

    Man verkauft die Sachen doch immer so, wie sie nicht sind:

    Banken machen Werbung mit Sicherheit.
    Versicherungen machen Werbung mit Vertrauen.
    Bier macht Werbung mit jung, weiblich, schlank.

    Swift macht Werbung mit Einfachheit.
    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"?
  • MCDan schrieb:

    Ausser Objective-C kenne ich noch andere Programmiersprachen und mit diesem Wissen kann ich viele weitere Programmiersprache, die ich so nie gelernt habe, "Lesen" und verstehen.. Bei Swift muss ich allerdings passen. Die Syntax z.B. bei der Funktions-Definition ist einfach nur kryptisch.
    Das ist immer eine sehr subjektive Wahrnehmung, und auch nicht richtig messbar.
    Wenn man mir ein Dokument in Esperanto vorlegt, verstehe ich herzlich wenig vom Text, obwohl die Sprache objektiv wahrscheinlich viel einfacher ist als Englisch, und die Einschätzung, ob Deutsch einfacher ist als Mandarin dürfte sich total umkehren, wenn man nicht nur Leute in der Nachbarschaft fragt, sondern die gesamte Menschheit.
    Genau so ist es mit Programmiersprachen auch:
    Geh' einfach mal zu ein paar Programmierern, die sich in ihrer Karriere von Apple fern gehalten haben, und zeige denen ein bisschen Objective-C - ich bin sicher, die werden gerade die Deklaration von Methoden (und auch deren Aufruf) komplett merkwürdig finden.

    MCDan schrieb:

    Beim Programmieren denke ich eigentlich auch sehr viel in nullen und einsen, also wie ein Computer den Code letztendlich verarbeitet. Bei Swift bin ich allerdings gar nicht in der Lage den Code überhaupt erst mal zu lesen und zu verstehen.
    Wenn du wirklich in Nullen und Einsen denkst, musst du eigentlich noch unterhalb von Assembler arbeiten - das macht heutzutage aber so gut wie niemand mehr, und ich glaube auch nicht, dass du das tatsächlich willst (und eigentlich ist gerade sowas "nerdig" ;-).

    Um abschließend noch mal zum Eingangsthema zurück zu kommen:
    Auf die Frage nach der Popularität von Swift wird es hier (oder in einem anderem Forum) keine repräsentative Antwort geben - viel wichtiger ist, warum du überhaupt programmieren willst:
    - Wenn du damit Geld verdienen willst, guck dir an, was in Ausschreibungen gesucht wird (das ist zwar nicht unbedingt dass, was tatsächlich gebraucht wird - es macht sich aber bei der Vorstellung immer schlecht, wenn man bei den Kernforderungen passen muss ;)
    - Wenn du einfach nur für dich selbst Apps programmieren willst, nimm das, was dir gefällt
    - Wenn du für die nähere Zukunft lernen willst, nimm Swift (Apple ist auch bei solchen Dingen halbwegs talentiert, dem Trend zu folgen, und die Konzepte von Swift haben auch in anderen Sprachen gerade viel Aufwind)
    - Wenn du auf lange Sicht lernen willst, nimm beides (irgendwann schwingt das Pendel auch wieder zurück, und auch wenn Objective-C selbst wahrscheinlich keine Renaissance erleben wird, werden die Eigenschaften wahrscheinlich irgendwann "wiederentdeckt")
  • t-no schrieb:

    MCDan schrieb:

    Ausser Objective-C kenne ich noch andere Programmiersprachen und mit diesem Wissen kann ich viele weitere Programmiersprache, die ich so nie gelernt habe, "Lesen" und verstehen.. Bei Swift muss ich allerdings passen. Die Syntax z.B. bei der Funktions-Definition ist einfach nur kryptisch.
    Das ist immer eine sehr subjektive Wahrnehmung, und auch nicht richtig messbar.Wenn man mir ein Dokument in Esperanto vorlegt, verstehe ich herzlich wenig vom Text, obwohl die Sprache objektiv wahrscheinlich viel einfacher ist als Englisch, und die Einschätzung, ob Deutsch einfacher ist als Mandarin dürfte sich total umkehren, wenn man nicht nur Leute in der Nachbarschaft fragt, sondern die gesamte Menschheit.
    Genau so ist es mit Programmiersprachen auch:
    Geh' einfach mal zu ein paar Programmierern, die sich in ihrer Karriere von Apple fern gehalten haben, und zeige denen ein bisschen Objective-C - ich bin sicher, die werden gerade die Deklaration von Methoden (und auch deren Aufruf) komplett merkwürdig finden.

    Esperanto kann ich zumindest lesen. Mit Swift verhält es sich bei mir eher wie mit kyrillischer bzw. nicht lateinischer Schrift.

    Java und C# sind auch weit von Apple entfernt. Trotzdem kann man diese Programmiersprachen lesen und verstehen, wenn man Objective-C kann.

    Aber egal, für mich ist Swift aktuell nicht interessant, da mir noch keine App begegnet ist, die sich nicht auch mit Objective-C umsetzen lässt.

    Vielleicht macht es ja mal irgendwann klick und dann klappt es auch mit Swift bei mir. Bis dahin bleibe ich bei Objective-C oder schaue mir vielleicht mal C#/Xamarin als Alternative an.
  • MCDan schrieb:

    Esperanto kann ich zumindest lesen. Mit Swift verhält es sich bei mir eher wie mit kyrillischer bzw. nicht lateinischer Schrift.

    Java und C# sind auch weit von Apple entfernt. Trotzdem kann man diese Programmiersprachen lesen und verstehen, wenn man Objective-C kann.

    Aber egal, für mich ist Swift aktuell nicht interessant, da mir noch keine App begegnet ist, die sich nicht auch mit Objective-C umsetzen lässt.

    Vielleicht macht es ja mal irgendwann klick und dann klappt es auch mit Swift bei mir. Bis dahin bleibe ich bei Objective-C oder schaue mir vielleicht mal C#/Xamarin als Alternative an.

    Amin Negm-Awad schrieb:

    Die schwere Lesbarkeit haben aber viele typstatische Sprachen an sich. C++ ist da ja auch so ein Kandidat. Das liegt daran, dass sie dazu neigen, alles Mögliche zu annotieren, weil der Compiler damit zusätzliche Informationen erhält. Außerdem muss man Templates als Bindeglied zwischen generischen Code und Typsicherheit einführen, was die Sache auch nicht einfacher macht. Der Gedanke ist ja: Je mehr der Compiler weiß, desto mehr kann er überprüfen und optimieren. Nur ist eine Programmiersprache ja nicht für den Compiler gedacht, sondern für den Programmierer.
    Dem kann ich mich voll und ganz anschließen. Habe soeben mal wieder in ein mich interessierendes C++-Projekt auf GitHub gefunden und reingeschaut. Aber nur "Bahnhof" verstanden. D.h. ich habe vor lauter Templates und überladenen Methodennamen nicht mal eine Idee bekommen, wie das funktionieren soll. Mit Objective-C ist mir das noch nie passiert. Da schaue ich in den Code und erkenne gleich ein Bild und Zusammenhänge (wobei gerade dabei auch die verpönten Header dazu beitragen.
    Es gibt halt Write-Only-Programmiersprachen :) Und es gibt welche wo man sich nach Jahren noch auskennt. Nur merkt man den Unterschied erst nach vielen Projekten und Jahren. Und dann ist es zu spät das Pferd zu wechseln. Vor allem wenn es einem in jungen Jahren als das "bessere" und angeblich modernere verkauft wurde.
  • t-no schrieb:

    MCDan schrieb:

    Ausser Objective-C kenne ich noch andere Programmiersprachen und mit diesem Wissen kann ich viele weitere Programmiersprache, die ich so nie gelernt habe, "Lesen" und verstehen.. Bei Swift muss ich allerdings passen. Die Syntax z.B. bei der Funktions-Definition ist einfach nur kryptisch.
    ....
    Geh' einfach mal zu ein paar Programmierern, die sich in ihrer Karriere von Apple fern gehalten haben, und zeige denen ein bisschen Objective-C - ich bin sicher, die werden gerade die Deklaration von Methoden (und auch deren Aufruf) komplett merkwürdig finden.
    ...
    Siehste, das sind die, die auch nie in ihrem Leben Smalltalk gesehen oder programmiert haben. Und genau die Smalltalk-Leute sind die, die Patterns und late binding geniessen. Lernst Du so jemanden kennen, wird er ein Lächeln hervorzaubern, dass mich an eine Passage aus "Das Parfüm" erinnert... :)
  • WernerB schrieb:

    t-no schrieb:

    MCDan schrieb:

    Ausser Objective-C kenne ich noch andere Programmiersprachen und mit diesem Wissen kann ich viele weitere Programmiersprache, die ich so nie gelernt habe, "Lesen" und verstehen.. Bei Swift muss ich allerdings passen. Die Syntax z.B. bei der Funktions-Definition ist einfach nur kryptisch.
    ....Geh' einfach mal zu ein paar Programmierern, die sich in ihrer Karriere von Apple fern gehalten haben, und zeige denen ein bisschen Objective-C - ich bin sicher, die werden gerade die Deklaration von Methoden (und auch deren Aufruf) komplett merkwürdig finden.
    ...
    Siehste, das sind die, die auch nie in ihrem Leben Smalltalk gesehen oder programmiert haben. Und genau die Smalltalk-Leute sind die, die Patterns und late binding geniessen. Lernst Du so jemanden kennen, wird er ein Lächeln hervorzaubern, dass mich an eine Passage aus "Das Parfüm" erinnert... :)
    Man könnte die Leute ja auch einfach mal versuchen lassen, einen Funktionsaufruf mit komisch unterdrückten Namensbestandteilen und _in Swift zu verstehen. Das verstehen ja die meisten Swift-Programmierer nicht. Eigentlich nicht einmal die Entwickler von Swift, sonst müssten sie es ja nicht laufend ändern.
    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"?
  • Ich programmiere ja, wie schon einige andere hier, schon so lange, damals gab es noch nicht einmal eine "richtige" Hochsprache. Man ist also mitgewachsen mit den Programmiersprachen.
    Und da gab es dann halt Sprachen wie C, Pascal, Basic, Cobol die in Ihrer Syntax eben sehr identisch und damit zumindest für jeden verständlich sind der eine dieser Sprachen gelernt hat.
    Und dann gab es immer mal wieder so Sprachen die es probiert haben alles komplett anders zu machen wie Lisp. Diese haben sich aber niemals irgendwie durchsetzen können.
    Und genauso wird es auch mit Swift sein. Es wird eine reine Insellösung für OSX bleiben und von daher wirtschaftlich komplett uninteressant.

    Denn: Eigentlich 100% heutiger Software die Umsätze erzeugt (Ja selbst bei Spielen ist das ja mitlerweile so) besteht halt aus Frontend und Backend. Und ein Backend in Swift wird es niemals geben. Welche Firma geht also her und stellt sich einen Swift Entwickler ein, der nur das Frontend machen kann und vom Backend keine Ahnung hat? Vielleicht eine große die sich so einen spezialisten leisten kann aber wie viele gibts denn davon?

    Wenn ich nur Swift kann, kann ich kein Geld verdienen. Es sei denn ich bin der eine unter 100 Millionen der eine App Idee wie EarlyBird hat oder so. Also muss ich eh noch andere Sprachen können. Und da ist ein Umstieg von Objective-C auf C(#,++), Java, PHP, Node.JS etc deutlich einfacher als einer von Swift.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    Du hast aber mitbekommen das Swift mittlerweile auf Linux läuft? ;)

    Jeweils auf einem Ubuntu Server
  • matz schrieb:

    Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    Du hast aber mitbekommen das Swift mittlerweile auf Linux läuft? ;)
    Jeweils auf einem Ubuntu Server
    Darauf laufen aber auch so tolle Sachen wie Node.JS oder Java EE welche genau für den Zweck entwickelt wurden. Warum also sich mit Switft quälen wenn es viel besseres dafür gibt?
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    Du hast aber mitbekommen das Swift mittlerweile auf Linux läuft? ;) Jeweils auf einem Ubuntu Server
    Darauf laufen aber auch so tolle Sachen wie Node.JS oder Java EE welche genau für den Zweck entwickelt wurden. Warum also sich mit Switft quälen wenn es viel besseres dafür gibt?
    Also wenn man die Apps (Frontend) schon mit Swift entwickelt, dann möchte man auf dem Server (Backend) natürlich auch Swift verwenden und nicht extra noch Node.JS oder Java EE lernen, oder?

    Ob Node.JS oder Java EE toll sind, möchte ich jetzt auch mal dahingestellt sein lassen. Ich würde mir beides nicht antun. :P

    Glücklicherweise hatte ich bei meinen bisherigen Projekten mit Backend immer jemanden, der das Backend übernommen hat. Von daher konnte ich mich komplett auf das Frontend in Objective-C konzentrieren. :thumbsup:
  • Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    Du hast aber mitbekommen das Swift mittlerweile auf Linux läuft? ;) Jeweils auf einem Ubuntu Server
    Darauf laufen aber auch so tolle Sachen wie Node.JS oder Java EE welche genau für den Zweck entwickelt wurden. Warum also sich mit Switft quälen wenn es viel besseres dafür gibt?
    ich quäle mich mehr mit node.js als mit Swift
  • matz schrieb:

    Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    matz schrieb:

    Thallius schrieb:

    Und ein Backend in Swift wird es niemals gebe
    Komisch, ich habe schon 5 Backends - mit Swift programmiert am Laufen - zuzüglich passender iOS App in Swift geschrieben.
    Auf welchem Server läuft denn das Backend? OSX-Server auf nem iMac oder MacPro? Sorry aber das halte ich nicht für wirkliche buiseness fähig da überhaupt nicht skalierbar.
    Du hast aber mitbekommen das Swift mittlerweile auf Linux läuft? ;) Jeweils auf einem Ubuntu Server
    Darauf laufen aber auch so tolle Sachen wie Node.JS oder Java EE welche genau für den Zweck entwickelt wurden. Warum also sich mit Switft quälen wenn es viel besseres dafür gibt?
    ich quäle mich mehr mit node.js als mit Swift
    Ob Serverside Swift Node.JS im Benchmark schlagen kann ? Die Frage scheint jedenfalls nicht erst seit gestern zu geben, wenn man nach Server-Side Swift googelt z.B:

    medium.com/@rymcol/linux-ubunt…t-vs-node-js-db52b9f8270b

    scheinen sich schon andere damit beschäftigt zu haben.

    Wenn ich aber heute ein Projekt starten wollte, selbst nur im Rahmen einer Schulung, müsste ich natürlich eine Entscheidung treffen. Das würde natürlich voraussetzen, dass ich mich mit beiden Techniken zumindest theoretisch intensiv auseinandergesetzt hätte. (vielleicht auch praktisch).

    Für mich ist die Entscheidung in für oder gegen Swift gerade dahingehend wichtig, da ich einen Schwerpunkt festlegen muss. Wenn ich mich für die ein oder andere Richtung entschieden habe, kann ich nicht mal grade eben wechseln, sondern muss es letztendlich dann auch zum Ende bringen. Im Moment ist Swift für mich persönlich noch experimentell, was aber damit verbunden ist, dass mir hier noch Erfahrungen fehlen zu dieser Sprache.