{"id":3913,"date":"2022-05-18T10:39:02","date_gmt":"2022-05-18T10:39:02","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway\/"},"modified":"2026-04-28T14:07:11","modified_gmt":"2026-04-28T14:07:11","slug":"kodel-kotlin-yra-nuostabus-bet-vis-tiek-liksite-su-java-1","status":"publish","type":"post","link":"https:\/\/thecodest.co\/lt\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","title":{"rendered":"Kod\u0117l \"Kotlin\" yra nuostabi, bet vis tiek liksite su \"Java"},"content":{"rendered":"<p>Nepriklausomai nuo to, kokiai grupei priklausote, yra prie\u017eastis, d\u0117l kurios liekate su <strong><a href=\"https:\/\/thecodest.co\/lt\/blog\/find-the-right-java-developer-now\/\">Java<\/a><\/strong>. Ir a\u0161 j\u016bs\u0173 nekaltinu. Ji turi bene labiausiai i\u0161vystyt\u0105, universali\u0105 ir i\u0161baigt\u0105 ekosistem\u0105 visoje <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-enterprise-hybrid-cloud\/\">\u012fmon\u0117<\/a> pasaulis. Kalba turi gra\u017eiai pritaikyt\u0105 galimybi\u0173 rinkin\u012f, kuris yra tarp per daug ir per ma\u017eai. L\u0117tai, bet nuolat pridedamos naujos funkcijos, tod\u0117l kalba da\u017eniausiai atitinka naujausias programavimo pasaulio tendencijas.<\/p>\n\n\n\n<p>Ar \u017einote <a href=\"https:\/\/projectlombok.org\">Lombokas<\/a> ta\u010diau? Jei ne, labai rekomenduoju pabandyti. Jei patiks, turiu k\u0105 nors, k\u0105 galite i\u0161bandyti. Visi\u0161kai nauj\u0105 kalb\u0105, kuri savo savyb\u0117mis lombok\u0105 paver\u010dia atgyvena. Ji vadinasi <b>Kotlin<\/b>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kotlin? Turite omenyje \"Android\" kalb\u0105?<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/pClXBLD.jpg\" alt=\"Na taip, bet i\u0161 tikr\u0173j\u0173 ne\"\/><\/figure>\n\n\n\n<p>\"Kotlin\" \"Android\" sistemoje palaimino pati \"Google\" ir ji tapo de facto pasirinkta \u0161ios platformos kalba. \u0160iame straipsnyje daugiausia d\u0117mesio skirsiu ne tam, bet \"Android\" i\u0161 ties\u0173 yra ta vieta, kur pirm\u0105 kart\u0105 susipa\u017einau su \"Kotlin\".<\/p>\n\n\n\n<p>Mano kolega darbe k\u016br\u0117 program\u0117l\u0119 tuometinei <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/why-do-projects-fail\/\">projektas<\/a>, savaranki\u0161kai. Ta\u010diau terminai spar\u010diai art\u0117jo, tod\u0117l man buvo pavesta pad\u0117ti jam j\u0173 laikytis. Dabar leiskite man persikelti \u012f t\u0105 akimirk\u0105. Aaaand... YUCK! Kod\u0117l jis vartoja ka\u017ekoki\u0105 keist\u0105 kalb\u0105, kuri skamba kaip <a href=\"https:\/\/www.ketchupy.pl\/images\/3\/c\/9\/4\/5\/3c9453c5b720f810c293211d77449d9395f09944-product-front-1.png\">ke\u010dupo prek\u0117s \u017eenklas<\/a>!? Atrodo siaubingai!<\/p>\n\n\n\n<p>Kod\u0117l prie\u0161 kiekvien\u0105 funkcij\u0105 ra\u0161oma \u201cfun\u201d? Tarsi a\u0161 dar ne\u017eino\u010diau, kas tai yra. Be to, a\u0161 jau turiu <em>\u012fdomus<\/em> su <strong>Java<\/strong> bet kokiu atveju. O kur yra gr\u0105\u017einimo tipas? Pabaigoje? Ar j\u016bs i\u0161prot\u0117jote? Tai k\u0105, j\u016bs ka\u017ek\u0105 priskiriate funkcijai? Tai neturi jokios prasm\u0117s! Viskas atrodo taip <b>Java su papildomais \u017eingsniais!<\/b> Palaukite, kur yra klas\u0117, kuriai priklauso \u0161is metodas? Kur j\u012f pasl\u0117p\u0117te, ke\u010dupas skamba, <strong>Java<\/strong> imituojanti programavimo kalbos pasiteisinim\u0105? O ne. O ne, ne j\u016bs. AR TAI GLOBALI FUNKCIJA? \u0160tai ir viskas, baigta, skambinu \u012f policij\u0105.<\/p>\n\n\n\n<p>Spoileris: neskambinau teis\u0117saugai. Patiko man tai ar ne, bet tur\u0117jau pakoreguoti savo \u012f Java orientuot\u0105 m\u0105stysen\u0105, kad prisitaiky\u010diau prie kitos kalbos. Ta\u010diau tai nebus taip blogai, tiesa? Tai vis dar JVM kalba, be abejo, tai tiesiog kitokia <strong>Java<\/strong>. Gal net su kai kuriomis \u0161auniomis papildomomis funkcijomis? Nenoromis prad\u0117jau dirbti prie projekto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\"Java\" su papildomais veiksmais<\/h2>\n\n\n\n<p><em>Jei \"Java\" tokia puiki, kod\u0117l n\u0117ra \"Java 2\"?<\/em> Juokas \u012f \u0161al\u012f, Tai, k\u0105 a\u0161 maniau sau. Tiesiog apsimesiu, kad Kotlin yra Java 2. Nauja sintaks\u0117 ir visa kita, bet turiu i\u0161mokti tiek, kad gal\u0117\u010diau u\u017ebaigti projekt\u0105. Vaikeli, oi, vaikeli, a\u0161 klydau.<\/p>\n\n\n\n<p>I\u0161band\u0119s j\u0105 vos vien\u0105 ar dvi dienas, greitai supratau, kad ir \"Kotlin\", ir <strong>Java<\/strong> n\u0117ra tokie elastingi. M\u0117ginant jas sulenkti vien\u0105 \u012f kit\u0105, viena i\u0161 j\u0173 nei\u0161vengiamai l\u016b\u017eta per pus\u0119. Tapo akivaizdu, kad Kotlin yra atskiras dalykas, o tai, kad ji veikia JVM, programuotojo po\u017ei\u016briu beveik nieko nerei\u0161kia. (Beje, ji taip pat gali persi\u0173sti \u012f <a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-javascript-developer\/\">JavaScript<\/a>, arba b\u016bti sukompiliuotas \u012f vietin\u0119 dvejetain\u0119 versij\u0105).<\/p>\n\n\n\n<p>Tada planas B. Ties\u0105 sakant, i\u0161mokti kalb\u0105. Pirm\u0105 kart\u0105 skaitant dokumentus, patyrusiam \"Java\" programuotojui per nugar\u0105 perb\u0117ga \u0161iurpuliukai. Pavyzd\u017eiui:<br>- anks\u010diau min\u0117tas auk\u0161\u010diausio lygio dar \u017einomas kaip visuotinis kontekstas.<br>- pabaigoje nurodyti parametr\u0173 ir funkcij\u0173 gr\u0105\u017einimo tipai.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code>fun sum(a: Int, b: Int): Int {\n   return a + b\n}<\/code><\/code><\/pre>\n\n\n\n<p>funkcijos k\u016bnas gali b\u016bti i\u0161rai\u0161ka (naudojant lygyb\u0117s \u017eenkl\u0105)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> fun sum(a: Int, b: Int) = a + b<\/code><\/code><\/pre>\n\n\n\n<p>if teiginys gali duoti rezultat\u0105<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> val y = if (x == 1) {\n \"vienas\"\n } else if (x == 2) {\n \"du\"\n } else {\n \"kitas\"\n }<\/code><\/code><\/pre>\n\n\n\n<p>Gerai, man tiesiog reik\u0117s prie to priprasti. Tiesiog kitokia sintaks\u0117. K\u0105 dar galite pasi\u016blyti, pone Kotlinai?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> value?.method() \/\/ \u012fvykdyti, jei ne null<\/code><\/code><\/pre>\n\n\n\n<p>Gerai, atsikratyti <code>jei (value == null)<\/code>, ta\u0161kas jums. K\u0105 dar turite?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code>fun check(list: List, alternative: Boolean) = when {\n list is LinkedList -&gt; print(\"linked\")\n alternative -&gt; print(\"alternative\")\n list.size &gt; 50 -&gt; print(\"big\")\n else -&gt; print(\"other\")\n }<\/code><\/code><\/pre>\n\n\n\n<p>Hmm gra\u017eus, gali b\u016bti patogu i\u0161vengti, jei kiti blokai, vis dar atrodo kaip triukas, nors.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> objektas SingularObject: Skaitiklis() {\n var a = 14\n fun test() = if (a &gt; 10) \"daugiau\" else \"ma\u017eiau\"\n }<\/code><\/code><\/pre>\n\n\n\n<p>Gerai, \u0161is atrodo tikrai naudingas, man patinka! Kita vertus, \"Java\" taip pat galiu sukurti singleton\u0105. Galb\u016bt jis nebus toks eleganti\u0161kas, bet tai tikrai nieko naujo. Ar turite koki\u0173 nors t\u016bz\u0173 rankov\u0117je? Pavyzd\u017eiui, tikr\u0173 sunkiasvori\u0173?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> var s: String = null \/\/ nekompilatuoja, ne nulinis tipas<\/code><\/code><\/pre>\n\n\n\n<p>Palaukite... kas?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tony_Hoare#Apologies_and_retractions\">Milijardo doleri\u0173 klaida<\/a><\/h2>\n\n\n\n<p>\u012esivaizduokite kod\u0173 baz\u0119, kurioje nereikia r\u016bpintis nuliniu saugumu. \u012esivaizduokite, kad laikoma savaime suprantamu dalyku, jog kiekviena nuoroda i\u0161 tikr\u0173j\u0173 yra ka\u017ekas prasmingo. \u012esivaizduokite, kad esate tikri, jog visos su nulin\u0117mis nuorodomis susijusios problemos sprend\u017eiamos i\u0161 anksto.<br>Daugiau ne\u012fsivaizduokite. Pagal nutyl\u0117jim\u0105 visos Kotlin nuorodos n\u0117ra nulin\u0117s. Jei norite, kad jos b\u016bt\u0173 nulin\u0117s, turite <u>s\u0105moningai<\/u> priimti tok\u012f sprendim\u0105 ir <u>ai\u0161kiai<\/u> nurodyti j\u012f <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-code-refactoring\/\">kodas<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code> var s: String? = null\n<\/code><\/code><\/pre>\n\n\n\n<p>Suprantu, kad \u0161iuo metu galite skepti\u0161kai vertinti vis\u0105 \u0161i\u0105 id\u0117j\u0105. Esate priprat\u0119 prie nulini\u0173 nuorod\u0173. Kodavimo metu tai \u012fsid\u0117m\u0117jote galvoje. Su\u017einojote, kur reikia b\u016bti atsargiems. Mano mintys b\u016btent tokios. I\u0161 <strong>Java<\/strong>, i\u0161 prad\u017ei\u0173 i\u0161 ties\u0173 buvo keista. Pavyzd\u017eiui, kokia prasm\u0117? Juk d\u0117l to stebuklingai nei\u0161nyks visos susijusios problemos. Man tiesiog reik\u0117s visur prid\u0117ti \u201c?\u201d, skamba kaip darbas.<\/p>\n\n\n\n<p>Bet a\u0161 nusprend\u017eiau pasinerti \u012f kalb\u0105, ar ne? Tegul b\u016bna kaip jums, pone <strong>Kotlin<\/strong>. Prad\u0117jau stengtis pa\u0161alinti kuo daugiau nulini\u0173 kintam\u0173j\u0173, lauk\u0173 ir parametr\u0173. \u017dingsnis po \u017eingsnio i\u0161mokau naudotis kalbos savyb\u0117mis, kurios palengvino nulini\u0173 nuorod\u0173 pa\u0161alinim\u0105, pvz., saugaus i\u0161kvietimo \u201c?.\u201d operatoriumi, elvis \u201c?:\u201d operatoriumi, deleguotomis savyb\u0117mis, \u201clet\u201d metodu ir kt.<\/p>\n\n\n\n<p>Laikui b\u0117gant pavyko pasiekti, kad kai kuriose klas\u0117se b\u016bt\u0173 tik ne nuliniai laukai ir metod\u0173 parametrai. I\u0161 esm\u0117s \u017einojau, kad jei klas\u0117 buvo s\u0117kmingai instancuota, galiu beveik pamir\u0161ti apie metod\u0173 k\u016bn\u0173 nulines reik\u0161mes. Tai buvo palaima. Laikui b\u0117gant tai vis labiau vertinau. Ta\u010diau galiausiai negalvojau apie tai kaip apie \u017eudan\u010di\u0105 funkcij\u0105, <strong>Java<\/strong> vis dar jaut\u0117si kaip namie. Kol...<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sugr\u012f\u017eimas<\/h2>\n\n\n\n<p>Projektas art\u0117jo prie pabaigos. Vis geriau pa\u017einau \"Kotlin\", o \u012fgijus \u0161i\u0173 \u017eini\u0173 kodas dar\u0117si vis tvarkingesnis, skaitomesnis ir glaustesnis. Patobulinimus plika akimi gal\u0117jai pamatyti \u012fra\u0161\u0173 istorijoje. Ta\u010diau pagaliau at\u0117jo laikas. Su netik\u0117tai maloniais prisiminimais apie nauj\u0105j\u0105 kalb\u0105 at\u0117jo laikas atsisveikinti ir gr\u012f\u017eti \u012f sald\u017ei\u0105 komforto zon\u0105 <strong>Java<\/strong>. Bent jau taip maniau.<\/p>\n\n\n\n<p>Ar pa\u017e\u012fstate t\u0105 jausm\u0105, kai pradedate vertinti daikt\u0105 t\u0105 pa\u010di\u0105 akimirk\u0105, kai jo neb\u0117ra? Kai nesuvokiate, kaip labai nuo ko nors priklausote, kol nebegalite juo naudotis? Tai buvo pats geriausias \u0161io jausmo pavyzdys, kok\u012f turb\u016bt esu patyr\u0119s gyvenime.<\/p>\n\n\n\n<p>Kai gr\u012f\u017eau prie kodo ra\u0161ymo <strong>Java<\/strong>, mane beveik i\u0161g\u0105sdino kai kuri\u0173 funkcij\u0173 tr\u016bkumas. Atrod\u0117, tarsi mano smegenys pas\u0105moningai, neteisingai Kotlin funkcijas b\u016bt\u0173 perk\u0117lusios \u012f Java. Patyriau situacij\u0173, kai i\u0161 tikr\u0173j\u0173 prad\u0117jau k\u0105 nors \u012fgyvendinti, kad supras\u010diau, jog \u0161ioje kalboje tai neveiks. Geriausiu atveju gal\u0117\u010diau j\u0105 para\u0161yti kaip Kotlin, bet ji b\u016bt\u0173 grem\u0117zdi\u0161ka, neskaitoma ir (arba) reikalaut\u0173 per daug \u0161ablon\u0173.<\/p>\n\n\n\n<p>Nulin\u0117 apsauga, \u017einoma, buvo funkcija, kurios man labiausiai tr\u016bko. Ta\u010diau nustebau, kiek daug ma\u017eesni\u0173 dalyk\u0173 man tapo savaime suprantami: \u012fvardyti parametrai, savyb\u0117s vietoj getteri\u0173 ir setteri\u0173, \u201c==\u201d kaip lygyb\u0117 ir \u201c===\u201d kaip referencin\u0117 lygyb\u0117, kvalifikuotas \u201cthis\u201d, i\u0161pl\u0117timo funkcijos, numanomas vienintelis lambda parametras, \u201c_\u201d nenaudojamiems lambda parametrams, <a href=\"https:\/\/thecodest.co\/lt\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">duomenys<\/a> klases, apimties funkcijas, kitas Kotlin stdlib funkcijas, operatorius ir dar daugiau. Ir kaip visa tai gra\u017eiai dera tarpusavyje. Palyginimui, Java atrod\u0117... primityvi.<\/p>\n\n\n\n<p>I\u0161 tikr\u0173j\u0173 jau\u010diausi taip blogai, kad \u0117miau svarstyti galimyb\u0119 apskritai pereiti prie \u201cKotlin\u201d. Teori\u0161kai ji visi\u0161kai s\u0105veikauja su \u201cJava\u201d, galima tiesiog prid\u0117ti \"Kotlin\" palaikym\u0105 prie esamo projekto ir prad\u0117ti ra\u0161yti naujas klases. Kotlin pus\u0117 \u017eino, kaip \"kalb\u0117tis\" su Java, o Java pus\u0117 net ne\u017eino, kad \"kalbasi\" su kita kalba. O po kompiliavimo \u012f baitkod\u0105 JVM i\u0161 tikr\u0173j\u0173 nedaro jokio skirtumo.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/calendly.com\/the-codest-java-consulting\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/meeting_java_expert.png\" alt=\"Susipa\u017einkite su &quot;Java&quot; ekspertu\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Realyb\u0117s patikrinimas<\/h2>\n\n\n\n<p>Tad ko laukiate? Jei kalba yra tokia gera, kaip sakote, tiesiog ja naudokit\u0117s! Ta\u010diau gal ne esamuose projektuose, \u017einau, kad ji tur\u0117t\u0173 b\u016bti s\u0105veikaujanti, bet taip mai\u0161yti dvi skirtingas kalbas skamba negra\u017eiai.<\/p>\n\n\n\n<p>Gerai, tad naujiems moduliams - Kotlin. Arba taip? J\u016bs dirbate <a href=\"https:\/\/thecodest.co\/lt\/blog\/how-to-hire-the-best-outsourced-development-team-for-a-scaleup\/\">komanda<\/a>. Turite su jais pasitarti ir \u012ftikinti juos \u0161ios naujos kalbos didingumu. K\u0105? Jiems ji nepatinka? Pana\u0161u, kad jie tiesiog nenori d\u0117ti pastang\u0173 jos mokytis. Ta\u010diau negalite j\u0173 kaltinti, i\u0161 prad\u017ei\u0173 ir j\u016bs buvote skepti\u0161kas.<\/p>\n\n\n\n<p>Projekto vadovas! Taip! Jis tikrai supras, koki\u0105 didel\u0119 vert\u0119 Kotlin atne\u0161t\u0173 m\u016bs\u0173 team. O, kokia didyb\u0117 ateis!<br>-Nuo<br>-Palaukite, kod\u0117l?<br>-team to ne\u017eino.<br>-Jie i\u0161moks!<br>-Jie nenori mokytis.<br>-J\u016bs galite juos pasigaminti!<br>-Jiems nereikia mokytis.<br>-Tai tiesa, bet pagalvokite apie galimybes!<br>-Taip, o gal pirmiausia pagalvokite apie problemas?.<\/p>\n\n\n\n<p>Legendoje sakoma, kad egzistuoja projektas. Projektas, kuris yra didelis ir sud\u0117tingas, bet gra\u017eiai para\u0161ytas kiekvienoje dalyje. Projektas, kuriame visi k\u016br\u0117jai vieningai kalba apie naudojamus sprendimus. Kur naujos funkcijos tiesiog skland\u017eiai liejasi i\u0161 programuotoj\u0173 klaviat\u016br\u0173. Kur klaidos pasitaiko retai ir jas lengva i\u0161taisyti.<\/p>\n\n\n\n<p>Ar esate mat\u0119 tok\u012f projekt\u0105? Nema\u010diau. Kai kurie buvo artimi, bet dauguma j\u0173 yra didel\u0117 paveld\u0117to kodo netvarka. O jei ir n\u0117ra, grei\u010diausiai kada nors ateityje taps. O dabar \u012fsivaizduokite, kad \u012f \u0161i\u0105 mi\u0161rain\u0119 \u012fmai\u0161ysite dar vien\u0105 kalb\u0105. Ji suteikia nauj\u0173 b\u016bd\u0173 daryti klaidas. Ji reikalauja, kad k\u016br\u0117jai \u017einot\u0173, k\u0105 daro. Tai, \u0161velniai tariant, rizika.<\/p>\n\n\n\n<p>Dabar taip pat atsi\u017evelkite \u012f <a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-vue-js-developers\/\">k\u016br\u0117jas<\/a> rotacija. \u017dmon\u0117s ateina ir i\u0161eina. Ar priversite kiekvien\u0105 nauj\u0105 k\u016br\u0117j\u0105 mokytis visi\u0161kai naujos kalbos? Ne, tai b\u016bt\u0173 neproduktyvu. Ar pirmiausia samdysite \"Kotlin\" k\u016br\u0117jus? S\u0117km\u0117s, nes pasamdyti ger\u0105 \"Java\" programuotoj\u0105 pakankamai sunku.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.allegro.tech\/2018\/05\/From-Java-to-Kotlin-and-Back-Again.html\">\u017dmon\u0117s band\u0117.<\/a> Turiu pasakyti, kad nesutinku su daugeliu tame straipsnyje pateikt\u0173 kaltinim\u0173. Ten yra pagr\u012fstos kritikos, bet manau, kad jie nenaudojo Kotlin pakankamai, kad i\u0161 tikr\u0173j\u0173 suprast\u0173 \u201cKotlin b\u016bd\u0105\u201d. Pana\u0161u, kad daugelis komentatori\u0173 po tuo straipsniu mano pana\u0161iai.<\/p>\n\n\n\n<p>Ta\u010diau tai nesvarbu. Galiu la\u017eintis, kad taip nutikt\u0173 ir j\u016bs\u0173 projekte. \u201cI\u0161band\u017eiau, nepatiko\u201d. J\u0173 nepriversite tam skirti daugiau laiko. Nepriversite j\u0173 pabandyti dar kart\u0105. Nepriversite j\u0173 suteikti jam dar vien\u0105 \u0161ans\u0105. Ir praktiniu po\u017ei\u016briu jie gali b\u016bti teis\u016bs. <strong>Java<\/strong> yra toks populiarus, kad bet ko kito naudojimas JVM atrodo nereikalingas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kod\u0117l \u0161is straipsnis?<\/h2>\n\n\n\n<p>K\u0105 tik praleidote nema\u017eai laiko ra\u0161ydami straipsn\u012f, kuris, atrodo, neturi prasm\u0117s. Kod\u0117l tur\u0117\u010diau bandyti mokytis kalbos, jei sakote, kad tai vis tiek beprasmi\u0161ka?<\/p>\n\n\n\n<p>Nemanau, kad tai beprasmi\u0161ka. Vis dar manau, kad \"Kotlin\" yra puiki. A\u0161 vis dar noriu j\u0105 naudoti (ir i\u0161 tikr\u0173j\u0173 j\u0105 naudoju savo priva\u010diuose projektuose). Jei gal\u0117\u010diau, tiesiog perei\u010diau prie jos ir pamir\u0161\u010diau \"Java\" apribojimus. Ta\u010diau dabartin\u0117 realyb\u0117 sako, kad negaliu. Ir a\u0161 noriu pabandyti tai pakeisti.<\/p>\n\n\n\n<p>Mano ketinimas jums, gerbiamas skaitytojau, yra bent jau apsvarstyti galimyb\u0119 i\u0161eiti i\u0161 jaukios \"Java\" komforto zonos. Nes galb\u016bt, tik galb\u016bt, jums Kotlin patiks taip pat, kaip ir man. O jei taip, tai dar vienas Kotlin i\u0161manantis k\u016br\u0117jas <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-the-size-of-your-potential-reachable-market\/\">rinka<\/a>.<\/p>\n\n\n\n<p><strong>Skaityti daugiau:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-best-type-of-projects-for-java\">Geriausias \"Java\" projekt\u0173 tipas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/3-common-challenges-of-software-product-development-for-startups\">3 da\u017eniausiai pasitaikantys programin\u0117s \u012frangos produkt\u0173 k\u016brimo i\u0161\u0161\u016bkiai pradedan\u010diosioms \u012fmon\u0117ms<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/the-right-way-to-find-top-java-developers\">Tinkamas b\u016bdas rasti geriausius \"Java\" programuotojus<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Jei esate \"Java\" programuotojas, tik\u0117tina, kad turite bent \u0161iek tiek patirties su kitomis programavimo kalbomis.  Kai kurie i\u0161 m\u016bs\u0173 savo programavimo nuotykius prad\u0117jo nuo kitos kalbos, pavyzd\u017eiui, C\/C++, JavaScript, C#, Python, o gal net nuo \"Pascal\" ar \"Basic\". Ta\u010diau kai kurie prad\u0117jo nuo \"Java\" ir tiesiog niekada per daug nesigilino \u012f kitas kalbas, nemaloniai prisimindami t\u0105 vienintel\u012f kart\u0105, kai reik\u0117jo greitai u\u017ekoduoti k\u0105 nors i\u0161 frontend pus\u0117s.<\/p>","protected":false},"author":2,"featured_media":3914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Why Kotlin is awesome, but you will stay with Java anyway - The Codest<\/title>\n<meta name=\"description\" content=\"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/lt\/tinklarastis\/kodel-kotlin-yra-nuostabus-bet-vis-tiek-liksite-su-java-1\/\" \/>\n<meta property=\"og:locale\" content=\"lt_LT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Kotlin is awesome, but you will stay with Java anyway\" \/>\n<meta property=\"og:description\" content=\"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/lt\/tinklarastis\/kodel-kotlin-yra-nuostabus-bet-vis-tiek-liksite-su-java-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-18T10:39:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-28T14:07:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minut\u0117\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Why Kotlin is awesome, but you will stay with Java anyway\",\"datePublished\":\"2022-05-18T10:39:02+00:00\",\"dateModified\":\"2026-04-28T14:07:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"},\"wordCount\":1973,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"lt-LT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\",\"name\":\"Why Kotlin is awesome, but you will stay with Java anyway - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"datePublished\":\"2022-05-18T10:39:02+00:00\",\"dateModified\":\"2026-04-28T14:07:11+00:00\",\"description\":\"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\\\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#breadcrumb\"},\"inLanguage\":\"lt-LT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Kotlin is awesome, but you will stay with Java anyway\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"lt-LT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/lt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kod\u0117l \"Kotlin\" yra nuostabi, bet vis tiek liksite su \"Java\" - The Codest","description":"Jei esate \"Java\" programuotojas, tik\u0117tina, kad turite bent \u0161iek tiek patirties su kitomis programavimo kalbomis. Kai kurie i\u0161 m\u016bs\u0173 savo programavimo nuotykius prad\u0117jo nuo kitos kalbos, pavyzd\u017eiui, C\/C++, JavaScript, C#, Python, o gal net nuo \"Pascal\" ar \"Basic\". Ta\u010diau kai kurie prad\u0117jo nuo \"Java\" ir tiesiog niekada per daug nesigilino \u012f kitas kalbas, nemaloniai prisimindami t\u0105 vienintel\u012f kart\u0105, kai reik\u0117jo greitai u\u017ekoduoti k\u0105 nors i\u0161 frontend pus\u0117s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/lt\/tinklarastis\/kodel-kotlin-yra-nuostabus-bet-vis-tiek-liksite-su-java-1\/","og_locale":"lt_LT","og_type":"article","og_title":"Why Kotlin is awesome, but you will stay with Java anyway","og_description":"If you are a Java developer, chances are you have at least some experience with other programming languages. Some of us started their programming adventure with another language like C\/C++, JavaScript, C#, Python or maybe even something like Pascal or Basic. Some, though, started with Java and just never paid too much attention to other languages, unpleasantly remembering the one time when they needed to quickly code something on the frontend side.","og_url":"https:\/\/thecodest.co\/lt\/tinklarastis\/kodel-kotlin-yra-nuostabus-bet-vis-tiek-liksite-su-java-1\/","og_site_name":"The Codest","article_published_time":"2022-05-18T10:39:02+00:00","article_modified_time":"2026-04-28T14:07:11+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"1 minut\u0117"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Why Kotlin is awesome, but you will stay with Java anyway","datePublished":"2022-05-18T10:39:02+00:00","dateModified":"2026-04-28T14:07:11+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"},"wordCount":1973,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","articleSection":["Software Development"],"inLanguage":"lt-LT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","url":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/","name":"Kod\u0117l \"Kotlin\" yra nuostabi, bet vis tiek liksite su \"Java\" - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","datePublished":"2022-05-18T10:39:02+00:00","dateModified":"2026-04-28T14:07:11+00:00","description":"Jei esate \"Java\" programuotojas, tik\u0117tina, kad turite bent \u0161iek tiek patirties su kitomis programavimo kalbomis. Kai kurie i\u0161 m\u016bs\u0173 savo programavimo nuotykius prad\u0117jo nuo kitos kalbos, pavyzd\u017eiui, C\/C++, JavaScript, C#, Python, o gal net nuo \"Pascal\" ar \"Basic\". Ta\u010diau kai kurie prad\u0117jo nuo \"Java\" ir tiesiog niekada per daug nesigilino \u012f kitas kalbas, nemaloniai prisimindami t\u0105 vienintel\u012f kart\u0105, kai reik\u0117jo greitai u\u017ekoduoti k\u0105 nors i\u0161 frontend pus\u0117s.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#breadcrumb"},"inLanguage":"lt-LT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/"]}]},{"@type":"ImageObject","inLanguage":"lt-LT","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/why_kotlin_is_awesome-_but_you_will_stay_with_java_anyway.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/why-kotlin-is-awesome-but-you-will-stay-with-java-anyway-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Why Kotlin is awesome, but you will stay with Java anyway"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"lt-LT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"lt-LT","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"lt-LT","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/lt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/comments?post=3913"}],"version-history":[{"count":8,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3913\/revisions"}],"predecessor-version":[{"id":8525,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3913\/revisions\/8525"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media\/3914"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media?parent=3913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/categories?post=3913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/tags?post=3913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}