1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Kotlin: Das bessere Java

Wie alles auf der Welt - Geschmackssache

Für Konsolen-Talk gibt es natürlich auch einen Raum ohne nerviges Gedöns oder Flamewar im Freiraum!
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Wie alles auf der Welt - Geschmackssache

    Autor: dit 06.11.20 - 11:44

    Wir arbeiten öfter mal an Projekten die mit Kotlin aber auch standard Java umgesetzt werden.

    Generell mag ich Kotlin. Aber was Lesbarkeit angeht haben wir andere Erfahrungen gesammelt. Bisher, aus Erfahrung, kann ich sagen das die Entwickler gefühlt besser mit Java klarkommen. Sowohl Junge als auch ältere Entwickler. Es gibt sehr wenig "schnick-schnack" wie "wenn" oder variable?

    Die ganz jungen, vor allem Studenten stehen voll auf Kotlin (wie damals während Scala-Hype). Argumente dabei sind "das kann man besser machen als in Java" - dabei stellt man fest, dass es auch in Javs sehr einfach geht, wenn man guten Objektorientierten "Clean"-Code schreibt. Und auch über das "es geht besser" kann man auch streiten.

    Das wichtigste finde ich, man soll lernen richtig zu programmieren, egal mit welcher Sprache. Dann wird der Code auch einfach und lesbar.

  2. Re: Wie alles auf der Welt - Geschmackssache

    Autor: NaTopp 06.11.20 - 11:51

    Ich stimme dir in der generellen Aussage zu. _Persönlich_ bevorzuge ich dann dennoch Kotlin, weil es mir nicht so boilerplate-mäßig vorkommt wie Java. Habe mit beiden Sprachen aber auch nur eher am Rande mal zu tun - im Alltag findet dann doch TypeScript Anwendung und ich glaube vielleicht gefällt mir daher Kotlin auch ein wenig besser (mehr Parallelen).

  3. Re: Wie alles auf der Welt - Geschmackssache

    Autor: pioneer 06.11.20 - 11:52

    (Klassische) Objektorientierung ist aber auch auf dem absteigenden Ast. Das wird auch von Clean Code Uncle Bob in den letzten Jahren so gesehen und kommuniziert.

    Functional Style ist in. Pure and stateless. Horizontal skalierbar bis in die Unendlichkeit ;-)

    Ist In Java (ab V8) und in Kotlin auch gut umsetzbar und der Way to Go. Das Spring Framework hat sich in den letzten Versionen auch sehr auf diesen Stil konzentriert und m.E. lohnt es sehr, sich diesen anzueignen.

  4. Nein, sorry.

    Autor: wasdeeh 06.11.20 - 11:58

    Dinge wie Null Safety und Immutability sind *keine* Geschmackssache.

  5. Re: Wie alles auf der Welt - Geschmackssache

    Autor: divStar 06.11.20 - 12:24

    Es gibt aber Bibliotheken wie Project Lombok, die auch in Java bei entsprechenden Annotationen Methoden generieren. Auch gibt es Dinge im Spring Framework, die einiges an Methoden generieren.
    Generell weiß ich aber, dass einige Entwickler im JEE Umfeld nicht einmal Java 8 können. Von denen zu verlangen Kotlin zu können ist absurd - es sei denn sie werden geschult.

  6. Re: Wie alles auf der Welt - Geschmackssache

    Autor: \pub\bash0r 06.11.20 - 12:27

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > Ist In Java (ab V8) und in Kotlin auch gut umsetzbar und der Way to Go.
    > Das Spring Framework hat sich in den letzten Versionen auch sehr auf diesen
    > Stil konzentriert und m.E. lohnt es sehr, sich diesen anzueignen.


    Den Way to _Go_ kann ich auf jeden Fall auch empfehlen ;-)

  7. Re: Wie alles auf der Welt - Geschmackssache

    Autor: Dino13 06.11.20 - 12:31

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > (Klassische) Objektorientierung ist aber auch auf dem absteigenden Ast. Das
    > wird auch von Clean Code Uncle Bob in den letzten Jahren so gesehen und
    > kommuniziert.
    >
    > Functional Style ist in. Pure and stateless. Horizontal skalierbar bis in
    > die Unendlichkeit ;-)
    >
    > Ist In Java (ab V8) und in Kotlin auch gut umsetzbar und der Way to Go.
    > Das Spring Framework hat sich in den letzten Versionen auch sehr auf diesen
    > Stil konzentriert und m.E. lohnt es sehr, sich diesen anzueignen.

    Dafür das funktionelles Programmieren "the way to go" ist, stagnieren die rein funktionellen Programmiersprachen auf einem sehr kleinem Niveau. Vielmehr sollte man Sprachen entsprechend den Anforderungen verwenden.

  8. Re: Nein, sorry.

    Autor: pioneer 06.11.20 - 12:34

    wasdeeh schrieb:
    --------------------------------------------------------------------------------
    > Dinge wie Null Safety und Immutability sind *keine* Geschmackssache.

    Doch, im Grunde schon. Sie gehören zum Geschmack, der sich in den letzten Jahren ändert, vor allem dadurch, dass die Single Core-Leistung von Prozessoren nicht mehr steigt und daher horizontale Skalierung forciert werden muss. Die Cloud spielt dabei natürlich auch eine große Rolle. Das erfordert Statelessness, Immutability und einfache Parallelisierung.

    - Java 14 bringt records (vermutlich in 16 nicht mehr preview)
    - @NotNull exisiert schon länger
    - Immutable Lists ebenfalls
    - Java 8 Streams, insbesondere die parallelen sind schon ziemlich cool.

    Java trägt die Last 25 Jahre alt zu sein und kompatibel sein zu müssen, das ist eine schwere Last und die Fortschritte, die dennoch erzielt werden, kann man ruhig mal würdigen.

  9. Re: Wie alles auf der Welt - Geschmackssache

    Autor: pioneer 06.11.20 - 12:43

    Dino13 schrieb:
    --------------------------------------------------------------------------------

    > Dafür das funktionelles Programmieren "the way to go" ist, stagnieren die
    > rein funktionellen Programmiersprachen auf einem sehr kleinem Niveau.

    Schau mal wie bei Netflix, Google, Facebook und Co. programmiert wird. Und schau in die Changelogs der großen Programmiersprachen und Frameworks. Der Functional Style kommt, er kommt mit Wucht und er kommt zurecht. Es dauert immer etwas, bis das zum Wald- und Wiesenprogrammierer durchsickert. Das Endergebnis wird kein purer Ansatz sein wie Haskall, sondern ein pragmatischer, mit dem besten aus allen Welten. Und das ist gut so, den es funktioniert hervorragend.

    Ich empfehle mal https://www.youtube.com/watch?v=WN9kgdSVhDo anzusehen. So als Einstieg. Wenn Dich das nicht anfixt, weiß ich es auch nicht.

    Das ist ein bisschen allgemein und sagt daher echt gar nix aus.

  10. Re: Wie alles auf der Welt - Geschmackssache

    Autor: Ford Prefect 06.11.20 - 12:58

    Es geht eben nicht darum, auf rein funktionale Sprachen umzusteigen. Sondern, dass funktionale Ausdrucksweise auch neue Unterstützung in den "klassischen" Sprachen findet und dort begeistert aufgenommen wird.

  11. Re: Wie alles auf der Welt - Geschmackssache

    Autor: twothe 06.11.20 - 13:04

    Funktionell hat viele Vorteile, aber eben auch viele Nachteile. Das klassische Haskel-Problem: welche Funktion y=f(x) öffnet ein Fenster? Keine. Damit muss hier wieder was imperatives eingebaut werden.

    Funktional hat auch nicht den alleinigen Anspruch skalierbar zu sein, das ist eher ein Nebenprodukt. Was skalierbar ist sind abgeschlossene Funktionseinheiten ohne Abhängigkeiten nach Draußen (vom Input und Output mal abgesehen). Das kann man auch in jeder anderen Programmiersprache haben, die entsprechenden Coding-Styles kommen aber aktuell in viele der verstaubten Alt-Herren Köpfe nicht rein, Stichwort: "Runnable". Funktional lässt dir dabei einfach nur keine andere Wahl, deswegen klappts auch mit der Skalierbarkeit fast automatisch.

  12. Re: Wie alles auf der Welt - Geschmackssache

    Autor: Dino13 06.11.20 - 13:32

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > Dino13 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > > Dafür das funktionelles Programmieren "the way to go" ist, stagnieren
    > die
    > > rein funktionellen Programmiersprachen auf einem sehr kleinem Niveau.
    >
    > Schau mal wie bei Netflix, Google, Facebook und Co. programmiert wird. Und
    > schau in die Changelogs der großen Programmiersprachen und Frameworks. Der
    > Functional Style kommt, er kommt mit Wucht und er kommt zurecht.

    Ich schaue mir gerade die Netflix an und was ich sehen kann ist sehr sehr sehr viel Java und dann gibt es entsprechend den Anforderungen auch mal andere Sprachen. Funktionelle Sprachen kommen da sicher nicht mit wucht. Aber das hat so ein bisschen was auch von dieses Jahr ist das Jahr von Linux.

  13. Re: Wie alles auf der Welt - Geschmackssache

    Autor: pioneer 06.11.20 - 14:02

    Dino13 schrieb:

    > Ich schaue mir gerade die Netflix an und was ich sehen kann ist sehr sehr
    > sehr viel Java und dann gibt es entsprechend den Anforderungen auch mal
    > andere Sprachen. Funktionelle Sprachen kommen da sicher nicht mit wucht.
    > Aber das hat so ein bisschen was auch von dieses Jahr ist das Jahr von
    > Linux.

    Es hat auch keiner behauptet, dass funktionelle Sprachen mit Wucht kommen. Genau lesen bitte.



    1 mal bearbeitet, zuletzt am 06.11.20 14:03 durch pioneer.

  14. Re: Nein, sorry.

    Autor: Robert0 06.11.20 - 14:11

    Wenn ich das mal auf die CLR-Welt übersetze:

    Also java bekommt (oder die JVM) jetzt irgendwann - also nach 14 Jahren länger - endlich Werttypen (aka struct) und LINQ mit der (eher geschmähten) PLINQ-Variante gibt es inwzischen also auch?
    Dazu ein Äquivalent zu IReadOnlyList<T> ?

    Ernsthaft. Kanns ja kaum glaubten - daher antworte mir.
    Das waren ja die Gründe (neben dem bescheuerten {}-Modus), diese Welt zu verlassen.

    Gibt es dann demnächst (dank structs) auch ref structs, die Dinge wie Span<T> möglich machen?
    Dann könnte man ja mal echtes Rechnen mit Zahlen angehen.

    Halt!
    uint fehlt noch, wie auch byte (unsigned in C#)

  15. Re: Wie alles auf der Welt - Geschmackssache

    Autor: zilti 06.11.20 - 15:03

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > Functional Style ist in. Pure and stateless. Horizontal skalierbar bis in
    > die Unendlichkeit ;-)

    Ja, und dafür sind objektorientierte Sprachen wie Java und Kotlin denkbar schlecht geeignet.

  16. Re: Nein, sorry.

    Autor: wasdeeh 06.11.20 - 15:54

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > wasdeeh schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Dinge wie Null Safety und Immutability sind *keine* Geschmackssache.
    >
    > Doch, im Grunde schon. Sie gehören zum Geschmack, der sich in den letzten
    > Jahren ändert, vor allem dadurch, dass die Single Core-Leistung von
    > Prozessoren nicht mehr steigt und daher horizontale Skalierung forciert
    > werden muss. Die Cloud spielt dabei natürlich auch eine große Rolle. Das
    > erfordert Statelessness, Immutability und einfache Parallelisierung.

    Solch grundlegende und unvermeidliche technologische Umwälzungen mit einem "Geschmack, der sich ändert" schönzureden ist ja schon...spannend. Und es ignoriert einerseits die Tatsache, dass verteilte Systeme - grad in der Enterprisewelt - echt nix neues sind, und trifft andererseits für die Null Safety nicht einmal zu.

    Nein, hier gehts um die (lange überfällige) Etablierung von best practices als first principles (ums mal überspitzt zu formulieren).

    > - Java 14 bringt records (vermutlich in 16 nicht mehr preview)
    > - @NotNull exisiert schon länger
    > - Immutable Lists ebenfalls
    > - Java 8 Streams, insbesondere die parallelen sind schon ziemlich cool.

    Etwas mit Annotations oder vereinzelten Datenstrukturen nachzuliefern ist ein bissl was anderes als die Sprache grundlegend darauf aufzubauen. (Mal ganz abgesehen von der grundlegenden Problematik, so etwas elementares überhaupt mit Annotations abbilden zu wollen - selbst C# war da etwas mutiger...)

    > Java trägt die Last 25 Jahre alt zu sein und kompatibel sein zu müssen, das
    > ist eine schwere Last und die Fortschritte, die dennoch erzielt werden,
    > kann man ruhig mal würdigen.

    Stimmt ja durchaus zu - aber was hat das mit dem Argument zu tun?

  17. Re: Wie alles auf der Welt - Geschmackssache

    Autor: pioneer 06.11.20 - 15:57

    zilti schrieb:
    --------------------------------------------------------------------------------

    > Ja, und dafür sind objektorientierte Sprachen wie Java und Kotlin denkbar
    > schlecht geeignet.

    Du musst es ja wissen. Es hat schon Gründe, dass sich rein funktionale Programmiersprachen über Jahrzehnte nicht durchsetzen konnten und der pragmatische Mix aus beiden Welten gerade richtig Fahrt aufnimmt.

    Und vergiss nicht Netflix, Google, Facebook, Amazon und Konsorten von Deinen Erkenntnissen zu unterrichten. Die haben sicher noch nicht gemerkt, dass Sie auf einem Irrweg sind. Ernsthaft. Beeil Dich. Die zahlen Dir sicher Millionen.

  18. Re: Nein, sorry.

    Autor: pioneer 06.11.20 - 16:05

    wasdeeh schrieb:

    > Nein, hier gehts um die (lange überfällige) Etablierung von best practices
    > als first principles (ums mal überspitzt zu formulieren).

    Und wie machte man das früher? Sessions, Session Replication, man hat den State über die Server verteilt. man hat es früher anders gelöst. Hier ist klar ein Paradigmenwechsel verzogen worden. Also nichts mit war im Enterprise schon immer so und längst überfällig.Es handelt sich hier um eine Entwicklung der letzten 10 Jahre. Vereinzelte frühere Anfänge zähle ich dabei nicht. Es kommt auf die Durchsetzung in der Breite an.

    > > - Java 14 bringt records (vermutlich in 16 nicht mehr preview)
    > > - @NotNull exisiert schon länger
    > > - Immutable Lists ebenfalls
    > > - Java 8 Streams, insbesondere die parallelen sind schon ziemlich cool.
    >
    > Etwas mit Annotations oder vereinzelten Datenstrukturen nachzuliefern ist
    > ein bissl was anderes als die Sprache grundlegend darauf aufzubauen.

    Die Änderungen in Java sind alles andere als "vereinzelt".

    Zudem: wie will man eine 25 Jahre alte Sprache grundsätzlich neu aufbauen und dabei Kompatibilität bewahren. Aha geht nicht. Aber das Handwerkszeug ist verfügbar und wer es nutzt wird davon profitieren.

    >
    > > Java trägt die Last 25 Jahre alt zu sein und kompatibel sein zu müssen,
    > das
    > > ist eine schwere Last und die Fortschritte, die dennoch erzielt werden,
    > > kann man ruhig mal würdigen.
    >
    > Stimmt ja durchaus zu - aber was hat das mit dem Argument zu tun?

    Mit welchem Argument jetzt genau?

  19. Re: Wie alles auf der Welt - Geschmackssache

    Autor: foobarJim 06.11.20 - 16:08

    pioneer schrieb:
    --------------------------------------------------------------------------------

    > Du musst es ja wissen. Es hat schon Gründe, dass sich rein funktionale
    > Programmiersprachen über Jahrzehnte nicht durchsetzen konnten und der
    > pragmatische Mix aus beiden Welten gerade richtig Fahrt aufnimmt.

    Welche Sprachen sich durchsetzen hat aber oft wenig mit der Sprache an sich selbst zu tun. Gerade Java wurde auch mit viel Marketing in die Welt gesetzt. PHP war noch nie toll, hatte es aber zu Anfangszeiten des Webs leicht gemacht Webseiten zu erstellen. Ruby kam erst mit Rails in Fahrt. JavaScript ist einfach passiert weil es keine Alternative im Browser gab.

    Ich denke wir stehen in der Softwareentwicklung noch recht weit am Anfang. Die Verbreitung digitaler System und die Unzuverlässigkeit sind eine gefährliche Kombination. Beim autonomen Fahren könnte nicht zuletzt die Gefahr vor Angriffen ein größerer Bremsfaktor sein als die Fähigkeit tatsächlich autonom fahren zu können. In diesem Zusammenhang könnten sichProgramme, die eher in Richtung mathematischer Beweisbarkeit gehen, eher durchsetzen und somit auch den rein funktionalen Sprachen helfen.

  20. Re: Wie alles auf der Welt - Geschmackssache

    Autor: zilti 06.11.20 - 16:12

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > Und vergiss nicht Netflix, Google, Facebook, Amazon und Konsorten von
    > Deinen Erkenntnissen zu unterrichten. Die haben sicher noch nicht gemerkt,
    > dass Sie auf einem Irrweg sind. Ernsthaft. Beeil Dich. Die zahlen Dir
    > sicher Millionen.

    Facebook ist eh nicht mehr zu helfen, die benutzen PHP... Netflix ist übrigens ziemlich intensiver Clojure-Nutzer :) Welche Sprache populär wird, hat sehr wenig damit zu tun, wie gut und geeignet sie ist. Sonst hätten sich weder PHP noch JavaScript je auch nur annähernd so verbreiten können.

  1. Thema
  1. 1
  2. 2

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. Volkswagen Vertriebsbetreuungsgesellschaft mbH, Wolfsburg
  2. XITASO GmbH, Augsburg, Ingolstadt
  3. Microsoft, Dublin (Irland)
  4. Technische Universität Dresden, Dresden

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (u. a. PS5 + HD Kamera für 549,99€)
  2. 499,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme