Das Team hat sich entschieden, dass nächste Projekt nicht in #Kotlin, sondern in #Java zu entwickeln. Zur Debatte stand auch #Elixir. Problem hier: langfristiges Projekt und kaum Entwickler zu bekommen. Warum aber zurück zu Java? 🧵 /1
#Kotlin ist eine objektorientierte und funktionale Programmiersprache, die nette Konzepte hat, um mit null-Referenzen um zu gehen. Seit #Java 8 nicht mehr ein so grosses Problem. Allerdings immer noch da und wird auch nie weggehen. /2
Das Problem tauchte vor ein paar Wochen auf. Ein Kollege mit 3 Jahren täglicher #Kotlin Erfahrung wollte einem neuen Mitarbeiter ein Kotlin Modul erklären. Dort mußten ein Paar Änderungen vorgenommen werden. Die Änderungen waren minimal. /3
Der Kollege hat versucht den Code, den er selbst geschrieben hat, zu verstehen. Und hat bei einem 3 Zeiler über 10 Minuten gebraucht, um nachzuvollziehen, was der Code macht. Das war für ihn der Schlüsselmoment. /4
#Kotlin|s Syntax und Hilfsfunktionen bieten Konzepte an, die, wenn sie intensiv angewendet werden, den Code sehr kompakt machen. Leider ist er dann nicht mehr einfach nachvollziehbar. /5
Damit geht einer der wesentlichen Aspekte jeder Programmiersprache verloren, dass Code für Menschen geschrieben wird und nicht für Maschinen. Dem Compiler ist komplizierter Code egal. Menschen nicht. /6
Code muss langweilig sein. Code muss von einem mittelmässig erfahrenen Entwickler schnell verstanden werden. Wenn dies nicht mehr der Fall ist, dann habe wir ein nicht zu unterschätzendes Legacyproblem. /7
#Kotlin erfüllt diese Anforderung nicht. Wir haben auch das Argument diskutiert Regeln aufzustellen. Bestimmte Dinge aus der Syntax nicht zu verwenden. Haben dies allerdings als zu komplex wieder verworfen. /8
#Kotlin hat noch weitere sprachliche Probleme. Hier sei nur das "suspend" Schlüsselwort genannt, mit denen Co-Routinen unterstützt werden. Die Einführung bei uns hat dazu geführt, dass alle Bibliotheken umgeschrieben werden mussten. /9
Und nicht nur dass. Nach ein paar Monaten hatten wir festgestellt, dass ca. 30% der Unittests nicht mehr korrekt funktionierten. Sie meldeten zwar alle einen erfolgreichen Durchlauf, hatten aber nichts getestet. /10
Hinzu kommt, dass #Kotlin ein Vendor Lock-in ist und nur mit #IntelliJ verwendet werden kann. /11
Damit waren die Würfel gefallen. #Kotlin|s Fülle an sprachlichen Möglichkeiten mit seiner Menge an eingebauten Bibliotheksfunktionen haben uns ein Bein gestellt. 🧵 /Ende

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Sascha 🌻➕🦥

Sascha 🌻➕🦥 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(