Вы наверняка слышали, как айтишники разговаривают о непонятных языках программирования: «Я учился на „Си плюс плюс“, но перешел на "Руби он рейлс"» или «Это можно сделать в "Питоне", но и на "Эс-ку-эле" нетрудно».
Чтобы такие разговоры не казались шифром, во втором выпуске «Цифровой бакалеи» мы расскажем о популярных языках программирования: зачем они нужны, в чем их плюсы и минусы, и насколько сложно их выучить.
Java
Вкратце. Весьма сложный язык, на котором пишут код для марсоходов, смартфонов и банковских серверов. Язык основан на парадигме ООП (объектно-ориентированного программирования).
Объектно-ориентированное программирование — концепция, при которой программист определяет не только данные, но и функции, которые к ним применяются. Это упрощает создание отношений между объектами в коде. ООП — сложный, но очень важный принцип в современном программировании. Он уменьшает число ошибок, упрощает программы и позволяет «переиспользовать» код.
Для чего используется. Входит в топ-5 самых популярных языков программирования. Основной язык разработки для мобильных устройств на Android. Активно используется на научных проектах и в создании высоконагруженных систем, государственных сайтов. Менее популярен в других сферах, однако на Java пишут почти все: от сайтов до приложений для компьютера.
В Х5 на этом языке написана GK — система, на которой сейчас работают большинство оффлайн-касс в наших магазинах, а это больше 55 тысяч инсталляций. А также создаётся новый цифровой продукт «Обратная связь», который позволит быстро реагировать на обращения клиентов (отзывы, жалобы, информационные запросы, рекомендации, благодарности) и, таким образом, повысит качество обслуживания клиентов торговой сети «Пятёрочка».
Когда и кем изобретен. Создан в 1990-х годах американской компанией Sun Microsystems на базе языка С++. Инженеры хотели получить более простой в использовании язык, дружелюбный к начинающим программистам. В качестве логотипа для него выбрали чашку кофе (без кофе в разработке никуда).
Сложно ли выучить. ♨ ♨ ♨ ♨
Выучить сложно, но возможно, и даже в Х5 — на базе Цифровой академии уже год работает школа технических специалистов. Один из треков обучения в школе посвящен Java-разработке, его выпускники получают уровень Junior-специалистов и возможность перейти на работу в продуктовые команды Х5.
Плюсы
- Полная поддержка принципов ООП.
- Гибкость и универсальность — Java работает на любой платформе.
- Небольшие мини-приложения (апплеты), которые можно использовать
внутри кода.
- Поддержка принципа TDD (разработка через тестирование).
- Отлично подходит для удаленной и распределенной работы.
Минусы
- Нет удобной среды разработки.
- Частично платный в использовании.
- Низкая производительность.
- Сложный и многослойный код.
JavaScript
Вкратце. Главный язык разработки для веба. В нем «оживляют» дизайн сайтов и веб-приложений. Простой и дружелюбный к программисту, он постоянно изменяется, и требует постоянного изучения «моды». Много фреймворков на любой вкус.
Фреймворк — это набор инструментов для программирования, среда создания кода.
Если представить программирование как строительство домов, то фреймворки – это материалы и технологии. Кто-то строит кирпичные дома, кто-то — дома из бруса, другие — бетонные дома. Фреймворк выбирают, исходя из задачи и просто привычки.
Для чего используется. Ни один современный компьютер или смартфон не обходится без поддержки JavaScript (JS) — на его основе работают все браузеры. Все сайты на свете (а их — десятки миллионов) созданы с применением JS.
Когда и кем изобретен. Создан компанией Oracle в 1995 году, с тех пор постоянно улучшается (изменения в языке и среде разработки происходят буквально каждый день).
Сложно ли выучить. ♨ ♨
Плюсы
- Один из самых дружелюбных языков для новичков.
- «Визуальный» язык — разработчик может наглядно видеть результат своего труда.
- Огромное сообщество создает плагины и среду разработки, помогает исправить ошибки.
- Практически универсален: на нем можно писать и фронтенд, и бэкенд.
Минусы
- Среда разработки постоянно меняется, за этим нужно следить ежедневно.
- Проблемы с безопасностью кода.
Python
Вкратце. Популярный язык, созданный одним человеком. Используется в веб-программировании, разработке игр. Легкий в обучении — его активно используют в школах на уроках информатики.
Для чего используется. Проще сказать, где он не используется. С фреймворками Django на «Питоне» пишут веб-приложения. На Selenium — тестируют, с помощью PyOpenGL занимаются 3D-моделированием. На нем также пишут скрипты, программируют микроконтроллеры, используют в науке и работе с большими данными.
В Х5 на Python написано немало ИТ-решений, например, на новом внутреннем корпоративном портале Х5, написанном на этом языке.
Когда и кем изобретен. Python создал голландский разработчик Гвидо Ван Россум в 1991 году (программисты называют его «Великодушным пожизненным диктатором»)
Сложно ли выучить. ♨
Наши сотрудники могут изучить Python-разработку в Цифровой академии Х5, где уже год работает школа технических специалистов. Выпускники получают уровень Junior-специалистов и возможность перейти на работу в продуктовые команды Х5.
Опенсорс — культура совместной разработки приложений. В опенсорсе разработчик открывает свой код для свободных изменений сообществом. Другие программисты используют его в своих решениях, помогают улучшить, исправляют ошибки.
Плюсы
- Дружелюбный и даже симпатичный язык со своей философией красоты кода.
- Огромная поддержка опенсорс-коммьюнити.
- Множество бесплатных инструментов и фреймворков для работы над чем угодно.
Минусы
- Низкая скорость работы.
- Проблемы с переиспользованием кода в разных приложениях.
Ruby
Вкратце. Язык с популярным фреймворком Ruby on Rails — один из самых популярных в мире. Он на 100% поддерживает концепцию ООП, язык создается и развивается опенсорсно. Его активно используют ведущие компании: от Airbnb до Twitter.
Для чего используется. Для веб-разработки, создания гибких серверных систем, программировании для Mac и Linux. Ruby on Rails — самый популярный фреймворк для создания веб-приложений.
Веб-приложение — это супер-сайт. На нем не только показывают текст и картинки, но и позволяют выполнять действия: писать текст, редактировать картинки, переписываться с другими людьми. Google Docs, Figma, и даже Facebook — это веб-приложения.
Когда и кем изобретен. Язык создал японский разработчик Юкихиро Мацумото в 1990-х годах. Поклонники языка считают, что в Ruby много японского подхода: к красоте кода и функциональности. Кстати, Мацумото очень любит Россию и приезжает к нам в гости каждый год.
Сложно ли выучить. ♨ ♨ ♨
Плюсы
- Большое и дружное сообщество.
- Много полезных библиотек.
- Много информации в сети.
- Высокая скорость разработки.
Минусы
- Высокий порог входа — в Ruby приходят после опыта разработки на других языках.
- Язык медленно развивается. У программистов есть популярный мем: «„Руби“ умер».
C++
Вкратце. Мощный язык для создания сложных программ: драйверов, операционных систем, банковских и государственных приложений.
Для чего используется. Вот только несколько сфер использования: микроконтроллеры, IoT, роботы, десктопные и мобильные приложения, веб, игры, системы моделирования, прогнозирования, обработки статистики и в нейронных сетях. С++ — весьма универсальный язык.
Разработчики очень ценят сообщество других программистов. Ведь любую ошибку и проблему легче решать, опираясь на опыт других людей. Чем больше активных разработчиков, тем быстрее можно спросить и получить ответ.
Когда и кем изобретен. Один из самых старых языков: он создан в 80-х годах, а его основы заложили с языком С еще в 60-х годах прошлого века! Отцом современного языка считается сотрудник компании Bell Бьёрн Страуструп.
Сложно ли выучить. ♨ ♨ ♨ ♨ ♨
Плюсы
- Универсальный: одну программу можно использовать на разных платформах.
- Очень востребован на рынке труда.
- Помогает программистам заложить фундамент обучения.
Минусы
- Код писать сложно и долго.
- Очень трудно исправлять ошибки в коде.
- Очень сложно выучить язык.
Go
Вкратце. Максимально простой и быстрый язык, очищенный от всего лишнего. Его создали в Google. Используется в вебе и облачных вычислениях. Отлично подходит для обучения программированию.
Для чего используется. Веб-приложения и веб-серверы, 3D-моделирование, программирование больших данных и облачные вычисления. Активно используется для создания ботов (в том числе в Telegram). Go любят и используют в Яндексе, Mail.ru, Google, Facebook, Dropbox.
Когда и кем изобретен. Его создали в 2007 году в компании Google (но пользоваться им могут свободно все). Разработчики языка хотели объединить все лучшее из Java, Python и C++.
Сложно ли выучить. ♨ ♨
Программисты ревностно смотрят на то, какие языки используют в крупных и модных компаниях вроде Яндекса, Apple, Google. Если гиганты делают ставку, например, на Go, значит это на 100% стоящий язык, знание которого повышает ценность сотрудника на рынке труда.
Плюсы
- Очень простой и легкий.
- Супер-быстрый по сравнению с другими языками.
- Много вакансий и высокие зарплаты.
- Много встроенных и внешних библиотек.
Минусы
- Плохо поддерживается Windows.
- Очень непривычный для программистов с опытом.
- Нет систем типизации кода.
ABAP/4
Вкратце. Специальный язык, на котором пишут программы для ПО компании SAP. Используется в очень сложных и узкоспециализированных случаях, например, в программах управления предприятиями. Поддерживается в Х5.
Для чего используется. Компания SAP производит ПО для управления крупным бизнесом, которое считается эталоном и золотым стандартом. Это ПО стоит миллионы долларов и применяется в десятках тысяч компаний по всему миру. Внутренние программы и скрипты для ПО SAP пишут на ABAP.
В языках программирования, как и в человеческих языках, есть синтаксис — правила, по котором «слова» связываются в «текст». Зная основы программирования, разработчик быстро осваивается с любым синтаксисом и останавливается на языке, который ему больше по душе.
Когда и кем изобретен. Создан в SAP в 1983 году. На сегодняшний момент поддерживается 4-я версия языка, ABAP/4.
Сложно ли выучить. ♨ ♨ ♨ ♨ ♨
Плюсы
- Узкая специализация позволяет разработчикам много зарабатывать.
- Сочетается с другими языками, в том числе с Java.
Минусы
- Сложный и не очень удобный в разработке.
- Не слишком востребован в мире.
- Не используется в модных хипстерских компаниях.
SQL
Вкратце. «Полуязык», который используют для управления базами данных и анализа данных. Низкий порог входа позволяет освоить его буквально за несколько недель.
Для чего используется. Для хранения, извлечения и анализа данных. Его любят бухгалтеры, маркетологи, менеджеры — с его помощью они могут работать с базами данных сами, почти не умея программировать.
Любимые фразы маркетологов, осваивающих SQL: «правый джойн» и «левый джойн». Это команды, которыми описывают выборку данных из таблицы.
Когда и кем изобретен. Его создали в начале 70-х годов в IBM. С тех пор язык постоянно развивался и дополнялся. В 1990-х годах нашел свое применение в популярной среде MySQL.
Сложно ли выучить. ♨ ♨
Плюсы
- Можно быстро выучить.
- Четко стандартизирован: это помогает не допускать ошибок.
- Декларативность: программист говорит что нужно сделать, а машина сама решает, как этого добиться.
- Язык-стандарт для работы с базами данных.
Минусы
- Не очень хорошо подходит под современные данные.
По теме:
Зачем магазинам искусственный интеллект