Andrey Breslav: Jazyk Kotlin výrazně zvyšuje efektivitu programátorů



Nový programovací jazyk Kotlin se nedávno stal oficiálním jazykem pro operační systém Android, lze v něm ale programovat aplikace i pro další platformy. Čím přesvědčil programátory, aby na něj přešli? Jaké výhody nabízí oproti Javě a dalším jazykům? A co ho čeká do budoucna? I na to jsme se zeptali Andreye Breslava, vedoucího vývojářského týmu jazyku Kotlin ve společnosti JetBrains.

Jazyk Kotlin se nedávno stal oficiálním jazykem pro Android. Po IntelliJ IDEA to pro vás znamená další úspěšnou spolupráci s Google. Jak vlastně tato spolupráce probíhá?

Andrey Breslav, vedoucí vývojářského týmu jazyku Kotlin ve společnosti JetBrains
Andrey Breslav, vedoucí vývojářského týmu jazyku Kotlin ve společnosti JetBrains
Spolupráce mezi Googlem a JetBrains začala už před několika lety. Google se tehdy rozhodl vytvořit svůj IDE nástroj Android Studio na platformě IntelliJ. Od té doby se spolupráce úspěšně rozvíjí. Společnými silami platformu neustále vylepšují a Google ji zároveň i aktivně využívá.

Kotlin se potom v rámci Androidu stával čím dál populárnějším, a tak sílily požadavky komunity vývojářů, aby se stal oficiálním jazykem. Tým stojící za vývojem Androidu tyto požadavky vyslyšel a přidal Kotlin mezi oficiálně podporované jazyky pro vývoj aplikací. Nyní spolupracujeme s Googlem na vytvoření neziskové nadace pro Kotlin. Cílem dalšího projektu iniciovaného Googlem je založení Kotlin Language Committee, která bude řešit problémy s kompatibilitou jazyka.

 

Jaké byly nejpádnější konkrétní důvody, abyste se pustili do vývoje vlastního jazyka? Na co jste poté kladli největší důraz?

Hlavním důvodem pro vytvoření nového jazyka bylo zvýšení produktivity vývojářů. Ta je na něm totiž velmi závislá. Značná část běžně používaných jazyků vznikla už před delší dobou a poskytuje jen velmi omezený prostor pro své vylepšení. Moderní jazyky vypadají podstatně jinak. Rigidní je i programovací jazyk Java, což bylo zřejmé už v roce 2010, kdy jsme začali pracovat na Kotlinu.

Motem Kotlinu je praktičnost. Jde nám především o vytvoření nástroje pro profesionální vývojáře. Primárně jsme se zaměřili na interoperabilitu s Javou, která umožňuje bezproblémovou migraci a slučování těchto dvou jazyků ve stejné kódové bázi. Dbáme také na to, aby si programátoři mohli jazyk přizpůsobit svým požadavkům. Jedině tak totiž dosáhnou vyšší produktivity. Přizpůsobitelnost a kontrola chyb jsou dvěma klíčovými faktory spolehlivého systému psaní kódu, který značně snižuje výskyt chyb a umožňuje analýzu kódu v IDE.

Na vývoji našeho jazyka neustále pracujeme, aby odpovídal současným trendům, a zároveň si udržoval vysokou úroveň kompatibility. Je to náročné, protože nejsme sami. Jsou tady i další kvalitní jazyky. Naší výhodou je ale přizpůsobitelnost, která nás od ostatních odlišuje.

 

Jak byste přesvědčil vývojáře, kteří dosud spokojeně používají Javu, aby zkusili Kotlin?

Nastavit si Kotlin ve svém projektu je velmi jednoduché a zabere to jen pár minut. Lze ho také používat zároveň s Javou. Pro začátek je ideální zkusit napsat v Kotlinu testy nebo provést konverzi jednoduché třídy za pomoci našeho automatizovaného nástroje. Nebo jednoduše zkopírovat kód v Javě a vložit ho do souboru vytvořeného Kotlinem, a IDE provede konverzi samo.

Hlavními výhodami jsou srozumitelnost a snazší kontrola chyb. Díky převedení do jazyka Kotlin se velikost kódu na stránce zmenší o zhruba 30 %. Díky tomu vývojář vytváří méně kódu, ve kterém se musí vyznat. Kotlin také prostřednictvím funkce kontroly chyb automaticky zachytává potenciální NullPointerExceptions a další chyby. Tím vývojáři šetří čas, který by jinak musel strávit testováním a odstraňováním chyb. Další výhodou jsou rychlé abstrakce – Kotlin má totiž velmi silné funkcionální vlastnosti, dále takzvané ko-rutiny pro asynchronní programování a schopnost definovat doménově specifické jazyky (DSL), které umožňují maximální využití knihoven.

 

Lze nějak kvantifikovat úspory při vývoji projektu v jazyce Kotlin místo Javy?

Každý programátor má svůj specifický styl a tempo práce, proto je velmi těžké poskytnout jeden obecný údaj. Jsou to ale právě neoddiskutovatelné výhody spojené s produktivitou, kvůli kterým si Kotlin získává tisíce a tisíce nových uživatelů. Na internetu jsou dostupné i případové studie, které dokládají zvýšení produktivity díky Kotlinu.

 

Jaká část vývojářů používá Kotlin při vývoji pro Android a jaká pro ostatní platformy? Jak úspěšný je Kotlin/Native?

Mezi naše dvě hlavní platformy v této chvíli patří Android a serverové programování pro JVM. Každý třetí vývojář pracující s Kotlinem ho využívá na straně serveru. Mezi velké projekty, které používají Kotlin, patří například Spring Framework, Pinterest, Corda, Netflix, Basecamp a mnohé další. Samozřejmě Kotlin ve velké míře využíváme i u nás v JetBrains.

Kotlin/Native je v současnosti k dispozici pouze jako Technology Preview. Těší nás ale, že vzbudil velkou pozornost a věříme, že bude oblíbený i po svém plném spuštění.

 

Existují na Androidu nebo jiných platformách nějaké limity Kotlinu?

Kotlin se dá plně využít pro programování Androidu stejně jako programovací jazyk Java. Vše, co zvládne Java, zvládne i Kotlin. Jak už jsem zmínil, dělá Kotlin méně chyb a je zapotřebí méně kódu. Na platformách JavaScriptu využíváme dynamické kódování pro „nativní“ interoperabilitu. Aby byl zápis kódu co nejautentičtější s Kotlinem, spoléháme v případě JS knihoven na hlavičkové soubory DefinitelyTyped. Kotlin se integruje s většinou hlavních JS nástrojů jako je webpack. Opět platí, že co je možné napsat v JavaScriptu, je možné provést i v Kotlin/JS. V budoucnu nám navíc WebAssembly umožní poskytovat ještě lepší a bezproblémovější tvorbu kódu.

 

Na co nového se v Kotlinu můžeme v nejbližší době těšit?

Nás jazyk se snažíme neustále vylepšovat. Nyní usilovně pracujeme na možnosti pracovat na několika platformách zároveň. Uživatel by tak mohl sdílet kód v Kotlinu mezi několika platformami – nebude muset psát business logic pro každou platformu zvlášť, ale bude stačit jen jedna verze pro Android, iOS, Web i pro server. Sdílet kód bez toho, aby došlo ke ztrátě přístupu ke specifickým API platformy, je složité. My ale pro tento konkrétní problém máme připravený velmi zajímavý plán, který nám doufám opět umožní vylepšit podmínky pro programátory.

Další oblastí, na kterou se také soustředíme, je podpora value types a neměnných dat. Pokud jde o infrastrukturu, zaměříme se více na to, jak jednodušeji spravovat balíčky Kotlin na všech platformách.


(21. 12. 2017 | redakce2)

Facebook Twitter
Komentáře, názory a rady

Zatím sem nikdo nevložil žádný komentář. Buďte první...

>>> Číst a vkládat komentáře <<<

Tip - Konference: DATOVÁ CENTRA PRO BUSINESS 2019 - 19.9.2019!
Hledáme nové kolegy pro realizaci zajímavých projektů
v oblasti IT

NOVINKA: Pozoruhodné IT produkty 2019 podruhé
Ani tentokrát si nenechte ujít produkty, které vám mohou pomoci ve vaší práci v IT.

Pozoruhodné IT produkty pro rok 2019
Náš první letošní seznam zajímavých produktů, které byste určitě neměli minout






Články čtenářů

Titulky vložené do videa a další vid...


Dnes tu má tip pro všechny, kdo nejen pracují, ale také se občas baví :). Co dělat, když potřebujete video s vloženými titulky a máte jen video, kde titulky vložené ...

Problém: Pomalá Windows 10 a jak je ...


Pomalá Windows 10, to je problém, se kterým se potkává řada uživatelů. Často přitom nastane najednou, doslova ze dne na den. Windows se pomalu spouštějí, aplikace se...

Komentáře čtenářů

TBW
Dobrý den. Koukám že váš článek je z roku 2016. Dnes je rok 2019 a situace může být odlišná. Můj dotaz z...>>
Podnikání na youtube
Zdravím, měl bych pár dotazů týkajících se podnikání na youtube. Četl jsem na http://techhity.cz/media/j...>>
Zdá se mi to nebezpečné
Přijde mi to už docela nebezpečné, že půjde platit i prostřednictvím televize. Ale pokrok nezastavíme. C...>>


©2011-2019 BusinessIT.cz, ISSN 1805-0522 | Názvy použité v textech mohou být ochrannými známkami příslušných vlastníků.
Provozovatel: Bispiral, s.r.o., kontakt: BusinessIT(at)Bispiral.com | Inzerce: Best Online Media, s.r.o., zuzana@online-media.cz
Používáme účetní program Money S3
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(5591)