{"id":3913,"date":"2022-05-18T10:39:02","date_gmt":"2022-05-18T10:39:02","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway\/"},"modified":"2026-04-28T14:07:11","modified_gmt":"2026-04-28T14:07:11","slug":"warum-kotlin-grosartig-ist-sie-aber-trotzdem-bei-java-bleiben-werden-1","status":"publish","type":"post","link":"https:\/\/thecodest.co\/de\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","title":{"rendered":"Warum Kotlin gro\u00dfartig ist, Sie aber trotzdem bei Java bleiben werden"},"content":{"rendered":"<p>Unabh\u00e4ngig davon, welcher Gruppe Sie angeh\u00f6ren, gibt es einen Grund, warum Sie bei <strong><a href=\"https:\/\/thecodest.co\/de\/blog\/find-the-right-java-developer-now\/\">Java<\/a><\/strong>. Und ich mache Ihnen keine Vorw\u00fcrfe. Sie hat das wohl am weitesten entwickelte, universellste und vollst\u00e4ndigste \u00d6kosystem der gesamten Welt. <a href=\"https:\/\/thecodest.co\/de\/dictionary\/what-is-enterprise-hybrid-cloud\/\">Unternehmen<\/a> Welt. Die Sprache verf\u00fcgt \u00fcber einen gut zugeschnittenen Satz von F\u00e4higkeiten, irgendwo in der richtigen Zone zwischen zu viel und zu wenig. Und neue Funktionen werden langsam, aber stetig hinzugef\u00fcgt, so dass sie mit den neuesten Trends in der Welt der Programmierung Schritt halten kann.<\/p>\n\n\n\n<p>Kennen Sie <a href=\"https:\/\/projectlombok.org\">Lombok<\/a> aber? Wenn nicht, empfehle ich Ihnen, es auszuprobieren. Wenn es Ihnen gef\u00e4llt, dann habe ich etwas f\u00fcr Sie, das Sie unbedingt ausprobieren sollten. Eine ganz neue Sprache, die durch ihre Eigenschaften Lombok \u00fcberfl\u00fcssig macht. Sie hei\u00dft <b>Kotlin<\/b>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kotlin? Sie meinen die Android-Sprache?<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/pClXBLD.jpg\" alt=\"Nun ja, aber eigentlich nicht\"\/><\/figure>\n\n\n\n<p>Kotlin auf Android wurde von Google selbst so weit abgesegnet, dass es die de-facto Sprache der Wahl f\u00fcr die Plattform wurde. Darauf werde ich mich in diesem Artikel nicht konzentrieren, aber Android ist tats\u00e4chlich der Ort, an dem ich Kotlin zum ersten Mal getroffen habe.<\/p>\n\n\n\n<p>Mein Arbeitskollege entwickelte gerade eine App f\u00fcr ein damals aktuelles <a href=\"https:\/\/thecodest.co\/de\/dictionary\/why-do-projects-fail\/\">Projekt<\/a>auf eigene Faust. Die Fristen r\u00fcckten jedoch schnell n\u00e4her, und so wurde ich beauftragt, ihm bei der Einhaltung dieser Fristen zu helfen. Ich versetze mich jetzt in die Zeit zur\u00fcck. Aaaund... Igitt! Warum benutzt er so eine komische Sprache, die sich anh\u00f6rt wie ein <a href=\"https:\/\/www.ketchupy.pl\/images\/3\/c\/9\/4\/5\/3c9453c5b720f810c293211d77449d9395f09944-product-front-1.png\">Ketchup-Marke<\/a>!? Es sieht furchtbar aus!<\/p>\n\n\n\n<p>Warum steht vor jeder Funktion \"fun\"? Als ob ich nicht schon w\u00fcsste, was das ist. Au\u00dferdem habe ich bereits <em>Spa\u00df<\/em> mit <strong>Java<\/strong> wie auch immer. Und wo ist der R\u00fcckgabetyp? Am Ende? Sind Sie verr\u00fcckt? Was ist das? Weisen Sie einer Funktion etwas zu? Das macht doch keinen Sinn! Es sieht einfach aus wie <b>Java mit zus\u00e4tzlichen Schritten!<\/b> Moment, wo ist die Klasse, zu der diese Methode geh\u00f6rt? Wo hast du sie versteckt, du Ketchup-klingender, <strong>Java<\/strong> nachahmende Ausrede einer Programmiersprache? Oh nein. Oh nein, das hast du nicht. IST DAS EINE GLOBALE FUNKTION? Das war's, ich bin fertig, ich rufe die Polizei.<\/p>\n\n\n\n<p>Spoiler-Alarm: Ich habe die Strafverfolgungsbeh\u00f6rden nicht angerufen. Ob es mir nun gef\u00e4llt oder nicht, ich musste meine Java-zentrierte Denkweise anpassen, um mich auf eine andere Sprache einzustellen. Aber so schlimm wird es doch nicht sein, oder? Es ist immer noch eine JVM-Sprache, sicherlich nur eine andere <strong>Java<\/strong>. Vielleicht sogar mit ein paar coolen Zusatzfunktionen? Widerstrebend begann ich mit der Arbeit an dem Projekt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java mit zus\u00e4tzlichen Schritten<\/h2>\n\n\n\n<p><em>Wenn Java so gro\u00dfartig ist, warum gibt es dann kein Java 2?<\/em> Scherz beiseite, das habe ich mir auch gedacht. Ich werde einfach so tun, als w\u00e4re Kotlin Java 2. Neue Syntax und so, aber ich muss nur genug davon lernen, um das Projekt zu beenden. Junge, Junge, ich habe mich geirrt.<\/p>\n\n\n\n<p>Nachdem ich es nur ein oder zwei Tage lang ausprobiert hatte, wurde mir schnell klar, dass sowohl Kotlin als auch <strong>Java<\/strong> sind nicht sehr elastisch. Der Versuch, sie zueinander zu biegen, endet unweigerlich damit, dass einer von ihnen in der Mitte zerbricht. Es wurde offensichtlich, dass Kotlin eine Sache f\u00fcr sich ist, und die Tatsache, dass es auf einer JVM funktioniert, bedeutet aus der Sicht eines Programmierers fast genau nichts. (Nebenbei bemerkt, es kann auch nach <a href=\"https:\/\/thecodest.co\/de\/blog\/hire-javascript-developer\/\">JavaScript<\/a>oder zu einer nativen Bin\u00e4rdatei kompiliert werden).<\/p>\n\n\n\n<p>Dann Plan B. Machen Sie sich mit der Sprache vertraut. Wenn man die Dokumentation zum ersten Mal liest, l\u00e4uft einem erfahrenen Java-Programmierer ein Schauer \u00fcber den R\u00fccken. Zum Beispiel:<br>- die bereits erw\u00e4hnte oberste Ebene bzw. der globale Kontext<br>- die am Ende angegebenen Typen der Parameter und Funktionsr\u00fcckgaben<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code>fun sum(a: Int, b: Int): Int {\n   return a + b\n}<\/code><\/code><\/pre>\n\n\n\n<p>Funktionsk\u00f6rper kann ein Ausdruck sein (mit Gleichheitszeichen)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> fun sum(a: Int, b: Int) = a + b<\/code><\/code><\/pre>\n\n\n\n<p>if-Anweisung kann ein Ergebnis liefern<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> val y = if (x == 1) {\n \"1\"\n } else if (x == 2) {\n \"zwei\"\n } else {\n \"andere\"\n }<\/code><\/code><\/pre>\n\n\n\n<p>Ok, ich muss mich nur daran gew\u00f6hnen. Nur eine andere Syntax. Was haben Sie sonst noch zu bieten, Mister Kotlin?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> wert?.methode() \/\/ ausf\u00fchren, wenn nicht null<\/code><\/code><\/pre>\n\n\n\n<p>Oh ok, loswerden <code>wenn (Wert == Null)<\/code>einen Punkt f\u00fcr Sie. Was haben Sie noch?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code>fun check(list: List, alternative: Boolean) = when {\n list ist LinkedList -&gt; print(\"linked\")\n alternativ -&gt; print(\"alternativ\")\n list.size &gt; 50 -&gt; print(\"gro\u00df\")\n else -&gt; print(\"andere\")\n }<\/code><\/code><\/pre>\n\n\n\n<p>Hmm, nett, k\u00f6nnte praktisch sein, um zu vermeiden, wenn sonst blockiert, scheint immer noch wie ein Gimmick obwohl.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> object SingularObject: Counter() {\n var a = 14\n fun test() = if (a &gt; 10) \"mehr\" else \"weniger\"\n }<\/code><\/code><\/pre>\n\n\n\n<p>Ok, das sieht tats\u00e4chlich n\u00fctzlich aus, das gef\u00e4llt mir! Andererseits kann ich auch in Java ein Singleton erstellen. Vielleicht wird es nicht so elegant sein, aber es ist nichts wirklich Neues. Haben Sie irgendwelche Asse im \u00c4rmel? Echte Kn\u00fcller?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> var s: String = null \/\/ l\u00e4sst sich nicht kompilieren, Nicht-Null-Typ<\/code><\/code><\/pre>\n\n\n\n<p>Moment... was?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tony_Hoare#Apologies_and_retractions\">Der milliardenschwere Irrtum<\/a><\/h2>\n\n\n\n<p>Stellen Sie sich eine Codebasis vor, in der Sie sich keine Gedanken \u00fcber Nullsicherheit machen m\u00fcssen. Stellen Sie sich vor, dass Sie einfach davon ausgehen k\u00f6nnen, dass jeder Verweis tats\u00e4chlich etwas Sinnvolles enth\u00e4lt. Stellen Sie sich vor, Sie w\u00e4ren sicher, dass jedes Null-Problem im Voraus gel\u00f6st wird.<br>Stellen Sie sich nichts mehr vor. Alle Referenzen in Kotlin sind standardm\u00e4\u00dfig nicht l\u00f6schbar. Wenn Sie sie nullbar machen wollen, m\u00fcssen Sie <u>Bewusst<\/u> diese Entscheidung zu treffen, und <u>ausdr\u00fccklich<\/u> es in der <a href=\"https:\/\/thecodest.co\/de\/dictionary\/what-is-code-refactoring\/\">Code<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> var s: String? = null\n<\/code><\/code><\/pre>\n\n\n\n<p>Ich verstehe, dass Sie zu diesem Zeitpunkt skeptisch gegen\u00fcber der ganzen Idee sein k\u00f6nnten. Sie sind an nullbare Referenzen gew\u00f6hnt. Sie haben sie beim Programmieren im Hinterkopf. Sie haben gelernt, wo Sie vorsichtig sein m\u00fcssen. Das sind genau meine Gedanken. Ich komme von <strong>Java<\/strong>f\u00fchlte es sich anfangs tats\u00e4chlich seltsam an. Was soll das bringen? Es wird nicht auf magische Weise alle damit verbundenen Probleme verschwinden lassen. Ich werde einfach \u00fcberall \"?\" hinzuf\u00fcgen m\u00fcssen, das klingt nach einer l\u00e4stigen Pflicht.<\/p>\n\n\n\n<p>Aber ich habe beschlossen, tief in die Sprache einzutauchen, nicht wahr? Wie Sie wollen, Mister <strong>Kotlin<\/strong>. Ich begann, mich zu bem\u00fchen, so viele nullbare Variablen, Felder und Parameter wie m\u00f6glich zu eliminieren. Schritt f\u00fcr Schritt lernte ich, Sprachfunktionen zu verwenden, die es einfacher machten, nullbare Referenzen zu eliminieren, z. B. den Safe Call \"?.\"-Operator, den Elvis \"?:\"-Operator, delegierte Eigenschaften, die \"let\"-Methode und mehr.<\/p>\n\n\n\n<p>Mit der Zeit gelang es mir, einige Klassen dazu zu bringen, nur Felder und Methodenparameter zu enthalten, die nicht null sind. Im Grunde wusste ich, dass ich, wenn eine Klasse erfolgreich instanziiert wurde, die Nullbarkeit in Methodenk\u00f6rpern fast vergessen konnte. Das war ein Gl\u00fccksfall. Mit der Zeit wusste ich dies immer mehr zu sch\u00e4tzen. Letztendlich habe ich es aber nicht als Killer-Feature betrachtet, <strong>Java<\/strong> f\u00fchlte sich immer noch wie zu Hause an. Bis...<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Das Comeback<\/h2>\n\n\n\n<p>Das Projekt neigte sich dem Ende zu. Ich lernte Kotlin immer besser kennen, und mit diesem Wissen wurde der Code immer aufger\u00e4umter, lesbarer und pr\u00e4gnanter. Man konnte die Verbesserungen mit blo\u00dfem Auge in der Commit-Historie sehen. Doch nun ist es endlich soweit. Mit unerwartet sch\u00f6nen Erinnerungen an die neue Sprache war es an der Zeit, sich zu verabschieden und in die s\u00fc\u00dfe Komfortzone von Kotlin zur\u00fcckzukehren. <strong>Java<\/strong>. Das dachte ich zumindest.<\/p>\n\n\n\n<p>Kennen Sie das Gef\u00fchl, wenn Sie etwas in dem Moment zu sch\u00e4tzen beginnen, in dem es nicht mehr da ist? Wenn man erst merkt, wie sehr man sich auf etwas verl\u00e4sst, wenn man es nicht mehr gebrauchen kann? Das war das beste Beispiel f\u00fcr dieses Gef\u00fchl, das ich wahrscheinlich jemals in meinem Leben erlebt habe.<\/p>\n\n\n\n<p>Als ich wieder anfing, den Code in <strong>Java<\/strong>Ich war fast erschrocken \u00fcber das Fehlen einiger Funktionen. Es war, als ob mein Gehirn unbewusst Kotlin-Funktionen f\u00e4lschlicherweise in Java nachr\u00fcstete. Ich erlebte Situationen, in denen ich tats\u00e4chlich etwas zu implementieren begann, nur um festzustellen, dass es in dieser Sprache nicht funktionieren w\u00fcrde. Im besten Fall k\u00f6nnte ich es wie Kotlin schreiben, aber es w\u00e4re unhandlich, unlesbar und\/oder w\u00fcrde zu viel Boilerplate erfordern.<\/p>\n\n\n\n<p>Die Nullsicherheit war nat\u00fcrlich die Funktion, die ich am meisten vermisst habe. Aber ich war \u00fcberrascht, wie viele kleinere Dinge f\u00fcr mich selbstverst\u00e4ndlich wurden: benannte Parameter, Eigenschaften anstelle von Gettern und Settern, \"==\" als Gleichheitszeichen und \"===\" als referenzielle Gleichheit, qualifiziertes \"this\", Erweiterungsfunktionen, implizite singul\u00e4re Lambda-Parameter, \"_\" f\u00fcr nicht verwendete Lambda-Parameter, <a href=\"https:\/\/thecodest.co\/de\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">Daten<\/a> Klassen, Scope-Funktionen, andere Kotlin-Stdlib-Funktionen, Operatoren und mehr. Und die Art und Weise, wie das alles sch\u00f6n zusammenpasst. Im Vergleich dazu f\u00fchlte sich Java... primitiv an.<\/p>\n\n\n\n<p>Ich habe mich so schlecht gef\u00fchlt, dass ich \u00fcberlegt habe, ganz auf Kotlin umzusteigen. Theoretisch ist Kotlin vollst\u00e4ndig interoperabel mit Java, man kann einfach Kotlin-Unterst\u00fctzung zu einem bestehenden Projekt hinzuf\u00fcgen und neue Klassen schreiben. Die Kotlin-Seite wei\u00df, wie man mit Java \"spricht\", und die Java-Seite wei\u00df nicht einmal, dass sie mit einer anderen Sprache \"spricht\". Und nach der Kompilierung in Bytecode macht es f\u00fcr die JVM eigentlich keinen Unterschied mehr.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/calendly.com\/the-codest-java-consulting\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/meeting_java_expert.png\" alt=\"Treffen Sie den Java-Experten\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Realit\u00e4tspr\u00fcfung<\/h2>\n\n\n\n<p>Worauf warten Sie also noch? Wenn die Sprache so gut ist, wie Sie sagen, dann verwenden Sie sie einfach! Vielleicht nicht in bestehenden Projekten, aber ich wei\u00df, dass sie interoperabel sein sollte, aber zwei verschiedene Sprachen auf diese Weise zu mischen, klingt h\u00e4sslich.<\/p>\n\n\n\n<p>Ok, also f\u00fcr neue Module - Kotlin ist es. Oder doch nicht? Sie arbeiten in einem <a href=\"https:\/\/thecodest.co\/de\/blog\/how-to-hire-the-best-outsourced-development-team-for-a-scaleup\/\">Team<\/a>. Sie m\u00fcssen sie konsultieren und sie von der Gro\u00dfartigkeit dieser neuen Sprache \u00fcberzeugen. Was ist? Sie m\u00f6gen sie nicht? Klingt so, als wollten sie sich einfach nicht die M\u00fche machen, sie zu lernen. Sie k\u00f6nnen es ihnen aber nicht ver\u00fcbeln, denn Sie waren anfangs auch skeptisch.<\/p>\n\n\n\n<p>Der Projektleiter! Ja! Er wird sicher verstehen, welchen gro\u00dfen Wert Kotlin f\u00fcr unser Team hat. Oh, wie gro\u00dfartig das sein wird!<br>-Nein<br>-Warte, warum?<br>-Die Mannschaft wei\u00df es nicht.<br>-Sie werden es lernen!<br>-sie wollen nicht lernen.<br>-Du kannst sie machen!<br>-sie brauchen nicht zu lernen.<br>-Ich meine, das ist wahr, aber denken Sie an die M\u00f6glichkeiten!<br>-Ja, wie w\u00e4re es, wenn Sie zuerst \u00fcber die Probleme nachdenken.<\/p>\n\n\n\n<p>Die Legende besagt, dass es ein Projekt gibt. Ein Projekt, das gro\u00df und komplex ist, aber in jedem Teil sch\u00f6n geschrieben. Ein Projekt, bei dem sich alle Entwickler \u00fcber die verwendeten L\u00f6sungen einig sind. Wo neue Funktionen einfach aus den Tastaturen der Programmierer flie\u00dfen. Wo Fehler selten und leicht zu beheben sind.<\/p>\n\n\n\n<p>Haben Sie so ein Projekt schon einmal gesehen? Nein, habe ich nicht. Einige waren nahe dran, aber die meisten von ihnen sind ein gro\u00dfes Legacy-Code-Durcheinander. Und wenn sie es nicht sind, werden sie es wahrscheinlich irgendwann in der Zukunft werden. Stellen Sie sich nun vor, Sie w\u00fcrden eine weitere Sprache in den Mix werfen. Das er\u00f6ffnet neue M\u00f6glichkeiten, Fehler zu machen. Es verlangt von den Entwicklern, dass sie wissen, was sie tun. Das ist, gelinde gesagt, ein Risiko.<\/p>\n\n\n\n<p>Ber\u00fccksichtigen Sie nun auch <a href=\"https:\/\/thecodest.co\/de\/blog\/hire-vue-js-developers\/\">Entwickler<\/a> Rotation. Menschen kommen und gehen. Werden Sie jeden neuen Entwickler zwingen, eine v\u00f6llig neue Sprache zu lernen? Nein, das ist kontraproduktiv. Werden Sie \u00fcberhaupt Kotlin-Entwickler einstellen? Viel Gl\u00fcck dabei, einen guten Java-Entwickler einzustellen ist schon schwer genug.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.allegro.tech\/2018\/05\/From-Java-to-Kotlin-and-Back-Again.html\">Die Menschen haben es versucht.<\/a> Ich muss sagen, dass ich mit den meisten Behauptungen in diesem Artikel nicht einverstanden bin. Es gibt einige berechtigte Kritikpunkte, aber ich denke, sie haben Kotlin nicht genug benutzt, um \"den Kotlin-Weg\" wirklich zu verstehen. Viele Kommentatoren unter diesem Artikel scheinen \u00e4hnlich zu denken.<\/p>\n\n\n\n<p>Das spielt aber keine Rolle. Ich wette, das w\u00fcrde auch bei Ihrem Projekt passieren. \"Ausprobiert, hat nicht gefallen\". Sie werden sie nicht dazu bringen, mehr Zeit darauf zu verwenden. Sie werden sie nicht zwingen, es noch einmal zu versuchen. Sie werden sie nicht dazu bringen, der Sache eine weitere Chance zu geben. Und vom praktischen Standpunkt aus betrachtet, k\u00f6nnten sie Recht haben. <strong>Java<\/strong> ist einfach so popul\u00e4r, dass die Verwendung von etwas anderem auf der JVM \u00fcberfl\u00fcssig erscheint.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Warum dann dieser Artikel?<\/h2>\n\n\n\n<p>Sie haben gerade eine betr\u00e4chtliche Zeit damit verbracht, einen Artikel zu schreiben, der anscheinend keinen Sinn hat. Warum sollte ich versuchen, eine Sprache zu lernen, wenn Sie sagen, dass es sowieso sinnlos ist?<\/p>\n\n\n\n<p>Nun, ich denke nicht, dass es sinnlos ist. Ich denke immer noch, dass Kotlin gro\u00dfartig ist. Ich m\u00f6chte es immer noch benutzen (und tue es auch f\u00fcr meine privaten Projekte). Wenn ich k\u00f6nnte, w\u00fcrde ich einfach zu Kotlin wechseln und die Einschr\u00e4nkungen von Java vergessen. Aber die aktuelle Realit\u00e4t sagt, dass ich das nicht kann. Und ich m\u00f6chte versuchen, das zu \u00e4ndern.<\/p>\n\n\n\n<p>Meine Absicht f\u00fcr Sie, lieber Leser, ist es, zumindest die M\u00f6glichkeit zu erw\u00e4gen, aus der gem\u00fctlichen Java-Komfortzone herauszukommen. Denn vielleicht, nur vielleicht, werden Sie Kotlin genauso lieben wie ich. Und wenn Sie das tun, dann ist ein Kotlin-kundiger Entwickler mehr auf der <a href=\"https:\/\/thecodest.co\/de\/dictionary\/what-is-the-size-of-your-potential-reachable-market\/\">Markt<\/a>.<\/p>\n\n\n\n<p><strong>Lesen Sie mehr:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-best-type-of-projects-for-java\">Die beste Art von Projekten f\u00fcr Java<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/3-common-challenges-of-software-product-development-for-startups\">3 Gemeinsame Herausforderungen bei der Software-Produktentwicklung f\u00fcr Startups<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-right-way-to-find-top-java-developers\">Der richtige Weg, um Top-Java-Entwickler zu finden<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Wenn Sie ein Java-Entwickler sind, haben Sie wahrscheinlich zumindest etwas Erfahrung mit anderen Programmiersprachen.  Einige von uns begannen ihr Programmierabenteuer mit einer anderen Sprache wie C\/C++, JavaScript, C#, Python oder vielleicht sogar etwas wie Pascal oder Basic. Einige haben jedoch mit Java angefangen und sich nie allzu sehr um andere Sprachen gek\u00fcmmert, wobei sie sich ungern an das eine Mal erinnern, als sie schnell etwas auf der Frontend-Seite programmieren mussten.<\/p>","protected":false},"author":2,"featured_media":3914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Why Kotlin is awesome, but you will stay with Java anyway - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/de\/blog\/warum-kotlin-grosartig-ist-sie-aber-trotzdem-bei-java-bleiben-werden-1\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Kotlin is awesome, but you will stay with Java anyway\" \/>\n<meta property=\"og:description\" content=\"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/de\/blog\/warum-kotlin-grosartig-ist-sie-aber-trotzdem-bei-java-bleiben-werden-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-18T10:39:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-28T14:07:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Why Kotlin is awesome, but you will stay with Java anyway\",\"datePublished\":\"2022-05-18T10:39:02+00:00\",\"dateModified\":\"2026-04-28T14:07:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"},\"wordCount\":1973,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\",\"name\":\"Why Kotlin is awesome, but you will stay with Java anyway - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"datePublished\":\"2022-05-18T10:39:02+00:00\",\"dateModified\":\"2026-04-28T14:07:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Kotlin is awesome, but you will stay with Java anyway\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/de\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Warum Kotlin gro\u00dfartig ist, Sie aber trotzdem bei Java bleiben werden - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/de\/blog\/warum-kotlin-grosartig-ist-sie-aber-trotzdem-bei-java-bleiben-werden-1\/","og_locale":"de_DE","og_type":"article","og_title":"Why Kotlin is awesome, but you will stay with Java anyway","og_description":"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.","og_url":"https:\/\/thecodest.co\/de\/blog\/warum-kotlin-grosartig-ist-sie-aber-trotzdem-bei-java-bleiben-werden-1\/","og_site_name":"The Codest","article_published_time":"2022-05-18T10:39:02+00:00","article_modified_time":"2026-04-28T14:07:11+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Why Kotlin is awesome, but you will stay with Java anyway","datePublished":"2022-05-18T10:39:02+00:00","dateModified":"2026-04-28T14:07:11+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"},"wordCount":1973,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","articleSection":["Software Development"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","url":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","name":"Warum Kotlin gro\u00dfartig ist, Sie aber trotzdem bei Java bleiben werden - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","datePublished":"2022-05-18T10:39:02+00:00","dateModified":"2026-04-28T14:07:11+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Why Kotlin is awesome, but you will stay with Java anyway"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Der Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Der Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/de\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/comments?post=3913"}],"version-history":[{"count":8,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3913\/revisions"}],"predecessor-version":[{"id":8525,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3913\/revisions\/8525"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media\/3914"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media?parent=3913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/categories?post=3913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/tags?post=3913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}