Что такое программирование

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

Подписывайтесь на мой Телеграм-канал и группу ВКонтакте

Что такое программирование
Что такое программирование

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

Для того, чтобы компьютер смог понять и правильно выполнить необходимые действия необходимо точно и максимально подробно описать всю последовательность операций. Таким образом мы приходим к понятию алгоритм. Алгоритм – это последовательность точно формализованных команд, которая приведет к ожидаемому результату или его отсутствию. Мы постоянно сталкиваемся с алгоритмами в повседневной жизни, но не воспринимаем их, как таковые. Чтобы приготовить кофе нужно встать, подойти к кухонному столу, достать банку с кофе, взять чайник, налить воды, нагреть ее на плите, налить кипяток в кружке, добавить кофе и сахар. Людям нет необходимости это все объяснять, а для компьютера – это необходимость. Умение правильно сформулировать последовательность действий на языке понятном компьютеру для достижения результата – первая важная составляющая программирования.

Вторая составляющая – эта те данные, которые будут обрабатываться во время работы алгоритма. При этом важно понимать, что такое данные. Информация окружает нас повсюду в огромных количествах: температура, запахи, предметы, звуки – все это информация, которую не может воспринимать машина, в отличие от человека. Машина работает с данными. Данные – это структурированная информация. Набор отдельных слов – ничего не значат, но, если это будет таблица, в первом столбце которого будут имена, а во втором номера телефонов – это уже совсем другое дело. С такими данными компьютер способен успешно работать, например выполняя последовательную рассылку сообщений по номерам телефонов, с использованием имен в сообщениях. Или другой пример, как думаешь, что значат эти цифры?

83 79 80

Это может быть как номер телефона, так и слово SOS в ASCII-кодировке, так и серый цвет в кодировке RGB. Для того, чтобы правильно интерпретировать и понимать данные существуют метаданные. Метаданные – это данные о данных. Это дополнительная служебная информация, которая подсказывает, как именно воспринимать основные данные.

Но и этого еще недостаточно. Человеческий язык очень сложен и многогранен. От порядка слов может очень сильно меняться эмоциональная окраска и даже смысл предложения. Например, «Я вышел на улицу» и «На улицу вышел я». Это очень сложно воспринимать компьютеру. Поэтому были созданы машинные команды (байт код) – последовательности нулей и единиц, которые прекрасно могли интерпретироваться процессором в качестве команд. Однако такой формат очень сложно воспринимать человеку. Поэтому первым этапом стало создание ассемблера – низкоуровневого языка программирования, который был достаточно близок к байт коду, но уже мог легче быть понят человеком. Затем начали создавать языки программирования высокого уровня, которые были еще ближе к человеческому, что позволяло абстрагироваться разработчикам от деталей реализации обработки на процессоре, а мыслить в более общих понятиях. Это также увеличивало как скорость разработки, так и снижало порог сложности для вхождения новичков. Но при этом компьютер до сих пор продолжает работать с машинными командами, просто то, что написал программист автоматически преобразуется в низкоуровневый код.

Таким образом, мы получаем, что программирование – это процесс написания на специальном языке последовательности операций над данными для достижения результата. И обучиться разработке в современном мире не так сложно. Языки программирования стали очень даже дружелюбными, а интернет предоставляет нам всю необходимую информацию и ответы на типичные вопросы. Главное приложить достаточно усилий.

Также рекомендую прочитать статью Анализ данных с pandas