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

Здравствуйте, в этом уроке я расскажу вам что такое программирование? Все просто программирование — это создание программ.

Программы бывают разные и в данной статье мы будем понимать под этим словом. Исполняемые файлы операционной системы Windows или так называемые .exe (экзэ файлы)

файл.exe

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

Например, инструкция будет подразумевать вывод какого-нибудь текста. Так вот сам текст при этом может храниться в программе в виде данных.

Попробуем заглянуть внутрь программы. Для этого нужно вспомнить шестнадцатеричную систему счисления. Специально для заглядывания в программу используют шестнадцатеричные редакторы (например: notepad++). Разумеется, в памяти компьютера программы записаны в виде нолей и единиц. Но для облегчения зрительного восприятия такой записи двоичный код переводится в шестнадцатеричный и группируется по два знака.

шестнадцатеричный код

Два шестнадцатеричных знака (АА) это восемь двоичных знака 10101010 т.е. 8 бит или 1 байт. Именно 1 байт минимальный размер какой-либо инструкции.

Можно ли написать программу прямо в шестнадцатеричном редакторе МОЖНО! Только очень сложно! Потому что нужно знать все машинные шестнадцатеричные коды наизусть или подглядывать их в каком-нибудь справочнике.

Машинные коды являются невероятно примитивными инструкциями. Например, чтобы сложить два числа, вам нужно будет написать, как минимум четыре инструкции и три адреса.

С начала загрузить в первый регистр процессора число из таково то адреса в оперативной памяти. Затем загрузить во второй регистр процессора число из другого адреса в оперативной памяти. Далее послать на процессор команду выполнения действия сложения. Записать результат по какому-то адресу в оперативной памяти.

Из множества вот таких простейших операций складываются операции более сложные.

Данные т. е. текст или картинка придется писать в шестнадцатеричной форме.

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

Тем не менее существуют, и такие мастера которые пишут программы в шестнадцатеричных кодах, но это совсем другая история.

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

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

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

Итог: Текст, написанный на языке программирования понятен человеку, но это не программа. Программу можно получить из этого текста если передать его компилятору данного языка программирования. Причем программа, созданная компилятором будет выполнять именно те действия, которые были описаны в тексте программы.

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

Алгоритм создания программ:

  1. Вы пишите текст на языке программирования.
  2. Компилятор языка распознает этот текст.
  3. Создает файл, в котором в двоичном виде представлены команды операционной системе и данные для выполнения этих команд.

Этот файл имеет расширение .exe (экзэ) и он же является программой.

На этом все!