Angst vor Kotlin

Diskutiere Angst vor Kotlin im JVM Sprachen: Scala, Groovy, Jython... Forum; Außerdem halte ich die Properties ein unglaublich wichtiges Feature, das zudem auch noch besser umgesetzt ist als bei der Konkurrenz C#. Jaein....

  1. Flown
    Flown Administrator Mitarbeiter
    Jaein. Ich habe es immer für ein Feature gehalten und auch Scala lange Zeit programmiert und ich finde es persönlich lästig, wenn man im Klassenkopf! nach Properties suchen muss. Auch wenn es in C# ein wenig bloated ist, ist es doch strutkturierter.
    Sind auch Geschmacksache. Operator Overloading ist zwar nett, aber wer verwendet das wirklich. Ich kann nur von mir und meinen Kollegen ausgehen. Wir haben viele Projekte und richten die Technologien - oft nach Kundenwunsch - so aus, dass sie modern sind. Lange Zeit haben wir was mit C#/.net MVC/Dapper gemacht und da haben wir Operator Overloading genau 0 mal eingesetzt. Weil schlicht und ergreifend eine Methode mehr aussagekraft hat.

    Im Allgemeinen sind Extension Methods kontraproduktiv, wenn es um OOP geht. Denn was sind sie? Static Singleton und ich glaube wir haben dazu mal ein richtig langes Gespräch geführt, dass es die Testbarkeit, DI, etc. vermindert.

    Es hat wirklich keine "neuen", "innovativen" Features, aber wenn man sich darin wohl fühlt und für einen passt und dann auch noch ein Projekt damit realisieren kann, dann einfach: Do as you please!
     
    Zuletzt bearbeitet: 5. Okt. 2017
  2. CSHW89
    CSHW89 Aktives Mitglied
    @Flown zu Operator Overloading: ob man es in eigenen Klassen einsetzt oder nur benutzt sind zwei verschiedene Dinge. Beim ersten Punkt glaube ich dir die 0, aber beim zweiten? Kein Indexzugriff über "[]"? Wenn eine Sprache Operator Overloading anbietet, kommt es ja auch der Standardlibrary zu gute. Warum muss man in Java "chararray[k]", "charlist.get(k)" und "string.charAt(k)" schreiben, wenn es quasi das gleiche macht? Die arithmetischen Operatoren bei BigInteger sind auch so ein Fall.
    Man muss mit diesem Feature halt sehr behutsam vorgehen. Ein häufiger Anwendungsfall in eigenen Klassen sehe ich im übrigen bei Vergleichen. Das Erlauben von Vergleichsoperatoren bei Instanzen von Comparable (über die compareTo-Methode) wäre doch schön.

    Grüße
    Kevin
     
  3. Flown
    Flown Administrator Mitarbeiter
    Wenn du Indexer zu Operator-overloading dazuzählst, ok. Trotzdem nicht in den eigenen Klassen implementiert, da die Standardbibliothek einfach mächtig genug war (C# - exzessives Linq).
    Wäre nett wenn man das hätte oder vielleicht sogar als Standardtyp behandelt.
    Exakt, sonst siehst aus wie in Scala mit den Tausend "Operatoren" :+, +:, <:<, etc.. Das ist nicht aussagekräftig und nicht lesbar.
    Das könnte ich mir gut vorstellen, aber in Produktionscode habe ich selten Comparable/Comparator implementiert (meist weil die UI Komponenten das schon selbst können - Tables).
     
  4. Flown
    Flown Administrator Mitarbeiter
    Ich möchte das ja keinem madig reden. Jeder sollte das für sich entscheiden was lesbar und leicht zu verstehen ist. Ich wollte eigentlich nur ausdrücken, dass kürzer oft nicht lesbarer bedeutet. Auch das eine Methode oft aussagekräftiger ist, als ein Operator. Natürlich gibt es da Ausnahmen, wie Indexer, oder Operatoratoren für mathematische Komponenten (e.g. BigInteger).

    Aber eigentlich geht es um Kotlin und ich bin der Meinung, dass es keine Innovation bietet und nur eine kurze Hype-Welle ist. Aber mal schauen, vielleicht werde ich ja eines Besseren belehrt.
     
    JStein52 gefällt das.
  5. Tobse
    Tobse Bekanntes Mitglied
    Sehe ich auch so - verglichen mit anderen Sprachen ist es nur eine weitere ohne Alleinstellungsmerkmal. Aber es enthält viele Dinge, die ich in Java vermisse, und welche in der Community gut ankommen (siehe C#, TypeScript, @NonNull-Annotation Preprocessoren für Java, ...)
     
    Flown gefällt das.
  6. Flown
    Flown Administrator Mitarbeiter
    Nicht direkt vermissen, sondern mit Mehraufwand verbunden ist.
     
  7. dzim
    dzim Bekanntes Mitglied
    Sagen wir es doch so: "Konkurrenz belebt das Geschäft." Vielleicht erhält dadurch - und durch den versprochenen Boost in der Release-Geschwindigkeit - Java endlich mal die Möglichkeit, auch mit moderneren Features nachzuziehen.
    Man kann sich zwar streiten, ob all die Features in einer primär OOP-Sprache etwas zu suchen haben, aber da Java ja auch nur bedingt OOP ist, wird dadurch auch nichts "verseucht". Undegal, ob Kotlin persönlich gefällt, oder nicht: Wenn der einzelene Entwickler dadurch sich besser "fühlt" oder effizienter wird, dann lasst es doch zu. Sonst könnte man ja gleich sagen, alle anderen Sprachen haben auf der JVM nichts zu suchen. Kotlin hat seinen Hype und auch wie bei Groovy u.ä. wird sich das wieder etwas geben. Ok. Vielleicht nicht ganz, denn durch den "Ritterschlag" durch Google werden es natürlich sehr viele auf Android nutzen...
     
Die Seite wird geladen...

Angst vor Kotlin - Ähnliche Themen

Teile und Herrsche, längstes absteigendes Teilarray bestimmen
Teile und Herrsche, längstes absteigendes Teilarray bestimmen im Forum Java Basics - Anfänger-Themen
Längstekette
Längstekette im Forum Hausaufgaben
längstes tuple
längstes tuple im Forum Java Basics - Anfänger-Themen
Längstes Wort eines Strings herausfinden
Längstes Wort eines Strings herausfinden im Forum Java Basics - Anfänger-Themen
String-Collection: längste gemeinsame Strings / Prefixe
String-Collection: längste gemeinsame Strings / Prefixe im Forum Allgemeine Java-Themen
Thema: Angst vor Kotlin