Какие языки программирования нужны веб-разработчику в 2021 году
Рассказываем, почему кроме HTML и CSS разработчикам нужны языки программирования и какие из них актуальны в 2021 году.
tesla / youtube
Статичный сайт можно написать легко: берём язык разметки HTML и каскадные таблицы стилей CSS. Но если вам нужен проект со сложной логикой и интерактивом — например, интернет-магазин или веб-приложение с базами данных, API и авторизацией, — понадобятся языки программирования.
Веб-приложения состоят из двух больших частей:
Фронтенд (англ. frontend) — то, что пользователь видит на экране и с чем может взаимодействовать: страницы сайта, меню, кнопки, поля ввода и другие части интерфейса. Чаще всего для фронтенда используют HTML, CSS, язык JavaScript и связанные с ним фреймворки — React.js, Angular и Vue.js.
Бэкенд (англ. backend) — база данных, API, интеграции и вся логика сайта. Для бэкенда часто выбирают PHP, Java, Python, Go, C# и Ruby, также бэкенд пишут на Node.js, Meteor и других JavaScript-фреймворках.
Благодаря тому, что фронтенд связан с бэкендом, пользователи могут регистрироваться, добавлять товары в корзину, оплачивать заказы, публиковать комментарии, смотреть видео и делать всё остальное, чем мы занимаемся в интернете.
Языки для фронтенд-разработчиков
Основной стек фронтенд-разработчика — HTML, CSS и JavaScript. HTML (HyperText Markup Language) — это основа разметки веб-страниц. С его помощью создают абзацы, заголовки и гиперссылки, добавляют изображения и другие объекты.
HTML-код объясняет браузеру, что отобразить на странице. У каждого элемента есть свой тег, заключённый в скобки.
Вот пример HTML-кода:
HTML — только каркас, в нём нет инструкций о расположении, цветах и поведении элементов
CSS — язык разметки стилей. Он позволяет установить размеры отступов, выбрать нужный шрифт и стиль текста, настроить цвет фона, прозрачность элементов и другие параметры.
Добавим в предыдущий пример CSS-разметку:
CSS-разметка отвечает за то, как страница выглядит в браузере
JavaScript — язык, который помогает создавать всплывающие окна, динамические стили и анимации, делать так, чтобы при нажатии на кнопку отправлялась форма или происходило другое действие.
Пример ниже — скрипт, который меняет цвет текста, если пользователь щёлкнет курсором по абзацу.
Вот как он работает на практике:
Языки HTML, CSS и JavaScript — основной стек для фронтенд-разработчика. Но и бэкендерам тоже нужно в них разбираться, чтобы понимать, как устроен сайт.
Русскоязычные фронтендеры общаются в группе «Типичный верстальщик» и в чате для джуниоров и мидлов.
Популярные языки для бэкенда
Языки для бэкенда выбирают в зависимости от масштаба проекта и его задач. Например, банк, скорее всего, выберет Java, а стартап из сферы машинного обучения — Python. Дальше вы узнаете почему.
Мы расскажем про шесть популярных серверных языков из списка TIOBE.
PHP — ветеран веб-программирования
PHP создали в 1995 году как язык для веб-разработки. На нём написано почти 79% сайтов. PHP поддерживает MySQL, MS SQL, Oracle Database, PostgreSQL, MongoDB и другие базы данных. IDE для PHP можно установить на Windows, macOS и Linux.
На PHP написан движок Wikipedia и значительная часть Facebook*, на фреймворке Symfony создан бэкенд BlaBlaCar.
Для начала работы с PHP создаётся страница с расширением .php или .html (в зависимости от конфигурации сервера). Исходный код этой страницы содержит теги разметки HTML и непосредственно PHP-команды. Они заключаются между операторами <?PHP и ?>. Вот как выглядит подобный код:
Открыв эту страницу, пользователь увидит надпись «Здравствуйте, Петя!». Если вы уже знакомы с программированием, то могли заметить, что $username — это переменная, а команда echo используется для вывода данных на экран.
У языка много бесплатных библиотек и фреймворков (Laravel, Yii, CodeIgniter), есть большое сообщество — например, PHP Community и LaraChat. По PHP много обучающих материалов для новичков, поэтому освоить язык и начать кодить несложно.
Есть русскоязычные сообщества: phpGeeksJunior, PHP-чат для опытных, phpGeeks и чат phpclub.ru.
Java — язык для корпораций
Этот язык часто используют крупные компании из сферы BigData и финансов. Java востребован у банков, страховых фирм и розничных сетей. Например, свои системы на нём разрабатывают Deutsche Bank, Citigroup и Goldman Sachs Bank. На Java написана серверная часть сайтов Amazon, eBay, PayPal, Adobe и Oracle.
Вот так выглядит код на Java, который открывает большой текстовый файл и превращает каждую строку в набор из 50 записей, разделённых запятыми:
В Java код комплексный, со множеством слов и знаков: на английском такой синтаксис называют словом verbose, то есть «говорливый», многословный код. Он может быть сложноват для новичков, хотя многие разработчики чувствуют себя комфортнее со строгим синтаксисом.
На Java пишут мобильные приложения для Android и игры для ПК, пример — знаменитая Minecraft.
У этого языка много библиотек и фреймворков (например, Spring, PrimeFaces и Dropwizard). Для работы с вебом есть сервер приложений Apache Tomcat, который предоставляет среду для выполнения Java-кода.
C 2019 года коммерческое использование Java SE стало платным. Но деньги берут только за сборки Oracle JDK. Сборки OpenJDK остаются бесплатными.
Java-разработчики общаются в русскоязычных чатах Java & Co, learn.java и pro.jvm.
Python — язык для машинного обучения
Python создал голландский программист Гвидо ван Россум, за основу он взял наработки из ABC. В результате получился язык с читаемым кодом и широкими возможностями.
У него простой и понятный синтаксис, и новички часто выбирают его в качестве своего первого языка программирования. Пример ниже выполняет ту же задачу, что и код из раздела про Java — разбивает крупный текстовый файл на элементы:
У синтаксиса в Python простая, ясная структура, он хорошо читается, и его можно даже назвать интуитивным.
Python используют в веб-разработке, в машинном обучении, анализе больших данных и научных исследованиях, на нём пишут компьютерные игры, приложения для Windows, Linux, macOS, Android и других операционных систем. У языка много фреймворков, известнее всех — Django.
На Python и Django написана серверная часть Instagram* и основной код YouTube и Reddit. В своих научных вычислениях язык используют NASA и Fermilab.
У Python есть русскоязычные чаты с парой десятков тысяч участников: Python beginners, rupython, pro.python и Python.
Go — язык «сусликов»
Go (Golang) — язык, который разработали в Google. Он подходит для бэкенда веб-приложений и других проектов — например, на нём написаны Docker, InfluxDB и Kubernetes.
В Go программа может выполнять несколько строк одновременно — это называется «горутиной». Чтобы превратить функцию в горутину, нужно добавить перед ней go.
В языке Go авторы попытались объединить лёгкость разработки на Python и скорость исполнения программ на C и C++.
Go — кроссплатформенный язык, на нём пишут программы под Windows, macOS, Linux и другие ОС. Это опенсорсный проект, поэтому исходный код и компилятор доступны бесплатно. У языка есть фреймворки, самые популярные из них — Gin, Beego и Echo.
Из-за лаконичного синтаксиса Go проще освоить, поэтому его рекомендуют студентам и школьникам. Go-разработчики называют себя гоферами (от англ. gopher — суслик), поэтому суслик — талисман языка.
Go — надёжный и быстрый, и поэтому он становится всё популярнее. Сервисы на этом языке уже пишут Dropbox, Yahoo! и eBay.
Пообщаться с Go-разработчиками и получить помощь можно в русскоязычных чатах Go-go! и GOLANG, англоязычном Go Forum, в группе golang-nuts и в сообществе Gophers в Slack.
C# — язык от Microsoft
Microsoft создала C# как язык для разработки под Windows. У него много общего с Java и С. На С# пишут сайты, игры, мобильные и веб-приложения. Например, на нём написан движок Unity. Язык используют Google, Siemens, Deutsche Bank и другие компании.
Пример кода на C#, который рассчитывает факториал числа:
В C# используется императивная (англ. imperative — приказ, повелительное наклонение) парадигма. В ней программист пишет инструкции для компьютера, то есть отдаёт ему приказы. Чтобы делать это было удобнее, используются объекты — это называется объектно-ориентированным программированием.
Плюсы C#:
- синтаксис, похожий на C, С++ и Java;
- много библиотек, шаблонов и бесплатных уроков;
- среда Xamarin для разработки нативных приложений для Android и iOS.
Пообщаться с другими C#-разработчиками можно в русскоязычном чате DotNetRuChat, в «Библиотеке шарписта» и чате по С#.
Ruby — язык для человека, а не для компьютера
Автор Ruby, японский программист Юкихиро Мацумото, стремился создать язык для человека, а не для компьютера. Он сделал так, чтобы даже новичкам было просто писать и читать код на Ruby. Язык полностью основан на объектно-ориентированном программировании.
Ruby лаконичный и гибкий. Например, если вместо оператора + вы хотите пользоваться словом plus, можно добавить новый метод в класс Numeric:
В этом языке несложно переназначить даже существующие операторы, чтобы + или – выполняли другие задачи.
Ruby стал популярным благодаря фреймворку Ruby on Rails, на котором пишут фронтенд и бэкенд для веб-приложений. На Ruby написан бэкенд Twitter, GitHub и других ресурсов.
У языка большое сообщество — например, русскоязычный чат по Ruby, Random Ruby Chat, «Чат по Руби» и RubyRush.ru.
Вывод: какие языки должен знать
веб-разработчик
Чтобы верстать UI, фронтенд-разработчики обязательно изучают HTML, CSS и JavaScript. Бэкенд-специалисту нужно добавить к этому один или несколько других языков программирования — например, PHP, Java, Python, Go, C# или Ruby.