Найти тему
IT путь в разработку

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

Приветствую вас, дорогие друзья! Я очень рад вас всех встретить на своем канале. В этой статье я хотел бы постараться ответить своим взглядом на очень популярный вопрос среди начинающих программистов – «Какой язык программирования выбрать?».

Как мне кажется к этому нужно подходить чуть более системно, охватывая аспекты того, кем вы хотите себя видеть в дальнейшем. Это, примерно, как выбирать ВУЗ: например, у вас технический склад ума, вы хотите стать системным программистом (как вариант, разработка ПО для систем под управлением Windows), то вы будете искать ВУЗ где есть факультет ИТ, направление разработки, причем вы будете, вероятнее всего, рассматривать лучшие ВУЗы, выпускники которых нередко попадают в заголовки статей о победителях на международных или городских олимпиадах. Иными словами, вы будете искать наиболее соответствующий вашим ожиданиям по программе обучения, с наиболее грамотными преподавателями и наиболее популярный или «солидный» ВУЗ.

Источник изображения mkdev.me
Источник изображения mkdev.me

Я считаю, что ровно также нужно подходить и к выбору сферы разработки. Опять же, если вы хотите изучать разработку ПО как системное программирование, то нужно исходить из специфики языков и выбирать, например, C/С++, C# (платформа .NET), Java, Python и другие.

Если же вы хотите охватить область WEB разработки, то нужно присмотреться к таким языкам, как Javascript, PHP, опять же Java, Python и другие. Обратите внимание, что многие популярные языки, такие, как Java, Python, C# и даже Javascript являются языками общего назначения, а это означает что, освоив даже один из них, вы сможете со временем «перескочить» из одной сферы в другую.

А вот сможете ли вы перескочить – здесь уже необходимо учитывать другие факторы. Например, в системном программировании, скорее всего, я бы даже сказал – с большой долей вероятности, вам будет необходимо знать математику и высшую математику на довольно хорошем уровне, у вас будет гораздо больше алгоритмических задач. Но, в свою очередь, нельзя сказать, что та же WEB разработка не потребует от вас этих знаний. Как пример, Backend разработка (серверная часть) будет сопряжена в некоторой степени с математикой и в не менее меньшей степени с алгоритмами. Ведь для того, чтобы сервера не «задыхались» от не оптимальных алгоритмов их нужно подбирать под требуемые задачи. Чем быстрее выполняет ваш код – тем меньшая аппаратная мощность требуется для его работы. Или, если иначе, более функциональные приложения могут работать на той же мощности.

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

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

Они отличаются и написанием кода. Самый низкий уровень - машинный код
Они отличаются и написанием кода. Самый низкий уровень - машинный код

Кстати, нельзя игнорировать и языки мобильной разработки. Причем для каждой платформы есть свои наборы. Например, для разработки под Apple iOS (и другие APPLE-системы) вам потребуется изучить Swift, Objective-C. А для написания приложений под Android – уже известный нам язык Java. Однако, есть решения, благодаря которым можно писать на знакомом Javascript с применением HTML + CSS и на выходе получать гибридное приложение, которое будет работать на всех платформах.

Предлагаю коротко подвести итог. Итак, в первую очередь, необходимо определиться в какой сфере вы собираетесь вести разработку. Далее выбираем специфику и уже после этого выбираем конкретные языки. Надо понимать, что для полноценной разработки скорее всего вам потребуется знание не одного языка, а также смежных технологий. Но, в любом случае, не следует начинать учить все подряд, а шаг за шагом изучать какой-то один. Со временем вы сами начнете ощущать необходимость в дополнительных ресурсах. Как правило к тому моменту у вас уже должно быть базовое понимание о том, что такое программирование в принципе и механизмы взаимодействия между технологиями. Например, в веб разработке HTML будет бесполезен без стилей, то есть без CSS, а серверная часть – PHP без баз данных, например, MySQL. А работа на тех или иных языках может быть удобна с использованием фреймворков, например, Spring для Java, или Angular для Javascript, или Laravel для PHP. Но, еще раз повторюсь, об этом стоит задуматься уже после того, как вы научитесь писать чистый код на чистом языке без применения посторонних библиотек.

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

  • Javascript
  • Java
  • Python
  • C# (тут заглушка, чтобы Дзен не превращал символ хэша в # )
  • C++
  • PHP
  • Swift
  • Go
  • Ruby

, а также

  • HTML
  • CSS
  • SQL
  • TypeScript
  • Assembly
  • R

и многие другие.

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

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