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

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

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

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

Все программы, по сути, обрабатывают данные. При этом понятие данных можно трактовать весьма широко. Однако все они для современных ЭВМ кодируются определенным набором нулей и единиц. Внутри машины программы работают именно с такими битовыми данными, но современный программист может не видеть такой «мелочности» и оперировать привычными для человека понятиями: числами, строками, объектами и т.п.

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

Машины с точки зрения их возможностей обработки данных универсальны (работают с 0 и 1), а человек пишет команды на языке программирования, который больше удовлетворяет его возможностям. Следовательно, должна существовать промежуточная программа для преобразования команд с языка программирования на язык машин. И такие программы существуют в виде так называемых компиляторов и интерпретаторов. Они весьма разнообразны, т.к. существует множество языков программирования, каждый из которых имеет свой компилятор или интерпретатор. Другими словами вычислительные машины «говорят» почти всегда на одном языке, а программисты – на разных языках.

Разнообразие языков программирования можно объяснить многообразием сфер человеческой деятельности, историческим развитием компьютерных технологий и конкуренцией разработчиков систем программирования, а также рядом других факторов.

В настоящее время программирование стало широко распространенным видом человеческой деятельности.