Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Π°Ρ Π½Π° ΡΠ»ΠΈΡΠ΅ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠΉΡΠΈ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΉ Π°ΠΏΡΠ΅ΠΊΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π΄ΠΎΡΠΎΠ³Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ (ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π΅ΠΌΡ Π΄ΠΎΡΡΠΈΡΡ ΡΠ΅Π»ΠΈ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ (ΠΈΡΠΏΠ°Π½ΡΠΊΠΈΠΉ, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ, ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅), ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Python, Java ΠΈ C++. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»ΠΎΠΆΠΈ ΡΠΈΡΠ»ΠΎ Π ΠΈ ΡΠΈΡΠ»ΠΎ Π), ΡΠ°ΠΊ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ β Π½Π°Π±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Π§Π΅ΠΌ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ β Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈ ΡΠ°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. Π ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠΌΠΎΠ³ ΠΈΡ ΠΏΠΎΠ½ΡΡΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΊΡΠ»ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ, ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠΌ ΡΠΎΡΡΠ°: ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ½Π³ΡΠ΅Π΄ΠΈΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΡΡ ΡΠΌΠ΅ΡΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠΏΠ΅ΠΊΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅Π΅ΡΡ ΡΠ΅ΡΡΠΎ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ β ΡΠ·ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠ΅ΡΠ΅ΠΏΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π·Π½ΡΠ΅ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΠ΅ΠΏΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΈΡΠ΅Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ.
ΠΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ β ΡΡΠΎ ΡΠ·ΡΠΊ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 1 ΠΈ 0. ΠΠ½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠΎ ΡΠ°ΠΌΠ°Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΏΠΎΠ½ΡΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½, ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΠΎ ΡΡΡΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ Π½ΡΠ»Ρ.
ΠΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠΈΠ»ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ: ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ΅ΡΠ°ΡΡΠΈΡ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌ ΠΏΠΎ API.
ΠΡΠΊΡΠ΄Π° Π±Π΅ΡΡΡΡΡ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½Ρ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° — ΠΎΠ½ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌΡ), ΡΠ΅ΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΡ ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² JavaScript ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ var, function ΠΈ arr ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ, ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΈΡΠ°Π»ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½ΡΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ.
ΠΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ, Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, Π½Π° ΡΠ·ΡΠΊ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ.
ΠΠΎΡΠ΅ΠΌΡ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈ ΠΈΡΡΠ΅Π·Π°ΡΡ
Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈ ΠΈΡΡΠ΅Π·Π°ΡΡ ΠΏΠΎ ΡΠ΅Π»ΠΎΠΌΡ ΡΡΠ΄Ρ ΠΏΡΠΈΡΠΈΠ½.
- Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π½ΠΎΠ²ΡΡ
Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π½ΠΎΠ²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
- Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²Π°ΡΡ. ΠΠΌ Π½Π° ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Π½ΠΎΠ²ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, COBOL, ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π² 1970-Ρ
ΠΈ 1980-Ρ
Π³ΠΎΠ΄Π°Ρ
, Π±ΡΠ» ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΡΡΠ΅ΡΠ½Π΅Π½ Java, Python ΠΈ JavaScript, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅Π³ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΡΠ΅Π·Π½ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ. ΠΡΠ»ΠΈ ΡΠ·ΡΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π΅Π³ΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Ρ Π²ΠΎΡΡΠ° ΡΠΎΠΏ-10 Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΠ±ΠΎΡΠ΅Π» Python. ΠΠ΅ Π·Π½Π°ΡΡΠΈΠΌ Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΡΠ°Π»ΠΈ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅
ΠΠ Π‘ΠΎΡΡ ΠΠΈΠ·Π½Π΅Ρ ΠΠ°Π΄ΡΡ Π¦ΠΈΡΡΠΎΠ²ΠΈΠ·Π°ΡΠΈΡ Π’Π΅Ρ Π½ΠΈΠΊΠ°
|ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠ’ΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΡ
Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΠ Π² ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠ½ΠΊΡ ΠΎΠ± ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ Π·Π½Π°Π½ΠΈΠΈ JavaScript, Ρ
ΠΎΡΡ ΡΡΠΎ ΠΈ Π½Π΅ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠΈΡΠ΅. ΠΠ½ ΠΎΠ±ΠΎΡΠ΅Π» Π΄Π°ΠΆΠ΅ Python, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ Π‘ ΠΈ Π‘++.
ΠΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΡΡΠ°Π½Π° ΠΌΠΈΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, Π½Π΅ Π·Π½Π°ΡΡΠΈΠ΅ JavaScript, ΠΌΠΎΠ³ΡΡ ΠΎΡΠ²ΠΎΠΈΡΡ Δ β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΊΠΎΠ΄ C#. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π΄Π΅ΡΡΡΠΎΠΊ Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ JavaScript.
ΠΠΎΠ²ΡΠΉ Π»ΠΈΠ΄Π΅Ρ
ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅. ΠΠΎ Π΄Π°Π½Π½ΡΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π½Π°ΠΉΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² CodinGame, JavaScript ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ Π² ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΠΈ. Π ΡΡΠΎΠΉ ΡΡΡΠ°Π½Π΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ ΡΠ²ΡΡΠ΅ 750 Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. JavaScript ΡΠΏΠΎΠΌΡΠ½ΡΡ Π² 33% ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ.
Π‘ΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΈΡΡΡΠΈΡ
Π² ΡΠ²ΠΎΠΉ ΡΡΠ°Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, 62% ΡΡΡΠ΅ΠΌΡΡΡΡ Π½Π°ΠΉΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, ΠΏΠΈΡΡΡΠ΅Π³ΠΎ Π½Π° JavaScript. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΉΡΠΈΠ½Π³Π΅ ΠΈΠ΄Π΅Ρ Java (59%), ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Python, Ρ ΠΎΠΊΡΡΠ±ΡΡ 2021 Π³.
ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠΈΡΠ΅, Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠΈΡΡ 48% ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ Π½ΡΠΆΠ½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π½Π°ΡΡΠΈΠ΅ Π΅Π³ΠΎ.
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ Π·Π½Π°Ρ JavaScript, ΡΡΠ°Π»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅
Π―Π·ΡΠΊΠΈ Π‘ ΠΈ C++ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΡΡ ΠΈ Π½Π΅ Π² Π°ΡΡΡΠ°ΠΉΠ΄Π΅ΡΠ°Ρ , Π½ΠΎ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π² Π»ΠΈΠ΄Π΅ΡΠ°Ρ . Π’Π°ΠΊΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΡΡ 15%, ΠΈ 27% Π±ΡΠΈΡΠ°Π½ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π£ C# ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ β Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ 40%.
ΠΡΠΌ Π±Π΅Π· ΠΎΠ³Π½Ρ
ΠΡΠΈΡΠΈΠ½Π° ΡΠ΅Π·ΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠ»Π΅ΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΡΠΈΡΠ°Π½ΠΈΠΈ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΏΠΈΡΡΡΠΈΠΌ Π½Π° JavaScript, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°. ΠΡΠΎ ΡΠ·ΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² 1995 Π³. ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΡΡΠΎ Π΄Π΅Π»ΠΎ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ JavaScript β ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ, ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»ΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠ° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·Π°Π»Π° Π±Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠΈΡΠ½ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΉΡΠΈΠ½Π³Π΅ Tiobe ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π»ΠΈΡΡ ΡΠ΅Π΄ΡΠΌΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Python, C, Java, C++, C# ΠΈ Π΄Π°ΠΆΠ΅ Visual Basic (Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΈΡΠ»Ρ 2022 Π³.
Π‘ 2001 Π³. JavaScript Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΡΡ Π²ΡΡΠ΅ ΡΠ΅ΡΡΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΉΡΠΈΠ½Π³Π΅ (ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π³.). Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π°ΠΈΡ ΡΠ΄ΡΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π·Π° 21 Π³ΠΎΠ΄ Π±ΡΠ»ΠΎ 12 ΠΌΠ΅ΡΡΠΎ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2014 Π³.
ΠΠ½Π°Π»ΠΎΠ³ΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅Π»ΠΈ JavaScript ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ
Π£ JavaScript ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Dart. ΠΡΠΎ Π΄Π΅ΡΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ Google, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½Π° Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»Π° Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2011 Π³. ΠΈ Π²ΡΠΏΡΡΡΠΈΠ»Π°, ΠΊΠ°ΠΊ ΡΠΎΠΎΠ±ΡΠ°Π» CNews, ΡΠΏΡΡΡΡ Π΄Π²Π° Π³ΠΎΠ΄Π°. Π‘ ΡΠ°ΠΌΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π½Π΅ΠΉ Google ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π»Π° Dart ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ JavaScript. ΠΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄Π°Π½Π½ΡΠΌ CodinGame, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π² ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠΏΠ΅Ρ Π° Π½Π΅ Π²ΠΎΠ·ΡΠΌΠ΅Π»ΠΎ. ΠΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΠ Π½Π΅Ρ ΠΏΡΠ½ΠΊΡΠ° ΠΎ Π·Π½Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠ°ΠΊ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½Π° JavaScript, Π½Π΅ Π·Π½Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΡΠ»ΠΈ ΡΠ»ΠΎΠΆΠΈΠ²ΡΠ°ΡΡΡ Π² ΠΡΠΈΡΠ°Π½ΠΈΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΊΡΡΡΠ°ΠΏΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π²Π΅ΡΡ ΠΌΠΈΡ, ΡΠΎ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Π·Π½Π°Π½ΠΈΡ JavaScript. ΠΠ΅ΡΠ²ΡΠΉ β ΡΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΈΠ» ΠΈ Π΄Π΅Π½Π΅Π³ Π½Π° Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΡ.
ΠΠ΅Π² ΠΠ°ΡΠ²Π΅Π΅Π², Β«Π‘ΡΡΡΠΠ½ΡΠΎΡΠΌΒ»: ΠΡ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠ°Π½ΡΠΈΠ·Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΡΠ½ΡΠΌ ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΠΎ ΡΡΡΠ°Π½Π΅ Π½ΡΠΆΠ½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π·Π°ΡΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
ΠΡΡΡΠΎΡΡΠΈΠ½Π³ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β Π±ΠΎΠ»Π΅Π΅ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½ Β«ΔΒ» ΠΈΠ»ΠΈ Β«Π‘ΠΈ Ρ Π°ΠΊΡΡΠΎΠΌΒ». ΠΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π² ΠΏΠ°ΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ² ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Π½Π΅ΠΌ ΠΊΠΎΠ΄ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΌΠΈΡΠ΅ ΡΠ·ΡΠΊΠΎΠ². ΠΠΈΡΡ ΠΎΠ½ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2021 Π³.
JavaScript Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ, Π½Π°ΡΡΠ΄Ρ Ρ Python, C ΠΈ Π‘++ Π²ΠΌΠ΅ΡΡΠ΅ Ρ C#. ΠΠ°Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Δ ΡΡΡΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΠ΅ΡΡ Π€ΡΡΠΈΠΊ (Piotr Fusik). ΠΡΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΡΡΡΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π΅Π²ΡΡΡ Π»Π΅Ρ β Ρ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ 2013 Π³.
ΠΠΎΠ΄ Π½Π° Δ
ΠΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ Π°Π²ΡΠΎΡΠ°, ΠΎΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» Δ ΠΈΠ· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΡΡΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄ JavaScript. ΠΡΡ ΠΌΠ°Π³ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ΅ Cito β Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΌ Π΄Π΅ΡΠΈΡΠ΅ Π€ΡΡΠΈΠΊΠ°.
ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ Δ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π° C#.
ΠΠ²ΡΠΎΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ ΡΡΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΡ
ΠΎΠΆΠΈ, Ρ
ΠΎΡΡ ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
- ΠΠ° Π£ΡΠ°Π»Π΅ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΎΠ±Π΅ΡΡΡΡΡ Π³Π»Π°Π²Π½ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠΈΠ±Π΅ΡΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΉ Π ΠΎΡΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ IT IS conf
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠΎΡΠ»ΠΈΠ½
ΠΠ°ΡΠ°ΡΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ JetBrains ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
ΠΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ JVM
ΠΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΠ½Π΄ΡΠΎΠΈΠ΄
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Google Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android
ΠΠ°ΡΠΊΠ° ΠΎ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΡΡΠΎΠΉ
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ
ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ²
5">
Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () {
val name = "stranger" // ΠΠ±ΡΡΠ²ΠΈΡΠ΅ Π²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
println("ΠΡΠΈΠ²Π΅Ρ, $name!") // ...ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΡ!
print("Π’Π΅ΠΊΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ:")
for (i in 0..10) { // Π¦ΠΈΠΊΠ» Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 10
ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ("$Ρ")
}
} ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ kotlinx.coroutines.* suspend fun main() { // Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ·ΠΆΠ΅ val start = System.currentTimeMillis() coroutineScope { // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ (Ρ Π² 1..10) { launch { // ΠΠ°ΠΏΡΡΡΠΈΡΡ 10 ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ delay(3000L - i * 300) // ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ log(Π½Π°ΡΠ°Π»ΠΎ, "ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ: $i") } } } // ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ log(Π½Π°ΡΠ°Π»ΠΎ, "ΠΠ·Π»Π΅Ρ!") } ΠΆΡΡΠ½Π°Π» ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ (Π½Π°ΡΠ°Π»ΠΎ: Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: ΡΡΡΠΎΠΊΠ°) { println("$msg" + "(Π½Π° ${Thread. currentThread().name}) " + "ΠΏΠΎΡΠ»Π΅ ${(System.currentTimeMillis() - start)/1000F} Ρ") }
Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Person (ΠΈΠΌΡ val: String) {
Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π²Π΅ΡΠ΅Π»ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ()
}
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ FoodConsumer {
Π²Π΅ΡΠ΅Π»ΠΎ Π΅ΡΡΡ ()
fun pay(amount: Int) = println("ΠΠΊΡΡΠ½ΠΎ! ΠΠΎΡ $amount Π±Π°ΠΊΡΠΎΠ²!")
}
ΠΊΠ»Π°ΡΡ RestaurantCustomer (ΠΈΠΌΡ: ΡΡΡΠΎΠΊΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π»ΡΠ΄Π°: ΡΡΡΠΎΠΊΠ°): ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ (ΠΈΠΌΡ), FoodConsumer {
fun order() = println("$dish, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°!")
ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ fun eat() = println("*ΠΡΡ $Π±Π»ΡΠ΄ΠΎ*")
ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ fungreet() = println("ΠΡΠΎ Ρ, $name.")
}
Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () {
val sam = RestaurantCustomer("Π‘ΡΠΌ", "Π‘Π°Π»Π°Ρ")
sam.greet() // Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
sam.order() // Π€ΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½
sam.eat() // Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
sam.pay(10) // Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
} 5"> Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () { // ΠΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ? val FreightSender = ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ .groupBy(Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅::ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ) .maxByOrNull { (_, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ) -> messages.size } ?.key // ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΡ ΠΈΠΌΠ΅Π½Π° println(frequentSender) // [ΠΠ°] // ΠΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ? val ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ = ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ .asSequence() // ΠΠ΅Π»Π°Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π»Π΅Π½ΠΈΠ²ΡΠΌΠΈ (Π΄Π»Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ²) .filter { it.body.isNotBlank() && !it.isRead } // ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ... .map(Message::sender) // ...ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ .ΠΎΡΡΠ΅ΡΠ»ΠΈΠ²ΡΠΉ() .ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ() .toList() // ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° println(senders) // [ΠΠ΄Π°ΠΌ, ΠΠ°] } Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π΄Π°Π½Π½ΡΡ ( // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΡ val ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ: ΡΡΡΠΎΠΊΠ°, ΡΠ΅Π»ΠΎ val: Π‘ΡΡΠΎΠΊΠ°, val isRead: Boolean = false, // ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ) val messages = listOf( // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("ΠΠ°", "ΠΠΉ! ΠΠ΄Π΅ ΡΡ?"), Message("ΠΠ΄Π°ΠΌ", "Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π²ΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΠΏΠ»Π°Π½Ρ?"), Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("ΠΠ°", "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠ²Π΅ΡΡΡΠ΅. Π― Π²Π°Ρ ΠΏΠΎΡΠ΅ΡΡΠ»Π°!"), )
// Π’Π΅ΡΡΡ
// Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ JVM
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ org.junit.Test
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ kotlin.test.*
ΠΊΠ»Π°ΡΡ SampleTest {
@Π’Π΅ΡΡ
fun `test sum`() { // ΠΠΈΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π° ΡΠ΅ΡΡΠΎΠ² Ρ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
ΠΊΠ°Π²ΡΡΠΊΠ°Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π° = 1
Π·Π½Π°Ρ Π± = 41
assertEquals(42, sum(a, b), "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π»Ρ ΡΡΠΌΠΌΡ($a, $b)")
}
@Π’Π΅ΡΡ
Π²Π΅ΡΠ΅Π»ΠΎ `ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅`() {
assertTrue("ΠΡΠΈΠ±ΠΊΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ") {
setup() // ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ ΠΈΡΠΏΡΡΡΠ΅ΠΌΡΠΉ
Π²ΡΡΠΈΡΠ»ΠΈΡΡ()
}
}
}
// ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ
Π·Π°Π±Π°Π²Π½Π°Ρ ΡΡΠΌΠΌΠ° (a: Int, b: Int) = a + b
Π·Π°Π±Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° () {}
Π²Π΅ΡΠ΅Π»ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ () = ΠΏΡΠ°Π²Π΄Π° ΠΡΠ°ΡΠΊΠΈΠΉ
ΠΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ
5">
// ΠΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 30% ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Java
// (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΡΡΠ° Duolingo ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ)
ΠΊΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ½ΠΈΠ³Π° (
val title: String, // + Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ equals(),
val year: Int // hashCode(), toString() ΠΈ copy()
)
fun Century(year: Int) = (year - 1) / 100 + 1 // Π€ΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ,
// ΡΠ΅Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () {
val books = listOf( // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ
Book("ΠΠΎΠ½ ΠΠΈΡ
ΠΎΡ", 1605), // ΠΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° `new`
ΠΠ½ΠΈΠ³Π°("ΠΠ»Π°ΡΡΠ΅Π»ΠΈΠ½ ΠΊΠΎΠ»Π΅Ρ", 1955)
)
val classics = books.filter { Π²Π΅ΠΊ(it.year)
// ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Kotlin, Π½Π° 20% ΡΠ΅ΠΆΠ΅ Π²ΡΠ»Π΅ΡΠ°ΡΡ // (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Google) fun printMessagesUppercased(messages: List) { // ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΡΡΡΠΌΠΈ // messages.add(Message("Java")) // ΠΠ¨ΠΠΠΠ: Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ messages. onEachIndexed {ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ -> print("\nΠ‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ #$index: ") // print(msg.uppercase()) // ΠΠ¨ΠΠΠΠ: `msg` ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ msg?.let { // ΠΠ΅ΡΠ°ΡΠ°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ `msg` Π½Π΅ ΡΠ°Π²Π½ΠΎ null print(it.uppercase()) // ΠΠ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ° } } } Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () { val messages = mutableListOf (Β«ΠΏΡΠΈΠ²Π΅ΡΒ», null, Β«ΠΌΠΈΡΒ») // messages = mutableListOf("!!!") // ΠΠ¨ΠΠΠΠ: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ messages.add("Kotlin") // ΠΠ: ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ printMessagesUppercased(messages) // ΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ }
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ kotlin.math.absoluteValue
Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () {
// Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ±ΠΎΡΠΊΠΈ
val dates = listOf (ΠΎΡ 1 Π΄ΠΎ Β«ΡΠ½Π²Π°ΡΡΒ», ΠΎΡ 13 Π΄ΠΎ Β«ΠΌΠ°ΡΒ», ΠΎΡ 22 Π΄ΠΎ Β«ΡΠ΅Π½ΡΡΠ±ΡΡΒ», ΠΎΡ 23 Π΄ΠΎ Β«Π΄Π΅ΠΊΠ°Π±ΡΡΒ»)
date.forEach { (Π΄Π΅Π½Ρ, ΠΌΠ΅ΡΡΡ) -> // ΠΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°Ρ Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅ΠΉ Π»ΡΠΌΠ±Π΄ΠΎΠΉ
println("${day.ordinal()} of $month") // ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Int.
ordinal()
}
ΡΠΎΠ·Π΄Π°ΡΡΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ()
.apply { // ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΡΠΈΡΠΈΠ½Π° = 300
Π²ΡΡΠΎΡΠ° = 200
ΠΠΈΠ΄ΠΈΠΌΡΠΉ = ΠΡΡΠΈΠ½Π°
}.also { w -> // ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Π΄ ΡΠ΅ΠΏΠΎΡΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΠΏΠΎΠΊΠ°Π·Π°ΡΡΠΎΠΊΠ½ΠΎ(ΠΆ)
}
issueById["13456"]
?.takeIf { it.status == Status.FIXED } // ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ
?.let { // ΠΠ΅Π»Π°Π΅ΠΌ ΡΡΠΎ-ΡΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°Π²Π½ΠΎ null
println("ΠΡ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΡΡΠΎ: $it")
}
//ΠΊΠΎΠ½Π΅Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ
}
// Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
fun Int.ordinal() = this.absoluteValue.let { iAbs ->
ΡΡΡΡΠΈΠΊΡ val = if (iAbs % 100 Π² 11..13) "th" else
ΠΊΠΎΠ³Π΄Π° (iAbs % 10) {
1 -> "ΡΡ"
2 -> Β«ΠΉΒ»
3 -> "ΠΉ"
ΠΈΠ½Π°ΡΠ΅ -> "ΠΉ"
}
"$ΡΡΠΎΡ$ΡΡΡΡΠΈΠΊΡ"
}
ΠΠΊΠ½ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π°Π½Π½ΡΡ
(ΡΠΈΡΠΈΠ½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ: Int, Π²ΡΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ: Int, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ isVisible: Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅)
Π²Π΅ΡΠ΅Π»ΠΎ createEmptyWindow() = ΠΠΊΠ½ΠΎ (0, 0, Π»ΠΎΠΆΡ)
Π²Π΅ΡΠ΅Π»ΠΎ showWindow(ΠΎΠΊΠ½ΠΎ: ΠΠΊΠ½ΠΎ) {
println("ΠΠΎΠΊΠ°Π·Π°Π½ΠΎ $ΠΎΠΊΠ½ΠΎ")
}
Π‘ΡΠ°ΡΡΡ ΠΊΠ»Π°ΡΡΠ° enum {OPEN, FIXED, IN_PROGRESS}
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠ° Π΄Π°Π½Π½ΡΡ
(val status: Status)
val issueById = mutableMapOf(
"13456" Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ (Π‘ΡΠ°ΡΡΡ.
ΠΠ‘ΠΠ ΠΠΠΠΠΠ)
)
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ kotlinx.coroutines.*
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ kotlinx.coroutines.flow.*
// Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ±ΠΎΡΠΊΠΈ
// ΠΠΎΠ»Π΅Π΅ 50% ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
// ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
// (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π΄Π°Π½Π½ΡΡ
Google)
Π²Π΅ΡΠ΅Π»ΠΎ main () = runBlocking {
val start = System.currentTimeMillis()
coroutineScope { // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
val waitJob = launch { // ΠΠ°ΠΏΡΡΠΊ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅(Π½Π°ΡΠ°Π»ΠΎ, 150)
}
countdownSignals(10, 300).collect { Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -> // Π‘Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠΎΠΊΠ°
log(Π½Π°ΡΠ°Π»ΠΎ, "ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΎΡΡΡΠ΅Ρ: $Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅")
}
waitJob.cancel() // ΠΡΠΌΠ΅Π½Π° ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
}
log(start, "Liftoff!") // ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅
} // ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ
//ΠΊΠΎΠ½Π΅Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ
fun countdownSignals(n: Int, delayMillis: Long): Flow = ΠΏΠΎΡΠΎΠΊ { // ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ ΠΏΠΎΡΠΎΠΊΠ°
for (i in (1.
.n).reversed()) {
delay(delayMillis) // ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° Π² Π²ΡΠ΄Π°ΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²
emit(i) // ΠΡΠ΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠΎΠΊΠ°
}
}
// Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ·ΠΆΠ΅
ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ (Π½Π°ΡΠ°Π»ΠΎ: Π΄ΠΎΠ»Π³ΠΎ, delayMillis: Π΄ΠΎΠ»Π³ΠΎ) {
while (currentCoroutineContext().isActive) { // ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
log(Π½Π°ΡΠ°Π»ΠΎ, "ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅...")
delay(delayMillis) // ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅
}
}
ΠΆΡΡΠ½Π°Π» ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ (Π½Π°ΡΠ°Π»ΠΎ: Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: ΡΡΡΠΎΠΊΠ°) {
println("$msg ΠΏΠΎΡΠ»Π΅ ${(System.currentTimeMillis() - start)/1000F}s")
} // ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»ΡΠ±ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ JVM // ΠΡΠ·ΠΎΠ² ΠΊΠΎΠ΄Π° Kotlin ΠΈΠ· Java Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ @SpringBootApplication Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π²Π΅ΡΠ΅Π»ΠΎ main(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: ArrayΠΠ°ΡΠ°ΡΡ β) { runApplication (*args) } @RestController ΠΊΠ»Π°ΡΡ MessageResource { @GetMapping Π·Π°Π±Π°Π²Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ(): Π‘ΠΏΠΈΡΠΎΠΊ<Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅> = listOf( Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("1", "ΠΡΠΈΠ²Π΅Ρ!"), Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("2", "ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ!"), Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("3", "ΠΡΠΈΠ²Π΅Ρ!"), ) } Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π΄Π°Π½Π½ΡΡ (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: ΡΡΡΠΎΠΊΠ°?, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡ: ΡΡΡΠΎΠΊΠ°)
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
Π£ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Kotlin Multiplatform.
ΠΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠΎΡ
ΡΠ°Π½ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Kotlin Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°Π·Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ iOS, Android, macOS, Windows, Linux, watchOS ΠΈ Π΄ΡΡΠ³ΠΈΡ
.
ΠΠΎΠ»ΡΡΠΎΠ΅, Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅
ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ
Π£ Kotlin ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π² Π±ΡΡΡΡΠΎΡΠ°ΡΡΡΡΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π±ΠΎΠ³Π°ΡΠΎΠΉ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΠΏΠ΅ΠΊΡΡΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. ΠΠΎΠΌΠΎΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ΄ΠΎΠΌ β ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈΠ»ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Kotlin.
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ βGradle ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Kotlin ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ
Corda β ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π΅ΡΡΡΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ Π±Π°Π½ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π½Π° Kotlin
.
Evernote Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π»Π° Kotlin Π² ΡΠ²ΠΎΠΉ Android-ΠΊΠ»ΠΈΠ΅Π½Ρ
Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Coursera ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Kotlin
Spring ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Kotlin, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠ΅ API
ΠΠ΅ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Trello Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Kotlin
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ?
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡΠ―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Dart | ΠΠ°ΡΡ
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ
Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΠΎΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠ°Π·Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ΠΡΡΡΡΠΎ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π½Π° ARM ΠΈ x64-ΠΌΠ°ΡΠΈΠ½Ρ
ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ², Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Π² JavaScript
Π΄Π»Ρ ΡΠ΅ΡΠΈ
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΡΠ΅Π»ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠ΄, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ Π·Π²ΡΠΊΠΎΠ²Π°Ρ Π½ΡΠ»Π΅Π²Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΏΡΠ΅Π΄Π° Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΈ ΡΠ±ΠΎΡ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
- svg»>
ΠΡΠΎΡΡΠΎΠΉ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅
ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΎΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠ΅ΠΊΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ΠΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΡΠ½ΡΠΉ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΎΡΠ½Π°ΡΡΠΊΠ°
- svg»>
Π‘Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π°, ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄Π° Π½Π° Π²ΡΠ±ΠΎΡ
ΠΡΡΡΡΠΎ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
AOT-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠ΄Π½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°
ΠΡΠΈΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΏΠΎΠ»Π½ΡΠΌ, Π·ΡΠ΅Π»ΡΠΌ, Π±ΡΡΡΡΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π΄Π»Ρ JavaScript
ΠΠ°ΠΏΡΡΡΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- svg»>
ΠΡΠ΅Π»ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠ΄, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ Π·Π²ΡΠΊΠΎΠ²Π°Ρ Π½ΡΠ»Π΅Π²Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΏΡΠ΅Π΄Π° Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΈ ΡΠ±ΠΎΡ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΡΠΎΡΡΠΎΠΉ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅
- svg»>
ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΎΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠ΅ΠΊΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ΠΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΡΠ½ΡΠΉ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΎΡΠ½Π°ΡΡΠΊΠ°
Π‘Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π°, ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄Π° Π½Π° Π²ΡΠ±ΠΎΡ
ΠΡΡΡΡΠΎ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ

currentThread().name}) " +
"ΠΏΠΎΡΠ»Π΅ ${(System.currentTimeMillis() - start)/1000F} Ρ")
}
Π― Π²Π°Ρ ΠΏΠΎΡΠ΅ΡΡΠ»Π°!"),
)
onEachIndexed {ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ->
print("\nΠ‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ #$index: ")
// print(msg.uppercase()) // ΠΠ¨ΠΠΠΠ: `msg` ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ
msg?.let { // ΠΠ΅ΡΠ°ΡΠ°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ `msg` Π½Π΅ ΡΠ°Π²Π½ΠΎ null
print(it.uppercase()) // ΠΠ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ°
}
}
}
Π²Π΅ΡΠ΅Π»Π°Ρ Π³Π»Π°Π²Π½Π°Ρ () {
val messages = mutableListOf (Β«ΠΏΡΠΈΠ²Π΅ΡΒ», null, Β«ΠΌΠΈΡΒ»)
// messages = mutableListOf("!!!") // ΠΠ¨ΠΠΠΠ: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
messages.add("Kotlin") // ΠΠ: ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ
printMessagesUppercased(messages) // ΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ
}