Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Что же такое программа Objective-C?

0

Итак, вы построили и запустили свою первую программу. Теперь давайте заглянем вовнутрь. Программа состоит из набора функций. Функция представляет собой набор операций, выполняемых процессором. У каждой функции есть имя; только что написанная нами функция называется main. Также в программном коде используется другая функция – printf. Вы не писали ее, но использовали в своем коде. (О том, откуда взялась функция printf, будет рассказано в главе 5).

Для программиста функция напоминает кулинарный рецепт: «довести до кипения литр воды. Добавить чашку муки. Подавать горячим». В середине 1970-х годов поваренная книга Бетти Крокер стала продаваться в виде набора карточек с рецептами. Карточка с рецептами – довольно неплохая метафора для функции. Как и у функции каждой карточки есть имя и набор инструкций. Повар выполняет инструкции в рецепте, а компьютер выполняет инструкции в функции.

Рецепты Бетти Крокер Написаны на английском языке. В первой части книги ваши функции будут написаны на языке программирования С. Однако процессор компьютера понимает только инструкции на машинном коде. Откуда он берется?

Вы пишете программу на языке С (который хорошо подходит вам), а компилятор преобразует функции вашей программы в машинный код (который хорошо подходит процессору). Компилятор это тоже программа, которую запускает Xcode, когда вы нажимаете кнопку Run. Компиляция и построение программы – одно и то же; я буду использовать эти термины как синонимы.

Рис. 2.5. Карточка с рецептом приготовления курицы

При запуске программы откомпилированные функции копируются с жесткого диска в память, и процессор выполняет функцию с именем main. Функция main обычно вызывает другие функции. Скажем, в нашем примере функция main вызывает функцию printf. (О том, как функции взаимодействуют друг с другом, будет рассказано в главе 5.)

Не останавливайтесь

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

Моему сыну Отто шесть лет. Отто чувствует себя сбитым с толку по несколько раз в день. Он постоянно пытается усвоить знания, которые не укладываются в его существующие представления. Замешательство наступает так часто, что его это почти не беспокоит. Он никогда не начинает задумываться: «Почему все так сложно? Может, мне лучше отложить эту книгу»

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

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

Изучение программирования тоже относится к трудному знанию. Время от времени вы будете чувствовать себя сбитым с толку особенно на первых порах. Это нормально. Собственно, это даже занятно – словно вам снова шесть лет.

Не бросайте книгу; я обещаю. что все трудности рассеются к последней странице.

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии