8 мов програмування, які потрібно знати
Які інструменти розробки використовують частіше за інших
Згідно з опитуванням StackOverflow, найбільше розробники хочуть вивчити Python і JavaScript (30 % і 18,5 % респондентів відповідно). Також серед тих, що мають попит, — Java, C++ і Kotlin. Розповідаємо про найпопулярніші мови тим, хто починає вивчати програмування.
Список складено на основі індексу TIOBE, звіту аналітичної компанії RedMonk і дослідження порталу Dou.ua. Ми розташували мови в алфавітному порядку.
1. C#
Ця мова розроблена для створення застосунків компанією Microsoft, тому погано сумісна з Linux — для програмування доведеться встановити середовище розробки MonoDevelop.
C# натхненна мовою C. Вона також компілюється і використовує ООП, в обох інструментів C-style оформлення: символ крапки з комою наприкінці рядка, фігурні дужки відокремлюють блоки. Таке саме оформлення — у мовах Java і JavaScript.
Вважають, що C# легко опанувати через простий синтаксис і статистичну типізацію мови (це дає змогу швидше знаходити помилки в коді).
Цією мовою написані всі програми Microsoft Office, а також продукти компанії Adobe (Photoshop, Lightroom), сервіс Pinterest і месенджер Slack. C# — мова геймдеву. На ній працює один із двох базових ігрових рушіїв Unity.
2. С++
Вона теж успадкувала структуру мови С. C++ часто називають найшвидшою мовою програмування. У неї просунута JIT-компіляція — технологія перекладу байт-коду в машинний у режимі реального часу. Тому на її основі створюють операційні системи, утиліти й драйвери.
C++ застосовують для створення 3D-моделей у графічному дизайні та геймдеві. На ньому працює ігровий рушій Unreal Engine. На відміну від сі-шарп, у цієї мови крута крива навчання — спочатку навіть базові поняття мови складно опановувати. Вона добре масштабується, тому підходить для роботи з великими проєктами, але використовує багато пам’яті.
Також у C++ є спрощений діалект Arduino, який дає змогу створювати програми для мінікомп’ютерів. На Arduino можна написати програму, поставити контролер у пристрій і запустити код.
Одноплатні комп’ютери програмують для створення роботів, гаджетів, годівниць для тварин і IoT-систем.
3. Java
Об’єктно-орієнтована мова програмування на основі класів. Це означає, що програмі задають характеристики та функції об’єкта, а потім використовують їх як шаблон для створення інших об’єктів. Детальніше про це — тут.
У Java тисячі бібліотек, що ускладнює навчання, але допомагає автоматизувати процес розробки. Серед переваг мови — здатність багатопотокового опрацювання запитів та універсальність мови. Java створена за принципом «написати один раз і використовувати скрізь». Це означає, що код не потрібно переналаштовувати для різних пристроїв або операційних систем. Java використовує байт-код. Для запуску потрібно підключити віртуальну машину, яка перекодує вихідний код. Потім скомпільований код працюватиме на всіх операційних системах.
Мову створювали для програмування побутової техніки, але зараз за допомогою Java працюють і в інших сферах. Найчастіше — створюють ігри на Android, обробляють серверні запити й банківські операції, роблять десктопні програми та вебзастосунки.
4. JavaScript
Кросплатформна мова для веброзробки. За допомогою JS створюють графіку, інтерактивні карти, динамічні вебелементи. Мову не потрібно компілювати — код інтерпретується браузером або іншим ПЗ за допомогою рушіїв. Крім веброзробки, JS і його фреймворки можна використовувати для створення мобільних і десктопних застосунків.
У JavaScript ООП реалізовано за принципом прототипного успадкування: класів немає, а програму створюють на основі узагальненого об’єкта — прототипу. Його клонують для створення нових об’єктів і додають функції. Це означає, що в JS можна викликати функції, які є не тільки в цьому, а й у пов’язаних об'єктах. Наприклад, у користувачів сайтів admin і guest — різні рівні доступу. Ми хочемо зробити ще один користувацький профіль, але з більшим доступом. Тоді створити ще один профіль user можна, використовуючи характеристики прототипів — об’єктів guest і admin.
5. Kotlin
Кросплатформна мова з відкритим кодом, яка працює на віртуальній машині Java (JVM). Kotlin з’явилася 2016 року і стала популярною, коли Google назвав її пріоритетною для Android-розробки. Але застосунки нею можна створювати й для iOS.
Ключові плюси — висока продуктивність і швидка компіляція. Порівняно з Java, на Kotlin вам знадобиться менше коду для однакових операцій. Крім цього, Kotlin можна використовувати в проєктах разом із Java. Нею пишуть у компаніях Pinterest (Android-застосунки) і Netflix (під час доопрацювання UI-програвача).
6. Python
Третя за популярністю мова програмування у світі (після JavaScript і SQL). Python — найкраща мова програмування для новачків (завдяки простому синтаксису). Недоліки — повільна продуктивність і споживання великих обсягів оперативної пам’яті. У Python є чотири стилі програмування, які можна комбінувати.
- Функціональний
Парадигма, у якій використовують «чисті функції» — детерміновані — і повертають один і той самий результат значень. Кожне твердження у функціональному типі — математичне рівняння. - Об'єктно-орієнтований
Парадигма, яка розглядає програму як сукупність об’єктів, що взаємодіють між собою. Водночас для об’єктів прописують характеристики (функції). Об’єкти описують предмети реального світу, які потрібно відтворити в програмі. Поділ на об’єкти з конкретними характеристиками допомагає створювати складні системи. - Імперативний
Програму записують за допомогою послідовних інструкцій (команд). - Процедурний
Один із видів імперативного програмування. Виконання програми представлено як перетворення вихідних даних на заключні за допомогою операторів. Тут відсутні функції, а реалізація програми відбувається завдяки алгоритмам.
Основна сфера застосування — розробка застосунків і бекенд сайтів (серверна частина, обробка даних, маршрутизація). На Python можна створювати боти для соцмереж або парсити вебсайти. За допомогою нього, наприклад, зробили YouTube і пошукові машини Google. Також Python — популярна мова для ML-проєктів, у неї десятки бібліотек для аналізу даних.
7. Ruby
Ruby — мова програмування загального призначення, тобто її не створювали для застосування в конкретній сфері. Наприклад, NASA використовує Ruby для 3D-моделювання, управління інформацією та планування місій, а GitHub застосовує Ruby on Rails — фреймворк для створення вебзастосунків.
Програмісти відзначають швидку розробку на Ruby on Rails. Особливість архітектури в Ruby — у можливості часто застосовувати готові фрагменти коду. Ruby on Rails використовує архітектурний шаблон MVC (model-view-controller). Такий підхід розмежовує код на окремі блоки. Частина Model відповідає за структуру застосунку та список завдань, View — за його зовнішній вигляд і користувацький інтерфейс, Controller — за зв’язок між model і view та реакцію на дії користувача.
8. Swift
Мова з відкритим кодом, створена компанією Apple для програмування на iOS. Її використовують для розробки драйверів, десктопних і мобільних застосунків.
Swift має лаконічний синтаксис та опрацьовану архітектуру. У ньому немає невизначених змінних або помилок із розмірностями масивів. Зараз Swift у 2,5 раза швидший за Objective-C — мову, якою раніше розробляли iOS-застосунки.
Ще одна властивість інструменту — середовище Playground, у якому можна переглядати результат виконання коду до запуску в live-режимі, щоб виправляти помилки. Swift добре працює на iOS, а в компіляторах на Android часто трапляються баги.