What is Computer Programming?
A computer is a complex man-made machine, and computers are everywhere. Nearly all new electronic devices have some form of computer. People use computers without giving it a second thought: Cash Machines (ATMs), Mobile Phones, Washing Machines, Calculators, Cameras, Lifts, the list is very long. They are very useful devices, but computers are also dumb. Even though they appear to be wonderfully useful machines, they require a running program for them to do anything worthwhile.
A Program Makes a Computer Useful, Computers Need Programs
A recipe, which is a list of ingredients and instructions, is followed to produce a tasty dish of food. A computer will follow a program, which is a very complicated list of instructions and data, in order to do work and be useful to us. Therefore, instructions and data can be seen as the ingredients of a computer program.
Those new to computer programming will come across lots of different terms. For example a developer is someone who will write a computer program, i.e. they develop the program. However, developers themselves will talk about hacking together the computer code, so another term for a developer is a hacker. The developed code is the instructions and data that the computer follows, or runs, to do something useful. If there is an error in the code, known as a bug, then the computer will not run the program correctly.
A new computer will come with the programs that operate the screen, keyboard, disks, Wi-Fi, Internet, sound, mouse, USB ports and so on. These programs are refered to as the operating system, or simply the OS. Common operating systems are Windows, OS X (on Apple Macs), Android and GNU Linux (such as Ubuntu); plus there are many specialist operating systems available.
Ever since the first computers existed the argument of whether programming is an art of science has raged. The answer is that it is both. Donald Knuth, one of the world's greatest computer scientists, called his magnum opus (his major work), The Art of Computer Programing. In reality, programming computers is more like a craft. Developers learn the technical skills required to program, but it will take months or years of programming experience to become an expert coder. A good developer will combine their skills and experience with human artistry to craft their programs.
How a Program is Organised
A program can be broken up into several sections, often referred to as a library. Each library contains sections of code that do related tasks, such as drawing boxes on the screen, or drawing text on the screen, or providing buttons to press, or communicating with the Internet. There are hundreds of things a program needs to do and often different programs will have common functions, such as using buttons, or menus. Developers will keep a set of libraries of useful functions and reuse them in new programs to save time. Often libraries provided by other developers or companies will be used.
Programs are compiled (by a compiler which is also a program) from the computer language into the raw instructions that the central processing unit (CPU) at the heart of the computer understands. The CPU, or simply processor, is sometimes called the computer's brain. It is not like our brain, but it is good at processing numbers and following instructions, and good programs can make a computer appear to be very clever.
Different processor families understand different raw instructions, so the compiler will produce a final program to match a specific processor. The program loaded and stored in the computer is referred to as software. The screen, keyboards, circuits and casing of the physical computer is the hardware and is not easily changed. However, the program running inside the computer can be changed, hence software.
(Images used in this article are in the public domain.)
- For a full list of the articles on Tek Eye see the full site Index
Author:Daniel S. Fowler Published: Updated: