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 часто случаются баги.