Существует множество причин стать разработчиком. Программисты зарабатывают много денег, создают новые продукты и меняют мир. Горите желанием стать одним из них, но не знаете, как сделать первый шаг? Эта статья поможет разобраться.
Присмотритесь к рейтингам
Рейтинг PYPL
Система оценки PYPL (PopularitY of Programming Languages) основана на количестве поисковых запросов учебных пособий в Google. Они, совместно с GitHub, составили топ языков программирования на 2017 год.
Выбирая язык из этого рейтинга, можете быть уверены, что у вас всегда будут доступные учебные материалы и активное сообщество учеников.
С 2005 года во всём мире Java является самым популярным языком программирования. За последние 5 лет больше всего интерес проявляется к языку Python, а PHP теряет популярность, но не уступает своему преследователю C#. В топе языков ещё JavaScript, C++ совместно с C, R и Ruby.
Индекс TIOBE
Другая система оценки популярности языков программирования — TIOBE формируется на основе частоты поиска в Google, Baidu, Wikipedia, Yahoo и YouTube.
По ней лидирует снова 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++.
Мобильные приложения в Google Play Market.
Настольные приложения или десктоп
Это может быть десктоп-версия мобильного приложения. Например, мессенджер Viber. Или сервис видеозвонков Skype, созданный во времена, когда приложения для мобильных устройств ещё не были так популярны. И вообще любые программы для повседневных задач, которые можно запустить с ноутбука или компьютера.
Для Windows пишут на C++, C# и Java. Для Mac OS — Objective-C. Для разработки под Linux пишут на C и C++.
Настольные приложения в App Store.
Разработка игр или геймдев
Чтобы создавать игры, нужно не просто играть в них, а понимать особенности их создания. Этим геймдев отличается от других направлений, и его выделяют в отдельную категорию.
Мобильные игры под Android пишут на Java и C++, под IOS — Swift и Objective-C. В браузерные онлайн-игры можно поиграть в социальных сетях. Здесь вам пригодится знание веб-разработки на JavaScript+HTML или Flash. Компьютерные игры часто пишут на C++. Этот низкоуровневый язык подходит больше всего, когда речь идёт о разработке сложных вещей.
Так одна из самых успешных игр в мире — 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.
Big Data в исследовании компании МегаФон и института «Стрелка».
Оцените рынок
Если программирование для вас не просто хобби, лучше заранее оценить уровень зарплат разработчиков. В интернете можно найти разную статистику. Например, такую.
Данные «Моего круга».
По статистике видно, что самые высокооплачиваемые программисты, в среднем, это занимающиеся мобильной разработкой или программным обеспечением. В остальном — программисты крайне редко зарабатывают менее 80 тысяч рублей. К примеру, согласно отчету аналитической компании App Annie, ожидается, что мировой рынок мобильных приложений в 2017 г. вырастет на 28,6% и достигнет $166 млрд.
Но часто одного языка программирования недостаточно, а потенциальные работодатели требуют знание нескольких языков и фреймворков. Это происходит потому, что на одном языке пишется только одна часть, а остальные — на других.
Выбирайте то, что нравится
Независимо от выбранной области программирования — язык должен вам нравиться. Пробуйте.
Комментарии (15)
whitedruid
30.06.2017 17:25-1Спасибо за статью! А системное ПО — есть какие-то данные? Задавая этот вопрос я подразумеваю «ассемблер и си», в первую очередь.
dmitry_dvm
30.06.2017 19:21+8Джанго это язык программирования, на шарпе нельзя писать под андроид и айос и другие срывания покровов на хабре.
ivlevAstef
30.06.2017 19:48«Мобильные игры под Android пишут на Java и C++, под IOS — Swift и Objective-C.»
Не соглашусь — в обоих случаях пишут на с++ и очень редко на языках платформы. В добавок не стоит забывать про unity которая позволяет писать на c# или js, для мобильных приложений.kruslan
01.07.2017 02:58Давно под ios пишут на плюсах?
ivlevAstef
01.07.2017 05:17+2Ну я пишу начиная с 3 iOS. Кто-то еще раньше. Там есть mm файлы которые могут содержать код на двух языках objc и c++ — они выступают как обертки. Потом пишут на чистом с++. Причём для игр уже все давно написано: cocos2dx как самое популярное, он далеко не единственный.
При этом swift написан на С++ и может также вызывать с++ код.
Более того многое кроссплатформенные бизнес приложения имеют в ядре также С++. Точно знаю dropbox и 2gis все остальное менее известно.
JC_IIB
30.06.2017 20:29+3<сарказм> удивлен, что в статье не упомянули тот-самый-язык-на-букву-К </сарказм>
lgorSL
01.07.2017 02:39+5Столько текста ни о чём. Язык — не цель, а средство.
Начинать лучше с Си, потому что он простой и оказал влияние на целую кучу мейнстримовых языков — синтаксис и многие концепции похожи. После Си можно учить чего душа пожелает.
kruslan
Чёт с графиками зп совсем грустно…