Найти тему
CodoRobo

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

Приветствую тебя дорогой читатель, меня зовут Борис Бачурин и я являюсь основателем проекта FastyCRM и руководителем клуба программирования и робототехники CodoRobo. В данной статье я хочу осветить очень интересную и важную тему "Какой язык программирования выбрать в 2023 году?".

Любой новичок, желающий изучать программирование сталкивается с главной проблемой на старте - выбор языка программирования. Любой программист знает, что язык не так важен, возьмите любой, только начните его наконец учить!
Спасибо за то, что прочитали данную статью! :D

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

Давайте начнем с определений.
Программирование - процесс разработки программного обеспечения, включающий в себя несколько этапов:

  • Анализ
  • Проектирование
  • Кодирование
  • Тестирование

Кодирование - процесс написания программы на выбранном языке программирования.

Как Вы можете видеть, кодирование, это не основной и даже не второстепенный пункт в разработке программы. Так ли он важен как все думают? Стоит ли столько времени новичкам тратить на выбор языка ? Давайте разбираться почему все так ответственно подходят к этому вопросу НИЧЕГО в этом не понимая ?

Очень важно понять, что язык программирования это инструмент. Давайте проведем аналогию с земляными работами, если Вам необходимо вскопать домашнюю грядку с петрушкой, Вы с большой долей вероятности возьмете небольшую садовую лопатку и легко справитесь с этой задачей. С увеличением площади обрабатываемой поверхности вам будут необходимы более совершенные рабочие инструменты, если у Вас например скалистый или каменистый грунт, Вам понадобится лом или перфоратор, то есть для разных работ Вам понадобятся разные инструменты. То же самое и с языками программирования, никто на ассемблере не пишет backend и не программирует на JS суперкомпьютеры, это как вскапывать домашнюю грядку экскаватором или колхозное поле садовой лопаткой, это как минимум глупо, согласитесь. Новички в программировании свято полагают что они выучат только один язык, поэтому стараются так тщательно подойти к его выбору, просто им никто не пытается объяснить, что самое важное в изучение языка программирования это понимание как применить те или иные типы данных, управляющие конструкции, а не на какой ступени популярных языков стоит выбранный ими ЯП(язык программирования). Популярность языка не так важна, как количество написанных на нем проектов, которые в дальнейшем должен кто-то развивать и поддерживать. Синтаксис конечно тоже важен и так как подавляющее большинство языков используют С-подобный синтаксис, то и выбирать следует что-то близкое к нему, и переход с С-подобного языка на Python, вызовет кучу положительных эмоций в отличие от обратного перехода.

Частой ошибкой новичков является изучение элементов ЯП, типов данных, управляющих конструкций и алгоритмов в отрыве от контекста применения, для многих новичков "практика" это гонять циклы и сортировать массивы совершенно не понимая как это применяется в реальных проектах. Это как посадить человека из XV века в кабину электровоза, рассказать как называются все приборы, но не объяснить для чего в итоге нужно это устройство и в каком порядке надо нажимать эти чудные переключатели чтобы все работало. Лучше всего для освоения ЯП подходят самоучители, где по ходу книги Вы пишете какой-нибудь проект, это гораздо более "удобоваримый" и приближенный к практическому применению вариант, позволяющий охватить широкий спектр технологий применяемых в выбранной области.

Не рассчитывайте, что Вы всё узнаете из книг, кодирование это тот процесс где только опытным путем можно добиться результата, поэтому после прочтения книги и реализации описаного в ней проекта необходимо как можно скорее начинать писать свой проект(абсолютно любой, например newCounterStrike, newВК, newWindows) или стараться попасть в "боевой" проект на любых условиях(все зависит конечно от времени и финансов).

Не пытайтесь сразу освоить "лучшие практики" программирования, не ломайте голову об ООП(Объектно-Ориентированное Программирование), просто пишите код и набивайте шишки. Для применения ООП(не всегда его применение оправданно), ФП, шаблонов проектирования и других сугубо профессиональных знаний, к Вам должно прийти осознание необходимости их применения, Вы отчетливо должны осознавать пользу от их применения, иначе это будет только дань моде и нагромождение ненужных, абсолютно разрозненных знаний, от которых будет больше вреда, чем пользы.

Что лично я могу Вам посоветовать, если у Вас нет тяги к программированию микроконтроллеров, разработке десктопных или мобильных приложений я советую смотреть в сторону WEB разработки. Начать можно с JS + PHP + HTML + CSS, в этой связке вы поработаете и с frontend(визуальной частью сайта JS, HTML,CSS) и с backend(PHP, MySQL) и поймете, что из этого Вам более интересно, плюс имеется некоторое количество литературы описывающий данный или приближенный стэк в связке с разработкой проекта по ходу изучения. Постарайтесь не заигрывать с фреймворками до того, как разберетесь с парадигмой ООП и поймете MVC, это только усложнит понимание основ на которых все строится.

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

#it-технологии #робототехника #наука и образование #разработка #детское обучение #онлайн образование #программирование #программирование с нуля #программирование для начинающих #codorobo