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. Verlag C.H.BECK, München Schwabing
  2. Süwag Energie AG, Frankfurt am Main
  3. Hays AG, Fürth
  4. BWI GmbH, Berlin, München, Nürnberg, Rheinbach

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (aktuell u. a. Edifier R1700BT für 114,90€ + Versand)
  2. Notebooks, PCs und Monitore reduziert
  3. 279€ (Bestpreis!)
  4. Aktionsprodukt ab 399€ kaufen und Coupon erhalten


Haben wir etwas übersehen?

E-Mail an news@golem.de


Ursula von der Leyen: Von Zensursula zur EU-Kommissionspräsidentin
Ursula von der Leyen
Von "Zensursula" zur EU-Kommissionspräsidentin

Nach der "Rede ihres Lebens" hat das Europäische Parlament am Dienstagabend Ursula von der Leyen an die Spitze der EU-Kommission gewählt. Die Christdemokratin will sich in ihrem neuen Amt binnen 100 Tagen für einen Ethik-Rahmen für KI und ambitioniertere Klimaziele stark machen. Den Planeten retten, lautet ihr ganz großer Vorsatz.
Ein Bericht von Justus Staufburg

  1. Adsense for Search Neue Milliardenstrafe gegen Google in der EU

Energie: Wo die Wasserstoffqualität getestet wird
Energie
Wo die Wasserstoffqualität getestet wird

Damit eine Brennstoffzelle einwandfrei arbeitet, braucht sie sauberen Wasserstoff. Wie aber lassen sich Verunreinigungen bis auf ein milliardstel Teil erfassen? Am Testfeld Wasserstoff in Duisburg wird das erprobt - und andere Technik für die Wasserstoffwirtschaft.
Ein Bericht von Werner Pluta

  1. Autos Elektro, Brennstoffzelle oder Diesel?
  2. Energiespeicher Heiße Steine sind effizienter als Brennstoffzellen
  3. Klimaschutz Großbritannien probt für den Kohleausstieg

Ricoh GR III im Test: Kompaktkamera mit Riesensensor, aber ohne Zoom
Ricoh GR III im Test
Kompaktkamera mit Riesensensor, aber ohne Zoom

Kann das gutgehen? Ricoh hat mit der GR III eine Kompaktkamera im Sortiment, die mit einem APS-C-Sensor ausgerüstet ist, rund 900 Euro kostet und keinen Zoom bietet. Wir haben die Kamera ausprobiert.
Ein Test von Andreas Donath

  1. Theta Z1 Ricoh stellt 360-Grad-Panoramakamera mit Profifunktionen vor
  2. Ricoh GR III Eine halbe Sekunde Belichtungszeit ohne Stativ

  1. Samsung Space im Kurztest: Platz auf dem Desktop, Platz auf dem Schreibtisch
    Samsung Space im Kurztest
    Platz auf dem Desktop, Platz auf dem Schreibtisch

    Endlich ist wieder Platz auf dem Schreibtisch für all die Kaffeetassen, Visitenkarten und Sammelfiguren. Der 32 Zoll große Samsung-Space-Monitor mit 4K-Auflösung wird nämlich an seinem Schwenkstand an die Tischkante geklemmt. Das interessante Konzept hat aber ein paar Einschränkungen.

  2. VR-Rundschau: Mit Vader auf die dunkle Seite des Headsets
    VR-Rundschau
    Mit Vader auf die dunkle Seite des Headsets

    Oculus Rift S, Valve Index und HTC Vive Pro: Dieses Jahr erscheinen viele neue Virtual-Reality-Headsets. Aber können die Inhalte mithalten? Wir meinen: ja - und stellen die bislang besten VR-Games von 2019 vor.

  3. Reichweitenangst: Mit dem E-Auto von China nach Deutschland
    Reichweitenangst
    Mit dem E-Auto von China nach Deutschland

    Skeptiker der Elektromobilität bemängeln fehlende Ladestationen und geringe Reichweiten. Das Elektroauto-Startup Aiways will dem begegnen und mit seinen Elektro-SUVs eine 14.200 Kilometer lange Strecke zurücklegen - auch durch die Wüste Gobi.


  1. 09:27

  2. 07:51

  3. 07:50

  4. 19:25

  5. 18:00

  6. 17:31

  7. 10:00

  8. 13:00