01.02 What is Programming?
Program for an Exciting Morning
- Wake up.
- Stretch.
- Get out of bed.
- Use the restroom.
- Change your clothes.
- Eat breakfast.
- Walk out the door.
- Go to a skydiving school.
- Register for a class.
- Board the airplane.
- Jump out of the airplane.
- Scream with excitement.
A program is a series of instructions. The “program” above gives instructions on how to start the day with a bang. It gives a sequence of steps to get an intended result.
Computer Programming
Programming, in the context of computers, is the process of designing and building an executable series of instructions for a computer to accomplish a specific computing task.
Programming can be used for various tasks like creating software, applications, websites, automating tasks, analyzing data, and much more. It is a fundamental skill in the field of computer science and is essential for creating the technology that drives the modern world.
Programming vs Coding?
Computers work with a binary number system consisting of 1’s and 0’s rather than the base 10 system humans generally use consisting of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 for a total of 10 digits. Note that starting with 0
and counting up to 9
gives us 10 total digits. The idea of the program needs to be translated into 1’s and 0’s so the computer can understand it. Code is used to translate the ideas of the program into a form usable by the computer.
Code adds abstraction layers on top of the base binary numbers of the computer. Abstraction allows programers to describe their ideas and programs in more human understandable ways. The next step up from pure binary is machine code. This is a series of hexadecimal numbers of base 16 that form instructions. Although better than binary, machine code is still not very readable.
Assembly begins to look more like “code” since is has instruction words that are then assembled into machine code by an assembler. This additional layer of abstraction allows the programmer to write words like MOV
or FWD
instead of their hexadecimal or binary equivalents.
So called low level languages such as C and C++ further abstract the code. Now the programer has the help of a compiler, that will convert dedicated words for variables, math symbols, functions, and loops, into code that the computer can understand and run.
High level languages such as Python or JavaScript abstract the code even more away from the physical hardware processing the 1’s and 0’s. These languages often have additional libraries and tools that make programming easier to do.
Programming for Artists
Artists use programming an computers to complete many tasks such as generative art, visualizations, motion graphics, games, interactive experiences, and countless other applications. Using high level languages and available software libraries, artists can realize complex creative programming ideas without starting from scratch.