Язык Go - зачем он нужен и что на нем пишут? [закрыт]
1,00
р.
р.
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах. Закрыт 8 лет назад.
Улучшить вопрос
Этот язык уже несколько лет в поле видимости. Но что на нем пишут? И что можно написать? Стоит ли его учить? Или он скоро исчезнет?
Ответ Что на нём пишут? И что можно написать? Что угодно. На самом деле что угодно, но, в силу своих плюсов он очень популярен для разработки сервер-сайда (бэкенда). Стоит ли его учить? Вопрос риторический. С точки зрения покупаемости, готовый спрос на него почти отсутствует, в силу молодости и нераскрученности. Так что смысл в нём есть: Для себя, своего стартапа Продавать готовый продукт Выполнить заказ, если заказчику подходят плюсы этого языка (придётся объяснять/убеждать) Или он скоро исчезнет? Как уже писали - исчезнуть он не может, т.к. OpenSource. Т.е. никто не отберёт у Вас написанное на нём, максимум будет ухудшаться развитие/поддержка, во что слабо верится, т.к у языка очень существенные плюсы. Плюсы или «почему я выбрал Go» Производительность По производительности для веб (готовые фреймворки) Go проигрывает только Java и С/С++ и наравне с node.js. При этом потребление ресурсов существенно ниже, чем у Java и производительность намного больше, чем у Python/Ruby. Многопоточность При этом имеет просто офигенную многопоточную модель по сравнению с ними. Пока это лучшее, что я встречал для многопточки/асинхрона. При этом он поддерживает и классические паттерны вроде мьютексов и колбэков. Простота Он очень прост в освоении. Мне кажется даже элементарен, особенно если есть основа из Python/JavaScript. Есть также довольно занятная модель наследования, которая, как мне кажется более прозрачна чем классическое ООП, но немного непривычна поначалу. Надёжность Язык этот компилируемый и статически типизированный. Что даёт выявление многих ошибок задолго до продакшена. К примеру такие ошибки в Python выявляются только непосредственным тестированием и, если тестов нет, то шансов положить систему очень много. Тут же это исключается на этапе компиляции. Скорость компиляции И, наконец, одна из главнейших фишек — не стоит бояться типизации и компиляции. В 145% случаев Вам не придётся объявлять тип переменой в коде — он задаётся автоматически при присвоении ей значения. Объявлять переменные заранее также не нужно. Ну и компиляция — главный конёк. Время компиляции - это то, на что делается главный упор при разработке языка. Оно не отличается от времени запуска интерпретируемого языка. Т.е. система, написанная на go из нескомпилированных исходников запускается примерно с такой же скоростью как система аналогичной сложности, написанная на интерпретируемом языке. Итого Т.е. мы имеем плюсы из двух миров — скорость компиляции/запуска интерпретируемого и надёжность компилируемого языков. Плюc сверху производительность, мультипарадигменность (можно писать в функциональном стиле), простота и низкое ресурсопотребление. Подходит ли это Вам - решать не мне. Мне — подходит, и я считаю его очень хорошим выбором для высоконагруженных сервисов (и не только).