Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Programmiersprache: Swift…

In wieweit sinnvoll?

  1. Thema

Neues Thema Ansicht wechseln


  1. In wieweit sinnvoll?

    Autor: bstea 03.12.15 - 21:51

    Apple müsste schon seine Frameworks soweit öffnen und die müssten auf anderen Systemen lauffähig sein, damit der gleiche Code auch überall funktionieren kann. Sonst hat man so ein Murks wie bei Delphi und FPC/Lazarus. Die einen geben die Richtung vor, bauen Müll ohne Ende und lassen es sich teuer bezahlen. Die anderen kommen nicht hinterher oder wollen nicht weil die Änderungen suboptimal für das komplette Ölkosystem sind.

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!

  2. Re: In wieweit sinnvoll?

    Autor: TheUnichi 03.12.15 - 22:17

    bstea schrieb:
    --------------------------------------------------------------------------------
    > Apple müsste schon seine Frameworks soweit öffnen und die müssten auf
    > anderen Systemen lauffähig sein, damit der gleiche Code auch überall
    > funktionieren kann. Sonst hat man so ein Murks wie bei Delphi und
    > FPC/Lazarus. Die einen geben die Richtung vor, bauen Müll ohne Ende und
    > lassen es sich teuer bezahlen. Die anderen kommen nicht hinterher oder
    > wollen nicht weil die Änderungen suboptimal für das komplette Ölkosystem
    > sind.

    Es ist die Sprache selbst, die interessant ist.

    Eine gute, einfache, stabile, saubere und dynamische Syntax und viele sinnvolle Sprachkonstrukte.

  3. Re: In wieweit sinnvoll?

    Autor: Schnarchnase 03.12.15 - 22:49

    TheUnichi schrieb:
    --------------------------------------------------------------------------------
    > Es ist die Sprache selbst, die interessant ist.

    Durchaus, wobei sie noch weitaus interessanter wäre, wenn wirklich plattformübergreifende Anwendungen möglich wären.

    > Eine gute, einfache, stabile, saubere und dynamische Syntax und viele
    > sinnvolle Sprachkonstrukte.

    Damit ist Swift allerdings nicht allein, Rust ist noch mal deutlich sauberer und stabiler. Hat zudem einen Compiler der wirklich gute, ausführliche Fehlermeldungen ausspuckt und mit Cargo ein gutes Package-Management. Ok, für viele Entwickler braucht es einige Zeit der Um-/Eingewöhnung und wird daher vielleicht nicht als so einfach angesehen.

    Wie auch immer, auf der Sprachebene ist Rust für mich mit Abstand die interessanteste Sprache aktuell, vor Swift und Go (ja ich weiß, die sind nur eingeschränkt vergleichbar).

  4. ++ sehe ich genauso

    Autor: miauwww 04.12.15 - 10:20

    > > Eine gute, einfache, stabile, saubere und dynamische Syntax und viele
    > > sinnvolle Sprachkonstrukte.
    >
    > Damit ist Swift allerdings nicht allein, Rust ist noch mal deutlich
    > sauberer und stabiler. Hat zudem einen Compiler der wirklich gute,
    > ausführliche Fehlermeldungen ausspuckt und mit Cargo ein gutes
    > Package-Management. Ok, für viele Entwickler braucht es einige Zeit der
    > Um-/Eingewöhnung und wird daher vielleicht nicht als so einfach angesehen.
    >
    > Wie auch immer, auf der Sprachebene ist Rust für mich mit Abstand die
    > interessanteste Sprache aktuell, vor Swift und Go (ja ich weiß, die sind
    > nur eingeschränkt vergleichbar).

    Wie jemand auf phoronix sagte, Zitat (es geht da zudem noch um laziness bei Haskell):
    Swift is more like a poor amputated man's version of Rust.

    Rust also does lazy evaluation like Haskell.

    Code:

    fn main() {
    let numbers: Vec<usize> = (1..).map(|x| x * x).take(10).collect();
    println!("{:?}", numbers);
    }

    quelle:
    http://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/838165-apple-s-swift-is-now-open-source-development-snapshots-for-ubuntu/page3

  5. Re: In wieweit sinnvoll?

    Autor: stoneburner 04.12.15 - 11:26

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------

    > Damit ist Swift allerdings nicht allein, Rust ist noch mal deutlich
    > sauberer und stabiler.

    gibts da auch eine quelle?

  6. Re: In wieweit sinnvoll?

    Autor: TheUnichi 04.12.15 - 15:15

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > Damit ist Swift allerdings nicht allein, Rust ist noch mal deutlich
    > sauberer und stabiler. Hat zudem einen Compiler der wirklich gute,
    > ausführliche Fehlermeldungen ausspuckt und mit Cargo ein gutes
    > Package-Management. Ok, für viele Entwickler braucht es einige Zeit der
    > Um-/Eingewöhnung und wird daher vielleicht nicht als so einfach angesehen.

    Wo ist den Rust sauberer?

    Ich will nicht "fn" schreiben müssen und "|i|" finde ich ebenfalls zum kotzen.
    Kurz !== sauber.

    Und Schreibarbeit nimmt die IDE einem sowieso ab, also ist das auch kein Argument für "fn". Das einzige, was es macht, ist den Code komplexer wirken lassen und Laien erst Recht abschrecken.

    > Wie auch immer, auf der Sprachebene ist Rust für mich mit Abstand die
    > interessanteste Sprache aktuell, vor Swift und Go (ja ich weiß, die sind
    > nur eingeschränkt vergleichbar).

    Für mich ist das, auch nach Swift, nach wie vor JavaScript.
    Ab ECMAScript 7 wird es keine Anwendungsfälle mehr geben, die JavaScript nicht abdecken kann, selbst tiefste Systemprogrammierung (mit den entsprechenden Compilern und Runtimes)

  7. Re: In wieweit sinnvoll?

    Autor: Schnarchnase 04.12.15 - 18:27

    TheUnichi schrieb:
    --------------------------------------------------------------------------------
    > Wo ist den Rust sauberer?

    Es gibt kein null/nil. Das Ownership-Modell ist super, es ist jederzeit klar wo Daten verändert werden können und wo nicht. Nebenläufigkeit ist damit sehr einfach, wenn auch etwas „verbose“. Fast alles in Rust ist eine Expression, du kannst zum Beispiel „match“ einer Variablen zuweisen, das geht mit switch in Swift nicht (da es ein Statement ist).

    Das ist mir jetzt nur auf die Schnelle eingefallen, es gibt wahrscheinlich noch den ein oder anderen Punkt, wobei es auch schicke Sachen in Swift gibt die mir in Rust fehlen, wie zum Beispiel Namen für Parameter.

    > Ich will nicht "fn" schreiben müssen und "|i|" finde ich ebenfalls zum
    > kotzen.

    Ob das nun „fn“ oder „func“ heißt ist ja wohl wurscht, wenn du schon meckern willst, dann müsstest du beide gleichermaßen kritisieren, denn eigentlich heißt das „function“ und nicht anders. Closures mit Pipes zu schreiben ist auch nicht seltsamer als Swifts Syntax.

    > Kurz !== sauber.

    Jo, was aber eher ein Argument gegen Swift ist. Da wird deutlich mehr implizit gemacht, während du in Rust alles explizit schreiben musst. Die Optionals mit ? und ! zu unterscheiden nervt in der Praxis eher, in Rust musst du immer explizit unwrappen oder Patternmatching nutzen.


    Das ist aber alles jammern auf hohem Niveau, Swift und Rust sind beides sehr „gute“ Sprachen, bei Rust habe ich nur den Eindruck dort wurde mehr von Anfang an durchdacht und konsequent durchgezogen. Es hat aber vor der Version 1.0 auch einige Anläufe und Änderungen gebraucht.

  8. Re: In wieweit sinnvoll?

    Autor: stoneburner 04.12.15 - 19:58

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > TheUnichi schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wo ist den Rust sauberer?
    >
    > Es gibt kein null/nil. Das Ownership-Modell ist super, es ist jederzeit
    > klar wo Daten verändert werden können und wo nicht.

    in swift können variablen und konstanten nicht nil sein, ausser man erlaubt es als optional, mal abgesehen davon das alles was als konstanten definiert ist nicht verändert werden kann (nasowas)


    > Nebenläufigkeit ist
    > damit sehr einfach, wenn auch etwas „verbose“. Fast alles in
    > Rust ist eine Expression, du kannst zum Beispiel „match“ einer
    > Variablen zuweisen, das geht mit switch in Swift nicht (da es ein Statement
    > ist).

    in swift gehen die cases auch ohne switch


    > Das ist mir jetzt nur auf die Schnelle eingefallen, es gibt wahrscheinlich
    > noch den ein oder anderen Punkt, wobei es auch schicke Sachen in Swift gibt
    > die mir in Rust fehlen, wie zum Beispiel Namen für Parameter.
    >
    > > Ich will nicht "fn" schreiben müssen und "|i|" finde ich ebenfalls zum
    > > kotzen.
    >
    > Ob das nun „fn“ oder „func“ heißt ist ja wohl
    > wurscht, wenn du schon meckern willst, dann müsstest du beide gleichermaßen
    > kritisieren, denn eigentlich heißt das „function“ und nicht
    > anders. Closures mit Pipes zu schreiben ist auch nicht seltsamer als Swifts
    > Syntax.
    >
    > > Kurz !== sauber.
    >
    > Jo, was aber eher ein Argument gegen Swift ist. Da wird deutlich mehr
    > implizit gemacht, während du in Rust alles explizit schreiben musst. Die
    > Optionals mit ? und ! zu unterscheiden nervt in der Praxis eher, in Rust
    > musst du immer explizit unwrappen oder Patternmatching nutzen.
    >
    > Das ist aber alles jammern auf hohem Niveau, Swift und Rust sind beides
    > sehr „gute“ Sprachen, bei Rust habe ich nur den Eindruck dort
    > wurde mehr von Anfang an durchdacht und konsequent durchgezogen. Es hat
    > aber vor der Version 1.0 auch einige Anläufe und Änderungen gebraucht.

    ich würde sagen beide sprachen sind völlig ok (auch wenn ich persönlich aus beruflichen gründen swift bevorzuge ;) )

    p.s.

    interessanterweise ist swift nach einem tag eines der beliebtesten projekte auf github (wenn man nach der anzahl der vergebeben sterne geht zumindest)

    https://github.com/apple/swift 16723
    https://github.com/rust-lang/rust 14373
    https://github.com/scala/scala 5198
    https://github.com/ruby/ruby 8583
    https://github.com/php/php-src 8119

    (nicht das das irgendein qualitätsmerkmal wäre, es ist nur interessant das das in einem tag passiert)

  9. Re: In wieweit sinnvoll?

    Autor: Schnarchnase 05.12.15 - 00:26

    > in swift können variablen und konstanten nicht nil sein, ausser man erlaubt
    > es als optional, mal abgesehen davon das alles was als konstanten definiert
    > ist nicht verändert werden kann (nasowas)

    Optionals können nil sein und damit auch die Variable die das Optional hält. In Rust ist übrigens alles Konstant, was nicht explizit als mutable definiert wird, das finde ich super, das schließt unerwartete Seiteneffekte nahezu aus.

    > in swift gehen die cases auch ohne switch

    Wie soll das gehen? Hast du ein Beispiel? So was ist mir bisher nicht untergekommen.

  10. Re: In wieweit sinnvoll?

    Autor: stoneburner 05.12.15 - 10:47

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > > in swift können variablen und konstanten nicht nil sein, ausser man
    > erlaubt
    > > es als optional, mal abgesehen davon das alles was als konstanten
    > definiert
    > > ist nicht verändert werden kann (nasowas)
    >
    > Optionals können nil sein und damit auch die Variable die das Optional
    > hält.

    und wenn man keine optionals verwendet, dann kann nichts nil sein, ich verstehe nicht was das problem an einer option ist etwas auf expliziten wunsch "nil fähig" zu machen
    per default ists ja nicht so

    > In Rust ist übrigens alles Konstant, was nicht explizit als mutable
    > definiert wird, das finde ich super, das schließt unerwartete Seiteneffekte
    > nahezu aus.

    in swift ist alles was mit let definiert ist konstant, wo ist da der unterschied?

    > > in swift gehen die cases auch ohne switch
    >
    > Wie soll das gehen? Hast du ein Beispiel? So was ist mir bisher nicht
    > untergekommen.

    steht weiter unten auf der seite:

    http://appventure.me/2015/08/20/swift-pattern-matching-in-detail/#sec-3-7

    swift und rust ähneln sich, chris lattner hat auch gesagt das er sich von rust inspirieren lies https://de.wikipedia.org/wiki/Swift_(Programmiersprache)

  11. Re: In wieweit sinnvoll?

    Autor: Proctrap 05.12.15 - 23:40

    Und läuft auch nochmal performanter, da RAC entfüllt für malloc.

  12. Re: In wieweit sinnvoll?

    Autor: TheUnichi 09.12.15 - 17:51

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > TheUnichi schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wo ist den Rust sauberer?
    >
    > Es gibt kein null/nil. Das Ownership-Modell ist super, es ist jederzeit
    > klar wo Daten verändert werden können und wo nicht. Nebenläufigkeit ist
    > damit sehr einfach, wenn auch etwas „verbose“. Fast alles in
    > Rust ist eine Expression, du kannst zum Beispiel „match“ einer
    > Variablen zuweisen, das geht mit switch in Swift nicht (da es ein Statement
    > ist).
    >
    > Das ist mir jetzt nur auf die Schnelle eingefallen, es gibt wahrscheinlich
    > noch den ein oder anderen Punkt, wobei es auch schicke Sachen in Swift gibt
    > die mir in Rust fehlen, wie zum Beispiel Namen für Parameter.

    Das "Alles-ist-eine-Expression"-Konzept hat Vor- und Nachteile.

    Klar kürzt es einige Konstrukte extrem ab, auf der anderen Seite sind eben diese damit auch komplexer gestaltet und der Laie hat mehr zu lernen.

    Wohlgemerkt, ich habe nichts gegen diese Konstrukte und würde sie auch gerne in JavaScript sehen, anders herum, lässt sich das in JavaScript jederzeit mit einer Closure lösen

    let result = ((a) => {
    switch(false) {
    case !(a > 1000): return 1000;
    case !(a > 500): return 500;
    case !(a > 100): return 100;
    default: return a;
    }
    )(someValue);

    Klar, sieht das für den Laien erst recht komplexer aus, aber grundsätzlich funktioniert es (CoffeeScript realisiert so z.B. die Expressions)

    > > Ich will nicht "fn" schreiben müssen und "|i|" finde ich ebenfalls zum
    > > kotzen.
    >
    > Ob das nun „fn“ oder „func“ heißt ist ja wohl
    > wurscht, wenn du schon meckern willst, dann müsstest du beide gleichermaßen
    > kritisieren, denn eigentlich heißt das „function“ und nicht
    > anders. Closures mit Pipes zu schreiben ist auch nicht seltsamer als Swifts
    > Syntax.

    Entweder "function" oder gar nichts.

    <returnType> <identifier>(<args>)

    Verstehe nicht, an welchem Punkt das nicht parsebar sein soll.

    > > Kurz !== sauber.
    >
    > Jo, was aber eher ein Argument gegen Swift ist. Da wird deutlich mehr
    > implizit gemacht, während du in Rust alles explizit schreiben musst. Die
    > Optionals mit ? und ! zu unterscheiden nervt in der Praxis eher, in Rust
    > musst du immer explizit unwrappen oder Patternmatching nutzen.
    >
    > Das ist aber alles jammern auf hohem Niveau, Swift und Rust sind beides
    > sehr „gute“ Sprachen, bei Rust habe ich nur den Eindruck dort
    > wurde mehr von Anfang an durchdacht und konsequent durchgezogen. Es hat
    > aber vor der Version 1.0 auch einige Anläufe und Änderungen gebraucht.

    Ich will Rust um Gottes Willen nicht schlecht reden, ich persönlich finde sie nur einfach...wie soll ich sagen, hässlig. Nicht, weil sie schlecht funktioniert oder sonst irgendwelche größeren Makel hat.

    Ich finde auch C# schöner als Java, weil dort alles mit Großbuchstaben beginnt, während selbiges in PHP z.B. ziemlich beschissen aussieht.
    Aber das ist sehr subjektiv.

    Swift kürzt an vielen Punkten nicht, schon in den Standard-Bibliotheken nicht.

    Die Named Arguments, die man an vielen Punkten auch braucht z.B., sind in der Regel recht lang (und beschreiben damit das Argument auch umfangreich).

    Kommt dann auf die IDE an, ob das nervig ist oder nicht.

  1. Thema

Neues Thema Ansicht wechseln


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

Stellenmarkt
  1. Schwarz Dienstleistung KG, Neckarsulm
  2. Dataport, Bremen, Magdeburg, Rostock
  3. SIZ Informatikzentrum der Sparkassenorganisation GmbH, Bonn
  4. Dataport, Altenholz bei Kiel

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 39,99€ (Release am 3. Dezember)
  2. (aktuell u. a. Corsair Glaive RGB Gaming-Maus für 32,99€, Microsoft Office 365 Home 1 Jahr für...
  3. (u. a. HP 34f Curved Monitor für 389,00€, Acer 32 Zoll Curved Monitor für 222,00€, Seasonic...
  4. (u. a. Star Wars Battlefront 2 für 9,49€, PSN Card 20 Euro für 18,99€)


Haben wir etwas übersehen?

E-Mail an news@golem.de


WLAN-Kameras ausgeknipst: Wer hat die Winkekatze geklaut?
WLAN-Kameras ausgeknipst
Wer hat die Winkekatze geklaut?

Weg ist die Winkekatze - und keine unserer vier Ãœberwachungskameras hat den Dieb gesehen. Denn WLAN-Cams von Abus, Nest, Yi Technology und Arlo lassen sich ganz einfach ausschalten.
Von Moritz Tremmel

  1. Wi-Fi 6 Router und Clients für den neuen WLAN-Standard
  2. Wi-Fi 6 und 802.11ax Was bringt der neue WLAN-Standard?
  3. Brandenburg Vodafone errichtet 1.200 kostenlose WLAN-Hotspots

Linux-Kernel: Selbst Google ist unfähig, Android zu pflegen
Linux-Kernel
Selbst Google ist unfähig, Android zu pflegen

Bisher gilt Google als positive Ausnahme von der schlechten Update-Politik im Android-Ökosystem. Doch eine aktuelle Sicherheitslücke zeigt, dass auch Google die Updates nicht im Griff hat. Das ist selbst verschuldet und könnte vermieden werden.
Ein IMHO von Sebastian Grüner

  1. Kernel Linux bekommt Unterstützung für USB 4
  2. Kernel Vorschau auf Linux 5.4 bringt viele Security-Funktionen
  3. Linux Lockdown-Patches im Kernel aufgenommen

Alexa: Das allgegenwärtige Ohr Amazons
Alexa
Das allgegenwärtige Ohr Amazons

Die kürzlich angekündigten Echo-Produkte bringen Amazons Sprachassistentin Alexa auf die Straße und damit Datenschutzprobleme in die U-Bahn oder in bisher Alexa-freie Wohnzimmer. Mehrere Landesdatenschutzbeauftragte haben Golem.de erklärt, ob und wie die Geräte eingesetzt werden dürfen.
Von Moritz Tremmel

  1. Digitaler Assistent Amazon bringt neue Funktionen für Alexa
  2. Echo Frames und Echo Loop Amazon zeigt eine Brille und einen Ring mit Alexa
  3. Alexa Answers Nutzer smarter Lautsprecher sollen Alexa Wissen beibringen

  1. Huawei: "No Fiber - No Future"
    Huawei
    "No Fiber - No Future"

    Auf einem Forum der Festnetzbetreiber erklärt Huawei, dass 5G ohne Glasfaser keine Grundlage habe. Glasfaser sei die beste, vielleicht die einzige Wahl.

  2. OpenAI: Roboterarm löst Zauberwürfel einhändig
    OpenAI
    Roboterarm löst Zauberwürfel einhändig

    Zuerst in Tausenden parallelen Simulationen, dann in der echten Welt: Der Roboterarm von OpenAI kann bereits einen Zauberwürfel einhändig lösen. Gesteuert wird er von einer Software, die sich den Ablauf selbst beigebracht hat. Trotzdem ist das in der echten Welt noch eine Herausforderung.

  3. Virtual Reality: Google gibt Daydream auf
    Virtual Reality
    Google gibt Daydream auf

    Die neuen Pixel-4-Geräte unterstützen Googles VR-Dienst Daydream nicht mehr - und Google hat eigenen Angaben zufolge auch nicht vor, weitere Geräte entsprechend zu zertifizieren oder weiter das Daydream-View-Headset zu verkaufen. Damit dürfte Googles VR-Lösung Geschichte sein.


  1. 11:00

  2. 10:51

  3. 10:35

  4. 10:13

  5. 10:09

  6. 10:00

  7. 08:10

  8. 18:25