Вже минуло вісім місяців 2020 року, а технічні прогнози на цей рік все виходять і виходять. І це - попри те, що дуже складно передбачити майбутнє в індустрії розробки програмного забезпечення яка так динамічно розвивається. Той, хто працює в цій індустрії, бачив, як технології приходять і йдуть. Іноді ці технології проводять своє недовге життя практично непомітно. Технологіям нелегко виживати у світі програмування.
Але якщо згадати минуле, виявиться, що мови програмування мають величезну історію. В їх історії було безліч помітних подій, що зробили серйозний вплив на індустрію. Наприклад, C і Java, одні з найстаріших мов програмування, до сих пір знаходять широке застосування. Але якщо поцікавитися їх популярністю, виявиться, що зараз вони займають не найвищі позиції.
Я програміст. Мені дуже подобається JavaScript (у мене з цією мовою, так би мовити, «вічний зв'язок»), я пишу цією мовою вже давно. Але якщо трохи озирнутися, то можна помітити, що у світі розробки ПЗ є й інші мови. Пропоную поміркувати про те, що краще використовувати для серверної розробки у 2021 році: JavaScript, Python або Go. Але, перш ніж говорити про сильні сторони кожної з цих мов, погляньмо на результати деяких досліджень.
Результати досліджень та інші дані
Дослідження Stack Overflow
Щорічне дослідження Stack Overflow - це наймасштабніше з наявних, спрямованих на вивчення думок програмістів з різних питань, що стосуються сучасних технологій. У ньому, в 2019 році, взяло участь понад 90000 програмістів. За його результатами можна зробити висновок про те, що лідером серед мов програмування є Python. А друге і третє місця, відповідно, займають JavaScript і Go. Але це, нагадаю, дослідження 2019 року. За рік багато чого може змінитися. Наприклад, Go - це мова, яка розвивається вкрай швидко, і популярність якої постійно зростає. Я думаю, що в аналогічному дослідженні цього року ми, можливо, побачимо іншу таблицю лідерів.
Результати дослідження StackOverflow
Рейтинги GitHub (GitHut)
Нижче показано графік GitHut 2.0, який демонструє кількість PR, зроблених з 2013 по 2019 рік з розбивкою по мовах програмування. Як видно, JavaScript впевнено обходить всі інші мови. Python займає друге місце, а Go тут навіть і не видно.
Але якщо проаналізувати рейтинги мов програмування, глянувши на таблицю, розташовану нижче графіка, то виявиться, що популярність Go росте, а популярність JavaScript і Python падає.
Популярність Go росте, а популярність JavaScript і Python падає
GitHub-репозиторії
Загляньмо в GitHub-репозиторії, пов'язані з важливими нас мовами, і подивимося на те, наскільки активно ведеться робота над ними.
Репозиторій cpython
Репозиторій node
Репозиторій go
Бачачи ці дані, нескладно зробити висновок про те, що Go користується великою увагою розробників. У відповідного сховища більше спостерігачів, ніж у репозиторіїв, пов'язаних з двома іншими мовами, у нього більше зірок. Правда, у цього сховища менше форків, ніж у двох інших.
Тепер поговорімо про те, в яких ситуаціях може бути цікава кожна з обговорюваних нами мов.
Python
Python - це високорівнева мова програмування з динамічною типізацією, яка вже багато років користується популярністю в IT-індустрії. А саме, на що вказують результати безлічі досліджень, Python можна назвати найпопулярнішою мовою програмування минулого десятиліття.
Сильні сторони Python
- Python дозволяє швидко вирішувати складні завдання, створюючи при цьому невеликі обсяги коду.
- Python спрощує використання складних конструкцій завдяки простому, але потужному синтаксису.
- Це - високорівнева мова. Тому тим, хто ним користується, не доводиться дбати, як при C ++ - розробці, про щось на кшталт управління пам'яттю.
- Це - крос-платформна мова. Тобто - Python-застосунки можна запускати на Linux, Windows і Mac.
- Навколо Python склалася величезна спільнота. Якщо ви зіткнетеся з якоюсь проблемою - завжди знайдеться той, хто зможе вам допомогти.
- Існує безліч бібліотек, фреймворків, допоміжних інструментів для Python. Тобто - яка б перед вами не стояла задача, досить імовірно те, що хтось її вже вирішив. Адже Python використовується для вирішення найрізноманітніших завдань вже понад 20 років.
В цілому можна відзначити, що Python - це багатоцільова мова, що має простий, чистий і не занадто складний синтаксис, освоєння якого не викликає труднощів навіть у новачків. Все вищесказане означає, що Python - це чудова мова. Якщо дивитися з технічної точки зору, то всі ті завдання, які вирішують за допомогою Python, можна вирішувати й за допомогою інших мов. Але простота і ясність Python зробили її тим, чим вона є зараз - найпопулярнішою мовою програмування. Саме тому Python - це «мова №1» з тих, що цікавить компанії, які шукають програмістів. Тому, якщо ви програмістом з досвідом, або поки не знаєте про програмування абсолютно нічого, вивчення Python відкриє вам цікаві можливості працевлаштування у 2021 році. Середній річний дохід Python розробника в США складає $160K
JavaScript (Node.js)
Особисто мені дуже подобається платформа Node.js. Саме з неї я почав займатися серверною розробкою. До сих пір я говорив про мови програмування. Але тут мені хотілося б поговорити про Node.js, про одну з найпопулярніших платформ, призначених для виконання JavaScript-коду. Як всім відомо, платформа Node.js популярна в IT-індустрії в якості середовища для розробки серверних застосунків. Одна з основних причин цього полягає в тому, що ця платформа заснована на JavaScript. Якщо ви - JS-розробник, то ви без особливих складнощів можете стати фулстек-програмістом. Це - одна з конкурентних переваг того, хто знає JavaScript.
Сильні сторони JavaScript і Node.js
- Платформа Node.js підтримує ефективні механізми введення-виведення, використання яких не блокує виконання основного коду програми. Це говорить нам про те, що Node.js - це по-справжньому швидка платформа. Річ у тому, що читання і запис файлів - це одне з найважливіших завдань серверів. Node.js справляється з цим завданням дуже добре.
- Для того, щоб створювати фронтенд- і бекенд-застосунки, досить знати одну мову - JavaScript.
- Платформа Node.js використовується великими компаніями, такими, як Uber, LinkedIn, Netflix і Facebook.
- Node.js-застосунки є крос-платформеними. Їх можна запускати на Linux, Windows і Mac.
- Навколо Node.js і JavaScript склалася величезна спільнота. Ось, наприклад, група любителів Node.js, до якої входжу і я. Крім того, існують Slack-канали та дискусії на Stack Overflow, присвячені Node.js і JavaScript.
- Node.js - це не якась система, перевантажена можливостями. Перед нами платформа для виконання коду на сервері, на базі якої можна, користуючись самостійно підібраними фреймворками та бібліотеками, створити саме те, що потрібно. Серед популярних Node.js-фреймворків можна відзначити Express.
Як бачите, Node.js цілком можна назвати відмінною платформою, що дозволяє використовувати JavaScript в бекенд-розробці. Якщо проаналізувати наведений нижче графік, взятий з цього дослідження, то виявиться, що JavaScript використовується для клієнтської та серверної розробки в приблизно однакових масштабах.
JavaScript користується популярністю в клієнтській і серверній розробці
Якщо говорити про середню зарплату Node.js-розробника в США, то це буде щось в районі $48,000 - $130,000 в рік.
Go
Go - це мова програмування, застосування якої полегшує розробку простих, надійних і ефективних застосунків. Вона з'явилася у 2009 році, але не стала такою ж популярною, як Python і JavaScript. Однак відтоді, Go два рази називали «мовою року». 67,9% розробників, які брали участь в дослідженні Stack Overflow, назвали Go своєю найулюбленішою мовою. Очевидно, все це відбувається не без причини.
Найулюбленіші мови
Сильні сторони Go
- Go - це C-подібна мова, тому того, хто знайомий з C або з іншими схожими мовами, не доведеться, освоюючи Go, вивчати щось зовсім нове.
- Go - це крос-платформенна мова.
- Це - проста мова. Чому? Річ у тому, що в ній є всього 25 ключових слів, а кількість структур даних менше, ніж в інших мовах. У ньому немає класів. У Go є тільки функції та типи даних.
- Це - надійна мова, що дозволяє розробляти високопродуктивні застосунки. Вона підтримує конкурентність і розробку серверного коду, що називається, «з коробки».
- Оновлення Go виходять не надто часто. А при виході оновлень не страждає зворотна сумісність. Старий код залишається повністю працездатним при виході нових версій мови.
- В наші дні Go - це вже зріла мова. Зокрема, якщо говорити про допоміжні інструменти, в екосистемі Go є стандартний менеджер пакетів і фреймворк для тестування коду.
Вищенаведені факти про Go дозволяють нам говорити про те, що це - теж чудова мова. Можливо, ви роздумуєте зараз про те, чому ви ще пишете на чомусь іншому, а не на Go. Я, зізнатися, коли трохи дізнався про Go, думав про те ж саме. Багато програмістів вивчали C в якості першої мови. Тому, хто навчався саме так, дуже легко буде вивчити Go і приступити до її використання.
Якщо поглянути на середню зарплату Go-розробника в США, то це буде щось на зразок $ 45,000- $ 130,000 в рік
Підсумки
Go, як видно, дуже добре почувається в останні кілька років. Крім того, якщо судити за результатами досліджень, то виявиться, що Go показує кращу динаміку зростання, ніж JavaScript і Python. В результаті можна говорити про те, що в останні місяці 2020 року ця тенденція продовжиться. І я, навіть, хоча моїм першою серверною мовою була JavaScript, віддаю перше місце Go.
Яку мову ви назвали б найперспективнішою мовою для серверної розробки у 2021 році?
Джерело ENG: medium.com
Коментарі (2)