Kotlin představuje relativně nový programovací jazyk, jehož popularita rychle stoupá. Má šanci stát se jedním z nejpoužívanějších vývojových prostředků pro platformu Android. V nedávné minulosti již několik českých firem dokázalo vytvořit i prodat řadu produktů souvisejících s jazykem Java, především vývojových a integračních prostředí. Kotlin jde ovšem dál – souvisí sice úzce s Javou, jedná se ale přímo o programovací jazyk a vlastně konkurenci Javy.
Název jazyka se odvozuje od ostrova nedaleko Petrohradu a na jeho vývoji pracují především ruští programátoři z vývojového centra české společnosti JetBrains. Kód v Kotlinu byl od počátku navržen tak, aby se spouštěl v rámci interpreteru Javy (JVM, Java Virtual Machine) a byl interoperabilní i s knihovnami Javy; k dispozici jsou i plug-iny, které umožňují pracovat s Kotlinem v prostředí Eclipse a Apache i kombinovat přímo kód Javy a Kotlinu v rámci jediného projektu.
Java lepší než Java
Jednou z odlišností Kotlinu od Javy je inspirace v syntaxi jazyků typu Pascal, Groovy nebo Scala (což je rovněž jakási verze/náhražka Javy). Mimo jiné i v důsledku toho má být základní vlastností přítomnou už v návrhu Kotlinu jednak jednoduchost vývoje, a druhak i odolnost takto vytvářeného kódu vůči chybám. Kotlin se přímo na úrovni syntaxe snaží předcházet kromě dalšího i chybám, které mohou mít fatální následky na bezpečnost výsledného kódu (null safe jazyk). Podobně jako Java je Kotlin prezentován jako jazyk plně objektově orientovaný, současně však využívá i prvky procedurálního programování. Jednou z motivací, proč takový jazyk vůbec vyvíjet, byl fakt, že v Javě přetrvává mnoho problémů v důsledku požadavku zpětné kompatibility. Oproti podobně motivovanému prostředí Scala je hlavní výhodou Kotlinu významně rychlejší kompilace kódu. A v neposlední řadě má být kód v Kotlinu mnohem lépe čitelný, jazyk se lze rychle naučit, orientuje se na praktické problémy vývojových týmů (není „akademický“). S tím souvisí i to, že zdrojový kód bývá oproti podobně motivovaným konkurenčním projektům relativně krátký.
První veřejná verze Kotlinu byla pod open source licencí (Apache 2.0) vydána již v roce 2012 a oficiální verze 1.0 se objevila v loňském roce. Kotlin by si měl mezi oficiálními verzemi zachovávat zpětnou kompatibilitu. Firma JetBrains postupně značně rozšířila své ambice a Kotlin již zdaleka není pouze jednou z možností, jak vyvíjet pro prostředí JVM. Podle indexu popularity programovacích jazyků Tiobe se v červnu 2017 dostal na 41. pozici (tedy umístění v rámci speciálně sledovaného žebříčku Top50). Současný vzestup zájmu o Kotlin souvisí především s platformou Android, kde Google nedávno Kotlin zařadil mezi oficiálně podporované jazyky. Na konferenci I/O letos na jaře spolu s Googlem Kotlin podpořil např. i dodavatel podnikových informačních systémů, společnost Pivotal (v rámci verze Spring Framework 5). Oficiální podpora Kotlinu ze strany Googlu pak byla podle mnohých ohlasů vůbec hlavní novinkou oznámenou v rámci konference I/O; na toto oznámení došlo už v rámci úvodní prezentace. Android Studio nyní již Kotlin podporuje nativně, bez nutnosti plug-inů.
Swift pro Android?
Vazba mezi Googlem a JetBrains je ovšem logická, společnost JetBrains totiž současně vyvíjí základní komponenty pro Android Studio (IntelliJ), tedy hlavní programovací nástroj pro Android přímo od Googlu. Kotlin má podle některých komentátorů dnes ke Googlu vztah poněkud připomínající roli jazyka Swift u Applu, nicméně firmy Google a JetBrains mají i nadále působit nezávisle na sobě – na rozdíl od Swiftu, což byl původně interní a až posléze otevřený projekt Applu. I tak se ale Kotlin někdy charakterizuje jako „Swift pro Android“. Společný závazek Googlu a JetBrains podporovat další vývoj Kotlinu potvrzuje také založení společné nadace obou firem pro rozvoj tohoto programovacího jazyka.
Kotlin dnes ovšem umožňuje vytvářet kód nejenom pro JVM nebo Android, ale také aplikace běžící v rámci prohlížeče (včetně kombinace s JavaScriptem, Kotlin lze „zkompilovat“ přímo do podoby javascriptového kódu, což umožňuje v některých modelech vývoje se bez JavaScriptu prakticky obejít) nebo nativní aplikace pro různé operační systémy, včetně kódu pro iOS a MacOS. Široké portfolio vývojových nástrojů a podporovaných platforem společnosti JetBrains (nástroje pro Javu, Ruby, PHP i C#) znamená, že pro vývojáře v Kotlinu je k dispozici spolehlivý partner s podporou rozsáhlého ekosystému. Každopádně v tuto chvíli se jako hlavní uplatnění Kotlinu pro nezávislé vývojářské firmy jeví vývoj pro Android, v rámci větších projektů má pak Kotlin místo všude tam, kde se používá Java. Kompatibilita Kotlinu s Javou znamená i to, že stávající javové projekty lze snadno převádět do Kotlinu.
Kotlin v tuto chvíli využívá řada globálních služeb včetně Amazon Web Services, Pinterest, Coursera, Netflix, Uber, Square, Trello, Basecamp a dalších. Distribuovaná knihovna Corda, kterou vyvíjí konsorcium velkých finančních institucí včetně Goldman Sachs, Wells Fargo, JP Morgan, Deutsche Bank, UBS, HSBC, BNP Paribas a Société Générale, je z 90 % postavena právě na bázi Kotlinu ve verzi 1.1. Aktuální odladěná verze řady 1.1 má číslo 1.1.4.
Další informace
Letošní Kotlin konference se bude konat v listopadu v San Franciscu: www.kotlinconf.com
Společnost JetBrains: www.jetbrains.com
ABCLinuxu: www.abclinuxu.cz/zpravicky/kotlin-1.0