A Facebook a héten egy érdekes cikket tett közzé fejlesztői blogjában, amiben ezúttal a Java-ról a Kotlin-ra történő áttérés tapasztalatairól számol be más, hasonlót tervező vagy meglépő cégek, illetve fejlesztők okulására. A közösségi oldal ugyanis közel 10 millió sornyi, korábban Java-ban megírt kódot portolt az elmúlt időszakban a trónkövetelő nyelvre - a posztban pedig részletesen beszámol az áttérés okairól, tapasztalatairól és buktatóiról is.

Így például kiderül, hogy azért tértek át a Kotlin használatára - azon túl, hogy azt általánosságban jobbnak tartják a Java-nál és jobban is végez az elégedettségi felmérésekben -, mert így számos (elsősorban a null referenciákkal kapcsolatos) futásidejű hibát már előre ki tudtak szűrni, kevesebb kóddal tudták ugyanazt megvalósítani, valamint az inline függvények és a lambda-kifejezések révén a funkcionális programozás egyes elemeit is bele tudták csempészni a kódjaikba.

Ezen kívül a Kotlin alkalmazása mellett szólt az is, hogy így lehetővé vált számukra domain-specifikus nyelvi bővítések integrálása is - méghozzá típusbiztos módon - a forrásokba, amivel kapcsolatban a Facebook mérnökei annyit szögeztek le, hogy bár ez nagyon hatékony eszköz is lehet, viszont erősen csábít a túltervezésre (overengineering) is, így érdemes óvatosan bánni vele.

Az áttérés hátrányaként megjegyezték, hogy a nyilvánvaló munka-, idő- és anyagi költségeken túl azt is jelentette, hogy egy ideig vegyes kódbázisokat kellett karbantartaniuk, valamint, hogy bár a Kotlin nagyon népszerű és egyes alkalmazási környezetekben már átvette a vezetést a Java-tól, azért globális szinten és összességében tekintve még mindig elmarad a hozzá készült eszközök és könyvtárak száma a Java-hoz elérhetőktől, és a buildelés is tovább tart alatta.

Ennek ellenére alapos tervezéssel és átgondolt megközelítéssel sikerült úrrá lenniük ezeken a problémákon. Annak részleteit, hogy miként, a Facebook cikkében olvashatják el az érdeklődők.