Из мира шахмат в области игр и Python, когда дело доходит до языков программирования, изучение Go было трудным. Для тех, кто не знает, когда я говорю «иди», я могу иметь в виду две разные вещи. Одна из них - очень старая игра, происходящая из Восточной Азии. Другой - это очень новый язык программирования со строгой типизацией, созданный Google. В данном случае я имею в виду оба.

И хотя эти две версии Go сильно отличались от всего, что я использовал в мире игр и программирования, они имели некоторые общие черты, которыми я поделюсь с вами здесь.

Go: строго типизированная игра

«Строго типизированный» обычно относится к языку программирования, который требует явных определений. То же самое и с языком Go, но то же верно и с игрой Go. Каждое движение четко определено и по этой причине требует тщательной практики, чтобы не ошибиться на раннем этапе.

Go - это краткость и эффективность

В отличие от шахмат, где вы начинаете со набора фигур и пытаетесь избавиться от них; в Go вы начинаете с нуля и пытаетесь добиться победы, используя как можно меньше фигур, что делает игру очень эффективной. Точно так же в языке ценится краткость. И чем эффективнее ваш алгоритм, тем лучше. Игра: захватите наименьшую территорию с наименьшим количеством камней. Язык: Выполните задуманную функцию с наименьшим количеством кода.

Go: дотошный язык программирования

Go дотошный. Это понимают все, кто хоть что-нибудь знает об игре. Но язык тоже. Оба требуют скрупулезного мышления, планирования нескольких шагов и потенциальных шагов на будущее. Будь то то, как определить наиболее эффективный способ кодирования алгоритма, или как предотвратить захват от врага.

Оба были созданы для войны!

Мы думаем о шахматах как о военной игре, но то же самое и о го. Го - это территориальная игра, основанная на окружении и захвате врага. Обычно игроки начинают с размещения своих требований к частям доски, которые они намереваются в конечном итоге окружить и тем самым превратить в территорию. Судьба Тибета якобы однажды решилась в игре в го. В «Искусстве войны» Сунь Цзы он использует стратегию Го в бою, решая, где сражаться: уклоняться от места, где армия его врага сильнее, и атаковать там, где она слабее. Игра для воинов. То же самое и с Голангом. Изучение языка похоже на постепенное осознание все большей и большей территории, прежде чем использовать свои знания и кодовую базу, чтобы окружить проблему и зафиксировать ее. Если вы не разместили свою территорию должным образом, если вы не все приняли во внимание и вместо этого «атакуете» проблему слишком рано, ваш код выйдет из строя. Если вы сначала приступите к решению проблемы там, где она наиболее сильна, а не к ее самым слабым местам, и начнете медленно продвигаться вперед, вы потерпите неудачу. Мы можем назвать это «Искусство программирования Сунь Цзы».

Заключение

И игра, и язык сложны, и для овладения ими нужно отличное от нормы мышление. Но они также увлекательны и увлекательны, если вы освоите их. Я обязательно буду использовать оба в будущем и уже создал API Go Crawler Utility (GoCU), который работает как поисковая машина для отдельных веб-сайтов. Помните: избегайте проблемы там, где она сильнее всего, и атакуйте там, где она слабее!