Introducing Code Design
Apps are built of two kinds of raw material: data and instructions for managing and processing data.
Computers are powerful because they’re good at working with many different kinds of data. As a developer, you can make your app work with text, numbers, sounds, graphics, animations, nib files, web pages, and so on.
This flexibility is created by a useful illusion. Inside every computer, all data is binary—patterns of 1s and 0s. The patterns are processed by relatively simple instructions. Because computers can follow hundreds of millions of instructions every second, it’s possible to create complex effects from simple building blocks.
In theory, a developer could build a working app by typing millions of 1s and 0s into a file and uploading it to an iDevice. In practice, it’s much easier to let the computer compile a list of instructions and data definitions into binary.
This means there’s less work for you to do. You create your app by typing instructions using C and Objective-C code. Xcode then takes your instructions and builds an app from them.
The very earliest computers were literally programmed with binary. Programmers worked out binary patterns on paper and entered 1s and 0s directly into memory using a bank of switches. (Software was rather less complicated then.)
As a developer, you perform two tasks as you create an app.