Урок №1 Вводный

Теория:

IИстория программирования

Для начала давайте поймём, что же такое программирование. Готов поспорить, что если спросить у Вас, когда появилось программирование, подавляющее большинство ответят «В начале XX века» и будут совершенно не правы. Но не спешите аргументировать свою точку зрения.

Давайте разберёмся во всём по порядку и сперва обратимся к истории:

  • 205 год до н. э.  — В Древней Греции был построен Антикитерский механизм: калькулятор, использовавший шестерни различных размеров и конфигурации, благодаря работе которых происходило отслеживание метонова цикла (промежутка времени в 6939 дней 14 часов 15 минут, служащего для согласования продолжительности лунного месяца), который до сих пор использующегося в лунно-солнечных календарях.
  • 1206 год — Месопотамский механик-изобретатель Аль-Джазари соорудил программируемый автомат, состоящий из всевозможных зажимов и кулачков, помещённых в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, а те, в свою очередь, управляли древними музыкальными инструментами, состоящими из молоточков, колотушек, палочек и тому подобного.
  • 1804 год — Жозеф Мари Жаккар строит жаккардовый ткацкий станок и производит тем самым революцию в ткацкой промышленности, предоставляя возможность программировать узоры на тканях при помощи перфокарт — специальных карт с различными отверстиями, необходимыми для хранения информации.
  • 19 июля 1843 года — Английский математик-изобретатель Чарлз Бэббидж разработал, но, к сожалению, не смог построить, «Аналитическую машину» — первое программируемое вычислительное устройство.
  • 19 июля 1843 года — Графиня Ада Августа Лавлейс, дочь английского поэта Джорджа Байрона, написала первую в истории человечества программу для Аналитической машины.

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

Но ведь мы говорим о современном программировании. Когда появилось именно оно?

Первый язык программирования — это Fortran (Фортран).  К его разработке в 1950-е года причастна командой исследователей IBM во главе с Джоном Бакусом. Также нельзя не упомянуть и язык программирования Lisp, который был разработан Джоном Маккарти из Массачусетского технологического института

Потом начался рассвет языков программирования. К примеру, язык С появился в период с 1969 по 1973-е годы, а его модификация язык С++ возник в начале 1980-х.

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

IIЧто такое программа

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

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

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

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

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

IIIВысокоуровневый язык программирования

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

Тут появляется самое главное отличие языков высокого уровня. Это компилятор.

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

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

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

Синтактическая ошибка в программировании — это пропуск необходимого знака препинания или неправильно написанный типа данных. Мы ещё познакомимся и рассмотрим подробного различные синтаксические ошибки.

IIIПроцесс создания программы

Давайте разберёмся, как устроен процесс создания программы на высокоуровневом языке программирования:

  • Написание программного кода с соблюдением синтаксиса высокоуровневого языка программирования
  • Компиляция программного кода компилятором с последующим созданием исполняемого файла, содержащего инструкции для процессора
  • Запуск исполняемого файла непосредственно на процессоре
  • Получение результатов работы программы
  • Анализ полученных результатов
  • Процесс отладки
После получения результатов, если они не соответствуют ожидаемым, начинается процесс отладки программного кода, который подразумевает поиск и исправление неверных частей алгоритма с целью достижения требуемых результатов. Про процесс отладки на языке программирования С/С++ более подробно написано на одному из следующих уроков.