Навіщо вам вчити Go

Навіщо вам вчити Go
Джерело картинки

Go - відносно молода, але популярна мова програмування. за даним опитування Stack Overflow саме Golang отримав третє місце в рейтингу мов програмування, які хотіли б освоїти розробники. У цій статті ми спробуємо розібратися в причинах популярності Go, а також подивимося, де ця мова використовується і чому її взагалі варто вивчати.

Трохи історії

Мова програмування Go була створена Google. Власне, його повна назва Golang – похідна від Google language. Незважаючи на те, що в анонсі мову назвали молодою, цього року їй виповнюється вже десять років.

Мета, яка стояла перед творцями Go — розробити просту та ефективну мову програмування, яка могла б використовуватися для створення якісного програмного забезпечення. Роб Пайк, один із творців Go, заявив, що Go розроблявся для програмістів компанії, які нещодавно закінчили вчитися і знають Java, C, C++ або Python. Go для них — мова, якою можна швидко розібратися і до якої швидко звикаєш.

Спочатку він був інструментом усередині Google, але з часом вийшов з надр корпорації і став надбанням громадськості.

Переваги мови

Golang має велику кількість плюсів, як відомих, так і не дуже.

Простота. Власне, це була основна мета створення мови і її вдалося досягти. У Go досить простий синтаксис (з певними припущеннями), тому програми можна розробляти швидше, ніж іншими мовами. І тут є два цікаві моменти.

По-перше, Golang досить швидко може вивчити повний новачок у програмуванні - той, хто не знає взагалі жодної мови і лише збирається стати розробником. Про Go можна сказати, що він майже такий же нескладний (відносно, звичайно), як PHP або навіть Pascal, але такий потужний, як С++.

По-друге, Go може освоїти програміст, що вже «сформувався», той, хто вже знає одну або кілька мов. Найчастіше розробники вивчають Go після того, як освоїли Python чи PHP. Далі деякі програмісти успішно використовують пару Python/Go або PHP/Go.

Велика кількість бібліотек. Якщо вам не вистачає будь-якої можливості в Go, можна скористатися однією з багатьох бібліотек і виконати потрібне завдання. Go має ще одну перевагу — можна без проблем взаємодіяти з бібліотеками мови Сі. Є навіть думка, що Go-бібліотеки це обгортки для C-бібліотек.

Чистота коду. Компілятор Go дозволяє тримати код чистим. Наприклад, змінні, що не використовуються, вважаються помилкою компіляції. У Go вирішується більшість проблем форматування. Це робиться, наприклад, за допомогою програми gofmt за збереження або компіляції. Форматування автоматично керується. Детальніше про це можна дізнатися в туторіалі Ефективний.

Статична типізація. Ще одна перевага Go, завдяки якому знижується ймовірність припущення помилки розробником. Так, перші кілька днів програміст, звиклий до динамічної типізації, дратується за необхідності оголошувати тип кожної змінної і функції, так само, як і решти. Але потім стає зрозумілим, що тут суцільні плюси.

GoDoc. Утиліта, яка дуже спрощує документування коду. Великим плюсом GoDoc є те, що тут не використовуються додаткові мови, такі як JavaDoc, PHPDoc або JSDoc. Утиліта використовує максимальну кількість інформації, яку вона отримує з документованого коду.

Обслуговування коду. Його легко обслуговувати саме завдяки простому та лаконічному синтаксису. Все це – спадщина Google. Оскільки корпорація має величезну кількість коду для різних програмних продуктів, а також десятки тисяч розробників, які все це розбирають, то виникає проблема обслуговування. Код має бути зрозумілий усім, хто над ним працює, добре документованим та лаконічним. Все це можливо з Go.

При цьому в Golang немає класів (є структури, struct), немає підтримки успадкування, що значно спрощує зміну коду. Плюс немає винятків, анотацій тощо.

Що можна написати на Go

Практично все, за винятком деяких моментів (наприклад, розробки, пов'язані з машинним навчанням - тут більше підходить все ж таки Python з низькорівневими оптимізаціями на C/C++ і CUDA).

Решта можна писати, особливо це актуально щодо web-сервісів. Крім того, на Go варто розробляти програми як для кінцевого користувача, так і для розробки демонів, UI, він підходить для кроссплатформенних додатків та сервісів.

Потреба Golang

Навіщо вам вчити Go
З часом мова стає все більш затребуваною. Крім тих компаній, що присутні на зображенні вище, з Golang працюють Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical та інші.

«Ми вирішили масштабувати бізнес, нам важливо збудувати принципово нову технологічну платформу, яка забезпечить швидкий розвиток продукту. Робимо ставку на Go через його швидкість та надійність, а головне — аудиторію програмістів, яка його використовує», — заявили представники Ozon у 2018 році, після того, як компанія прийняла рішення перейти на Golang.

Ну а що щодо доходів Заробітна плата Go-розробника минулого року склала в середньому 60-140 тис. рублів за даними "Мого Кола". Порівняно з 2017 роком, цей показник збільшився на 8,3%. У 2019 році, швидше за все, зростання продовжиться, оскільки розробники Golang потрібні багатьом компаніям.

Що далі?

Зупинятись у розвитку Golang точно не буде. Потреба в хороших фахівцях, які знають цю мову, тільки зростатиме, так що роботу фахівцю (початківцю або профі) знайти буде нескладно. У принципі, це твердження є актуальним і зараз, оскільки на ринку IT спостерігається постійний дефіцит розробників.

Go хороший як для програмістів-початківців, так і для профі, хто вже знає одну або кілька мов програмування. Вивчити його чи перевчитися може практично будь-який програміст.

Стаття готувалася разом із викладачем курсу Golang у GeekBrains Сергієм Кручініним, за що йому велике спасибі!

Джерело: habr.com

Додати коментар або відгук