Самые популярные языки программирования бэкенда: для чего они подходят лучше всего и какие компании их используют

Original author: Laurence Bradford
  • Translation


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

Java




Сложно сосчитать количество статей на Хабре, которые имеют отношение к этому языку. Это один из самых популярных языков программирования, который используется более 20 лет.

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

Несмотря на то, что Java чрезвычайно популярна среди разработчиков ПО, она сложнее для новичка, чем, скажем, Python. Тем не менее, у Java огромное сообщество, которое даст ответ практически на любой вопрос новичка или профессионала.

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

Бэкенд-технологии Java могут использоваться для решения большого количества задач, включая:
  • Разработка мобильных приложений под Android.
  • Разработка сайтов.
  • Работа с базами данных.
  • Обработка изображений.
  • Разработка настольных приложений.
  • Работа с сетью.

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

Вообще таких компаний очень много, вот небольшой список самых известных:
  • Airbnb
  • Uber
  • Pinterest
  • LinkedIn
  • Groupon
  • eBay
  • Evernote
  • FitBit
  • Hubspot

А сколько получает Java-разработчик?

На момент апреля 2020 года средняя заработная плата разработчика в США составляла $79137. Разброс достаточно большой — от $57k to $117k.

PHP


На PHP работает около 78.2% всех веб-сайтов. Язык впервые был представлен в 1995 году, когда для создания динамических сайтов существовало не так много возможностей.



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


79.1% сайтов, о бэкенде которых известно, используют PHP

PHP — отличный язык для начинающих и вот почему:
  • Он допускает ошибки. Так, программа, в коде которой есть проблемы, будет выполняться пока не достигнет участка с ошибкой.
  • У языка очень большое сообщество, причем для новичков доступно большое количество обучающих материалов. Язык постоянно обновляется, так что убедитесь, что изучаете именно последнюю версию.
  • Установить PHP гораздо проще, чем, скажем, Ruby on Rails. Вы можете загрузить MAMP для MAC или WAMP для Windows и через 5 минут все будет готово к работе.


Что можно делать на PHP
  • Собирать данные форм.
  • Генерировать динамические страницы.
  • Отправлять и получать куки.
  • Писать скрипты.
  • Выполнять сценарии на стороне сервера.
  • Писать десктопные приложения.


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

Вот список компаний и некоторые самые известные:
  • Facebook
  • Lyft
  • Mint
  • Hootsuite
  • Viber
  • Buffer
  • DocuSign


А сколько получает PHP-разработчик?

Весной 2020 года средняя зарплата PHP-программиста в США составляла $82007 в год. Разброс — от $55k до $100k.

.NET (C#, VB)


ASP.NET — это ответ Microsoft на Java. .NET представляет собой фреймворк, который используется для создания сайтов на таких языках, как Visual Basic (VB), C#, F# и прочие.

Основа языка — архитектурный шаблон MVC (Model-View-Controller). В этой схеме контроллер принимает запросы пользователя и взаимодействует с моделью для обработки данных. Потом результат уже передается в представление, отображаясь в виде интерфейса веб-страницы.

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

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

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

VB

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

Недостаток VB — большой объем памяти, который необходим для установки и запуска инструментов разработки.

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

С его помощью можно:
  • Разрабатывать десктопные приложения.
  • Создавать мобильные приложения.
  • Создавать веб-приложения и игры.
  • Работать с Big Data.
  • Много чего еще.




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

Вот полный список и некоторые известные названия:
  • Microsoft
  • Starbucks
  • Docplanner
  • Stack Overflow


А сколько получает .NET-разработчик?

Средняя зарплата в апреле 2020 года составила в США $68,524 в год. Разброс — от $44k до $111k.

Ruby


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

Это лаконичный язык, который не требует много года для бэкенда. Так что разработчики могут быстро создавать и запускать приложения. Также он идеален для прототипирования — примерно так же, как и Python. В начале 2000-х популярность Ruby выросла, но затем снизилась.

Достоинство Ruby в том, что это открытый язык, так что он может быть модифицирован и дополнен.

Что можно делать на Ruby
  • Автоматизировать рутинные задачи.
  • Строить веб-приложения.
  • Создавать мобильные приложения и игры.
  • Создавать прототипы.
  • Многое другое.

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

Вот полный список и самые известные из них:
  • Airbnb
  • Codecademy
  • TaskRabbit
  • Kickstarter
  • RapGenius
  • Scribd
  • AngelList

А сколько получает Ruby-разработчик?

Заработная плата специалиста по Ruby в начале года составляла в США около $91542 в год. Разброс — от $54k до$136k.

Python


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

Более того, синтаксис языка простой и понятный, по сравнению с другими бэкенд-языками. Те, кто программирует на Питоне, говорит о коде, как об «элегантном», «читаемом» и «красивом».



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

Вот несколько оптимальных задач:
  • Написание кроссплатформенных shell-скриптов.
  • Быстрая автоматизация.
  • Веб-разработка.

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

Полный список и самые известные компании:
  • Uber
  • Pinterest
  • Mozilla
  • Spotify
  • Quora
  • Pandora
  • Netflix
  • Asana

Средняя заработная плата разработчиков

Весной 2020 года средняя зарплата в США составляла $76526 в год. Разброс — от $58k до $107k.

JavaScript


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



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

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

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

Много чего, включая:
  • Фронтенд и бэкенд сайтов.
  • Мобильные приложения.
  • Десктопные приложения.
  • Игры.
  • Веб-серверы.
  • Презентации.
  • Ну, и много чего еще.

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

Вот полный список и самые известные названия:
  • Airbnb
  • Codecademy
  • HotelTonight
  • eBay
  • Square
  • Asana

Средняя заработная плата разработчиков

Весной 2020 года в США средняя зарплата JavaScript-программистов составила $76526 в год. Разброс — от $58k до $107k.


Языки, на которых пишут разработчики, принявшие участие в опросе Stack Overflow

Комментарий эксперта


Даниил Пилипенко, директор центра подбора IT-специалистов SymbioWay и евангелист бэкенд-направления онлайн-университета Skillbox, дополнил перевод экспертным мнением о востребованности самой специальности “бэкенд-разработчик”.

Спрос на разработчиков последние 20 лет продолжает постоянно расти: каждый год количество вакансий разработчиков увеличивается примерно на 15%. При этом количество самих программистов растет не более, чем на 5% ежегодно. Это приводит к постоянному росту дефицита и, соответственно, зарплат этих специалистов.



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

Часто встречаю проекты, на которых в качестве основных технологий выбирают что-нибудь очень редкое вроде Go, Erlang или Flutter, и потом месяцами не могут найти разработчиков.

Как уже было сказано в статье, самые распространённые сейчас языки для backend-разработки — это Java (для крупных решений), PHP (для веб-сайтов) и Python (для небольших веб-решений и научных задач). В случае выбора этих технологий вы сможете относительно быстро находить сильных специалистов, расширять команду и заменять тех, кто выгорел или ушёл. Благодаря этому ваш проект сможет не только появиться на свет, но и вырасти.

В качестве заключения


В целом, это давно не полный список. Да, в статье указаны наиболее популярные языки для бэкенда, но есть и другие. Например, не упоминается Go. Возможно, в ближайшем будущем мы напишем статью с языками для бэкенда, которые не были включены автором в текущую подборку.
Skillbox
Онлайн-университет профессий будущего

Comments 25

    +2
    Несмотря на то, что Java чрезвычайно популярна среди разработчиков ПО, она менее дружелюбна к пользователю, чем, скажем, Python.

    Это как не дружелюбна? Что за пользователи у бэкенда? Чем Пайтон дружелюбнее, улыбается чаще?

      +2

      Понял, это перевод кривой


      While Java is extremely popular with desktop and business software developers, it is less beginner-friendly than a language like Python.

      Речь о том, что для начинающих тяжёлый на подъем, хотя можно поспорить.

      +3

      Visual Basic для бэкенда?! Месье знает толк в извращениях! :)


      В статье какой-то невероятный микс в секции .NET.

        0
        Можно подумать, что только в секции .Net. Ну вот возьмите хоть это:

        Бэкенд-технологии Java могут использоваться для решения большого количества задач, включая:
        Разработка мобильных приложений под Android.

        • UFO just landed and posted this here
            +1
            Мне больше понравилась эта претензия:
            Недостаток VB — большой объем памяти, который необходим для установки и запуска инструментов разработки.

            Из этого вообще выходит что VS с проектом на VB.NET требует сильно больше памяти чем таже студия с проектом на C#/F#. Не пожалел времени(ноут рабочий у меня древний) на проверку:

            Порядок — запуск студии, ожидание когда устаканится расход CPU/Mem, создание/открытие проекта(пустой проект, после открытия только полистал код). Закрытие студии, открытие в студии ранее созданного проекта, ожидание когда устаканится расход CPU/Mem. Сколько занимает на винте «поддержка» того или иного языка проверять не буду — потратить весь день на установку/снос разных версий студии в разной комплектации я не готов.

            VS 2019 Community, v 16.18.3
            до создания/открытия проекта — 326,3-329.1
            VB.NET console app(new/reopen) — 713.2-713.8/689.5-691.4=>~-7%
            C# console app(new/reopen) — 738.3-743.8/743.8-742.6

            VS 2017 Community, v 15.9.29(не самая последняя, но обновления не ставил пока)
            до создания/открытия проекта — 274.6-275
            VB.NET console app(new/reopen) — 369.6-370.2/368.5-369.4=>~+7%
            C# console app(new/reopen) — 327.1-327.5/345.3-345.7

            VS 2015 Community, v 14.0.25431.01 Update 3
            до создания/открытия проекта — 161.8-162.3
            VB.NET console app(new/reopen) — 205.8-208.1/185.0-187.5=>~+42%
            C# console app(new/reopen) — 155.5-157.1/130.7-131.4

            VS2010 на ноуте уже не держу, за неё сказать не смогу :).

            Получается что для VS2015 заявление верно(почти в 1.5 раза больше памяти для запуска — OMG на целых 50+Мб!!!), но MS это поправила :), и на VS2019 претензию нужно адресовать уже C#. Но вообще конечно бредовый абзац — даже в момент выхода VS2015 разница в 50Мб была ни о чём, одна вкладка браузера отъедала больше. С тем же успехом автор оригинала мог бы поставить в вину C# что в нём слишком много скобок :).

            P.S. Если абстрагироваться от VS(как «инструмента разработки»), то в редакторе Midnight Commander при редактировании одинакового объёма кода(NET.Core) VB.NET/C# разницы в потреблении оперативки я не заметил :).
            +5
            «что-нибудь очень редкое вроде Go, Erlang или Flutter» — очень смелое заявление, особенно на счет Go
              +1

              Дв, спорная позиция у автора статьи по Go и по Visual Basic...

                0

                Глянул вакансии сейчас украинские: В 5 раз меньше Go чем PHP/Java/.Net и в 10 чем JS

                +6
                Говоря о ruby, самые известные – это github, Shopify, Stripe
                  +5
                  Бесполезная статья на хайповую тему.
                    0
                    Основа языка — архитектурный шаблон >MVC (Model-View-Controller).

                    Что-то с переводом? Не языка, видимо, основа.

                      +2
                      JS для начинающего программирование — на мой взгляд, хуже не придумаешь. Начинать надо с любого языка, где нет не включенных в синтаксис добавок, например, разного рода препроцессоров, или магических функций вида __mf_name__. Новичку и так приходится вникать в новую для него область знаний, а вы ему еще и нюансы функционирования конкретной среды исполнения в мозг вваливаете.
                        +2
                        Сахарок, препроцессоры и прочее никак не влияют на пригодность языка для новичка, если их не нужно изучать сразу. Это главная причина бешеной популярности Питона для обучения программированию: он очень хорошо спроектирован в плане плавности увеличения сложности, не нужно зубрить заклинания public static void main и иже с ними. В нём много магии, но она умело спрятана под капот.

                        JS же имеет другой колоссальный плюс, даже два: он вездесущ, и сравнительно небольшими усилиями можно достичь ощутимого результата (знание основ HTML/CSS подразумевается, конечно, но это тоже элементарно). То, что можно сделать на связке HTML/CSS/JS в несколько страниц кода при весьма и весьма поверхностном знании, попросту недостижимо на других языках.
                          0
                          К питону меньше всего упреков.
                          Главное, при отборе материала, все последовательно, и очень аккуратно изложить.
                          Скользкие, на мой взгляд, темы:
                          — магические функции вида __mf_name__(). нужно аккуратно объяснить, что это инструмент взаимодействия со средой исполнения, но ни как не синтаксиса.
                          — декораторы. инструмент на сколько мощный, на столько и опасный для неокрепшего разума неофита (логика, реализуемая декораторами, может быть весьма раскиданной по пакетам, при всей лаконичности использования и реализации самой декорируемой функции, за декораторами может скрываться весьма нехилая работа).
                          — метапрограммирование. даже если вы не пишите метаклассы сами, достаточно, к примеру, подтянуть orm, чтобы сбить с толку новичка. необходимо добиваться четкого понимания, что является частью языка, а что реализовано в отдельном модуле программистом и будет исполняться в программе.
                          На начальном этапе эти темы следует избегать, максимально отодвигая разговор о них.

                          К JS как к первому языку программирования упреков больше.
                          Первым приходит на ум: распространенность практики на «чистом» js примерно такая же, как у ассемблера относительно высокоуровневых языков. Даже поклонники old school, как минимум, используют jquery+plugins. Да, без знания js не усвоить весь остальной арсенал, но, на мой взгляд, это hard way, если говорить о первоначальном обучении программированию, когда очень важно не отбить у неофита желание что либо изучать в принципе.
                          Начертание кода, его читаемость, на мой взгляд, даже если и удобна в написании, крайне не удобна в восприятии непрофессионалом. JS можно вменить тот же упрек, что, в свое время, любили относить к perl: код на этом языке сложно читать, а раз сложно читать, значит сложно и понимать.
                            0
                            JS ещё и отлаживать сложно. Когда вам в лог упадёт «undefined is not a function», вы можете вылавливать ошибку буквально часами. Ведь вменяемого стектрейса, как том же Python, вы не получите, потому что контекст давно потерян: управление прошло через 100500 промисовых лямбд и всяких коллбэков.
                            Вообще, код на нормальном ЯП должен вылядеть как синхронный и отлаживаться как синхронный, и только выполняться, если это действительно нужно, уже асинхронно. А так JS заставляет программиста вручную делать то, что по уму за него должны делать JIT-компилятор и среда выполнения.
                        +4
                        Кстати, удивился, что в PHP довольно высокая средняя зарплата, почему-то думал, что платят чуть ли не меньше всего.
                          0

                          Тоже удивило. Я так понимаю средняя зп зависит от того, отнесли ли "вордпресы" к php или нет.

                          0
                          Весной 2020 года средняя зарплата (Python) в США составляла $76526 в год. Разброс — от $58k до $107k.

                          Весной 2020 года в США средняя зарплата JavaScript-программистов составила $76526 в год. Разброс — от $58k до $107k.


                            +1
                            Так я и думал. Переход с Python на JavaScript или наоборот финансово никак не оправдан вплоть до копейки.
                              +1

                              И это при условии одинаковой подтвержденной квалификации, а если иметь в виду переход с сеньора на джуна...

                            +1

                            Главный недостаток VB в том, что он всё, больше не будет развиваться.

                              +1
                              Главный плюс PHP — из всего упомянутого он наименее ресурсоёмок. Если вы для экспериментов берёте наидешевейший (или даже вообще халявый) VPS с 512Мб памяти, то именно связка nginx+MySQL+PHP позволит вам выжать из этого железа максимум, буквально порвав всё остальное (ну, не считая всякой экзотики вроде OpenResty).
                              Вот например неплохое сравнение потребления серверных ресурсов различными фреймворками в зависимости от задачи/нагрузки.
                                +1

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

                                  0
                                  ну сборка гошных бинарников штука тривиальная))
                                  go build --ldflags '-s -w' — самый простой способ, но бинарь будет требовать (на примере линуксов), чтобы версия libc на собираемой оси была не выше, чем на оси где все будет запускаться. Если это является проблемой можно сделать так:
                                  go build --ldflags '-s -w -linkmode external -extldflags "-static"' -trimpath
                                  бинарь толстоватый получится, но запустится практически где угодно без дополнительных плясок с бубном

                              Only users with full accounts can post comments. Log in, please.