Какой язык программирования учить в 2020-м?
Содержание:
- Kotlin (2011)
- Hack
- Нужно ли начинать с простого языка
- Go
- Rust
- Go
- C#
- Первые шаги
- JavaScript
- JavaScript
- Иконки против текста
- Линейность против альтернативности
- Что еще влияет на зарплату программистов
- Чтобы разобраться в программировании
- Что такое сайт
- PHP
- История языков программирования
- JavaScript
- 2014: Рейтинг ITmozg.ru
- Какой язык программирования лучше в 2021?
- Swift
- Swift
- По зарплатам программистов
- COBOL
- 12 Perl
- Популярность COBOL растет
- 11 Groovy
- По намерениям
Kotlin (2011)
Этот язык создала в Санкт-Петербурге компания JetBrains. Он совместим с Java, поэтому Java-проекты можно постепенно переводить на Kotlin: не переписывая всё разом, а постепенно добавляя туда Kotlin-код. И многие попробовавшие его Java-разработчики захотели к нему перейти, ощутив, что тут нет «скуки и многословности», всё выразительнее и современнее.
Пока что язык покорил одну конкретную область: разработку приложений для Android. Изначально их писали на Java, но в последние годы начался массовый переход к Kotlin, он стал новым индустриальным стандартом. Поскольку никто не хочет просто выбрасывать уже написанное раньше, сейчас во многих приложениях есть код и на Java, и на Kotlin, поэтому сегодня Android-разработчику желательно знать оба языка. Но похоже, что в будущем будет достаточно Kotlin — уже сейчас во многих Android-вакансиях упомянут только он.
JetBrains совершенно не хотят останавливаться на Android и метят с Kotlin в самые разные ниши, даже те, где не представлена Java. Каких-то успехов в этом компания добивается, с каждым годом язык становится популярнее, но от других вроде той же Java пока что сильно отстаёт, и насколько ещё ему получится вырасти — открытый вопрос. Так что, если учить Kotlin, в Android-разработке это точно очень пригодится, а в других областях — как повезёт.
Hack
Hack – ещё один язык, совсем недавно (в 2014 году) созданный IT-гигантом, на этот раз . За основу был взят PHP, но с улучшениями в области надёжности и быстродействя, обеспечиваемые статической типизацией. Собственно, главной рекламой и демонстрацией возможностей является сам с клиентской базой свыше миллиарда человек. И, как показывает практика, Hack Марка Цукерберга пока не подводит.
сделал Hack языком с открытым исходным кодом, подлежащим компиляции на виртуальной машине HHVM. Удобство заключается в том, что HHVM работает с транслятором на базе HipHop, который в свою очередь «переваривает» и Hack, и PHP.
Преимущества для новичка: возможность расширить свои горизонты в веб-разработке.
Нужно ли начинать с простого языка
Если вы, как и я, выбрали геймдев, то перед вами встаёт дилемма: какой из языков выбрать. Оба достаточно крутые, на них написано большое количество известных игр. Допустим, вам всё же больше понравился C++.
Но тут возникает проблема: среди популярных сегодня языков C++ — один из самых сложных. Что делать?
Есть мнение, что если ваш первый язык будет слишком простым, то вы не сможете стать хорошим программистом.
Всё из-за того, что простые языки не требуют от вас знаний, как устроен компьютер, как данные хранятся в памяти, как процессор выполняет операцию деления и так далее.
Тот же Джоэл Спольски писал, что начинать погружение в программирование нужно с C (ещё сложнее, чем C++), потому что так вы освоите главные принципы и сможете писать более эффективные программы. Даже если они будут не на C.
С другой стороны, очень просто потерять мотивацию, когда изучаешь язык и подолгу останавливаешься на каждом термине. Несколько дней на изучение переменных, потом ещё недельку на массивы, месяц — на функции и так далее. За это же время другие успеют выучить Python на достаточном уровне, чтобы создавать простые блоги.
Go
Логотип Go
Go — это альтернатива языкам Java и C++, разработанная компанией . Главной особенностью языка является его быстродействие. Невероятная производительность! Использовать можно для множества задач, но чаще всего его используют для серверной части.
Платформа | Серверная часть |
Обучение | Очень легко |
Популярность | Менее популярен, чем остальные языки. №13 в списке PYPL. |
Средняя зарплата (мес) | 2300$ |
Преимущества | Несмотря на то, что данный язык программирования менее популярен, чем остальные, он достаточно высокооплачиваемый. Очень лёгок в обучении. |
Недостатки | Язык относительно новый, возможно, не так много различных мануалов и готовых решений. |
Rust
Кому подходит: программистам, которым не нравится сложность С или С++, но нравится их мощность и возможности.
Средняя зарплата на конец 2020 года: 207 тысяч (статистических данных на начало 2021 года ещё нет).
Если вы хотите писать очень быстрые программы, работать с железом напрямую или делать надёжный софт для серверов, то можно начать с Rust. Этот язык позволяет писать в любом стиле, хоть в ООП, как в C++, хоть в функциональном, как Haskell. А при желании можно вообще отказаться от этого и писать в чисто процедурном стиле, как Pascal.
Отдельный плюс этого языка — универсальность. На нём можно написать и драйвер для микросхемы, и систему управления базами данных. Единственное, что нужно учесть — язык развивается очень быстро, и часть функций и команд могут устареть или работать иначе, чем в старой версии. Если за этим следить, то Rust вполне подойдёт на роль лучшего языка на старте в 2021 году.
Go
Этот язык с открытым кодом разработали и запустили в Google. Инженеры стремились к простоте, чтобы максимально избавить кодинг от лишних операций. В результате появился язык, который объединяет удобство, безопасность и эффективность. Как и у других современных языков, у Go понятный синтаксис, поэтому он отлично подходит новичкам. По этой же причине его можно использовать в крупных командах разработчиков: они не будут тратить лишнее время, чтобы разобраться в чужом коде.
Основные преимущества Go:
- Много функций входит в стандартную библиотеку — новичкам не приходится искать дополнительные модули для своих задач и переживать из-за их совместимости.
- Понятный код упрощает поиск ошибок и уязвимостей безопасности.
- Программная среда отслеживает наличие документации и напоминает разработчикам, если они забыли описать функции и библиотеки.
Go подойдет backend-разработчикам — тем, кто программирует внутреннюю часть веб-сервисов. На нем можно разрабатывать как сложные высоконагруженные системы, так и микросервисы.
C#
Если вы не определились с языком, значит еще не решили, что вас привлекает: веб, мобильные или десктопные приложения. Тогда ваше решение — C#, универсальный инструмент для всех направлений разработки. Чтобы создавать десктопные приложения, понадобится Visual Studio (версия Community — бесплатная). Для мира мобильных устройств установите Xamarian, а для веба пригодится ASP.NET.
Взглянем на наш код на языке C#:
static void Main(string args) { int number = 10; fib_recursion(number); } static void fib_recursion(int n, int a = , int b = 1) { if (n == ) return; Console.WriteLine(a); fib_recursion(--n, b, b+a); }
Код вновь незначительно усложнился — это связано с использованием ключевого слова static. На этом этапе вы познакомитесь с грамотным использованием памяти, областями видимости данных и полностью погрузитесь в ООП. Ну, если не успели при знакомстве с JavaScript.
Подробней о языке C# вы можете узнать в нашей ознакомительной статье.
Первые шаги
«А с чего вообще начинать?» — вопрос, который другие разработчики часто задают, узнав, что я пишу свой язык. В этой части постараюсь подробно на него ответить.
Компилируемый или интерпретируемый?
Компилятор анализирует программу целиком, превращает её в машинный код и сохраняет для последующего выполнения. Интерпретатор же разбирает и выполняет программу построчно в режиме реального времени.
Технически любой язык можно как компилировать, так и интерпретировать. Но для каждого языка один из методов подходит больше, чем другой, и выбор парадигмы на ранних этапах определяет дальнейшее проектирование. В общем смысле интерпретация отличается гибкостью, а компиляция обеспечивает высокую производительность, но это лишь верхушка крайне сложной темы.
Я хотел создать простой и при этом производительный язык, каких немного, поэтому с самого начала решил сделать Pinecone компилируемым. Тем не менее, интерпретатор у Pinecone тоже есть — первое время запуск был возможен только с его помощью, позже объясню, почему.
Выбор языка
Своеобразный мета-шаг: язык программирования сам является программой, которую надо написать на каком-то языке. Я выбрал C++ из-за производительности, большого набора функциональных возможностей, и просто потому что он мне нравится.
Но в целом совет можно дать такой:
- интерпретируемый ЯП крайне рекомендуется писать на компилируемом ЯП (C, C++, Swift). Иначе потери производительности будут расти как снежный ком, пока мета-интерпретатор интерпретирует ваш интерпретатор;
- компилируемый ЯП можно писать на интерпретируемом ЯП (Python, JS). Возрастёт время компиляции, но не время выполнения программы.
Проектирование архитектуры
У структуры языка программирования есть несколько ступеней от исходного кода до исполняемого файла, на каждой из которых определенным образом происходит форматирование данных, а также функции для перехода между этими ступенями. Поговорим об этом подробнее.
JavaScript
Язык JavaScript позволяет запускать приложения прямо в браузере и оставаться им производительными. Программировать на JavaScript относительно легко, хотя разработчикам приходится тщательно искать ошибки и уязвимости — киберпреступники часто используют этот язык, чтобы внедрять в интернет-страницы зловредный код, манипулировать сайтами и похищать пользовательские данные.
Основные преимущества JavaScript:
- Активная поддержка и постоянный поток обновлений.
- Быстрый для пользователя, потому что скрипт выполняется прямо в браузере. Это снижает нагрузку на сервер по сравнению с приложениями, написанными на других языках.
- Любой, даже малоизвестный браузер и любая операционная система поддерживает JavaScript. Также не будет проблем с запуском веб-приложений на разных устройствах — и на стационарном компьютере, и на смартфоне они будут работать одинаково хорошо.
Знание JavaScript — обязательный навык для frontend-разработчиков и веб-девелоперов. Он открывает доступ к вакансиям программистов как в крупных интернет-компаниях, так и в стартапах.
Профессия
Frontend-разработчик
Вы научитесь создавать адаптивные веб-сайты с использованием CSS и Flexbox, разрабатывать интерактивные веб-сайты и приложения на JavaScript и HTML, а также писать сложные компоненты на React и интерфейсы с авторизацией и с подключением к бэкенду.
Узнать больше
JavaScript
Кому подходит: начинающим программистам и тем, кому нужен быстрый старт.
Средняя зарплата на начало 2021 года: 133 тысячи (в прошлом году — 110 тысяч).
За год почти ничего не изменилось — JavaScript всё ещё самый популярный язык веб-разработки. Главное его преимущество — веб-программисты нужны везде, даже там, где делают мобильные приложения и игры. Потому что существенная часть игр и мобильных приложений сделана на технологиях веба.
Отдельный большой плюс — у JavaScript-разработчиков большое сообщество и в интернете можно найти ответ на любой вопрос по языку.
️ Также существует алкогольная игра: берёте любое слово из толкового словаря английского языка, добавляете к нему .js и ищете в поисковике, есть ли такая библиотека. Если есть — выпиваете. Победит тот, кто отключится последним. Помните, что употребление алкоголя вредит вашим когнитивным способностям, снижает продуктивность, алкоголь — депрессант, а трезвость — норма вашей жизни.
Иконки против текста
Некоторые визуальные языки полагаются на изобразительные символы или значки, например, LEGO Mindstorms в своем программном обеспечении использует обозначения на основе пиктограмм.
Для маленьких детей, которые еще не умеют читать код, часто используют изображения. Если дети научились читать, то, чтобы достойно конкурировать с текстовыми метками, система на основе пиктограмм должна быть очень хорошо разработана. Если ребенку для понимания увиденного приходится в уме проделывать путь от изображения к слову, вы только создаете ему дополнительные сложности.
Такие языки, как Scratch и Блокли, используют на перемещаемых визуальных элементах текстовые метки. Мой опыт показывает, что для умеющих читать детей это –лучший рабочий вариант.
Линейность против альтернативности
Одна из особенностей текстовых языков – то, что они по своей природе линейны. Текстовые языки не очень хорошо показывает связи между различными частями кода (хотя, конечно, эти связи там есть и должны быть пройдены парсером).
Визуальные языки обычно поддерживают нелинейную структуру. Современное программирование, особенно разработка игр, аппаратное обеспечение и Интернет вещей, зачастую работают на основе событий и выполняются одновременно. Код – это не книга, он не выполняется последовательно от начала до конца.
В Scratch я могу организовать код, чтобы переместить спрайт следующим образом:
Это ведет непосредственно к фактическому движению спрайта. В текстовом языке понадобилось бы поместить команды в произвольном порядке, и вы бы потеряли дополнительную информацию.
Я изучил Sonic Pi, текстовый язык для создания музыки, и меня обескуражила сложность создания линейного кода, который должен работать одновременно.
В Scratch есть функция для создания макета кода в 2D-пространстве, так что, если вы пишете музыку для нескольких, звучащих одновременно, инструментов, вы можете просто выложить участки кода по горизонтали или разместить их в различных спрайтах, которые будут выполняются одновременно автоматически. Для Scratch параллелизм – это естественная концепция.
Однако, Scratch по-прежнему в основном линейный. Может быть трудно понять модели поведения, которые зависят от одного передающего сообщение спрайта, и нескольких других, которые его получают.
Очень интересен подход к программирование в Minecraft, там используют смесь текстовых команд и визуальных блоков в 3D-пространстве. Код фактически является частью мира, а ведь для многих детей Minecraft столь же реален, как и настоящий мир вокруг. (Подумайте об Интернете вещей и даже большем!)
(Я еще даже не затрагивал обучение детей искусственному интеллекту и основам машинного обучения, которые требуют различных стилей языка. Поговорим об этом подробнее в будущем.)
Что еще влияет на зарплату программистов
В отчете Майка Лукидеса сказано, что одним из факторов, влияющих на уровень зарплат, является местоположение работника. В ходе исследования выяснилось, что зарплаты разработчиков были самыми высокими в Калифорнии, где средняя зарплата составляла $176 тыс. Тем временем в Нью-Йорке и Массачусетсе она находилась на отметке в пределах $150 тыс.
Карьерный рост был назван ключевой проблемой, с которой столкнулись разработчики, опрошенные O’Reilly. Многие из них сообщили, что в 2020 г. они проходили обучение или курс повышения квалификации в надежде добиться повышения заработной платы или продвижения по службе. Исследование показало, что почти две трети (64%) респондентов заявили, что они прошли обучение или получили новые сертификаты за последние месяцы.
В то же время исследование показало, что зарплаты специалистов в области обработки данных и искусственного интеллекта за последние три года росли в среднем лишь на 2,25% в год. 18% респондентов сообщили, что их зарплата не росла, а 8% пожаловались на снижение ее размеров.
К слову, в июле 2021 г. всемирно известный топ-менеджер в ИТ-сфере Ави Голан (Avi Golan) потребовал как можно скорее остановить рост зарплат ИТ-специалистов. По его мнению, это «вредит всей отрасли». За свой призыв Голан получил шквал критики от сотрудников ИТ-компаний, в том числе и Microsoft.
Чтобы разобраться в программировании
Иногда бывает так, что человек просто хочет понять, каково это — быть программистом, и хочет ли он дальше этим заниматься. В этом случае нет смысла учить многопоточность в Python или углубляться в перегрузку операторов на C++.
Вместо этого лучше выбрать такой язык программирования, который будет легко освоить и у которого есть большая «группа поддержки» в интернете: форумы, учебные материалы и курсы. Раньше все начинали с Turbo Pascal 7.0, но сейчас этот язык морально и технически устарел, поэтому лучше выбрать что-то другое.
JavaScript. Самый лёгкий и структурированный язык с точки зрения обучения для новичка. Язык позволяет некоторые вольности и при этом содержит жёсткие конструкции вроде объявления переменных или оформления функций.
Golang. Реально простой язык, который можно освоить на начальном уровне за пару недель. При этом он из-за своих особенностей часто не позволяет написать «плохой» код, что хорошо для начинающих. Отдельный плюс — Go-рутины, которые идеально работают с многозадачностью.
Python. Если вы хотите сразу разобраться с ООП и всеми преимуществами объектного подхода в программировании — выбирайте Python. У него огромное сообщество в сети и много сфер применения.
Что такое сайт
Чтобы разобраться в инструментах и программных решениях для создания сайтов, нужно четко понимать, что это такое – веб-сайт. Википедия дает такое определение:
С моей точки зрения, этот вариант грамотный, но сложный для восприятия не программистами. Я предлагаю обычно свой вариант определения:
Здесь, как и в большинстве моих публикаций, я исхожу с определенной точки зрения, а именно точки зрения пользователя. Потому стараюсь избавиться от ненужных подробностей и делаю основной упор на то, что в итоге получит пользователь. Если
В данном случае важно понимать, что веб-сайты не существуют без веб-браузеров. Оба эти инструмента появились одновременно, и очень сильно взаимосвязаны
Так, без браузера вы не сможете увидеть информацию, размещенную на страницах сайта. Но, одновременно, без веб-сайтов браузеры становятся абсолютно бессмысленными программами. Даже если вы открываете почтовый клиент или сайт в мобильном телефоне, вы будете использовать браузер, явный или встроенный в приложение. И когда мы создаем сайт, мы всегда помним, что его будут читать веб-браузеры, и соответствующим образом пишем программный код.
PHP
Сложность: по синтаксису PHP близок к С и Java. Но не стоит пугаться: на самом деле это относительно легкий, гибкий и доступный новичку язык. При базовых представлениях об HTML и CSS можно сразу написать простой одностраничный сайт.
Продукты: WordPress, Facebook, VK, Wikipedia.
Профессии: Веб-разработчик.
У PHP бесчисленное количество сообществ. На официальном сайте структурировали основные информационные рассылки (в марте 2021-го их было 20). Почти в любой соцсети можно оперативно найти живое сообщество и обратиться за помощью.
Курс
Веб-разработчик
После обучения вы будете уверенным junior-специалистом и сможете рассчитывать на среднюю зарплату по отрасли. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
История языков программирования
Когда языков программирования не существовало, первые программисты писали команды для работы машин цифрами. Им приходилось запоминать таблицу машинных кодов, а не несколько базовых алгоритмов и принципов работы языка, как сейчас. Чуть позже появились компиляторы, упростившие программистам жизнь. Компиляторы – программы, переводившие слова программистов в машинный код. Первым языком программирования стал Assembler. Программа, написанная с его помощью, запускалась и работала медленнее машинного кода, но писать ее было гораздо проще. Так началось активное развитие языков программирования.
JavaScript
Сложность: можно выучить JavaScript быстро, главное — отрабатывать теорию на практике в тренажерах (подборка хороших интерактивов и обучалок). Уже за полгода можно освоить документацию, поскольку логика у него простая и гибкая. Язык мощный, а его инструменты просты и доступны.
Профессии: Frontend-разработчик / Fullstack-разработчик / Веб-девелопер.
Продукты: Frontend сайтов программируют только на Javascript, так что он используется на большинстве сайтов.
JavaScript — язык веб-разработок. Изначально на нем можно было программировать только frontend сайтов, но сейчас, благодаря Node.js, который выступает в роли веб-сервера, можно писать и серверные приложения. Язык делает сайты интерактивными и высокопроизводительными. А чтобы эффективно использовать возможности языка для создания красочных сайтов, нужно уметь пользоваться инструментами верстки HTML и CSS, знать один из популярных фреймворков (React, Vue или Angular).
В веб-разработках сообщество большое, так как fullstack- и frontend-разработчики нужны всем. Сайтов огромное количество, мы пользуемся ими каждый день, и их всегда нужно улучшать. Кроме того, такие проекты можно вести самому с нуля вплоть до самого релиза, что тоже очень ценно, если вам привычнее инди-разработка.
Курс
Frontend-разработчик
Цель специализации — дать полный набор скилов, необходимых для погружения в реалии разработки визуальной части веб-приложений. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
2014: Рейтинг ITmozg.ru
Для составления рейтинга специалисты ITmozg.ru проанализировали более 30 тыс. вакансий в IT-сфере.
Рейтинг языков по версии ITmozg.ru возглавил PHP, который с большим отрывом опередил C и C++, находящиеся на 1 и 4 месте мирового рейтинга соответственно. Вакансии, в которых упоминается PHP, составляют почти 22% от общего числа вакансий разработчиков, опубликованных за рассматриваемый период. В зарубежном рейтинге PHP занял лишь 6 место.
Рейтинг востребованности языков программирования по состоянию на конец 2013 года
Среди других отличий, которые можно отметить – более высокий спрос на Delphi, Visual Basic и .NET и, наоборот, более низкую востребованность Objective-C, т.е. разработку под устройства компании Apple.
Любопытно, что если включить в рассмотрение такой специализированный язык, как встроенный язык программирования 1С, то именно он станет абсолютным и доминирующим победителем рейтинга более чем с 37%-ми от общего числа вакансий. Работа с именно этим предварительно компилируемым языком высокого уровня, позволяющим вносить изменения в программные решения на базе 1С и конфигурировать их под потребности конкретных предприятий, пользуется сейчас в России гораздо большим спросом, чем другие виды разработки.
Рейтинг языков программирования (с учетом 1C)
Какой язык программирования лучше в 2021?
Такой какой же язык всё-таки выбрать? Если вы новичок, вам может помочь статья Программирование с нуля. С чего начать?. Помните, что всё зависит от ваших желаний и предпочтений. Задавайте себе такие вопросы как: «Какова моя цель в программировании?» «Я хочу создавать сайты или приложения? А для каких платформ я хочу создавать приложения, для iOS или Android?». Думайте в таком ключе и вы обязательно найдете что-то свое. Главное — не бойтесь пробовать! Не получилось здесь, получится там. Не получится там, получится еще где-то.
Если вам нужные конкретные названия языков, я бы назвал такой топ-3 языка программирования на 2021 год:
- Python — Язык будущего! Захватил и продолжает захватывать аудиторию IT-сообщества.
- JavaScript — классика веб-разработки, лучше ничего еще не придумали.
- Swift / Kotlin — мобильный рынок очень силен. Доля мобильного трафика в интернете превысила 50%.
Swift
Сложность: философия языка — простота и производительность, так что у него понятный, логичный и удобный синтаксис. В нем легко разбираться, если у вас уже есть база из высокоуровневых языков, но и без нее все не так сложно.
Профессии: iOS-разработчик
Продукты: Safari, Procreate, Kickstarter, VSCO
На Swift создают продукты для экосистемы Apple: приложения для iOS, Mac, Apple Watch, Apple TV. В этом его преимущество и недостаток. С одной стороны, разработчики на iOS востребованы, их немного, поэтому можно будет быстро найти работу. С другой стороны, приложения сильно завязаны на своей экосистеме, и на других платформах они работают с трудом, на костылях. При этом делать функциональные и красивые приложения на Swift — проще. Разрабатывая их, вы будете сталкиваться и с UI-дизайном, и с дополненной реальностью. Swift многое взял из языка Objective-C, поэтому не лишним будет знакомство и с ним, чтобы в дальнейшем развиваться в направлении разработок для iOS.
Обычно продукты Apple закрыты для сообщества, но у Swift открытый исходный код, что полезно как языку, так и .
Курс
iOS-разработчик
За 1 год обучения по 8 часов в неделю вы освоите навыки iOS-разработчика и соберете портфолио проектов. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Swift
Кому подходит: поклонникам операционных систем Apple — MacOS, iOS и WatchOS .
Средняя зарплата на начало 2021 года: 184 тысячи (в прошлом году — 142 тысячи).
Компания Apple каждый год выпускает новые продукты: ноутбуки, системные блоки, телефоны, часы, колонки и прочую технику. Чтобы вся эта экосистема работала хорошо, под неё нужно писать программы — и для мобильных систем, и для мощных стационарных компьютеров.
Чтобы разработчикам было легче это делать, Apple выпустила свой язык программирования Swift. Плюс этого языка — возможность писать код одновременно для нескольких платформ, чтобы, например, программа работала на макбуке и айпаде. По Swift есть много учебных и справочных сайтов, в том числе и официальный портал разработчиков Apple.
По зарплатам программистов
Отсортируем языки программирования по средней зарплате программистов.
Специализация | Средняя зарплата, руб. | Медианная зарплата, руб. | Количество вакансий с указанной зарплатой |
---|---|---|---|
программист Erlang | 259000.0 | 264600.0 | 5 |
программист Golang | 251000.0 | 257776.0 | 147 |
программист TypeScript | 251000.0 | 256469.0 | 49 |
программист Ruby | 251000.0 | 253061.0 | 99 |
программист Java | 251000.0 | 250854.0 | 765 |
программист Perl | 250000.0 | 250000.0 | 7 |
программист Elixir | 233000.0 | 248333.0 | 6 |
программист IOS | 221000.0 | 235580.0 | 338 |
программист Kotlin | 221000.0 | 231418.0 | 134 |
программист Android | 201000.0 | 223235.0 | 408 |
программист Scala | 199000.0 | 209154.0 | 26 |
программист JavaScript | 195000.0 | 206857.0 | 695 |
программист Python | 199000.0 | 198530.0 | 576 |
программист Rust | 179000.0 | 194200.0 | 5 |
программист C++ | 155000.0 | 182075.0 | 436 |
программист C# | 151000.0 | 165010.0 | 524 |
программист PHP | 151000.0 | 162913.0 | 1381 |
программист C++ (QT) | 151000.0 | 161800.0 | 40 |
программист Dart | 151000.0 | 147333.0 | 12 |
программист Delphi | 131000.0 | 129329.0 | 38 |
программист ABAP | 67000.0 | 127842.0 | 19 |
программист 1С | 119000.0 | 126476.0 | 2692 |
программист микроконтроллеров | 111000.0 | 123612.0 | 85 |
программист ЧПУ | 79000.0 | 81800.0 | 100 |
программист (стажёр) | 39000.0 | 46322.0 | 239 |
COBOL
Один из старейших языков, используемых до сих пор, был создан Грейс Хоппер в конце 1950-х годов и предназначался для стандартизации разработки крупномасштабных бизнес-приложений на компьютерах. Блестящая концепция, которая до сих пор применяется в кроссплатформенных SDK. Через системы COBOL проходят невероятные 95% транзакций ATM, причем многие из этих устройств работают круглосуточно 365 дней в году. Такие поставщики устройств, как IBM, разрабатывают более мощные машины, предназначенные для COBOL, но продолжают обслуживать и обновлять существующие системы из-за затрат и рисков, связанных с их заменой. В ближайшее время COBOL никуда не уйдет. Это хороший выбор для тех, кто хочет работать с клиентами из финансовой сферы.
Области применения: банковское дело / финансы, международные корпорации, правительства.
12 Perl
Двенадцатую строку рейтинга занимает Perl. Язык создан в 1987 году лингвистом по образованию Л.Уоллом.
Первым наименованием стала аббревиатура «Pearl», однако позднее выяснилось, что данное название уже существует, и буква «a» была исключена. Неизменный символ Perl — верблюд, достаточно выносливое животное, которое может справиться с тяжелой работой. С 1998 года выходят улучшенные версии языка, постоянно совершенствуясь. Значимым событием в истории развития стал выпуск книги «Programming Perl» в 1991 году. В 2005 году в некоторых сферах у Perl не было конкурентов, так как PHP программистам уже не хватало, а Java была чрезмерно функциональной для выполнения некоторых задач. Это позволило разработчикам занять определенную нишу и укрепить позиции своего проекта. Новейшей версией является Perl 5.6, выпущенная на рынок в 2020 году.
Perl обладает достаточным количеством функций, отличительной особенностью языка являются его широкие возможности для работы с текстом, регулярными выражениями и большая коллекция модулей CPAN. На сегодня Perl используется для выполнения различных задач IT-сферы.
Популярность COBOL растет
Оценку языкам программирования в своем основном рейтинге сотрудники IEEE Spectrum выставляли, основываясь на частоте упоминаний и запросов о тех или иных языках на различных крупных ресурсах. В данном случае их восемь, и это: CareerBuilder, GitHub, Google, Hacker News, Reddit, Stack Overflow, Twitter, а также сайт института IEEE.
Как создать цифровую витрину для налогового мониторинга
ИТ в госсекторе
Если сравнивать, к примеру, результаты по популярности в Twitter, то в нем COBOL, считающийся мертвым языком, занял седьмое место. Эксперты портала ZDnet связывают это с недавним всплеском интереса к данному языку.
Язык программирования COBOL восстал из мертвых
Как сообщал CNews, в первых числах апреля 2020 г. в ряде штатов США начались активные поиски программистов, знающих COBOL. Они потребовались с целью обновления программного обеспечения, используемого в американской системе занятости, работающей на устаревшем оборудовании. На фоне роста числа безработных в США из-за пандемии коронавируса COVID-19 это «железо» перестало справляться с нагрузкой.
Напомним, что COBOL входит в число старейших языков программирования в мире, первая его версия увидела свет в 1959 г. Один и его соавторов, Джин Саммет (Jean Sammet), как сообщал CNews, умерла в 2017 г. в возрасте 89 лет.
В середине апреля 2020 г. свою лепту в популяризацию COBOL внесла компания IBM – она объявила о подготовке к проведению обучающих курсов по этому языку для увеличения числа специалистов, разбирающихся в нем.
Инициативу IBM поддержал проект Open Mainframe Project, предназначенный для создания ПО с открытым исходным кодом для запуска на мейнфреймах и курируемый организацией Linux Foundation. Сами IBM хотела сделать полностью бесплатными, а по их завершению она собиралась выложить все материалы на GitHub в профиле Open Mainframe Project.
IBM также заявила о своем стремлении возродить сообщество специалистов по COBOL, используя для этого современные методы коммуникации Для этого она уже предприняла ряд действий, в том числе и создала несколько узкоспециальных веб-форумов, связанных конкретно с этим языком программирования.
Все форумы запущены на сайте Open Mainframe Project. На одном из них специалисты по COBOL могут совместно обсудить решение того или иного вопроса, связанного с программным кодом, а другой предназначен для поиска специалистов в этом языке. Это своего рода база данных программистов, знающих COBOL и способных прийти на помощь организациям, использующим ПО, написанное на этом языке и по тем или иным причинам не готовым отказаться от него.
11 Groovy
На одиннадцатой строчке рейтинга находится Groovy. Язык создан в 2003 году под авторством Д.Стрэкена.
Groovy разработан для популярного языка Java как его улучшенная альтернатива и дополнен некоторыми возможностями языков программирования Python, Ruby, Smalltalk и некоторых других. Основное отличие от Java: в Groovy всё является объектами. В 2005 году стабилизирован синтаксис языка, далее до 2006 года выпускается несколько версий, однако в 2007 году разработчики обновили нумерацию веток и представили пользователям Groovy 1.0
Важной задачей руководителей являлась возможность обратной совместимости версий, поэтому Groovy и сегодня удобно использовать в проектах Java
Язык программирования с 2015 года развивается под руководством Фонда Apache, благодаря чему происходит стремительный взлет его популярности. Большинство программ, созданных на Java, являются корректными программами и на языке Groovy. Тем не менее, Groovy обладает более лаконичным синтаксисом и более выразительными способностями.
По намерениям
Какая сфера привлекает вас больше других?
1. «Хочу делать сайты и веб-приложения»
Java, JavaScript, HTML 5, Ruby, Python, SQL, PHP
2. «Хочу написать приложение для айфона»
Swift (потребуется макбук или iPad с клавиатурой, чтобы писать код). Коммерческому iOS-разработчику нужно знать Objective-С и Swift.
3. «Хочу писать приложения под Android»
Java и Kotlin
4. «Хочу сделать карьеру в IT»
Разница между «работать» и «сделать карьеру» в IT есть, как и на других рынках. Хорошо начать с С/C++, так часто пишут, потому что между ними есть несколько отличий, а в целом они похожи. В описании вакансий часто пишут именно С/C++. Работы много и на российском, и на калифорнийском рынках. Хорошие перспективы для развития и вертикального роста.
5. «Хочу работать с темой AI»
Python, C/C++
6. «Хочу работать с данными»
Python, Java, R, Scala
7. «Хочу работать в геймдев»
Базис – С# и среда Unity
8. «Хочу понять, как все это работает»
С/C++
9. «Хочу работать в робототехнике»
С/C++
10. «Хочу быстро сделать свой стартап»
Ruby, Java, Swift, JavaScript
11. «Хочу работать в IoT, интернете вещей»
С/C++, Python, Java, Go, JavaScript
12. «Хочу работать в известной компании»
Вот данные авторитетного ресурса Stackshare.io по использованию популярных языков программирования в известных компаниях:
Java (Airbnb, Instagram, Uber Technologies, Spotify, Netflix, Pinterest, Slack, Google, LinkedIn, Lyft)
Python (Instagram, Uber Technologies, Spotify, Netflix, Facebook, Dropbox, Pinteres, Reddit, Google)
С (Twich, Telegram Messenger)
JavaScipt (Airbnb, Instagram, Slack, Reddit, eBay, Asana, Coursera, Product Hunt, MIT)
C++ (Google, Twich, IBM, Lyft)
C# (Microsoft, Stack Overflow)
Objective-С (Apple, Instagram, Uber Technologies, Pinterest, Slack, Snapchat)
Swift (Lyft, Asana, Apple)
Go (Google, Uber, Medium, Lyft, Shopify, Twich, Codeacademy)
Ruby (Airbnb, Shopify, StackShare, Twich, Starbucks, Hulu, Kickstarter, Product Hunt, Hotel Tonight, MIT, Coinbase, Codeacademy)
13. «Хочу перейти на IT-рынок»
Если входить через специальность QA-инженера, то можно начать, например, с JavaScript, Java, Ruby или Python. Названия Java и JavaScript похожи, но свойства языков различаются, оба языка – топовые и характеризуются как доступные для новичков.