Последние пару месяцев я играл с языком программирования Golang. Я всегда любил python из-за его простоты использования, но Golang меня удивляет с точки зрения эффективности производительности. Когда этот язык был представлен, люди признали его очень быстрым языком программирования, поскольку он скомпилирован в машинный код. Я чувствую себя обязанным доказать эту теорию самостоятельно. Таким образом, я начал изучать Go с нуля. С моей точки зрения, после примерно 3 месяцев использования в самом Go есть несколько плюсов и минусов. Лучшее достоинство Go заключается в том, что он очень чистый и легко читаемый, даже если вы незнакомы с Go. С моей точки зрения, как разработчика полного стека, Go больше похож на комбинацию javascript и C.

Другими достоинствами, которые я извлек из этого языка, являются документация и сообщество. Документация Golang действительно чистая и аккуратная! У меня очень приятный опыт чтения документации. В отличие от документации многих других языков программирования, документация по всем пакетам, созданная сообществами Golang, также интегрирована на один веб-сайт (godoc.org). Большинство людей указали на этот фактор как на его недостатки. Однако за почти 10 лет сообщество Golang выросло и предоставило множество пакетов с открытым исходным кодом, которые можно было бы использовать в различных областях технологических приложений в 2019 году.

Алгоритм сортировки

Итак, как мне проверить производительность Golang по сравнению с производительностью Python? Я тестирую оба языка программирования с базовым алгоритмом сортировки. Я применил тот же простой список данных и с теми же данными из 3000 значений, что различия в производительности значительно велики. Ниже приведены статистические данные (в секундах), которые я собрал из этих тестов.

Различные алгоритмы сортировки отображают разное общее время для вычисления сортируемого значения. Цифры времени в приведенных выше таблицах показывают, что Golang примерно в 15 раз лучше, чем язык программирования Python. Это достоинство Golang может быть полезно для многих приложений, которые реализуют сложный алгоритм (Big Oh), который также имеет большие данные для вычисления.

Сервер

Создание сервера в Golang заняло всего около 2 минут.

Всего за несколько дней я смог сделать очень простой веб-фреймворк golang в качестве шаблона. Узнайте больше в этой ссылке на github.

В целом, язык программирования Golang заинтересовал меня с точки зрения производительности. Есть еще много плюсов Golang, которые я еще не изучил. Я с нетерпением жду роста с помощью Golang, но внедрение Golang в 2019 году кажется совсем недавним и новым для многих компаний. Чтобы преобразовать текущий язык программирования в Golang, может потребоваться куча работ. Тем не менее, с растущим сообществом существуют пакеты, которые могут адаптировать реализацию Go как кросс-языка программирования. Я еще не исследовал это, но мне интересно, можно ли выполнить такой процесс.