Редактор Ольга Евсикова специально для блога Нетологии рассказала, как выбирать язык для изучения.

image

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

Присмотритесь к рейтингам


Рейтинг PYPL


Система оценки PYPL (PopularitY of Programming Languages) основана на количестве поисковых запросов учебных пособий в Google. Они, совместно с GitHub, составили топ языков программирования на 2017 год.

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

image

С 2005 года во всём мире Java является самым популярным языком программирования. За последние 5 лет больше всего интерес проявляется к языку Python, а PHP теряет популярность, но не уступает своему преследователю C#. В топе языков ещё JavaScript, C++ совместно с C, R и Ruby.

Индекс TIOBE


Другая система оценки популярности языков программирования — TIOBE формируется на основе частоты поиска в Google, Baidu, Wikipedia, Yahoo и YouTube.

image

По ней лидирует снова Java, но Python занимает всего четвертую позицию, замыкают десятку JavaScript, PHP. А начинает двадцатку — Ruby.

Определитесь с направлением


Выбирайте язык, исходя из программных продуктов, которые хотите создавать.

Веб-разработка


Это процесс создания веб-сайтов и приложений. Это может быть все что угодно: от социальной сети до посадочной страницы спортивного клуба.

Веб-разработка внешней части называется front-end. Сначала с помощью разметки HTML создаётся страница. Именно эта разметка отвечает за структуру страницы. Затем внешний вид созданной страницы изменяют с помощью каскадных таблиц стилей — CSS и добавляют интерактивности на языке JavaScript.

Back-end — это серверная часть. Тут происходит вся магия взаимодействия с интерфейсом, и часто мы видим только результат работы на серверной стороне. Важная часть работы с сервером — умение пользоваться базами данных. Если вам интересно это направление, смело учите язык управления базами данных SQL, MySQL и знакомьтесь с фреймворком Oracle. Бекенд можно писать на Ruby, Python, Java, PHP, Node.js, Django.

Крупные ресурсы всегда используют несколько инструментов, так как необходимо поддерживать работу нескольких дата-центров, серверов и системы взаимодействия этих серверов. Это продукт работы большой команды: программистов, инженеров и системных администраторов. Так социальная сеть ВКонтакте использовала для своей работы транслятор от компании Facebook — HipHop, превращающий исходный язык PHP в C++ для ускорения работы. Позже ВКонтакте создали свой собственный транслятор и назвали его Kitten PHP.

Мобильные приложения


Если планируете собственный проект, полезным будет выяснить, какую операционную систему использует ваша целевая аудитория. Но любой проект, который ищет развития, выходит за рамки одной платформы.

Для разработки под систему iOS пишут на Swift и Objective-C. Под Android — Java и C++.

image
Мобильные приложения в Google Play Market.

Настольные приложения или десктоп


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

Для Windows пишут на C++, C# и Java. Для Mac OS — Objective-C. Для разработки под Linux пишут на C и C++.

image
Настольные приложения в App Store.

Разработка игр или геймдев


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

Мобильные игры под Android пишут на Java и C++, под IOS — Swift и Objective-C. В браузерные онлайн-игры можно поиграть в социальных сетях. Здесь вам пригодится знание веб-разработки на JavaScript+HTML или Flash. Компьютерные игры часто пишут на C++. Этот низкоуровневый язык подходит больше всего, когда речь идёт о разработке сложных вещей.

image

Так одна из самых успешных игр в мире — Minecraft написана на языке Java, но специально для Android переписана на C++.

Ещё для создания игр используют специальные игровые движки типа Unity (C# и Java Script) и Unreal Engine (C++). Они упрощают процесс создания игр и позволяют создавать 2D и 3D игры на Mac OS, Linux, Windows и консоли PlayStation, Xbox.

Большие данные


Социальные сети и средства массовой информации задумались, как эффективно использовать данные, годами копившиеся в серверных хранилищах и продолжающие поступать. Большие объемы данных позволяют выяснить, как пользователь взаимодействует с сервисами, моделировать ситуации и делать прогнозы.

В России рынок Big Data только формируется, но банки и телекоммуникационные компании уже проявили большой интерес. Появилась новая профессия — дата-аналитик. Существуют языки программирования типа R, разработанные специально для работы с большими объемами данных. Ещё используют Python, C, Java и Scala.

image
Big Data в исследовании компании МегаФон и института «Стрелка».

Оцените рынок


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

image
Данные «Моего круга».

По статистике видно, что самые высокооплачиваемые программисты, в среднем, это занимающиеся мобильной разработкой или программным обеспечением. В остальном — программисты крайне редко зарабатывают менее 80 тысяч рублей. К примеру, согласно отчету аналитической компании App Annie, ожидается, что мировой рынок мобильных приложений в 2017 г. вырастет на 28,6% и достигнет $166 млрд.

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

Выбирайте то, что нравится

Независимо от выбранной области программирования — язык должен вам нравиться. Пробуйте.
Поделиться с друзьями
-->

Комментарии (15)


  1. kruslan
    30.06.2017 16:47
    +3

    Чёт с графиками зп совсем грустно…


  1. whitedruid
    30.06.2017 17:25
    -1

    Спасибо за статью! А системное ПО — есть какие-то данные? Задавая этот вопрос я подразумеваю «ассемблер и си», в первую очередь.


  1. dmitry_dvm
    30.06.2017 19:21
    +8

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


    1. wcoder
      30.06.2017 23:29
      -1

      Почитайте про Xamarin.


      1. dmitry_dvm
        03.07.2017 10:32
        +1

        Почитайте про сарказм.


  1. ivlevAstef
    30.06.2017 19:48

    «Мобильные игры под Android пишут на Java и C++, под IOS — Swift и Objective-C.»
    Не соглашусь — в обоих случаях пишут на с++ и очень редко на языках платформы. В добавок не стоит забывать про unity которая позволяет писать на c# или js, для мобильных приложений.


    1. kruslan
      01.07.2017 02:58

      Давно под ios пишут на плюсах?


      1. ivlevAstef
        01.07.2017 05:17
        +2

        Ну я пишу начиная с 3 iOS. Кто-то еще раньше. Там есть mm файлы которые могут содержать код на двух языках objc и c++ — они выступают как обертки. Потом пишут на чистом с++. Причём для игр уже все давно написано: cocos2dx как самое популярное, он далеко не единственный.
        При этом swift написан на С++ и может также вызывать с++ код.

        Более того многое кроссплатформенные бизнес приложения имеют в ядре также С++. Точно знаю dropbox и 2gis все остальное менее известно.


  1. ls18
    30.06.2017 20:12
    +6

    знакомьтесь с фреймворком Oracle

    Оу, что-то новенькое


  1. JC_IIB
    30.06.2017 20:29
    +3

    <сарказм> удивлен, что в статье не упомянули тот-самый-язык-на-букву-К </сарказм>


  1. lgorSL
    01.07.2017 02:39
    +5

    Столько текста ни о чём. Язык — не цель, а средство.
    Начинать лучше с Си, потому что он простой и оказал влияние на целую кучу мейнстримовых языков — синтаксис и многие концепции похожи. После Си можно учить чего душа пожелает.


    1. kruslan
      01.07.2017 02:57
      -2

      Начинать с Си? «Да ты чё?» (с) Белены объелся?


    1. yarric
      02.07.2017 19:29
      -1

      Начать с C, а потом долго въезжать в концепции ООП.


  1. altgamer
    01.07.2017 18:03
    +3

    Подскажите, какие из перечисленных языков лично использовал автор материала?


    1. MikailBag
      03.07.2017 16:05
      +1

      Маркетинговый