Известные проекты, которые используют Go
Сейчас вся облачная инфраструктура переходит на Golang, так как язык является практически золотой серединой в сложности написания сервисов, их поддержке и масштабировании.
Самые известные проекты на Go:
- Docker
- Kubernetes
- Prometheus
- Grafana
- Consul
- Cockroach DB
- Nats (redis на Go)
Несмотря на то, что Go является сравнительно молодым языком программирования, он уже успел зарекомендовать себя и найти применение во многих известных компаниях.
Российские сервисы:
-
Финтех:
-
Тинькофф
- Сбербанк
-
Альфабанк
-
Маркетплейс
-
Ozon
- Avito
-
Сбермегамаркет, Сбермаркет
-
Ride hailing (сервисы такси)
-
Яндекс Go
- Uber
- inDriver
-
Wheely
-
Информационная безопасность
-
Positive Technologies
- Kaspersky Lab
- Softline
Зарубежные сервисы:
- Amazon
- Tesla
- Uber
- Aliexpress
- Jetbrains (основана в России)
- IBM
Но благодаря чему Go смог завоевать доверие разработчиков и есть ли у него недостатки?
Преимущества и недостатки Golang
В отличии от высокоуровневых языков, таких как java, php или python, go на выходе занимает малое количество памяти как на дисках, так и в оперативной памяти, выходной бинарник занимает в среднем 20 Мб. Это дает огромное преимущество в горизонтальном масштабировании приложения, тем самым повышая отказоустойчивость используемой системы.
Преимущества:
- Легкий и понятный синтаксис, простота в использовании.
- Безопасность языка.
- Богат встроенными библиотеками.
- Встроенные инструменты для работы, бенчмарки, тестирование, кросс компилятор, профайлер и др.
- Легковесные рутины.
- Отсутствие внешних зависимостей, на выходе получаем самостоятельный бинарный исполняемый файл.
Недостатки:
- Малое количество внешних библиотек в сравнении с языками php, python etc. В некоторых случаях придется писать свое решение.
- Мало синтаксического сахара, отсутствие тернарного, null coalesce операторов. В языке Go используется nil, который работает немного по-другому.
Далее следует короткий экскурс по языку Golang, после чего мы рассмотрим аспекты языка подробнее.
Вперед!