ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

Итак, вы поставили цель – стать программистом. С чего начать?

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

 

А так ли важно?

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

Из этого следует два вывода. Во-первых, общий подход к написанию программ не изменится, если вы предпочтёте, например, Python, чем C++. Во-вторых, после изучения одного конкретного языка перейти к разработке на другом не станет проблемой.

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

Но проблемы реального мира в IT не работают. Например, на английском языке и русском языке практически нет одинаковых слов, тогда как в программировании используются одни и те же обороты: for, while, class, public. В Англии вас могут не понять, если вы заговорите на русском. А вот если вы написали программу на C++, то Python-разработчик в общем виде поймёт, что вы имели в виду. Да, синтаксис отличается, какие-то функции непонятны, но идея написанного будет ясна.

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

 

На что обратить внимание?

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

 

Наличие справочного материала в большом количестве

Сюда относятся как видео с YouTube, так и учебники, написанные профессиональными разработчиками и ответы со stackoverflow. Это – важнейший критерий выбора.
Представьте, вы видите незнакомую ошибку или новую функцию. Для выяснения обстоятельств вам придётся обращаться в интернет за помощью. С гораздо большей вероятностью вы найдёте ответ, если язык популярен.

Поддержка основных методологий разработки: структурное программирование и ООП

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

 

Кросс-платформенность

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

Теперь пройдёмся по двум основным языкам, которые лучше всего подходят под то, чтобы стать вашим первым языком программирования.

 

Python

Язык программирования Python был создан в 1991 году. В 2021 он стал самым популярным в мире. В чём причина успеха?

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

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

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

Выбор Python позволит максимально быстро понять, как устроено программирование, и увидеть первые результаты. Но впоследствии придётся изучать низкоуровневые нюансы, которых вы не замечаете, когда используете питон.

 

Cи

Язык Си, несмотря на 50-летний возраст, остаётся мощным инструментом. Операционная система Linux до сих пор пишется на этом языке.

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

Казалось бы, в Си нет ООП, почему он сюда включён? Здесь есть несколько причин. Дело в том, что объектно-ориентированный подход исправил проблемы структурного программирования, которые вы обязательно заметите, программируя на Си. Например, попробуйте написать приложение, затем добавьте одну новую функциональность, а потом замерьте время, которое вы потратили на модификацию проекта. Оно в лучшем случае будет такое же, сколько вы
потратили на написание базовой программы. Это всё нужно прочувствовать, чтобы понимать, почему сейчас в актуальной разработке используются те или иные решения.

Но при этом Си позволяет пусть и криво-косо, но реализовать все базовые принципы ООП: инкапсуляцию (которая, к слову, в С реализована идеально), полиморфизм и наследование.

Однако самое главное – существует С++. Многие программы на Си будут работать и на С++, но С++ предусматривает в свой механике объектно-ориентированное программирование. Поэтому, по сути, изучив структурный подход, вы просто перейдёте к С++, ничего не потеряв, и более досконально зная, как устроен язык изнутри.

Этот вариант более сложный, но зато – очень эффективный.

Exit mobile version