#kotlin
Π Kotlin ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠΈΡ: null safety, smart casts, inline-ΡΡΠ½ΠΊΡΠΈΠΈ, sealed-ΠΊΠ»Π°ΡΡΡ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ data-ΠΊΠ»Π°ΡΡΡ.
ΠΡ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΡ ΡΠ°ΠΌ, Π³Π΄Π΅ Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ Π½ΡΠΆΠ½Π°. Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π΅ΡΡ ΡΠ°Π· ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ data-ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ R8 ΠΈΠ· ΡΠ΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΄Π°Π»ΡΡΡΡΡ
componentN()-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ copy(). ΠΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ toString(), equals() ΠΈ hashCode() ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ gradle-ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠ΄Π°Π»ΠΈΠ» ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° 500KiB (ΠΈΠ»ΠΈ 4% ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠΎΡΡΠΈ Π½Π° 15000.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ data-ΠΊΠ»Π°ΡΡΠΎΠ².