Код
#статьи

Какие языки программирования нужны веб-разработчику в 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>
   <HEAD>
      <TITLE>Заголовок сайта</TITLE>
   </HEAD>
   <BODY>
      <H3><U>Упорядоченный нумерованный список</H3>
      </U>
      <OL>
         <LI>Элемент 1.
         <LI>Элемент 2.
         <LI>Элемент 3.
      </OL>
      <h3>Страница 1</h3>
      <p>Duis aute irure dolor in reprehenderit in voluptate 
         velit esse cillum dolore eu fugiat nulla pariatur. 		
         Excepteur sint occaecat cupidatat non proident, 
         sunt in culpa qui officia deserunt mollit anim id est laborum.
      </p>
   </BODY>
</HTML>

HTML — только каркас, в нём нет инструкций о расположении, цветах и поведении элементов

CSS — язык разметки стилей. Он позволяет установить размеры отступов, выбрать нужный шрифт и стиль текста, настроить цвет фона, прозрачность элементов и другие параметры.

Добавим в предыдущий пример CSS-разметку:

<HTML>
   <HEAD>
      <TITLE>Заголовок сайта</TITLE>
      <STYLE>
         body {
         background-color: lightblue;
         }
         h2 {
         color: red;
         text-align: left;
         }
         h3 {
         color: white;
         text-align: center;
         }
         p {
         font-family: verdana;
         font-size: 20px;
         }
      </STYLE>
   </HEAD>
   <BODY>
      <H2><U>Упорядоченный нумерованный список</H2>
      </U>
      <OL>
         <LI>Элемент 1.
         <LI>Элемент 2.
         <LI>Элемент 3.
      </OL>
      <h3>Страница 1</h3>
      <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
   </BODY>
</HTML>

CSS-разметка отвечает за то, как страница выглядит в браузере

JavaScript — язык, который помогает создавать всплывающие окна, динамические стили и анимации, делать так, чтобы при нажатии на кнопку отправлялась форма или происходило другое действие.

Пример ниже — скрипт, который меняет цвет текста, если пользователь щёлкнет курсором по абзацу.

<script>
    document.getElementById('B4').onmousedown=new
        Function("this.style.fontStyle='italic'; this.style.color='red';");
    document.getElementById('B4').onmouseup=new
        Function("this.style.fontStyle=''; this.style.color='black';");
</script>

Вот как он работает на практике:

Языки 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 = "Петя"; //Переменная с именем пользователя
?>
<div>
<p>Здравствуйте, <? echo $username; ?>!</p>
</div>
Пример кода на PHP. Источник: Skillbox Media

Открыв эту страницу, пользователь увидит надпись «Здравствуйте, Петя!». Если вы уже знакомы с программированием, то могли заметить, что $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 записей, разделённых запятыми:

List<String> getSymbols(String filename) throws IOException {
  List<String> records = new ArrayList<>();
  try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
    String line;
    int count = 0;
    StringBuilder symbol_set = new StringBuilder();
    while ((line = reader.readLine()) != null) {
      symbol_set.append(line).append(",");
      count++;
      if ((count % 50) == 0) {
        records.add(symbol_set.toString());
        symbol_set.setLength(0);
      }
    }
    records.add(symbol_set.toString());
    return records;
  }
}
Пример кода на Java. Источник: raygun.com

В 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 — разбивает крупный текстовый файл на элементы:

def get_symbols(file_name):
    with open(file_name, "r") as in_file:
        records = []
        count = 0
        symbol_set = ""
        for line in in_file:
            symbol_set = symbol_set + line[:-1] + ','
            count = count + 1
            if count % 50 == 0:
                records.append(symbol_set)
                symbol_set = ""

        symbols.append(symbol_set)
        return records
Пример кода на Python. Источник: raygun.com

У синтаксиса в 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.

func server(i int) {
	for {
		print(i)
		time.Sleep(10)
	}
}
go server(1)
go server(2)
Пример кода на Go. Источник: Skillbox Media

В языке 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#, который рассчитывает факториал числа:

int Fac(int n)
{
	if(n < 2)
	{
		return 1;
	}
	else
	{
		return n * Fac(n - 1);
	}
}
Пример кода на C#. Источник: Skillbox Media

В C# используется императивная (англ. imperative — приказ, повелительное наклонение) парадигма. В ней программист пишет инструкции для компьютера, то есть отдаёт ему приказы. Чтобы делать это было удобнее, используются объекты — это называется объектно-ориентированным программированием.

Плюсы C#:

  • синтаксис, похожий на C, С++ и Java;
  • много библиотек, шаблонов и бесплатных уроков;
  • среда Xamarin для разработки нативных приложений для Android и iOS.

Пообщаться с другими C#-разработчиками можно в русскоязычном чате DotNetRuChat, в «Библиотеке шарписта» и чате по С#.

Ruby — язык для человека, а не для компьютера

Автор Ruby, японский программист Юкихиро Мацумото, стремился создать язык для человека, а не для компьютера. Он сделал так, чтобы даже новичкам было просто писать и читать код на Ruby. Язык полностью основан на объектно-ориентированном программировании.

Ruby лаконичный и гибкий. Например, если вместо оператора + вы хотите пользоваться словом plus, можно добавить новый метод в класс Numeric:

class Numeric
  def plus(x)
    self.+(x)
  end
end

y = 5.plus 6
# y теперь равняется 11

В этом языке несложно переназначить даже существующие операторы, чтобы + или выполняли другие задачи.

Ruby стал популярным благодаря фреймворку Ruby on Rails, на котором пишут фронтенд и бэкенд для веб-приложений. На Ruby написан бэкенд Twitter, GitHub и других ресурсов.

У языка большое сообщество — например, русскоязычный чат по Ruby, Random Ruby Chat, «Чат по Руби» и RubyRush.ru.

Вывод: какие языки должен знать
веб-разработчик

Чтобы верстать UI, фронтенд-разработчики обязательно изучают HTML, CSS и JavaScript. Бэкенд-специалисту нужно добавить к этому один или несколько других языков программирования — например, PHP, Java, Python, Go, C# или Ruby.

* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности».
Проверьте свой английский. Бесплатно ➞
Нескучные задания: small talk, поиск выдуманных слов — и не только. Подробный фидбэк от преподавателя + персональный план по повышению уровня.
Пройти тест
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована