Найти тему
Нубинион

Прогулка по языкам программирования

Оглавление

Приветствую вас, друзья! Пришло время перейти к обсуждению одной сложной темы — какой язык программирования (ЯП) выбрать? Посмотрим на топ языков, узнаем немного о самих языках и в конце попробуем выбрать язык для начала. Будет занимательно!

Язык не сделает из вас профессионалом и не устроит вас работу. Если вы специалист в своем деле, то работу найти не будет проблемой, даже с не популярным языком. Помните это.

Что там с топами?

Информация взята здесь.

Взглянув на список, можно решить, что тут все понятно — бери один из первых девяти и дело в шляпе. Существует Dart (4-й с конца), который создали в Google на замену JavaScript, он молод, но его уже активно используют кампании — «можно ли его выбрать?». Или возьмем Swift это язык компании Apple, занимает 13 место, но найти работу с ним будет не проблема. Вероятно, этот топ о количестве, а не о качестве. В таком случае, посмотрим, что любят пользователи Stack Overflow, они же не ошибаются.

-2

Rust— язык вышедший из под крыла Mozilla, занимает 15 место в списке профессионалов, однако его обожают более 86% процентов опрошенных. Julia поднялась с последнего на шестое! Что за зверь этот Julia — язык созданный для сложных математических вычислений и написания программ общего назначения. Тогда понятно, почему Джулия на последней строчке у профессионалов, так как не все проводят математические вычисления такого уровня. Python — язык, который у всех на слуху, он занимает третье место и там, и там. Информации для размышления много и все еще не понятно, что выбрать для начала. Может нам поможет информация по зарплатам?

-3

«Все страньше и страньше! Все чудесатее и чудесатее!» Язык Perl, который занимает последние строки списков, здесь на первом месте... При этом, этот язык считается устаревшим, хотя его еще можно много где найти: от десктопных приложений до веб-сайтов и серверов. Функциональные ЯП Scala и Haskell также в списке лидеров, они не самые популярные, однако востребованы на рынке. Стоит обратить внимание на молодой язык Go, находится ближе к середине списка профессионалов, высоко оценен пользователям и один из лидеров по медиане зарплат.

Забудем Stack Overflow, ведь статистика с одного ресурса не так показательна. Возможно, станет яснее вместе с запросами в гугле? Мы сразу увидим Python на первом месте.

Данные взяты отсюда.

-4

Как тогда выбрать язык?

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

Чем популярнее язык, тем проще найти решение вопросов. Но это не делает его лучшим.

С выбором мы разберемся, учитывая такие факторы: направление, простота обучения, поиск вакансий и количество ресурсов.

Языки и направления.

Веб разработка. Frontend.

Начнем с языка разметки HTML и стилей CSS, они сделают сайт структурированным и красивым. JavaScript предоставляет интерактивность сайтов. Если хотите заниматься сайтами, то HTML, CSS и JavaScript будут отличным выбором — просты в изучении, это подтверждает высокий спрос на рынке и количество информации в сети.

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

Backend и приложения.

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

  • PHP это один из самых распространенных языков для разработки сайтов и веб-приложений, 79% сайтов написано на нем: Facebook и «ВКонтакте» одни из них. PHP позволяет быстро разработать сайт или приложение, благодаря встроенным инструментам в язык. Найдете учебные ресурсов без проблем. Учитывая выше сказанное — получится быстро освоить язык и войти в разработку.
  • Node.js это платформа для написания серверной части на JavaScript. Удобно для начинающих программистов, которые не решили в каком направлении двигаться. Достаточно выбрать один язык и работать, а со временем выбирать желаемый путь. На JavaScript пишутся, и Frontedn, и Backend сайтов. JS применяется в десктоп приложениях: в офисных пакетах Microsoft и OpenOffice, в приложениях компании Adobe. С помощь фреймворков разрабатывают мобильные приложения.
  • Java — универсальный кросс-платформенный язык программирования, который предоставляет возможность писать: веб-приложения; десткопный соф; игры, например Minecraft и мобильные приложения на Android. Также Big Data использует Java для научных целей. Традиционно у этого языка сильные позиции в финансовом секторе и промышленном программировании. Из минусов пользователи отмечают довольно сложный синтаксис и количество кода для написания программ. Однако количество вакансий поможет выбрать работу в интересных для вас областях.
  • Python как и Java это ЯП общего назначения, отличие — на Python разработка проходит намного быстрее, так как в инструментах у него простой синтаксис и спроектирован для прототипирования. При этом он способен и на крупные проекты. Основные области применения «Пайтона»: искусственный интеллект(AI) и Big Data — тут Python лидер среди всех языков. Также применяется в веб-приложениях. Выбор этого языка позволяет двигаться в любом направлении в айти.
  • Go — простой, эффективный и дружелюбный к новичкам язык программирования, это подтверждает рост его популярности. Отличительной особенностью отмечают создание масштабируемый и гибких проектов. Go используют компании: IBM, Intel, Twitch, Ozon, Avito и «ВКонтакте». Рынок вакансий растет и спрос на golang программистов тоже.
  • Dart язык Fullstack разработчика. На нем пишут веб-приложения с нуля и это удобно, ведь нет перехода с одного на другой язык. На Dart пишут и мобильные приложения под Andoid и iOS. Простой в освоении, поскольку Google активно продвигает и работает на нем: Gmail написан на Dart. Другие компании также проявляют интерес — программистов не много и организации заинтересованы в кадрах.
  • C# и .Net это язык разработан и поддерживается Microsoft. Пользователи Windows встречаются с ним постоянно, любители Adobe пользуются приложениями написанными на Си-шарп. На этом языке создаются антивирусное ПО и мобильные приложения. И для создания игр этот язык подходит — Unity, платформа для создания 2D и 3D игр, активно используют «Шарп». Для программистов знакомы среда для разработки Visual Studio и редактор кода VS Code. Стать разработчиком и найти работу не будет проблемой.

Давайте прервемся на мгновение и отдохнем.

-5

Фотография Наиля Гильфанова.

Основа выбора языка — нравится ли вам на нем писать или нет. Никакие технологические плюсы и минусы на это не влияют.

  • C, C++ это мастодонты ЯП и используют их во многих областях. Всему виной — контроль памяти и программирование на уровне железа. Они относятся к низкоуровневым языкам программирования. Контроль памяти и близость к железу помогают создавать высоко нагруженные и при этом быстрые эффективные сервисы: Яндекс активно использует «Плюсы». Не везде нужна такая скорость вычислений, однако C и C++ используют в аэрокосмический машинах, где каждая доля секунды играет значение. Си применяют в робототехнике, а на C++ написано большинство AAA компьютерных игр. Чем больше контроля дает язык, тем сложнее на нем писать и это увеличивает порог вхождения. На этих двух языках пишут софт любого типа, поэтому если выбор пал на них, то для вас открыто любое направление.
  • Rust старается стать преемником C и C++ — контроль памяти и низкоуровневость. Разработчики создали его опираясь на безопасность и отсутствие утечек памяти. Многие компании начинают осваивать язык, Mozilla практически полностью переписала свой браузер на Rust. Rust препочитают фирмы, где необходимы быстрые и безопасные вычисления: блокчейн, браузеры, операционные системы. Разработчики хвалят и любят, однако он считается сложным для первого языка. Хоть и язык многофункциональный, пока Rust используется в нишевых областях и это затрудняет поиск работы.
  • Ruby — схож с Python во многом, его можно встретить в различных областях айти, однако основная ниша языка это веб-разработка. Из известного софта на Ruby: утилита командной строки Homebrew и ПО для обеспечения информационной безопасности Metasploit. Хотя его популярность в последнее время упала, Ruby остается удобным язык с лаконичным синтаксисом, дает возможность быстро писать красивый масштабируемый софт. Он создан, «чтобы сделать программистов счастливыми» и выбрав его, рубист без работы не останется.
  • Kotlin и Swift. Мобильный рынок постоянно растет, сложно представить человека без мобильного устройства, будь то телефон или часы. Тут и вступает эта парочка. Anroid разработка это дело Kotlin, молодой язык из семейства Java. Swift язык Apple, на нем пишется современный софт компании. В мире переносных устройств все происходит быстро, поэтому разработка не отстает и в этом помогает простота этих двух языков. Выбирайте Android, iOS или все сразу, учитесь и компаниям, нуждающимся в мобильных приложениях, вы пригодитесь.
  • Haskell, Scala, F# и другие функциональные языки программирования. Мы будем разбирать эту группу подробнее в будущих статьях. Часто функциональные языки применяют в финансовом секторе — крупные банки и другие компании, работающие на этом рынке, применяют его для разработки собственных инструментов. Бизнес применяет их из-за гарантированной точности вычислений без ошибок. Так же эту группу встречают в инструментах для обработки и написания алгоритмов, которые используют естественные языки. Специалисты функционального программирования высоко ценятся, поскольку порог вхождения достаточно высок и существует нехватка кадров.
  • Julia, R, MathLab это языки для обработки сложных математических вычислений. Применяются для работы с большими данными, машинным обучением и искусственным интеллектом. Языки написаны для упрощения задач ученым и поэтому отсутствует сложный синтаксис. Статический анализ, математические расчеты, сложные алгоритмы — про вас, тогда выбирайте эти языки. Но узкая специфика ограничивает количество вакансий.
-6

Подводим итог и выбираем язык.

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

Выбор первого языка не так важен — хороший разработчик должен знать несколько языков.

1. Быстрый вход в разработку.

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

  • Python
  • JavaScript
  • Java/Kotlin
  • PHP
  • C#

2. Есть время подумать.

Ситуация схожа с первым пунктом. Определите направление, смотрите различные вакансии и объедините языки по группам. Интересуют веб-приложения: Ruby, PHP, Python, Go. Работа в крупных компаниях: C++, Java, Python. Делите языки на небольшие группы, тогда сможете углубится во все. Создайте идентичные приложения, прочувствуйте язык — нравится на нем писать или нет. Тогда вы найдете работу, которая принесет удовольствие.

3. Никуда не спешу.

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

Пора отдыхать, теперь пора переварить информацию и выбрать тот самый язык программирования!

Подписывайтесь на телеграм канал, там будет еще больше контента!

Мы уже продолжим наше приключение по миру айти в следующий раз. Спасибо за внимание и до встречи!

Фильм KungFury
Фильм KungFury