Kod aplikacji napisanych w Kotlinie pachnie przyjemnie, a Java śmierdzi

Strona główna Aktualności

O autorze

Wspierany przez Google język programowania Kotlin zadomowił się już w aplikacjach dla Androida. Jego popularność ma bardzo dobry efekt uboczny – kod aplikacji napisanych w nim jest porządniejszy niż tych pisanych w Javie.

Kotlin został wprowadzony do Androida w ubiegłym roku. Według ankiety StackOverflow jest to jeden z najbardziej lubianych języków programowania. Pod tym względem Java jest jego przeciwieństwem – znalazła się w rankingu języków znienawidzonych. Według tej samej ankiety w marcu w Kotlinie pracowało 4,5% użytkowników, a z nowego raportu wiemy, że już prawie 12% otwartoźródłowych aplikacji zostało napisanych w Kotlinie. Pod koniec ubiegłego roku Google zdradził, że w Kotlinie powstało 17% wszystkich aplikacji napisanych z użyciem Android Studio 3.

Kotlin to otwarty, statycznie typowany język programowania, przeznaczony do pisania aplikacji uruchamianych na JVM, Androidzie, natywnie (po kompilacji LLVM) albo w przeglądarce (transpiling do JavaScriptu). Stworzyła go firma JetBrains jako zamiennik Javy, odznaczający się bezpieczniejszym systemem typów. Kotlin jest także oszczędniejszy. Szacuje się, że program napisany w Kotlinie będzie zawierał o około 40% mniej kodu niż napisany w Javie. Nic dziwnego, że powstający w nim kod ma mniej błędów.

Przy okazji Kotlin znacznie podnosi jakość kodu aplikacji mobilnych. Do takiego wniosku doszli Bruno Gois Mateus i Matias Martinez z Uniwersytetu w Walencji. Badacze zebrali kod 925 otwartych aplikacji z repozytorium F-Droid i przeanalizowali pod kątem złych praktyk programistycznych i jakości kodu. Spośród nich 109 miało przynajmniej jedną wersję napisaną w Kotlinie i na przestrzeni czasu widać, że język ten jest coraz częściej wykorzystywany. Analizowany był tak zwany „zapach kodu”, czyli obecność różnego typu negatywnych cech, jak duże klasy, długie metody, powielanie fragmentów kodu, „leniwe” klasy, zazdrość o kod, nadmiernie skomplikowane wzorce projektowe i tym podobne. Błędy tego typu nie pozostają bez wpływu na wydajność aplikacji, a w szczególności na zużycie pamięci. Do analizy wykorzystali zestaw narzędzi Paprika, rozpoznający 10 „zapachów”.

Z analizy wysunęli wniosek, że Java śmierdzi, a Kotlin pachnie odświeżaczem powietrza (do kwiatów niestety jeszcze trochę mu brakuje). 92% wszystkich aplikacji zalatywało długimi metodami, Blobami lub złożonymi klasami. Liczne aplikacje pisane w Javie zwykle miały przynajmniej 4 z 10 badanych zapachów, podczas gdy kod w Kotlinie przeważają takie śmierdzące tylko na jeden sposób. Przesiadka na Kotlina podniosła jakość kodu w ponad połowie aplikacji, których twórcy się na to zdecydowali.

Na koniec warto dodać, że według ubiegłorocznego badania aplikacje dla Androida w ogólności śmierdzą bardziej niż te pisane dla iOS-a, niezależnie od języka (Objective-C i Swift).

© dobreprogramy