Введение. Или с чего начинается первая программа и почему

Hello world from black box

Практически всегда первый пример программы на каком-либо языке программирования начинается с того, как вывести на экран сообщение «Hello, World!» или «Привет, мир!».

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

Наши мысли мы можем превратить во что-то воспринимаемое другими:

  • с помощью речи — выдав звуковое сообщение,

  • с помощью тела:

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

Поэтому собираясь создавать программу для новой платформы: будь то компьютер, ноутбук, плата Arduino или что-то ещё, первое, с чем обязательно надо разобраться, — это каким образом подать «наружу» сигнал.

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

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

Как поступают в таких случаях? Можно поморгать каким-нибудь светодиодом, или попипикать простым динамиком (так называемый buzzer или зуммер).

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

Словарь

Полезные ссылки