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

Auf den ersten Blick eher abschreckend

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema Ansicht wechseln


  1. Auf den ersten Blick eher abschreckend

    Autor: Schattenwerk 27.09.17 - 12:32

    Ich kannte Kotlin bislang nur mit seinen Meta-Daten: Featured bei Android, von JetBrains, kompatibel zu Java etc.

    Heute habe ich mit diesem Beitrag das erste Mal wirklich etwas von der Sprache gesehen und ich muss sagen: Entweder liegt es explizit an den vorgestellten Snippets oder die Sprache gefällt mir einfach nicht.

    Persönlich denke ich, dass es hauptsächlich an der Syntax und weniger ans der Semantik liegt, wobei ich bei dem Beispiel unter "Mehrfachvererbung" schon einem Moment schlucken musste. Das Beispiel mit "Quadrat.farbe" fand ich schon etwas... naja... ungewohnt.

    Vermutlich muss man sich intensiver mit der Sprache beschäftigen und kommt dann auch gut damit zurecht. Schlecht wird sie in den Grundzügen sicherlich nicht sein. JetBrains macht eigentlich gute Arbeit, Google traue ich es nicht zu eine solche Sprache dann als primäre Sprache für Android zu wählen, wenn sie nix taugt.

    Nach diesem Beitrag bin ich jedoch eher ab- als zugeneigt mir diese Sprache anzusehen ;)



    1 mal bearbeitet, zuletzt am 27.09.17 12:48 durch Schattenwerk.

  2. Re: Auf den ersten Blick eher abschreckend

    Autor: dabbes 27.09.17 - 12:37

    Da soll nochmal jemand über JavaScript herziehen ;-)

  3. Re: Auf den ersten Blick eher abschreckend

    Autor: möller 27.09.17 - 13:09

    Für mich stellt sich eher die frage was extension properties/functions mit Mehrfachvererbung zu tun haben...

    val Quadrat.farbe: String
    get() = this.toUpperCase()

    ist halt das equivalent zu java's

    public static String getFarbe(Quadrat q) { return q.farbe.toUpperCase(); }

    und hat gar nichts mit Vererbung zu tun.
    Und die "Mehrfachvererbung" die Kotlin unterstützt ist dieselbe wie in Java8 Interfaces, also doch nichts besonderes, oder?

    Alles in allem kann ich jedem nur empfehlen die Sprache mal ernsthaft (das heißt über Snippets hinaus) auszuprobieren.
    Es macht - so blöd das klingt - einfach viel mehr Spaß in Kotlin zu programmieren als in Java.



    1 mal bearbeitet, zuletzt am 27.09.17 13:09 durch möller.

  4. Re: Auf den ersten Blick eher abschreckend

    Autor: Kastenbrot 27.09.17 - 13:15

    > Nach diesem Beitrag bin ich jedoch eher ab- als zugeneigt mir diese Sprache
    > anzusehen ;)
    sign.
    Aber wir wissen ja, dank Frau Mortler:

  5. Re: Auf den ersten Blick eher abschreckend

    Autor: schap23 27.09.17 - 14:00

    Das wäre wohl ein Fehler.

    Kotlin ist wesentlich ausdrucksstärker wie Java und durch weniger Code, den man schreiben muß, macht man weniger Fehler. Es hat die guten Features unter anderem von Scala, Groovy und C# übernommen ohne dabei mit Features überladen zu sein.

    Wer die Sprache kennenlernen will, sollte sich mal mit den kotlin-katas beschäftigen, entweder in IntelliJ oder im Browser unter try.kotlinlang.org.

  6. Re: Auf den ersten Blick eher abschreckend

    Autor: Pete Sabacker 27.09.17 - 14:06

    schap23 schrieb:
    --------------------------------------------------------------------------------
    > Das wäre wohl ein Fehler.
    >
    > Kotlin ist wesentlich ausdrucksstärker wie Java und durch weniger Code, den
    > man schreiben muß, macht man weniger Fehler. Es hat die guten Features
    > unter anderem von Scala, Groovy und C# übernommen ohne dabei mit Features
    > überladen zu sein.

    Der größte Vorteil von Java geht dabei aber gleichzeitig flöten. Kotlin erinnert mich da an Swift, mit etlichen Schlüsselwörtern und Sprachkonstrukten.

  7. Re: Auf den ersten Blick eher abschreckend

    Autor: sniner 27.09.17 - 14:10

    Schattenwerk schrieb:
    --------------------------------------------------------------------------------
    > Entweder liegt es explizit an den
    > vorgestellten Snippets oder die Sprache gefällt mir einfach nicht.

    Mir gefällt sie auf den ersten Blick gut. Allerdings habe ich einiges mit Scala gemacht und mag seitdem Java überhaupt nicht mehr. Kotlin hat sehr viel von Scala übernommen, wie es aussieht. Mir fehlt in Kotlin der match-Block - zumindest habe ich keine Entsprechung bei Kotlin gesehen.

  8. Re: Auf den ersten Blick eher abschreckend

    Autor: PiranhA 27.09.17 - 14:55

    Ich verstehe auch nicht, warum man sich oftmals ohne erkenntlichen Grund von der bekannten C-Syntax entfernt.
    Bsp: Warum denn "var x: Int = 0"? Da kann man doch auch wahlweise "Int x = 0" oder gleich "var x = 0" schreiben.
    Dann "fun ggt(x: Int = 0, y: Int = 0): Int" anstatt "Int ggt(Int x = 0, Int y = 0)".
    Sowas macht den Wechsel nur unnötig schwer. Ist ja auch nicht so, als würde jemand von heute auf morgen alle anderen Sprachen links liegen lassen. Das erschwert ja nur den parallelen Betrieb.

  9. Re: Auf den ersten Blick eher abschreckend

    Autor: UP87 27.09.17 - 15:01

    PiranhA schrieb:
    --------------------------------------------------------------------------------
    > Bsp: Warum denn "var x: Int = 0"? Da kann man doch auch wahlweise "Int x =
    > 0" oder gleich "var x = 0" schreiben.

    Du kannst "var x = 0" schreiben, da der Typ in diesem Fall abgeleitet werden kann. Dies ist aber nicht immer möglich. Im Zweifelsfall beschwert sich der Compiler (oder auch schon die IDE).

    Grundsätzlich dient diese Schreibweise meines Erachtens nach hauptsächlich der deutlichen Trennung zwischen "var" und "val". Insgesamt ist diese Schreibweise aber auch durchaus gängig. Siehe Swift oder Scala.



    2 mal bearbeitet, zuletzt am 27.09.17 15:03 durch UP87.

  10. Re: Auf den ersten Blick eher abschreckend

    Autor: Das Osterschnabeltier 27.09.17 - 15:14

    schap23 schrieb:
    --------------------------------------------------------------------------------
    > Das wäre wohl ein Fehler.
    >
    > Kotlin ist wesentlich ausdrucksstärker wie Java und durch weniger Code, den
    > man schreiben muß, macht man weniger Fehler. Es hat die guten Features
    > unter anderem von Scala, Groovy und C# übernommen ohne dabei mit Features
    > überladen zu sein.
    >
    > Wer die Sprache kennenlernen will, sollte sich mal mit den kotlin-katas
    > beschäftigen, entweder in IntelliJ oder im Browser unter
    > try.kotlinlang.org.

    Für gewisse Corner cases, ja. Aber sonst hat Kotlin nur wesentlich mehr Syntactic Sugar. Und es gibt selbst in Java Fälle, in denen man mit weniger Code auskommt, da Kotlin kein inline-if kennt.

    Ich mag Kotlin, finde aber dass das absolute Killer-Feature der Sprache die Nullability ist. Alles drum herum ist in vielen Belangen nur Geschmacksache.

  11. Re: Auf den ersten Blick eher abschreckend

    Autor: UP87 27.09.17 - 15:22

    Das Osterschnabeltier schrieb:
    --------------------------------------------------------------------------------
    > Für gewisse Corner cases, ja. Aber sonst hat Kotlin nur wesentlich mehr
    > Syntactic Sugar. Und es gibt selbst in Java Fälle, in denen man mit weniger
    > Code auskommt, da Kotlin kein inline-if kennt.

    Naja doch... Da if in kotlin eine Expression ist.

    String greeting = de == 0 ? "hallo" : "hello";
    wäre in kotlin
    val greeting = if (de == 0) "hallo" else "hello"

  12. Re: Auf den ersten Blick eher abschreckend

    Autor: polmabri 27.09.17 - 15:41

    UP87 schrieb:
    --------------------------------------------------------------------------------
    > Das Osterschnabeltier schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Für gewisse Corner cases, ja. Aber sonst hat Kotlin nur wesentlich mehr
    > > Syntactic Sugar. Und es gibt selbst in Java Fälle, in denen man mit
    > weniger
    > > Code auskommt, da Kotlin kein inline-if kennt.
    >
    > Naja doch... Da if in kotlin eine Expression ist.
    >
    > String greeting = de == 0 ? "hallo" : "hello";
    > wäre in kotlin
    > val greeting = if (de == 0) "hallo" else "hello"

    Genau. Und da in Kotlin Vieles eine Expression ist, funktioniert auch sowas:

    val greeting = when(lang) {
    "de" -> "hallo"
    "fr" -> "bonjour"
    else -> "hello"
    }

  13. Re: Auf den ersten Blick eher abschreckend

    Autor: Dino13 27.09.17 - 15:59

    UP87 schrieb:
    --------------------------------------------------------------------------------
    > Grundsätzlich dient diese Schreibweise meines Erachtens nach hauptsächlich
    > der deutlichen Trennung zwischen "var" und "val". Insgesamt ist diese
    > Schreibweise aber auch durchaus gängig. Siehe Swift oder Scala.

    Also bei durchaus gängig lass ich noch gerne das Swift durchgehen aber Scala macht diese Schreibweise sicherlich nicht gängig. Da fehlt es komplett an Verbreitung.

  14. Re: Auf den ersten Blick eher abschreckend

    Autor: TC 27.09.17 - 17:57

    Da setzt man doch eh ne globale Variable lang=xx und lädt ne Liste oder so...

  15. Re: Auf den ersten Blick eher abschreckend

    Autor: tomatentee 28.09.17 - 09:38

    Die Deklarationssyntax ist die gleiche wie bei go. Hier wird erklärt, warum sie das so gemacht haben: https://blog.golang.org/gos-declaration-syntax

  16. Re: Auf den ersten Blick eher abschreckend

    Autor: cyblord 28.09.17 - 09:39

    schap23 schrieb:
    --------------------------------------------------------------------------------
    > Das wäre wohl ein Fehler.
    >
    > Kotlin ist wesentlich ausdrucksstärker wie Java und durch weniger Code, den
    > man schreiben muß,

    Also darum muss man vor jede Funktion ein FUN schreiben? Was soll das sparen?
    Diese Pascal-Artige, geschwätzige und doppelpunktverseuchte Syntax ist von großem Übel.



    2 mal bearbeitet, zuletzt am 28.09.17 09:41 durch cyblord.

  17. Re: Auf den ersten Blick eher abschreckend

    Autor: Trockenobst 28.09.17 - 10:55

    TC schrieb:
    --------------------------------------------------------------------------------
    > Da setzt man doch eh ne globale Variable lang=xx und lädt ne Liste oder
    > so...

    Closures sind ganz hip gerade. Da sehe ich die schlimmsten Sachen wie simple For Schleifen die man lieber mit ganz wirren Konstrukten umsetzt die drei Leute von 100 auf anhieb verstehen.

    Das führt z.B. bei Scala zu solchen Themen
    https://stackoverflow.com/questions/9842476/

    Verständlicher, Wartungsarmer Code ist das Ziel. Deswegen wird sich, sniper on, vor allem Rust nie wirklich durchsetzen ;) Schon Scala nervt nach einiger Zeit. Kotlin sieht mir auch eher nach "Google hat Geld und wir pushen das Ding jetzt" aus, statt dass man mitdenkt.

    Momentan gefällt mir von allen Sprachen Julia am Besten, saubere simple Syntax und versucht nicht auf Hip zu machen.

    Den Boilerplate von Java kriegt man inzwischen mit Tools weg, das stört im Alltag wenig. Wenn ich mir ansehe wie die C# Freunde drüben im anderen Team mit unfertigen Bibliotheken shit nachentwickeln den es bei C++ und Java seit 10 Jahren gibt - das würde mich total anstinken.

  18. Re: Auf den ersten Blick eher abschreckend

    Autor: demonkoryu 04.10.17 - 17:58

    Closures sind nicht "hip" sondern eine nützliche Abstraktion, die in den letzten Jahren insbesondere durch Ruby und Javascript erstmals breitflächig verwendet werden. Man muss wie immer verstehen, wie sie funktionieren.

    Rust ist genau wie C++ nicht mit dem Ziel geschaffen worden, maximal simpel zu sein, sondern möglichst mächtig zu sein und dabei maximal nahe der Hardware zu bleiben.

    Rust stellt ein C++-Upgrade dar, weil es eingebaute, statisch prüfbare Speichersicherheit und Nebenläufigkeit bei ebendieser bietet. Damit werden Dinge trivial, die vorher selbst für die klügsten Köpfe nicht mehr zu überblicken waren.

    Es gibt einfach Nischen, in denen Sprachen wie C++, Rust, Kotlin usw. ihre Stärken haben und von daher erübrigt sich die Diskussion ob sie sich "durchsetzen", da sie auf jeden Fall etwas in die Entwicklung - zumindest von Programmiersprachen - einbringen.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Head of / Leitung Software Entwicklung Prüftechnik (m/w/d)
    DRÄXLMAIER Group, Vilsbiburg bei Landshut
  2. ADAS R&D Director (m/w/d)
    Valeo Schalter und Sensoren, Bietigheim-Bissingen
  3. Junior Projektleiter Sportservices (m/w/d)
    mika:timing GmbH, Bergisch Gladbach
  4. IT-Mitarbeiter für den 1-Level-Support (m/w/d)
    MVZ Labor Münster Hafenweg GmbH, Münster

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u.a. iRobot Roomba i3 WLAN für 289,99€)
  2. (u.a. AMD Ryzen 5 3,9Ghz für 209€, 16GB DDR4-3600 für 55€) bei Mindfactory
  3. 1.449€ (Bestpreis) bei Mindfactory
  4. über 2.500 Spiele um bis zu 90 Prozent im Preis gesenkt


Haben wir etwas übersehen?

E-Mail an news@golem.de


Dataport: Die Arbeit wird uns nicht so schnell ausgehen
Dataport
"Die Arbeit wird uns nicht so schnell ausgehen"

Ein Job mit Zukunft und Sinnhaftigkeit, sicherer Bezahlung und verlässlichen Arbeitsbedingungen - so hat es Dataport zum Top-IT-Arbeitgeber geschafft.
Von Sebastian Grüner

  1. Arbeiten bei SAP Nur die Gassi-App geht grad nicht
  2. Merck Von der Apotheke zum zweitbesten IT-Arbeitgeber

Sportuhr im Hands-on: Garmin Fenix 7 mit Touchscreen und Saphirglas-Solarstrom
Sportuhr im Hands-on
Garmin Fenix 7 mit Touchscreen und Saphirglas-Solarstrom

Bis zu 37 Tage Akku und erstmals ein Touchscreen: Golem.de hat bereits die Outdoor-Smartwatch-Reihe Fenix 7 von Garmin ausprobiert.
Von Peter Steinlechner

  1. Wearable Garmin Fenix 7X offenbar mit bis zu 37 Tagen Akku

Corona-Warn-App: Hohe Kosten, halbherzige Umsetzung
Corona-Warn-App
Hohe Kosten, halbherzige Umsetzung

Die digitalen Tools zur Pandemiebekämpfung wie die Corona-Warn-App sind nicht billig. Gerade deshalb sollten sie sinnvoll und effektiv genutzt werden.
Ein IMHO von Friedhelm Greis

  1. Corona-Warn-App Jede geteilte Warnung kostete 100 Euro
  2. 2G oder 3G plus Neue Version der Corona-Warn-App zeigt Gesamtstatus an
  3. Gesundheitsministerium Unzureichende CovPassCheck-App wird nicht überarbeitet