Найти тему

Какой язык программирования учить?

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

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

Какой язык программирования учить?
Какой язык программирования учить?

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

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

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

Для того, чтобы выбрать для себя язык программирования, необходимо как минимум решить, в какую сторону и направление ты хочешь развиваться. Здесь можно рассмотреть следующие пути:

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

Веб-программирование. Здесь нужно выделить два направления, back-end – разработка серверной части приложения и бизнес-логики, и front-end разработка пользовательского интерфейса. Если для второго все предельно просто и ясно – необходимо знать язык JavaScript (+ HTML и CSS), то со вторым выбор действительно огромен. Реализовать его при желании можно на любом языке программирования (я даже читал статью на Хабре, где говорилось о форуме, написанном на Ассемблере). Но наиболее популярными языками в этом направлении являются: PHP, Python, Ruby, C#, Java, JavaScript, Go. Выбор сделать на самом деле достаточно сложно. Необходимо смотреть на другие факторы (например, востребованность конкретно в твоем регионе и на рынке IT в целом, перспективы развития, скорость работы, да даже приятность синтаксиса).

Создание клиентских приложений. Я считаю это направление не самым перспективным в последнее время. Все больше видна тенденция перехода на веб-приложения. Но совсем приложения для ПК конечно же не умрут, но их количество будет продолжать снижаться. В этом направлении нужно смотреть на такие языки как C++, C#, Java. Кстати, на Java написаны большинство приложений в банковской сфере, поэтому, если ты хочешь работать в этом направлении, то советую присмотреться к нему.

Лично я считают разработку игр — одним из самых интересных IT направлений
Лично я считают разработку игр — одним из самых интересных IT направлений

Геймдев. Разработка компьютерных игр – достаточно интересное и популярное направление. Чаще всего игры разрабатываются на базе уже готовых движков – своеобразных очень крупных фреймворков. И здесь явными лидерами можно назвать UnrealEngine для которого будет нужен С++, и Unity – хорошо работающий с C#. Также до сих пор продолжают использовать Flash для браузерных игр, хотя предпочтение лучше отдавать стандартной связки для веб-программирования: HTML + CSS + JavaScript. Для мобильных игр используются те же языки, что и для обычной разработки. Об этом ниже.

Мобильная разработка. Здесь нужно отталкиваться от платформы. Для Android в основном используется Java, хотя сейчас набирает популярность Kotlin. IOS – в основном уже перешел на Swift, хотя все еще остаются приложения на Objective-C. Windows Phone благополучно умер, но поддержка еще осталась, поэтому может пригодиться C#. Кстати, на нем можно попробовать создавать универсальные приложения с помощью Xamarin, но они будут проигрывать нативной разработке.

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

Большое спасибо за прочтение! Пожалуйста, поставь лайк и подпишись на канал, чтобы не пропустить свежие статьи. Этим ты очень поможешь развитию блога!
Также рекомендую прочитать статью Делай интерфейсы ожидаемыми