In Stack Overflow-Umfragen im Jahr 2018 nannten 45,3% der Befragten Java die beliebteste Programmiersprache, und Kotlin bevorzugte nur 4,5% der Entwickler. Im Mai 2019 kündigte Google jedoch Kotlin als vorrangige Programmiersprache an. Das Unternehmen forderte nicht, C ++ und Java aufzugeben, aber die Streitigkeiten zwischen Programmierern wurden noch heißer.
Netology hat von Entwicklern gelernt, welche Programmiersprache sie verwenden und wie sie die Zukunft von Java und Kotlin sehen."Der Haupt-Thread bleibt in Java und Kotlin wird für eine schnelle Entwicklung verwendet."
Dmitry Kachalov, leitender Programmierer bei Kelly IT SolutionsWelche Sprachen kennt er? Anfangs habe ich Webentwicklungssprachen studiert, aber irgendwann wollte ich auch mobile Entwicklung machen. Ich begann, Entwicklung für Android zu studieren und beherrschte die Java-Sprache bei dem erforderlichen Minimum, damit ich die ersten Anwendungen schreiben, am Telefon ausführen und auf dem Markt veröffentlichen konnte. Dies war damals, als Kotlin gerade erschien und einem großen Kreis von Entwicklern nicht bekannt war.
Welche verwendet. Bei der Entwicklung von Unternehmensanwendungen verwende ich jetzt Java. Viele Bibliotheken stehen ihm zur Verfügung, es gibt fertige Module. Darüber hinaus unterstützt Android Studio dies so sehr, dass Sie buchstäblich einen Buchstaben schreiben können und der Code für Sie geschrieben wird. Es ist sehr bequem.
In meiner Praxis gab es keine Kenntnisse einer anderen Sprache. Normalerweise reicht Java aus, da es viele Bibliotheken hat und grundsätzlich jede Aufgabe ausführen kann. Das einzige, was eine Überlegung wert ist, sind die Einschränkungen der Android-Plattform selbst. Denn unabhängig von der Sprache stehen alle Einschränkungen früher oder später der Einschränkung der Plattform entgegen. Meiner Meinung nach gibt es keinen großen Unterschied in der Sprache, in der die Aufgabe implementiert werden soll. Die Hauptsache ist, eine gute Lösung zu finden, die auf einer bestimmten Plattform funktioniert.
Warum bevorzugt Java. Darauf können Sie kostenlose Dienste, Ihre eigenen API-Methoden, Schreibseiten, Server und mobile Anwendungen erstellen. Dies ist im Wesentlichen eine universelle Sprache, in der Sie eine große Anzahl von Vorgängen ausführen und verschiedene Anwendungen entwickeln können. Für ihn gibt es viele Entwicklungen und Bibliotheken. Und auch - eine große Community, die immer bereit ist, Fragen zu beantworten und zu helfen.
Über die Konfrontation und die Zukunft der Sprachen. Kotlin ist definitiv ein interessanter Schritt nach vorne, aber meiner Meinung nach bringt es keine neuen Ansätze und Paradigmen mit sich. Es reduziert einfach die Zeit, die zum Schreiben von Code mit kürzeren Konstrukten benötigt wird. Gleichzeitig basiert es immer noch auf demselben Java.
In naher Zukunft wird Java immer noch am beliebtesten sein. Der Hauptthread bleibt in Java, und Kotlin wird für die schnelle Entwicklung im Rahmen des Rapid Prototyping einfacher Anwendungen oder des Prototyping verwendet. Obwohl dies eine sehr provokative Sichtweise ist. Kotlin ist mit Java kompatibel, daher kann man nicht sagen, dass sich etwas grundlegend ändern wird.
„Wenn Sie ein Anfänger sind und mit Android arbeiten möchten, lernen Sie Kotlin. Ansonsten würde ich Java wählen "
Artem Pervushov, lizenzierter Android ATC-Spezialist, Autor des Android Developer- Kursprogramms in NetologyWarum bevorzugt Java. Zunächst müssen Sie verstehen, worum es bei Kotlin geht. Bei Kotlin geht es mehr um syntaktischen Zucker. Benötige ich so viel Zucker? Wahrscheinlich nicht, ich bin es bereits gewohnt, Java-Code zu lesen und (fast) keine Fehler zu machen. Sollte ein Neuling in der Programmierung offensichtlich komplexeres Java wählen? Wahrscheinlich auch nicht.
Sie müssen noch die Vorteile einer Zeitinvestition berücksichtigen. Java ist eine Geschichte nicht nur über Android und Desktop. Es gibt eine Vielzahl anderer Projekte. Und wenn Sie von Android woanders hingehen möchten, ist es hilfreich, die Sprache zu kennen.
Über die Zukunft der Sprachen. Vielleicht wird Kotlin in Zukunft die Welt übernehmen oder vielleicht auch nicht. "Capture the world" Go, Python, Ruby, JS, <das Notwendige ersetzen> ist viel seltener, als uns Fans dieser Technologien sagen. Mein Rat lautet daher: Wenn Sie ein Anfänger sind und entschlossen sind, Ihr Schicksal mit Android zu verbinden, lernen Sie Kotlin, es ist bequem und modisch. Ansonsten würde ich mich auf Java konzentrieren.
"Kotlin-Entwickler können Java-Frameworks und -Bibliotheken verwenden und verständlicheren und einfacheren Code schreiben."
Semyon Pilunts, Android-Entwickler, Experte im Netology-KursWelche Sprachen kennt er? Meine Bekanntschaft mit Programmierung fand an meinem Institut statt, ich begann mit Pascal, ich studierte auch Basic, QBasic. Bereits am Ende meiner Schulzeit begann ich C. zu lernen. Ich hörte hier nicht auf und begann andere Sprachen zu lernen - Javascript, VB 6.0, MS SQL, Java. Er erkannte bald, dass Java mir am nächsten war und beschloss, sich darauf zu konzentrieren.
Nach ein paar Jahren begann ich zufällig, mit Java mobile Anwendungen für Android zu erstellen. Manchmal war es notwendig, Javascript, HTML, SQL in Android selbst zu verwenden. Andere Sprachen zu kennen hilft immer.
Welche verwendet. Ich arbeite derzeit sowohl in Java als auch in Kotlin. Bisher können wir Java nicht vollständig aufgeben, aber wir gehen allmählich weiter.
In der Praxis müssen Sie vor der Ausführung einer Aufgabe diese bewerten, einen Ansatz auswählen und einen Weg finden, um sie zu erfüllen. Hier wird deutlich, welche Sprache besser zu verwenden ist. In diesem Fall gibt es keine Situation, in der Sie die Aufgabe nicht bewältigen können. Gleichzeitig können Kotlin-Entwickler Java-Frameworks und -Bibliotheken verwenden und verständlicheren und einfacheren Code schreiben.
Warum Kotlin bevorzugt. Die Verwendung von Kotlin ist einfacher und bequemer als Java. Darin wird der Programmcode durchschnittlich 40% kürzer erhalten. Auf diese Weise können Sie einige Fehler vermeiden, die während der Programmausführung auftreten können. Wenn der Code einfacher und verständlicher ist, sind Fehler schwieriger zu machen und leichter zu erkennen, sodass ihre Anzahl schnell abnimmt. Sie verbringen weniger Zeit mit Entwickeln und Testen.
Über die Zukunft der Sprachen. Ich denke, dass Kotlin in naher Zukunft Java fast vollständig ersetzen kann. Es deckt bereits den Android-Markt zu 50% ab, und dies ist nur 3 Jahre nach dem Erscheinen. Dennoch muss Java wissen, dass es ohne Java schwierig sein wird, den Code an Kotlin zu übertragen. Hier stelle ich fest, dass Kotlin vollständig mit Java kompatibel ist, das heißt, es ist überhaupt nicht erforderlich, die Anwendung sofort vollständig neu zu schreiben. Es ist oft bequemer, dies schrittweise zu tun.
Und die Entwicklung von Android-Anwendungen ist nicht die einzige Richtung von Kotlin. Es unterstützt JavaScript, Programmierer können das Frontend darauf übertragen. Kotlin eignet sich hervorragend für die Entwicklung von Serveranwendungen. So können Sie kurzen und aussagekräftigen Code schreiben und gleichzeitig die vollständige Kompatibilität mit vorhandenen Stacks auf Basis der Java-Technologie gewährleisten. Die Entwickler haben auch Gradle-Unterstützung hinzugefügt, damit Entwickler Gradle-Dateien darauf schreiben können. Aktiv ist die Entwicklung von Kotlin Native, mit der Sie iOS-Anwendungen erstellen können.
"Kotlin ist nicht besser als Java im Allgemeinen, aber besser in der Android-Welt"
Ilnaz Gilyazov, Mitbegründer von AIMS, Autor des Kotlin Developer- Kurses in NetologyWelche Sprachen kennt er? Anfangs habe ich nach Bedarf mehrere Sprachen gelernt: Assembler, C / C ++, dann Java, JS, PHP, Python. Da ich im Bereich der Informationssicherheit gearbeitet habe, kann ich nicht in einer Sprache aufhören.
Welche verwendet. Jetzt wähle ich die Werkzeuge abhängig von den Aufgaben und Vorlieben des Kunden. Für das Backend - Java / Kotlin, für leichte Dinge ohne viele Integrationen - Go / NodeJS, für das Frontend - JS / TypeScript + Frameworks, für System-Dinge - C ++ / Go. Das heißt, ich berücksichtige nicht persönliche Vorlieben, sondern gehe von der Aufgabe und den Fähigkeiten der Sprache und ihres Ökosystems aus.
Warum Kotlin bevorzugt. Die Vorteile der Kotlin-Sprache in einem neuen Blick auf die Dinge, in dem Wunsch, Entwicklern einfache und bequeme Tools zur Verfügung zu stellen, die nicht viel Code erfordern. Dies sind syntaktischer Zucker und Coroutinen. Mit Kotlin können Sie weniger Code schreiben - es gefällt Ihnen.
Unter Android liegt es auf der Hand, Kotlin anstelle von Java zu wählen. In der Welt des Backends ist Kotlins Position viel schwächer, obwohl er selbst dort seinen Weg macht. Das Spring Framework (das für viele der Standard im Backend ist) enthält Chips für Kotlin, die für Java nicht verfügbar sind. Das sagt schon viel. Im großen und komplexen Backend arbeiten wir immer noch in Java, obwohl wir an einigen Stellen Kotlin verwenden. Im Fall einer Microservice-Architektur, bei der ein bestimmter Microservice keine große Anzahl von Integrationen erfordert, fühlt sich Kotlin großartig an.
Kotlin ist nicht besser als Java im Allgemeinen, aber besser in der Android-Welt. Obwohl dies auch argumentiert werden kann, hängt alles von den Parametern ab, anhand derer wir bewerten.
Über die Konfrontation und die Zukunft der Sprachen. Die Konfrontation zwischen Entwicklern auf Kotlin und Java wird manchmal in Projekten beobachtet, in denen keine gemeinsame Vereinbarung besteht und beide Sprachen verwendet werden. Und es gibt Fanatiker, die an die einzig richtige Sprache glauben. Ansonsten ist alles mehr oder weniger glatt, obwohl bei Integrationsproblemen die Rauheit erhalten bleibt. Wenn Sie ein Profi in Android werden möchten, müssen Sie beide Sprachen beherrschen. Es lohnt sich auf jeden Fall, sich daran zu gewöhnen, dass Sie ständig neue Sprachen, Bibliotheken, Frameworks, Ideen und Ansätze lernen müssen.
Jetzt ist die Zukunft von Java in Android unklar. Als wir alle unsere Android-Projekte auf Kotlin übertragen haben, blieb Java in Android bei der siebten Version mit einigen Chips aus der achten stecken. Und es ist immer noch unklar, ob Google beabsichtigt, seine Streitigkeiten mit Oracle beizulegen und Unterstützung für neue Versionen einzuführen, oder ob es sich um seine aktuellen Positionen handelt. Daher scheint es mittelfristig zumindest riskant zu sein, in das Lernen, Verwenden und Unterstützen von Java unter Android zu investieren.
Kotlin entwickelt sich mehr oder weniger vorhersehbar und bietet Wrapper, mit denen Sie alle modernen Funktionen der Sprache nutzen können. Außerdem bietet es eine Reihe von Annehmlichkeiten und Funktionen, die speziell für die Entwicklung für Android entwickelt wurden. Dies ist ein wichtiger Faktor, der die Entwicklerzufriedenheit beeinflusst.
Ich glaube nicht, dass Kotlin in naher Zukunft Java ersetzen wird. Vielmehr wird es in der Lage sein, mit Java zu koexistieren, da es ursprünglich darauf ausgerichtet war. Ich hoffe, dass die meisten der vorhandenen populären Java-Bibliotheken nicht in Kotlin neu geschrieben werden. Sie können jedoch in Kotlin schreiben (nachdem Sie die Nuancen der Kotlin <-> Java-Integration verstanden haben, z. B. Reflexion und alle Fallstricke) und in Java geschriebene Bibliotheken verwenden.
„Jetzt sucht niemand einen Entwickler, der nur Java oder nur Kotlin kennt. Sie müssen ein universeller Spezialist sein. “
Dmitry Gordin, Android-Entwickler bei RoadARÜber die Konfrontation. Um keine Demagogie zu züchten und nicht auf persönlichen Gefühlen zu beruhen, schauen wir uns die wichtigsten Marktteilnehmer an. Erstens erkennt Google Kotlin als Hauptentwicklungssprache für Android an. Zweitens sehen so offene Stellen bei HH.ru von Top-Unternehmen aus:
- Tinkoff - „Ein bedeutendes Plus: Erfahrung in der Entwicklung von Anwendungen auf Kotlin“;
- Yandex - "Willkommen: Entwicklungserfahrung auf Kotlin";
- Redmadrobot - "Wünschenswert: Kotlin-Entwicklungserfahrung";
- sogar „Russian Post“ - „Wir erwarten von Ihnen folgende Kenntnisse und Kompetenzen: Kenntnisse des Android SDK-Technologie-Stacks Kotlin / Java“.
Über die Wahl der Sprache. Sie müssen beide Sprachen beherrschen. Es ist unmöglich, Kotlin und Java nicht zu kennen. Die langweilige Liga kann Fehler finden und feststellen, dass es einen Kotlin Native gibt, der nicht mit Java zusammenhängt. Wir sprechen jedoch über die Android-Entwicklung, dh die Dalvik / ART-Laufzeit. Daher suchen alle Arbeitgeber, die schreiben, dass sie einen Entwickler auf Kotlin suchen, tatsächlich nach beiden Sprachen.
Meiner Meinung nach ist es am besten, sich mit Java vertraut zu machen und dann reibungslos zu Kotlin zu wechseln. Kotlin stellt nicht alles, was Sie von Java wussten, auf den Kopf. Sie können mit minimalen Änderungen zu einer neuen Sprache wechseln und im "Java-Stil" schreiben, Ihren Code schrittweise kotlinisieren und Zucker und Kotlin-spezifische Chips hinzufügen.
Von den Redakteuren
Wir haben die aktuelle Situation mit den Programmiersprachen und die Meinungen der Entwickler selbst berücksichtigt - wir unterrichten Java und Kotlin im Kurs „
Android Developer from Grund “. Dank dessen können die Schüler wählen, welche Sprache sie in Zukunft behalten möchten, oder beide verwenden.