JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?
9 хв. читання
05 вересня 2020

Вже минуло вісім місяців 2020 року, а технічні прогнози на цей рік все виходять і виходять. І це - попри те, що дуже складно передбачити майбутнє в індустрії розробки програмного забезпечення яка так динамічно розвивається. Той, хто працює в цій індустрії, бачив, як технології приходять і йдуть. Іноді ці технології проводять своє недовге життя практично непомітно. Технологіям нелегко виживати у світі програмування.

Але якщо згадати минуле, виявиться, що мови програмування мають величезну історію. В їх історії було безліч помітних подій, що зробили серйозний вплив на індустрію. Наприклад, C і Java, одні з найстаріших мов програмування, до сих пір знаходять широке застосування. Але якщо поцікавитися їх популярністю, виявиться, що зараз вони займають не найвищі позиції.

Я програміст. Мені дуже подобається JavaScript (у мене з цією мовою, так би мовити, «вічний зв'язок»), я пишу цією мовою вже давно. Але якщо трохи озирнутися, то можна помітити, що у світі розробки ПЗ є й інші мови. Пропоную поміркувати про те, що краще використовувати для серверної розробки у 2021 році: JavaScript, Python або Go. Але, перш ніж говорити про сильні сторони кожної з цих мов, погляньмо на результати деяких досліджень.

Результати досліджень та інші дані

Дослідження Stack Overflow

Щорічне дослідження Stack Overflow - це наймасштабніше з наявних, спрямованих на вивчення думок програмістів з різних питань, що стосуються сучасних технологій. У ньому, в 2019 році, взяло участь понад 90000 програмістів. За його результатами можна зробити висновок про те, що лідером серед мов програмування є Python. А друге і третє місця, відповідно, займають JavaScript і Go. Але це, нагадаю, дослідження 2019 року. За рік багато чого може змінитися. Наприклад, Go - це мова, яка розвивається вкрай швидко, і популярність якої постійно зростає. Я думаю, що в аналогічному дослідженні цього року ми, можливо, побачимо іншу таблицю лідерів.

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Результати дослідження StackOverflow

Рейтинги GitHub (GitHut)

Нижче показано графік GitHut 2.0, який демонструє кількість PR, зроблених з 2013 по 2019 рік з розбивкою по мовах програмування. Як видно, JavaScript впевнено обходить всі інші мови. Python займає друге місце, а Go тут навіть і не видно.

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?
GitHut 2.0, дані по PR

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

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Популярність Go росте, а популярність JavaScript і Python падає

GitHub-репозиторії

Загляньмо в GitHub-репозиторії, пов'язані з важливими нас мовами, і подивимося на те, наскільки активно ведеться робота над ними.

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Репозиторій cpython

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Репозиторій node

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Репозиторій 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, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

JavaScript користується популярністю в клієнтській і серверній розробці

Якщо говорити про середню зарплату Node.js-розробника в США, то це буде щось в районі $48,000 - $130,000 в рік.

Go

Go - це мова програмування, застосування якої полегшує розробку простих, надійних і ефективних застосунків. Вона з'явилася у 2009 році, але не стала такою ж популярною, як Python і JavaScript. Однак відтоді, Go  два рази називали «мовою року». 67,9% розробників, які брали участь в дослідженні Stack Overflow, назвали Go своєю найулюбленішою мовою. Очевидно, все це відбувається не без причини.

JavaScript, Python або Go: що найкраще підійде для бекенд-розробки в 2021 році?

Найулюбленіші мови

Сильні сторони 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

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Коментарі (2)
  1. Костя Третяк

    Автор любить вибрані ним мови, наводить статистику з ними, але бачить лише те, що хоче там бачити. Насправді, якщо об'єктивно дивитись саме на динаміку розвитку (а не абсолютне значення на даний момент) на тому ж графіку за PR, за тим, на скільки люблять розробники певну мову і хотіли з нею працювати, то явним і беззаперечним лідером є TypeScript. Жодна мова не має такого кута нахилу по динаміці, що має TypeScript. Більшість розробників, хто спробували з нею працювати, можуть сказати, що вона має просто гігантську перевагу у порівнянні з JavaScript.

    Це якщо говорити про результати наведеного опитування і про перспективи. Звичайно ж на TypeScript не писатимеш програми для космічної, медичної чи взагалі для науково-ємної галузі. Але якщо говорити про найпопулярнішу галузь в програмуванні, як мінімум, в Україні - вебпрограмування, то TypeScript тут має найкращу перспективу.

    3 роки тому ·
    1
  2. Oleksandr Martyniuk

    Варто уточнити, що Wanted Languags в опитуванні Stack Overflow - це мови які програмісти хотіл б вивчити в наступному році. Тобто більшість хоче вчити Python, потім JavaScrip і Go. Це не говорить про те, що вони будуть вчити ці мови, або ці мови стануть популярними, чи для цих мов відкриється більшість вакансій. Це говорить лише про хайп навколо мов.

    Якщо ж брати дійсно найпопулярніші мови, то такий рейтинг є в опитуванні. Це мови, якими користуються найбільше. https://insights.stackoverflow.com/survey/2019#most-popular-technologies Згідно цієї таблиці, найбільш популярними є

    • JavaScript 69.7%
    • HTML/CSS 63.1%
    • SQL 56.5%
    • Python 39.4%
    • Java 39.2% А Golang користуються приблизно 8%.
    3 роки тому ·
    2
Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація