Π—ΠΎΡˆΡ‚ΠΎ Go Π΅ лошо Π·Π° Π½Π΅ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ

Π‘Ρ‚Π°Ρ‚ΠΈΡ˜Π°Ρ‚Π° Π΅ напишана ΠΊΠ°ΠΊΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ објавСна Π°Π½Ρ‚ΠΈΠΏΠΎΠ΄Π΅Π½ Ρ‡Π»Π΅Π½.

Π—ΠΎΡˆΡ‚ΠΎ Go Π΅ лошо Π·Π° Π½Π΅ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΈΠ·ΠΌΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π΄Π²Π΅ ΠΈ повСќС Π³ΠΎΠ΄ΠΈΠ½ΠΈ користСв Go Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ сСрвСр RADIUS со Ρ€Π°Π·Π²ΠΈΠ΅Π½ систСм Π·Π° Π½Π°ΠΏΠ»Π°Ρ‚Π°. На ΠΏΠ°Ρ‚ΠΎΡ‚, Π³ΠΈ ΡƒΡ‡Π°ΠΌ слоТСноста Π½Π° самиот јазик. Π‘Π°ΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ сС ΠΌΠ½ΠΎΠ³Ρƒ Сдноставни ΠΈ Π½Π΅ сС Ρ†Π΅Π»Ρ‚Π° Π½Π° овој напис, Π½ΠΎ самото искуство Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Go заслуТува Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ Π²ΠΎ Π½Π΅Π³ΠΎΠ²Π° ΠΎΠ΄Π±Ρ€Π°Π½Π°. Go станува сС повСќС ΠΌΠ΅Ρ˜Π½ΡΡ‚Ρ€ΠΈΠΌ јазик Π·Π° сСриозСн, скалабилСн ΠΊΠΎΠ΄. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π΅ создадСн ΠΎΠ΄ Google, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС користи. Π’ΠΎ ΠΊΡ€Π°Ρ˜Π½Π° линија, искрСно мислам Π΄Π΅ΠΊΠ° Π΄ΠΈΠ·Π°Ρ˜Π½ΠΎΡ‚ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Go Π΅ лош Π·Π° НЕинтСлигСнтнитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ.

Π”ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π·Π° слаби ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ?

Π‘Π»Π°Π±ΠΈΡ‚Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°Π°Ρ‚ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘ΠΈΠ»Π½ΠΈΡ‚Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°Π°Ρ‚ Π·Π° ΠΈΠ΄Π΅ΠΈ ΠΈ ΡΠΎΠ½ΠΈΡˆΡ‚Π°...

Go Π΅ ΠΌΠ½ΠΎΠ³Ρƒ лСсно Π·Π° ΡƒΡ‡Π΅ΡšΠ΅, Ρ‚ΠΎΠ»ΠΊΡƒ лСсно ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ΄ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠΎΠ² Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³. Оваа карактСристика Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ сС користи Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ свСтски ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠΎΠ³Π° ΠΊΠΎΠ΄ΠΎΡ‚ сС Ρ‡ΠΈΡ‚Π° Π·Π°Π΅Π΄Π½ΠΎ со Π½Π΅ΡΡƒΡˆΡ‚ΠΈΠ½ΡΠΊΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΡΡ‚ΠΈ (ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΈ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΈΡ‚Π½.). Ова Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Π”ΠΈΠ·Π°Ρ˜Π½ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½ Ρ€Π°Π·Π²ΠΎΡ˜.
Π”ΡƒΡ€ΠΈ ΠΈ ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ пристоСн ΠΊΠΎΠ΄ ΠΏΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ. ΠšΠ½ΠΈΠ³Π°Ρ‚Π° ΠΎΠ΄ која ΡƒΡ‡Π΅Π² Π΅ β€žΠžΠ΄ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅β€œ (ΠΎΠ΄ ΠœΠ°Ρ€ΠΊ Π‘Π°ΠΌΠ΅Ρ€Ρ„ΠΈΠ»Π΄). ΠšΠ½ΠΈΠ³Π°Ρ‚Π° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€Π°, Π΄ΠΎΠΏΠΈΡ€Π° ΠΌΠ½ΠΎΠ³Ρƒ нијанси Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚. По Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Ρ˜Π°Π·ΠΈΡ†ΠΈ ΠΊΠ°ΠΊΠΎ Java, PHP, нСдостатокот Π½Π° магија Π΅ освСТувачки. Но, ΠΏΠΎΡ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°, ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΈΠΌΠ°Π°Ρ‚ идСја Π΄Π° користат стари ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π²ΠΎ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠ»Π΅. Π”Π°Π»ΠΈ Π΅ ΠΎΠ²Π° навистина ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ?

Π ΠΎΠ± Пајк (Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚) Π³ΠΎ создадС Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Go ΠΊΠ°ΠΊΠΎ индустриски јазик кој Π΅ лСсСн Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π·Π° максимална продуктивност Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚ΠΈΠΌΠΎΠ²ΠΈ ΠΈ Π½Π΅ΠΌΠ° сомнСТ Π·Π° Ρ‚ΠΎΠ°. ΠœΠ½ΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈ сС ΠΆΠ°Π»Π°Ρ‚ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡˆΡ‚ΠΎ ΠΈΠΌ нСдостасуваат. Оваа ΠΆΠ΅Π»Π±Π° Π·Π° Сдноставност бСшС свСсна ΠΎΠ΄Π»ΡƒΠΊΠ° Π½Π° Π΄ΠΈΠ·Π°Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚, Π° Π·Π° цСлосно Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ Π·ΠΎΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π°, ΠΌΠΎΡ€Π° Π΄Π° ја Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΡˆΡ‚ΠΎ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Π° Π΄Π° постигнат Π²ΠΎ Go.

Па Π·ΠΎΡˆΡ‚ΠΎ бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΠΊΡƒ Сдноставно? Π•Π²Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ†ΠΈΡ‚Π°Ρ‚ΠΈ ΠΎΠ΄ Π ΠΎΠ± Пајк:

ΠšΠ»ΡƒΡ‡Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΠ²Π΄Π΅ Π΅ Π΄Π΅ΠΊΠ° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Π½Π΅ сС истраТувачи. Π’ΠΈΠ΅ сС, ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, доста ΠΌΠ»Π°Π΄ΠΈ, Π΄ΠΎΠ°Ρ“Π°Π°Ρ‚ кај нас ΠΏΠΎ ΡΡ‚ΡƒΠ΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, ΠΌΠΎΠΆΠ΅Π±ΠΈ студиралС Java, ΠΈΠ»ΠΈ C/C++ ΠΈΠ»ΠΈ Python. Π’ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ ΠΎΠ΄Π»ΠΈΡ‡Π΅Π½ јазик, Π½ΠΎ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ сакамС Π΄Π° создадат Π΄ΠΎΠ±Π°Ρ€ софтвСр. Π—Π°Ρ‚ΠΎΠ° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ лСсСн Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΡƒΡ‡Π΅ΡšΠ΅.

Вој Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½, Π³Ρ€ΡƒΠ±ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ слично Π½Π° Π¦. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ Google ја Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Π°Ρ‚ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° ΠΊΠ°Ρ€ΠΈΠ΅Ρ€Π° Ρ€Π°Π½ΠΎ ΠΈ Π³Π»Π°Π²Π½ΠΎ сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ΠΈ со ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Π»Π½ΠΈΡ‚Π΅ Ρ˜Π°Π·ΠΈΡ†ΠΈ, особСно со ΡΠ΅ΠΌΠ΅Ρ˜ΡΡ‚Π²ΠΎΡ‚ΠΎ C. Π‘Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° Π±Ρ€Π·Π° продуктивност Π²ΠΎ Π½ΠΎΠ²ΠΈΠΎΡ‚ програмски јазик Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π΄ΠΈΠΊΠ°Π»Π΅Π½.

ΠœΡƒΠ΄Ρ€ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, Π½Π΅Π»ΠΈ?

АртСфакти Π½Π° Сдноставноста

Едноставноста Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π΅Π½ услов Π·Π° ΡƒΠ±Π°Π²ΠΈΠ½Π°. Π›Π΅Π² Π’ΠΎΠ»ΡΡ‚ΠΎΡ˜.

ΠžΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Сдноставно Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ Π²ΠΎ сСкој дизајн. Како ΡˆΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ° ΡˆΡ‚ΠΎ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅, Ρ‚ΡƒΠΊΡƒ оној ΠΎΠ΄ кој Π½Π΅ΠΌΠ° ΡˆΡ‚ΠΎ Π΄Π° сС отстрани. ΠœΠ½ΠΎΠ³Ρƒ Π»ΡƒΡ“Π΅ Π²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ Π΄Π΅ΠΊΠ° Π·Π° Π΄Π° сС Ρ€Π΅ΡˆΠ°Ρ‚ (ΠΈΠ»ΠΈ Π΄ΡƒΡ€ΠΈ ΠΈ Π΄Π° сС ΠΈΠ·Ρ€Π°Π·Π°Ρ‚) слоТСни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π΅ слоТСна Π°Π»Π°Ρ‚ΠΊΠ°. Π‘Π΅ΠΏΠ°ΠΊ, Ρ‚ΠΎΠ° Π½Π΅ Π΅. Π”Π° Π³ΠΎ Π·Π΅ΠΌΠ΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ PERL. ΠˆΠ°Π·ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ·ΠΈ Π²Π΅Ρ€ΡƒΠ²Π°Π° Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° Ρ€Π΅ΡˆΠΈ Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π˜Π΄Π΅ΠΎΠ»ΠΎΠ·ΠΈΡ‚Π΅ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Go Ρ‚Ρ€Π³Π½Π°Π° ΠΏΠΎ ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ² ΠΏΠ°Ρ‚, Ρ‚ΠΈΠ΅ ΠΎΠ΄Π»ΡƒΡ‡ΠΈΡ˜Π° Π΄Π΅ΠΊΠ° Π΅Π΄Π΅Π½ Π½Π°Ρ‡ΠΈΠ½, Π½ΠΎ навистина Π΄ΠΎΠ±Π°Ρ€, Π΅ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π·Π° Π΄Π° сС постигнС Ρ†Π΅Π»Ρ‚Π°. Овој пристап ΠΈΠΌΠ° сСриозна основа: СдинствСниот Π½Π°Ρ‡ΠΈΠ½ Π΅ полСсно Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈ ΠΈ ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС Π·Π°Π±ΠΎΡ€Π°Π²ΠΈ.

ΠœΠ½ΠΎΠ³Ρƒ ΠΌΠΈΠ³Ρ€Π°Π½Ρ‚ΠΈ сС ΠΆΠ°Π»Π°Ρ‚ Π΄Π΅ΠΊΠ° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π½Π΅ содрТи Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΈ апстракции. Π”Π°, ΠΎΠ²Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ, Π½ΠΎ ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ прСдности Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ содрТи ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ магија - Π·Π°Ρ‚ΠΎΠ° Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΄Π»Π°Π±ΠΎΠΊΠΎ знаСњС Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Π¨Ρ‚ΠΎ сС однСсува Π΄ΠΎ говорноста Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚, Ρ‚ΠΎΠ° Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π”ΠΎΠ±Ρ€ΠΎ Π½Π°ΠΏΠΈΡˆΠ°Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π“ΠΎΠ»Π°Π½Π³ Ρ‡ΠΈΡ‚Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ, со ΠΌΠ°Π»Π° ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²Π° структура. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π΅ Π±Π°Ρ€Π΅ΠΌ Ρ€Π΅Π΄ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠ΄ Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΎΡ‚ΠΎ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅. Ако смСтатС Π΄Π΅ΠΊΠ° Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ ΠΈΠΌΠ° ΡƒΠ½ΠΈΡ„ΠΎΡ€ΠΌΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΡšΠ΅ (Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ со помош Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° 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)
}

Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° истиот ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ Π”, ΠΈΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° Π½Π΅ΡˆΡ‚ΠΎ ΠΏΠΎΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π½Π΅ Π΅ полСсно Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅

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))
}

И, ΠΈΠ°ΠΊΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΠΊΠΎΠ΄ сС ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ»Π³ ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, Ρ‚ΠΎΡ˜ стана Π³Π΅Π½Π΅Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½. Π—Π°Ρ‚ΠΎΠ°, Π½Π΅ΠΌΠ° Π΄Π° Π½ΠΈ Π±ΠΈΠ΄Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° Π³ΠΈ спровСдСмС ситС Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π° ќС Ρ€Π΅Ρ‡Π°Ρ‚ Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π²ΠΎ Π” ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΎ ΠΏΡ€Π°Π²ΠΎ.

import std.stdio;
import std.algorithm;

void main(string[] args)
{
    [1, 2, 3, 4, 5].reduce!((a, b) => a + b).writeln;
}

Π‘Π΅ΠΏΠ°ΠΊ, Ρ‚ΠΎΠ° Π΅ само ΠΏΠΎΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π½ΠΎ Π½Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎ, бидСјќи ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° D цСлосно Π³ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π³Ρ€Π΅ΡˆΠΊΠΈ.

Π’ΠΎ Ρ€Π΅Π°Π»Π½ΠΈΠΎΡ‚ ΠΆΠΈΠ²ΠΎΡ‚, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° слоТСноста Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π°, Ρ˜Π°Π·ΠΎΡ‚ Π±Ρ€Π·ΠΎ сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°. ΠˆΠ°Π·ΠΎΡ‚ сС Π·Π°Ρ‚Π²ΠΎΡ€Π° ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠ±Ρ€Π·ΠΎ ΠΊΠΎΠ³Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π΄Π΅Ρ˜ΡΡ‚Π²ΠΎ ΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° стандардни Ρ˜Π°Π·ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ.

Π’ΠΎ однос Π½Π° одрТливост, ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π°ΡšΠ΅ ΠΈ читливост, спорСд ΠΌΠ΅Π½Π΅, Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Go ΠΏΠΎΠ±Π΅Π΄ΡƒΠ²Π°, ΠΈΠ°ΠΊΠΎ Π³ΡƒΠ±ΠΈ Π²ΠΎ говорност.

Π“Π΅Π½Π΅Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ случаи Π½ΠΈ Π΄Π°Π²Π° Π½Π΅ΠΏΠΎΠ±ΠΈΡ‚Π½ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ. Ова Π΅ јасно илустрирано со ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ Π·Π° ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅. Π—Π½Π°Ρ‡ΠΈ, Π·Π° ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° која Π±ΠΈΠ»ΠΎ листа, само Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ 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)
}

Ако Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈ ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° grep β€žinterface{}β€œ -R, ќС Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΊΡƒ чСсто сС користат Π·Π±ΡƒΠ½ΡƒΠ²Π°Ρ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ. БлискитС Π΄Ρ€ΡƒΠ³Π°Ρ€ΠΈ вСднаш ќС ΠΊΠ°ΠΆΠ°Ρ‚ Π΄Π΅ΠΊΠ° сСто Ρ‚ΠΎΠ° сС Π΄ΠΎΠ»ΠΆΠΈ Π½Π° Π½Π΅ΠΌΠ°ΡšΠ΅Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΠΊΠΈ. Π‘Π΅ΠΏΠ°ΠΊ, Ρ‚ΠΎΠ° Π½Π΅ Π΅ сСкогаш ΡΠ»ΡƒΡ‡Π°Ρ˜. Π”Π° Π³ΠΎ Π·Π΅ΠΌΠ΅ΠΌΠ΅ Π”Π•Π›Π€Π˜ ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. И ΠΏΠΎΠΊΡ€Π°Ρ˜ присуството Π½Π° иститС ΠΎΠ²ΠΈΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΠΊΠΈ, Ρ‚ΠΎΡ˜ содрТи посСбСн Ρ‚ΠΈΠΏ VARIANT Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Go Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ истото.

Од Ρ‚ΠΎΠΏ Π΄ΠΎ Π²Ρ€Π°ΠΏΡ‡ΠΈΡšΠ°

А Ρ˜Π°ΠΊΠ½Π°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π»ΡƒΠ΄ΠΈΠ»ΠΎΡ‚ΠΎ. Бтанислав Π›Π΅Ρ†.

ΠœΠ½ΠΎΠ³Ρƒ СкстрСмни Ρ„Π°Π½ΠΎΠ²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ‚Π²Ρ€Π΄Π°Ρ‚ Π΄Π΅ΠΊΠ° Go ΠΈΠΌΠ° ΡƒΡˆΡ‚Π΅ Π΅Π΄Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° создавањС Π³Π΅Π½Π΅Ρ€ΠΈΠΊΠΈ - Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡ˜Π°. И ќС Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΎ ΠΏΡ€Π°Π²ΠΎ... Π½ΠΎ само Π²ΠΎ Ρ€Π΅Ρ‚ΠΊΠΈ случаи.

Π ΠΎΠ± Пајк Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°:

Ова Π΅ моќна Π°Π»Π°Ρ‚ΠΊΠ° која Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС користи со прСтпазливост. Π’Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π° освСн Π°ΠΊΠΎ Π½Π΅ Π΅ строго Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ.

Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ˜Π° Π½ΠΈ Π³ΠΎ ΠΊΠ°ΠΆΡƒΠ²Π° слСдново:

Π Π΅Ρ„Π»Π΅ΠΊΡΠΈΡ˜Π°Ρ‚Π° сС однСсува Π½Π° процСсот Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° кој ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ја слСди ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° сопствСната структура ΠΈ ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΡΠΊΠ°Ρ‚Π° ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Π²ΠΎ основата Π½Π° Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡ˜Π°Ρ‚Π° сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° Ρ€Π΅Ρ„Π»Π΅ΠΊΡ‚ΠΈΡ€Π°Ρ‡ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅. Ова Π΅ Π΅Π΄Π΅Π½ Π²ΠΈΠ΄ ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅.

Π‘Π΅ΠΏΠ°ΠΊ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠ»Π°Ρ‚ΠΈΡ‚Π΅ Π·Π° сè. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜ Ρ‚ΠΎΠ° Π΅:

  • Ρ‚Π΅ΡˆΠΊΠΎΡ‚ΠΈΠΈ Π²ΠΎ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ
  • Π±Ρ€Π·ΠΈΠ½Π° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°

Π—Π°Ρ‚ΠΎΠ°, Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° сС користи со прСтпазливост, ΠΊΠ°ΠΊΠΎ ΠΎΡ€ΡƒΠΆΡ˜Π΅ со Π³ΠΎΠ»Π΅ΠΌ ΠΊΠ°Π»ΠΈΠ±Π°Ρ€. НСпромислСното ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ€Π΅Ρ„Π»Π΅ΠΊΡΠΈΡ˜Π°Ρ‚Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π½Π΅Ρ‡ΠΈΡ‚Π»ΠΈΠ²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΌΠ°Π»Π° Π±Ρ€Π·ΠΈΠ½Π°. Π‘Π°ΠΌΠΎ ΠΎΠ½Π° Π·Π° сноб ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠ²ΠΎΡ˜ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈ, ΠΏΠΎΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΈ поскромни ΠΊΠΎΠ»Π΅Π³ΠΈ.

ΠšΡƒΠ»Ρ‚ΡƒΡ€Π΅Π½ Π±Π°Π³Π°ΠΆ ΠΎΠ΄ Кси? НС, ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Ρ˜Π°Π·ΠΈΡ†ΠΈ!

Π—Π°Π΅Π΄Π½ΠΎ со богатството сС оставаат ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ²ΠΈ Π½Π° наслСдницитС.

И ΠΏΠΎΠΊΡ€Π°Ρ˜ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π° Π²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ Π΄Π΅ΠΊΠ° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π΅ цСлосно заснован Π½Π° наслСдството Π¦, Ρ‚ΠΎΠ° Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΌΠ½ΠΎΠ³Ρƒ аспСкти ΠΎΠ΄ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ.

синтакса

ΠŸΡ€Π΅Π΄ сè, синтаксата Π½Π° Π³Ρ€Π°ΠΌΠ°Ρ‚ΠΈΡ‡ΠΊΠΈΡ‚Π΅ структури сС заснова Π½Π° синтаксата Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ C. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ влијаниС ΠΈΠΌΠ°Π» ΠΈ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π”Π•Π›Π€Π˜. Π’Π°ΠΊΠ°, Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ Π·Π°Π³Ρ€Π°Π΄ΠΈ, ΠΊΠΎΠΈ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° ја Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°Π°Ρ‚ читливоста Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, сС цСлосно отстранСти. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ исто Ρ‚Π°ΠΊΠ° Π³ΠΎ содрТи ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ β€ž:=β€œ ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π΅Π½ Π·Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ DELPHI. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π΅ позајмСн ΠΎΠ΄ Ρ˜Π°Π·ΠΈΡ†ΠΈ ΠΊΠ°ΠΊΠΎ ADA. Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° нСискористСни Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ Π΅ позајмСна ΠΎΠ΄ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ PROLOG.

Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ°

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π±Π΅Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° сСмантиката Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ DELPHI. БСкој ΠΏΠ°ΠΊΠ΅Ρ‚ содрТи ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ΠΊΠΎΠ΄ ΠΈ содрТи ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈ ΠΈ јавни ΡΡƒΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ. Ова Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° со ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ Π½Π° Π΄Π΅Π»Π΅Π³ΠΈΡ€Π°ΡšΠ΅ бСшС позајмСна ΠΎΠ΄ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ DELPHI.

ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°

НС Π΅ Π±Π΅Π· ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΡˆΡ‚ΠΎ ΠΈΠΌΠ° шСга: Go бСшС Ρ€Π°Π·Π²ΠΈΠ΅Π½ Π΄ΠΎΠ΄Π΅ΠΊΠ° сС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° C. Π•Π΄Π½Π° ΠΎΠ΄ силнитС страни Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΡƒΠ»Ρ‚Ρ€Π° Π±Ρ€Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°. Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° Π΅ позајмСна ΠΎΠ΄ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π”Π•Π›Π€Π˜. БСкој Go ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ» DELPHI. ОвиС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ сС ΠΏΡ€Π΅ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π°Ρ‚ само ΠΊΠΎΠ³Π° навистина Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ. Π—Π°Ρ‚ΠΎΠ°, ΠΏΠΎ слСдното ΡƒΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Ρ‚Π΅ Ρ†Π΅Π»Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Ρ‚ΡƒΠΊΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Ρ‚Π΅ само ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΊΠΎΠΈ зависат ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ (ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ Ρ‚ΠΎΠ³Π°Ρˆ, само Π°ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚ΠΈ).

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ

ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ содрТи ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ конструкции Π½Π° високо Π½ΠΈΠ²ΠΎ ΠΊΠΎΠΈ Π²ΠΎ никој ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π΅ сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Ρ˜Π°Π·ΠΈΡ†ΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ ΠΊΠ°ΠΊΠΎ C.

  • RΠΈΡ†ΠΈ
  • Π₯аш Ρ‚Π°Π±Π΅Π»ΠΈ
  • ΠŸΠ°Ρ€Ρ‡ΠΈΡšΠ°
  • ΠŸΠΈΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со ΠΏΠ°Ρ‚ΠΊΠ° Π΅ позајмСно ΠΎΠ΄ Ρ˜Π°Π·ΠΈΡ†ΠΈ ΠΊΠ°ΠΊΠΎ RUBY (кој, Π·Π° ΠΆΠ°Π», ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π° Π½Π΅ Π³ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π°Ρ‚ ΠΈΠ»ΠΈ Π³ΠΎ користат Π΄ΠΎ ΠΊΡ€Π°Ρ˜).

Π£ΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°

Π£ΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ заслуТува посСбна ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°. Ако Π½Π° Ρ˜Π°Π·ΠΈΡ†ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ C++, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°Ρ‚Π° Π΅ цСлосно ΠΏΡ€Π΅ΠΏΡƒΡˆΡ‚Π΅Π½Π° Π½Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚, Ρ‚ΠΎΠ³Π°Ρˆ Π²ΠΎ ΠΏΠΎΠ΄ΠΎΡ†Π½Π΅ΠΆΠ½ΠΈΡ‚Π΅ Ρ˜Π°Π·ΠΈΡ†ΠΈ ΠΊΠ°ΠΊΠΎ DELPHI, сС користСл ΠΌΠΎΠ΄Π΅Π» Π·Π° Π±Ρ€ΠΎΠ΅ΡšΠ΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈ. Π‘ΠΎ овој пристап, Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈ Π½Π΅ Π±Π΅Π° Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ, бидСјќи Π±Π΅Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ ΡΠΈΡ€Π°Ρ‡ΠΈΡšΠ° кластСри, Ρ‚ΠΎΠ³Π°Ρˆ Go ΠΈΠΌΠ° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° Ρ‚Π°ΠΊΠ²ΠΈ кластСри (ΠΊΠ°ΠΊΠΎ C#). ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, собирачот Π½Π° Ρ“ΡƒΠ±Ρ€Π΅ Π΅ поСфикасСн ΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ вСќС ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° ΠΌΠ½ΠΎΠ³Ρƒ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π‘Π°ΠΌΠΈΠΎΡ‚ јазик ΠΏΡ€Π΅ΠΏΠΎΠ·Π½Π°Π²Π° ситуации ΠΊΠΎΠ³Π° Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС распрСдСли врСдност Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Ова Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΎΡ‚ Π·Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° ΠΈ ја Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.

Concurrency ΠΈ Concurrency

ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΌΠΎΡ‚ ΠΈ конкурСнтноста Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π΅ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΏΠΎΡ„Π°Π»Π±Π°. Ниту Π΅Π΄Π΅Π½ јазик Π½Π° ниско Π½ΠΈΠ²ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π½ΠΈ ΠΎΠ΄Π΄Π°Π»Π΅ΠΊΡƒ Π΄Π° сС Π½Π°Ρ‚ΠΏΡ€Π΅Π²Π°Ρ€ΡƒΠ²Π° со Go. Π”Π° Π±ΠΈΠ΄Π΅ΠΌΠ΅ Ρ„Π΅Ρ€, Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π½Π΅ Π±ΠΈΠ» измислСн ΠΎΠ΄ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚, Ρ‚ΡƒΠΊΡƒ Сдноставно Π±ΠΈΠ» позајмСн ΠΎΠ΄ стариот Π΄ΠΎΠ±Π°Ρ€ јазик АДА. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π΅ способСн Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ врски ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΈ ситС процСсори, Π° ΠΏΡ€ΠΈΡ‚ΠΎΠ° ΠΈΠΌΠ° понСкомплСксни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со рСдослСд Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° со ΡœΠΎΡ€-сокак ΠΈ услови Π·Π° Ρ‚Ρ€ΠΊΠ° ΠΊΠΎΠΈ сС Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ Π·Π° ΠΊΠΎΠ΄ΠΎΡ‚ со повСќС нишки.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ

Ако Π΅ ΠΏΡ€ΠΎΡ„ΠΈΡ‚Π°Π±ΠΈΠ»Π½ΠΎ, ситС ќС станат нСсСбични.

ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ исто Ρ‚Π°ΠΊΠ° Π½ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ нСсомнСни ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ:

  • Π•Π΄Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° Π³ΠΎ поСдноставува Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅.
  • Π‘Ρ‚Π°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»Π°Ρ‚ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π²ΠΎ Π²Π°ΡˆΠΈΠΎΡ‚ ΠΊΠΎΠ΄, Π΄ΡƒΡ€ΠΈ ΠΈ Π±Π΅Π· тСстови Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅. Познавам Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΊΠΎΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ тСстови ΠΈ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π΅ страда Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ.
  • ΠœΠ½ΠΎΠ³Ρƒ Сдноставна вкрстСна ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π° ΠΈ ΠΎΠ΄Π»ΠΈΡ‡Π½Π° прСносливост Π½Π° стандардната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΡˆΡ‚ΠΎ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° Π³ΠΎ поСдноставува Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со повСќС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.
  • Π Π΅Π΄ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΈΠ·Ρ€Π°Π·ΠΈ RE2 сС Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ Π·Π° нишки ΠΈ ΠΈΠΌΠ°Π°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ Π²Ρ€Π΅ΠΌΠΈΡšΠ° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅.
  • Моќна стандардна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° која ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π±Π΅Π· Ρ€Π°ΠΌΠΊΠΈ ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни.
  • ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ моќСн Π·Π° Π΄Π° сС фокусира Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ намСсто ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ Ρ€Π΅ΡˆΠΈ, Π½ΠΎ сСпак Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ниско Π½ΠΈΠ²ΠΎ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΄Π° ΠΌΠΎΠΆΠ΅ Сфикасно Π΄Π° сС Ρ€Π΅ΡˆΠΈ.
  • Π•ΠΊΠΎ систСмот Go вСќС содрТи Ρ€Π°Π·Π²ΠΈΠ΅Π½ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π° Π·Π° ситС ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΈ: тСстови, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, моќни Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΈ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° услови Π·Π° Ρ‚Ρ€ΠΊΠ° ΠΈΡ‚Π½.
  • Go Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 1.11 Π²ΠΎΠ²Π΅Π΄Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎ сСмантичко ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со зависност, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ Π²Ρ€Π· ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΈΠΎΡ‚ VCS хостинг. Π‘ΠΈΡ‚Π΅ Π°Π»Π°Ρ‚ΠΊΠΈ ΡˆΡ‚ΠΎ Π³ΠΎ сочинуваат СкосистСмот Go Π³ΠΈ користат ΠΎΠ²ΠΈΠ΅ услуги Π·Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅, создавањС ΠΈ ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΎΠ΄ Π½ΠΈΠ² со Π΅Π΄Π΅Π½ ΡƒΠ΄Π°Ρ€. И Ρ‚ΠΎΠ° Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΎ. Π‘ΠΎ Π΄ΠΎΠ°Ρ“Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 1.11, цСлосно бСшС Ρ€Π΅ΡˆΠ΅Π½ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅.
  • Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ основната идСја Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π΅ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ ΠΌΠ°Π³ΠΈΡ˜Π°Ρ‚Π°, Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π³ΠΈ ΠΏΠΎΡ‚Ρ‚ΠΈΠΊΠ½ΡƒΠ²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Сксплицитно Π΄Π° Ρ€Π°ΠΊΡƒΠ²Π°Π°Ρ‚ со Π³Ρ€Π΅ΡˆΠΊΠΈ. И ΠΎΠ²Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ, бидСјќи Π²ΠΎ спротивно, Сдноставно цСлосно ќС Π·Π°Π±ΠΎΡ€Π°Π²ΠΈ Π½Π° ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅. Π”Ρ€ΡƒΠ³Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ΡˆΡ‚ΠΎ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Π½Π°ΠΌΠ΅Ρ€Π½ΠΎ Π³ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Π°Ρ‚ ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅, ΠΏΡ€Π΅Ρ‚ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ˜ΡœΠΈ намСсто Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚ Сдноставно Π΄Π° ја ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° Π½Π°Π³ΠΎΡ€Π΅.
  • ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π½Π΅ ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° класичната OOP ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°, бидСјќи Π²ΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° чиста Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ΠΌΠ° виртуСлност Π²ΠΎ Go. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΠ³Π° користитС ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ. ΠžΡ‚ΡΡƒΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° OOP Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ја Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° Π±Π°Ρ€ΠΈΠ΅Ρ€Π°Ρ‚Π° Π·Π° Π²Π»Π΅Π· Π·Π° ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈ.

Едноставност Π·Π° корист Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π°

ЛСсно Π΅ Π΄Π° сС ΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°, Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС поСдностави.

Go бСшС Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° Π±ΠΈΠ΄Π΅ СдноставСн ΠΈ успСва Π²ΠΎ Ρ‚Π°Π° Ρ†Π΅Π». Напишано Π΅ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ ΠΊΠΎΠΈ Π³ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π°Ρ‚ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡ‚Π΅ ΠΎΠ΄ тимската Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ сС ΡƒΠΌΠΎΡ€Π½ΠΈ ΠΎΠ΄ Π±Π΅ΡΠΊΡ€Π°Ρ˜Π½Π°Ρ‚Π° Π²Π°Ρ€ΠΈΡ˜Π°Π±ΠΈΠ»Π½ΠΎΡΡ‚ Π½Π° Ρ˜Π°Π·ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Enterprise. Имајќи Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΌΠ°Π» сСт Π½Π° синтаксички структури Π²ΠΎ ΡΠ²ΠΎΡ˜ΠΎΡ‚ арсСнал, Ρ‚ΠΎΡ˜ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ со Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈΠΌΠ°Π°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ Π²Ρ€Π΅ΠΌΠ΅ ослободСно Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜, Π° Π½Π΅ Π·Π° Π±Π΅ΡΠΊΡ€Π°Ρ˜Π½ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Ρ˜Π°Π·ΠΈΡ‡Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ.

ΠšΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ‚ ΠΈ Π±Ρ€ΠΎΡ˜Π½ΠΈ прСдности: ниската Π±Π°Ρ€ΠΈΠ΅Ρ€Π° Π·Π° Π²Π»Π΅Π· ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π±Ρ€Π·ΠΎ Π΄Π° Π½Π°Ρ˜Π΄Π°Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΡΡ‚, Π° нСпромСнливоста Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ користат истиот ΠΊΠΎΠ΄ Π΄ΡƒΡ€ΠΈ ΠΈ ΠΏΠΎ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ.

Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

Π“ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ ΠΌΠΎΠ·ΠΎΠΊ никогаш Π½Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ» Π½ΠΈΡ‚Ρƒ Π΅Π΄Π΅Π½ слон Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ±ΠΈΡ‚Π½ΠΈΠΊ Π½Π° НобСловата Π½Π°Π³Ρ€Π°Π΄Π°.

Π—Π° ΠΎΠ½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Ρ‡ΠΈΠ΅ Π»ΠΈΡ‡Π½ΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ° прСдност ΠΏΡ€Π΅Π΄ тимскиот Π΄ΡƒΡ…, ΠΊΠ°ΠΊΠΎ ΠΈ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π°Ρ€ΠΈ ΠΊΠΎΠΈ сакаат акадСмски ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΡ†ΠΈ ΠΈ Π±Π΅ΡΠΊΡ€Π°Ρ˜Π½ΠΎ β€žΡΠ°ΠΌΠΎ-ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅β€œ, Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π΅ навистина лош, бидСјќи Π΅ занаСтчиски јазик Π·Π° ΠΎΠΏΡˆΡ‚Π° Π½Π°ΠΌΠ΅Π½Π° ΡˆΡ‚ΠΎ Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° СстСтско задоволство ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ сС профСсионално ΠΏΡ€Π΅Π΄ ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ (ΠΏΠΎΠ΄ услов ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΄Π° ја ΠΌΠ΅Ρ€ΠΈΠΌΠ΅ ΠΏΠΎ ΠΎΠ²ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡƒΠΌΠΈ, Π° Π½Π΅ спорСд ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ†ΠΈΡ˜Π°). Како ΠΈ сè Π²ΠΎ ΠΆΠΈΠ²ΠΎΡ‚ΠΎΡ‚, Ρ‚ΠΎΠ° Π΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ Π½Π° Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ. Како ΠΈ ситС Π²Ρ€Π΅Π΄Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ, Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ вСќС ΠΈΠ·ΠΌΠΈΠ½Π° Π΄ΠΎΠ»Π³ ΠΏΠ°Ρ‚ ΠΎΠ΄ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΎΡ‚ΠΎ Π½Π΅Π³ΠΈΡ€Π°ΡšΠ΅ Π΄ΠΎ масовно ΠΏΡ€ΠΈΡ„Π°ΡœΠ°ΡšΠ΅. ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ Π΅ гСнијалСн Π²ΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Сдноставност, ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, сè гСнијално Π΅ Сдноставно!

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€