Π‘ΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π°, ΠΊΠ°ΠΊ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅
ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄Π²ΡΡ Ρ Π»ΠΈΡΠ½ΠΈΠΌ Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Go Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ RADIUS ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΡΠ°Π·Π²ΠΈΡΠΎΠΉ Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠΎ Ρ ΠΎΠ΄Ρ ΠΈΠ·ΡΡΠ°Ρ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ, Π½ΠΎ ΡΠ°ΠΌ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Go Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΡ ΡΠ»ΠΎΠ² Π² Π΅Π³ΠΎ Π·Π°ΡΠΈΡΡ. Go ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π΄Π»Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π―Π·ΡΠΊ ΡΠΎΠ·Π΄Π°Π½ Π² Google, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠΎΠ΄Π²Π΅Π΄Ρ ΡΠ΅ΡΡΡ, Ρ ΠΈΡΠΊΡΠ΅Π½Π½Π΅ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΠ·ΡΠΊΠ° Go ΠΏΠ»ΠΎΡ Π΄Π»Ρ ΠΠΡΠΌΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠ»Π°Π±ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²?
Π‘Π»Π°Π±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ . Π‘ΠΈΠ»ΡΠ½ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎΠ± ΠΈΠ΄Π΅ΡΡ ΠΈ ΠΌΠ΅ΡΡΠ°Ρ β¦
Go ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΡΠΈΡΡΡΡ, Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΎ ΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΌΠΈΡΠΎΠ²ΡΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ
, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΡΠΈΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ, Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ Ρ. Π΄.). ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠΈΠΏΠ° Design Driven Development.
ΠΠ°ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΏΡΡΡΡ Π½Π΅Π΄Π΅Π»Ρ-Π΄ΡΡΠ³ΡΡ. ΠΠ½ΠΈΠ³Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΈΠ·ΡΡΠ°Π» βGo Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Goβ (Π°Π²ΡΠΎΡ ΠΠ°ΡΠΊ Π‘Π°ΠΌΠΌΠ΅ΡΡΠΈΠ»Π΄). ΠΠ½ΠΈΠ³Π° Π²Π΅ΡΡΠΌΠ° Ρ
ΠΎΡΠΎΡΠ°, Π² Π½Π΅ΠΉ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΡΠ°Π½ΡΡ ΡΠ·ΡΠΊΠ°. ΠΠΎΡΠ»Π΅ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΡΠ°ΠΊΠΈΡ
, ΠΊΠ°ΠΊ Java, PHP, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΌΠ°Π³ΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ²Π΅ΠΆΠ°ΡΡΠ΅. ΠΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠΏΡΠΈΡΠ΅. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ?
Π ΠΎΠ± ΠΠ°ΠΉΠΊ (Π³Π»Π°Π²Π½ΡΠΉ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ ΡΠ·ΡΠΊΠ°) ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΠ·ΡΠΊ Go, ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΠΎΠΊ Π² Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠΈ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. Π―Π·ΡΠΊ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΠΈ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΆΠ°Π»ΡΡΡΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌ Π½Π΅Π΄ΠΎΡΡΠ°Π΅Ρ. ΠΡΠΎ ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΡΡΠΎΡΠ΅ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ·ΡΠΊΠ° ΠΈ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΡΡΡ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΡΡΡ ΠΌΠΎΡΠΈΠ²Π°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π»ΠΈΡΡ Π² Go.
Π’Π°ΠΊ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΆΠ΅ ΠΎΠ½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ? ΠΠΎΡ ΠΏΠ°ΡΠ° ΡΠΈΡΠ°Ρ Π ΠΎΠ±Π° ΠΠ°ΠΉΠΊΠ°:
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π΄Π΅ΡΡ, ΡΡΠΎ Π½Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²Π΅ΡΡΠΌΠ° ΠΌΠΎΠ»ΠΎΠ΄Ρ, ΠΈΠ΄ΡΡ ΠΊ Π½Π°ΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΠ΅Π±Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠ°Π»ΠΈ Java, ΠΈΠ»ΠΈ C/C++, ΠΈΠ»ΠΈ Python. ΠΠ½ΠΈ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠΎΠ½ΡΡΡ Π²ΡΠ΄Π°ΡΡΠΈΠΉΡΡ ΡΠ·ΡΠΊ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΠ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ·ΡΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ.
ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ, Π³ΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° Π‘ΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² Google ΡΠ°Π½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ²ΠΎΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Π‘ΠΈ. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΊΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ·ΡΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ.
ΠΡΠ΄ΡΡΠ΅ ΡΠ»ΠΎΠ²Π°, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΡΠΎΡΡΠΎΡΡ
ΠΡΠΎΡΡΠΎΡΠ° β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ. ΠΠ΅Π² Π’ΠΎΠ»ΡΡΠΎΠΉ.
ΠΡΡΡ ΠΏΡΠΎΡΡΡΠΌ β ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΠΉ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠΎ Π½Π΅ ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΡΠ΄Π° Π½Π΅ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π° ΡΠΎΡ β Π² ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²ΡΡΠ°Π·ΠΈΡΡ) ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ·ΡΠΊ PERL. ΠΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈ ΡΠ·ΡΠΊΠ° ΡΡΠΈΡΠ°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΏΡΡΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈ ΡΠ·ΡΠΊΠ° Go ΠΏΠΎΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΠ΅ΠΌ, ΠΎΠ½ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ, Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ: Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΡΡ Π»Π΅Π³ΡΠ΅ ΡΡΠΈΡΡΡ ΠΈ ΡΡΠΆΠ΅Π»Π΅ΠΉ Π·Π°Π±ΡΠ²Π°Π΅ΡΡΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°Π½ΡΡ ΠΆΠ°Π»ΡΡΡΡΡ, ΡΡΠΎ ΡΠ·ΡΠΊ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ. ΠΠ°, ΡΡΠΎ ΡΠ°ΠΊ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΡΠ·ΡΠΊΠ°. Π―Π·ΡΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΡΡΠ°Π²Π΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΌΠ°Π³ΠΈΠΈ β ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ Π·Π½Π°Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π§ΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, ΡΠΎ ΡΡΠΎ ΠΈ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π₯ΠΎΡΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Golang ΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gofmt), ΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΠ½ΠΈΡ ΡΡΡΠΎΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
ΠΠ΅ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ
ΠΡΠΊΡΡΡΡΠ²ΠΎ Π½Π΅ ΡΠ΅ΡΠΏΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ. Π’ΠΎΡΠ½ΠΎΡΡΡ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΅Π³ΠΎ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ.
ΠΠ·-Π·Π° ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΡΡΠΎΡΠ΅ Π² Go ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ-ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΠΏΡΠΈΠ²ΡΠΊΡΠΈΠΌ ΠΊ Π½ΠΈΠΌ Π»ΡΠ΄ΡΠΌ. ΠΠ½Π°ΡΠ°Π»Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΈΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·Ρ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½Π΅ΠΉ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΠ°Π΅Ρ stdin Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ» ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
package main
import (
"bufio"
"flag"
"fmt"
"log"
"os"
)
func main() {
flag.Parse()
scanner := newScanner(flag.Args())
var text string
for scanner.Scan() {
text += scanner.Text()
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
fmt.Println(text)
}
func newScanner(flags []string) *bufio.Scanner {
if len(flags) == 0 {
return bufio.NewScanner(os.Stdin)
}
file, err := os.Open(flags[0])
if err != nil {
log.Fatal(err)
}
return bufio.NewScanner(file)
}
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ D Ρ ΠΎΡΡ ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΎΡΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΈΡΠ°Π΅ΡΡΡ Π½ΠΈΡΡΡΡ Π½Π΅ ΠΏΡΠΎΡΠ΅
import std.stdio, std.array, std.conv;
void main(string[] args)
{
try
{
auto source = args.length > 1 ? File(args[1], "r") : stdin;
auto text = source.byLine.join.to!(string);
writeln(text);
}
catch (Exception ex)
{
writeln(ex.msg);
}
}
ΠΠ΄ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π½ΠΎΡΠΈΡ Π°Π΄ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ΅Π±Π΅. ΠΠ°ΡΡΠΈΠ½ ΠΡΡΠ΅Ρ.
ΠΠΎΠ²ΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΆΠ°Π»ΡΡΡΡΡ Π½Π° Go Π² ΠΏΠ»Π°Π½Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ². ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΡΠ°ΠΊΠΈΠ΅ Π³ΠΎΡΠ΅-ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π½Π΅Π»ΡΠ·Ρ Π½ΠΈΠΊΠ°ΠΊ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠΌ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΠ½Π³ΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ .
package main
import "fmt"
func int64Sum(list []int64) (uint64) {
var result int64 = 0
for x := 0; x < len(list); x++ {
result += list[x]
}
return uint64(result)
}
func int32Sum(list []int32) (uint64) {
var result int32 = 0
for x := 0; x < len(list); x++ {
result += list[x]
}
return uint64(result)
}
func main() {
list32 := []int32{1, 2, 3, 4, 5}
list64 := []int64{1, 2, 3, 4, 5}
fmt.Println(int32Sum(list32))
fmt.Println(int64Sum(list64))
}
Π ΡΠ·ΡΠΊΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
package main
import "fmt"
func Eval32(list []int32, fn func(a, b int32)int32) int32 {
var res int32
for _, val := range list {
res = fn(res, val)
}
return res
}
func int32Add(a, b int32) int32 {
return a + b
}
func int32Sub(a, b int32) int32 {
return a + b
}
func Eval64(list []int64, fn func(a, b int64)int64) int64 {
var res int64
for _, val := range list {
res = fn(res, val)
}
return res
}
func int64Add(a, b int64) int64 {
return a + b
}
func int64Sub(a, b int64) int64 {
return a - b
}
func main() {
list32 := []int32{1, 2, 3, 4, 5}
list64 := []int64{1, 2, 3, 4, 5}
fmt.Println(Eval32(list32, int32Add))
fmt.Println(Eval64(list64, int64Add))
fmt.Println(Eval64(list64, int64Sub))
}
Π, Ρ ΠΎΡΡ Ρ Π½Π°Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π»ΠΈΠ½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ, Π·Π°ΡΠΎ ΠΎΠ½ ΡΡΠ°Π» ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΊΠ°ΠΆΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ D Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠ°Π²Ρ.
import std.stdio;
import std.algorithm;
void main(string[] args)
{
[1, 2, 3, 4, 5].reduce!((a, b) => a + b).writeln;
}
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° D ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ, ΡΠ°Π·ΡΡΠ² ΡΡΡΠ΅ΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΡΠ΅ ΡΡΡΠ΅ΠΌΠΈΡΠ΅Π»ΡΠ½Π΅ΠΉ ΡΠ°Π·ΡΡΠ² ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ°.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡΠΈ, ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ, ΠΏΠΎ-ΠΌΠΎΠ΅ΠΌΡ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ ΡΠ·ΡΠΊ Go, Ρ ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅Ρ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡΠΈ.
ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄Π°Π΅Ρ Π½Π°ΠΌ Π½Π΅ΠΎΡΠΏΠΎΡΠΈΠΌΡΡ Π²ΡΠ³ΠΎΠ΄Ρ. ΠΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ sort. Π’Π°ΠΊ, Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ sort.Interface.
import "sort"
type Names []string
func (ns Names) Len() int {
return len(ns)
}
func (ns Names) Less(i, j int) bool {
return ns[i] < ns[j]
}
func (ns Names) Swap(i, j int) {
ns[i], ns[j] = ns[j], ns[i]
}
func main() {
names := Names{"London", "Berlin", "Rim"}
sort.Sort(names)
}
ΠΡΠ»ΠΈ ΠΡ Π²ΠΎΠ·ΡΠΌΠ΅ΡΠ΅ Π»ΡΠ±ΠΎΠΉ open source ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ grep «interface{}» -R, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠ΅Π΄Π°Π»Π΅ΠΊΠΈΠ΅ ΡΠΎΠ²Π°ΡΠΈΡΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΡΠΊΠ°ΠΆΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊ. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ·ΡΠΊ DELPHI. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Ρ Π½Π΅Π³ΠΎ ΡΡΠΈΡ ΡΠ°ΠΌΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ², ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ VARIANT Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΠΈ ΡΠ·ΡΠΊ Go.
ΠΠ· ΠΏΡΡΠΊΠΈ ΠΏΠΎ Π²ΠΎΡΠΎΠ±ΡΡΠΌ
Π ΡΠΌΠΈΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ±Π°ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±Π΅Π·ΡΠΌΠΈΡ. Π‘ΡΠ°Π½ΠΈΡΠ»Π°Π² ΠΠ΅Ρ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ±ΠΈΡΠ΅Π»ΠΈ ΡΠΊΡΡΡΠΈΠΌΠ° ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠ²ΠΈΡΡ, ΡΡΠΎ Π² Go Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² β ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡ. Π ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠ°Π²Ρ,β¦ Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π΄ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ .
Π ΠΎΠ± ΠΠ°ΠΉΠΊ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ Π½Π°Ρ:
ΠΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ. ΠΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΠΎΠΊΠ° Π² Π½Π΅ΠΌ Π½Π΅Ρ ΡΡΡΠΎΠ³ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π Π΅ΡΠ»Π΅ΠΊΡΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π·Π° Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ»Π°ΡΠΈΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ:
- ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
- ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡ Π½ΡΠΆΠ½ΠΎ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΊΠ°ΠΊ ΠΎΡΡΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠ°Π»ΠΈΠ±ΡΠ°. ΠΠ΅Π·Π΄ΡΠΌΠ½ΠΎΠ΅ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΌΠΎΠ΅ ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ-ΡΠ½ΠΎΠ± ΡΠΌΠΎΠ³ ΡΠ΅Π³ΠΎΠ»ΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ, Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ½ΡΠΌΠΈ ΠΈ ΡΠΊΡΠΎΠΌΠ½ΡΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ.
ΠΡΠ»ΡΡΡΡΠ½ΡΠΉ Π±Π°Π³Π°ΠΆ ΠΈΠ· Π‘ΠΈ? ΠΠ΅Ρ, ΠΈΠ· ΡΡΠ΄Π° ΡΠ·ΡΠΊΠΎΠ²!
ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ Π΄ΠΎΠ»Π³ΠΈ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΠ·ΡΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π½Π°ΡΠ»Π΅Π΄ΠΈΠΈ Π‘ΠΈ β ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. Π―Π·ΡΠΊ Π²ΠΎΠ±ΡΠ°Π» Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π»ΡΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ·ΡΠΊΠ° Π‘ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠΊΠ°Π·Π°Π» ΠΈ ΡΠ·ΡΠΊ DELPHI. Π’Π°ΠΊ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ±ΡΠ°Π½Ρ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°ΡΡΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠ·ΡΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ «:=», ΠΏΡΠΈΡΡΡΠΈΠΉ ΡΠ·ΡΠΊΡ DELPHI. ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΎ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ADA. ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠ° PROLOG.
Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ°
ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π±ΡΠ»Π° Π²Π·ΡΡΠ° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΡΠ·ΡΠΊΠ° DELPHI. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ΄ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»Π° Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠ° DELPHI.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ΅Π΄Π°ΡΠΎΠΌ Ρ ΠΎΠ΄ΠΈΡ ΡΡΡΠΊΠ°: Go Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½, ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Π‘ΠΈ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΈΠ»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½ ΡΠ·ΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅ΡΡ Π±ΡΡΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠ΄Π΅Ρ Π±ΡΠ»Π° Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠ° DELPHI. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Go ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ DELPHI. ΠΡΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΡΠ°Π²ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ, Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (Π΄Π° ΠΈ ΡΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²).
ΠΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
Π―Π·ΡΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΡΠ·ΡΠΊΠ° ΡΠΈΠΏΠ° Π‘ΠΈ.
- Π‘ΡΡΠΎΠΊΠΈ
- Π₯ΡΡ ΡΠ°Π±Π»ΠΈΡΡ
- Π‘Π»Π°ΠΉΡΡ
- Π£ΡΠΈΠ½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ RUBY (ΠΊΠΎΡΠΎΡΡΡ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π° ΠΏΠΎΠ»Π½ΡΡ ΠΌΠΎΡΡ).
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ Π² ΡΠ·ΡΠΊΠ°Ρ ΡΠΈΠΏΠ° C++, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ΄Π°Π½ΠΎ Π½Π° ΠΎΡΠΊΡΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΡΠΈΠΏΠ° DELPHI, Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΡΡΠ»ΠΎΠΊ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π»ΠΎΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠΎ Π² Go Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² (ΠΊΠ°ΠΊ Π² C#). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎ ΡΡΡΠ΅ΠΊΡΠ²Π½ΠΎΡΡΠΈ garbage collector ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΈ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ real time Π·Π°Π΄Π°Ρ. Π―Π·ΡΠΊ ΡΠ°ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π² ΡΡΠ΅ΠΊΠ΅. ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΠ΅ Π²ΡΡΠΊΠΈΡ ΠΏΠΎΡ Π²Π°Π». ΠΠΈ ΠΎΠ΄ΠΈΠ½ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠ·ΡΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ ΠΎΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Go. Π‘ΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ Π±ΡΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π° Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠ°, Π° ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΡΠ°ΡΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ADA. Π―Π·ΡΠΊ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡ Π²ΡΠ΅ CPU, ΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΅ΠΆΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄Π΅Π΄Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ race conditions.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ³ΠΎΠ΄Ρ
ΠΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ β Π±Π΅ΡΠΊΠΎΡΡΡΡΠ½ΡΠΌΠΈ ΡΡΠ°Π½ΡΡ Π²ΡΠ΅.
Π―Π·ΡΠΊ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΡΡ Π²ΡΠ³ΠΎΠ΄:
- ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ deploy ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ². Π― Π·Π½Π°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄ΡΡΡΡ Π±Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΈΡ ΠΊΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΡΠ°Π΄Π°Π΅Ρ.
- ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΏΠΎΡΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ RE2 ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- ΠΠΎΡΠ½Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π±Π΅Π· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
- Π―Π·ΡΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π·Π°Π΄Π°ΡΠ΅, Π° Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
- ΠΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Go ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΆΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π·Π²ΠΈΡΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½Π° Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΆΠΈΠ·Π½ΠΈ: ΡΠ΅ΡΡΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΌΠΎΡΠ½ΡΠ΅ Π»ΠΈΠ½ΡΠ΅ΡΡ, ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ, Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ race conditions ΠΈ Ρ. Π΄.
- Π£ Go Π²Π΅ΡΡΠΈΠΈ 1.11 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠ² VCS. ΠΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Go ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ, ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ· Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ ΠΎΠΌ. Π ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ. Π‘ ΠΏΡΠΈΡ ΠΎΠ΄ΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ 1.11 ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠΈΠ»Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ ΡΠ·ΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°Π³ΠΈΠΈ, ΡΠ·ΡΠΊ ΡΡΠΈΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ²Π½ΠΎ. Π ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π±ΡΠ²Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Π²Π΅ΡΡ .
- Π―Π·ΡΠΊ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΠΠ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Go Π½Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΠΠ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°ΡΡΠ΅Ρ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ².
ΠΡΠΎΡΡΠΎΡΠ° Π΄Π»Ρ Π²ΡΠ³ΠΎΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°
Π£ΡΠ»ΠΎΠΆΠ½ΡΡΡ ΠΏΡΠΎΡΡΠΎ, ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ.
Go Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΎΠ½ ΠΏΡΠ΅ΡΡΠΏΠ΅Π» Π² ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΠ½ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π΄Π»Ρ ΡΠΌΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΡΡΠ°Π»ΠΈ ΠΎΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π²Π°ΡΠΈΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠΎΠ² Enterprise ΡΡΠΎΠ²Π½Ρ. ΠΠΌΠ΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ Π°ΡΡΠ΅Π½Π°Π»Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΎΠ½ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ Π΄Π»Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ°.
ΠΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²: Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠ΅ΠΉ Π½Π°ΠΉΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΈ ΡΠ΅ΡΠ΅Π· 10 Π»Π΅Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠΎΠ·Π³Π° Π΅ΡΠ΅ Π½Π΅ ΡΠ΄Π΅Π»Π°Π» Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ½Π° Π»Π°ΡΡΠ΅Π°ΡΠΎΠΌ ΠΠΎΠ±Π΅Π»Π΅Π²ΡΠΊΠΎΠΉ ΠΏΡΠ΅ΠΌΠΈΠΈ.
ΠΠ»Ρ ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΡ Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠ³ΠΎ ΠΏΡΠ΅Π²Π°Π»ΠΈΡΡΠ΅Ρ Π½Π°Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΌ Π΄ΡΡ ΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ±ΡΡ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ «ΡΠ°ΠΌΠΎΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅», ΡΠ·ΡΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠ΅ΠΌΠ΅ΡΠ»Π΅Π½Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌ ΡΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ, Π° Π½Π΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠΌ IQ). ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π² ΠΆΠΈΠ·Π½ΠΈ β ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ². ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΡΠΎΡΡΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°, ΡΠ·ΡΠΊ ΡΠΆΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΎΡ Π²ΡΠ΅ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΡΡΠΈΡΠ°Π½ΠΈΡ ΠΊ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΈΠ·Π½Π°Π½ΠΈΡ. Π―Π·ΡΠΊ Π³Π΅Π½ΠΈΠ°Π»Π΅Π½ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅, Π°, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π²ΡΠ΅ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ β ΠΏΡΠΎΡΡΠΎ!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com