Обложка статьи «8 основных языков для бэкенда»

8 основных языков для бэкенда

На основе статьи «The 2020 Beginner’s Guide to Backend Development»

Автор Мария Багулина

Бэкенд — это прослойка, которая соединяет интерфейс с базой данных, позволяет получать ответы от сервера и обеспечивает работу сайта. В этом материале расскажем о языках для бэкенда: что на них можно делать и какие крупные компании их используют.

Java

Java — один из самых популярных языков программирования. Он универсален и используется уже более 20 лет.

Универсальность обеспечивается виртуальной машиной Java (Java Virtual Machine, JVM). Во многих языках во время компиляции программа переводится в код, который может работать по-разному на разных устройствах или платформах. В Java этой проблемы нет. JVM играет роль промежуточного уровня — из программы на Java она делает код, который может выполняться на любом компьютере независимо от того, где код был скомпилирован.

У Java большое сообщество, и в интернете можно найти ответы практически на любые вопросы о языке.

Что можно делать на Java

Технологии Java могут использоваться для многих задач, среди которых:

  • разработка мобильных приложений под Android;
  • разработка бэкенда веб-сайтов;
  • разработка API для работы с базами данных;
  • цифровая обработка изображений;
  • создание настольных приложений;
  • программирование сетевых задач.

Какие компании используют Java

Airbnb, Uber, Pinterest, LinkedIn, Groupon, eBay, Evernote, FitBit, Hubspot.

PHP

PHP используют около 78% всех сайтов. Язык появился в 1995 году, когда было не так много возможностей для создания динамических веб-страниц. PHP динамически типизирован, и один и тот же фрагмент кода может вести себя по-разному в зависимости от контекста, что делает программы на PHP сложными для масштабирования и иногда медленными.

PHP — отличный язык для начинающих по ряду причин:

  • он прощает ошибки: вы можете запустить программу, и она будет выполняться, пока не достигнет участка с проблемным кодом;
  • у языка большое сообщество, а для новичков доступно много обучающих материалов. Язык постоянно обновляется, поэтому убедитесь, что изучаете последнюю версию;
  • установить и настроить PHP достаточно легко по сравнению, например, с Ruby on Rails. Вы можете скачать MAMP (для Mac) или WAMP (для Windows), и всё будет готово к работе через 5 минут.

Что можно делать на PHP

Согласно официальному сайту PHP, вы можете:

  • собирать данные форм (ввод логина/пароля и прочее);
  • создавать динамический контент на страницах;
  • отправлять и получать куки;
  • писать скрипты в командной строке;
  • выполнять сценарии на стороне сервера;
  • разрабатывать настольные приложения.

Какие компании используют PHP

Facebook, Lyft, Mint, Hootsuite, Viber, Buffer, DocuSign.

.NET (C#, VB)

Фреймворк с открытым исходным кодом ASP.NET от Microsoft используется для создания веб-сайтов с помощью таких языков, как Visual Basic (VB), C#, F# и других.

.NET работает на основе архитектурного шаблона MVC (Model-View-Controller, Модель-Представление-Контроллер). Контроллер принимает запросы пользователя и взаимодействует с моделью для обработки данных. Затем результат передаётся в представление и отображается в виде интерфейса веб-страницы.

Выложенный в открытый доступ в 2016 году, .NET может интегрироваться с iOS, Linux и Android через .NET Core. Он очень стабилен и надёжен, что делает его популярным выбором для бизнеса. Поскольку .NET — продукт Microsoft, у него достаточно хорошая поддержка.

C#

C# — высокоуровневый язык программирования. Это означает, что разработчики могут писать на нём программы, независимые от архитектуры процессора конкретного компьютера.

C# популярен среди разработчиков, потому что он обладает некоторыми преимуществами C++, но на нём проще писать код и избегать при этом грубых ошибок.

VB

Visual Basic — это потомок BASIC, который унаследовал его стиль и сочетает в себе элементы ООП. Это простой язык для начинающих: он широко распространён и обладает несложным синтаксисом. VB часто применяют для прототипирования.
Недостатком программирования на VB является большой объём памяти, необходимый для установки и запуска инструментов разработки.

Что можно делать на .NET

С помощью .NET вы можете:

  • создавать настольные приложения;
  • создавать мобильные приложения;
  • создавать веб-приложения и игры;
  • работать с большими данными;
  • и ещё много чего.

Какие компании используют .NET

Microsoft, Starbucks, Docplanner, StackOverflow.

Ruby + Ruby on Rails

Ruby on Rails — это веб-фреймворк на языке программирования Ruby. Ruby on Rails имеет набор готовых инструментов, которые позволяют быстро выполнять базовые задачи.

Ruby достаточно лаконичный и не требует много кода для бэкенда, что позволяет разработчикам быстро создавать и запускать прототипы (этим Ruby похож на Python). Популярность Ruby выросла в начале 2000 годов, но с тех пор заметно снизилась.

Ruby — язык с открытым исходным кодом, а значит его можно модифицировать и дополнять.

Что можно делать на Ruby

Ruby позволяет:

  • автоматизировать повторяющиеся задачи;
  • создавать веб-приложения;
  • писать мобильные приложения и игры;
  • создавать прототипы.

Какие компании используют Ruby

Airbnb, Codecademy, TaskRabbit, Kickstarter, RapGenius, Scribd, AngelList.

Python

Python стал очень популярным языком программирования. Он используется как для веб-разработки, так и для создания настольных приложений. В Сети можно найти огромное число обучающих сайтов, учебных пособий и руководств по Python, что делает его доступным языком для новичков.

Кроме того, синтаксис Python прост и лёгок для понимания по сравнению с другими языками. Python поддерживает объектно-ориентированное, функциональное и аспектно-ориентированное программирование, а также это динамически типизированный язык с открытым исходным кодом.

Что можно делать на Python

Некоторые из наиболее популярных применений Python:

  • кроссплатформенные shell-скрипты;
  • быстрая автоматизация;
  • веб-разработка:
  • Data Science, Machine Learning.

Какие компании используют Python

Uber, Pinterest, Mozilla, Spotify, Quora, Pandora, Netflix, Asana.

JavaScript

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

Гибкость JavaScript порой обходится дорого: скрипты работают медленно, их сложно поддерживать и масштабировать, как и в большинстве динамически типизированных языков.

У JavaScript большое сообщество, и для его изучения в Сети есть много полезных материалов.

Значительно расширяет возможности JS программная платформа Node.js. С её помощью код, написанный на JS, можно запускать без браузера на бэкенде. А наличие огромного количества готовых решений в пакетной экосистеме npm позволяет разработчику не тратить время на создание большинства типовых решений.

Что можно делать на JavaScript

С JavaScript создаются веб-приложения и программное обеспечение, а именно:

  • фронтенд и бэкенд веб-сайтов;
  • мобильные приложения;
  • настольные приложения;
  • игры;
  • веб-серверы;
  • презентации;
  • и многое другое.

Какие компании используют JavaScript

Airbnb, Codecademy, HotelTonight, eBay, Square, Asana.

Go

Go (часто также Golang) — компилируемый многопоточный язык программирования, разработанный внутри компании Google. Язык Go разрабатывался для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах.

Go — язык со строгой статической типизацией. Имеет достаточно лаконичный и простой синтаксис, основанный на Си, но существенно доработанный, с большим количеством синтаксического сахара.

Что можно делать на Go

  • писать сетевые инструменты;
  • разрабатывать ПО для распределённых систем;
  • писать ПО, обрабатывающее большие объёмы информации.

Какие компании используют Go

Dropbox, SoundCloud, Docker, CloudFlare, Alibaba, Xiaomi, Domino’s Pizza, Gett, Avito, Mail.ru, Tinkoff, 2GIS.

Заключение

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