What is a programming language?
A programming language is a formal computer language or constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.[2]
Fundamental operations of a computer[edit]
The most basic instructions a computer can be given are:
- ADD
- COMPARE
- RETRIEVE
- STORE
Compound operations[edit]
Compound operations are composed of very large numbers of fundamental operations. For example, if we wanted to multiply, we would simply add groups of numbers until we had found our solution.
If we ask a simple question: what is the biggest item on this list, we might use complex code like this:
$list_of_numbers = [12,1,54,8,19,4,13,21,12,89,-1,6]
echo max($list_of_numbers);
But the computer (using fundamental operations) will process the above instructions like this:
LOAD register 00001
ADD 12
STORE result
COMPARE result to register 0002
(...and so on until the largest number has been found and stored)
Review the ALU[edit]
In order to really understand this material, we must understand the ALU - the "brain" of the computer.
An example[edit]
Below is an example of a program language designed to communicate instructions to a machine. The piano is "fed" instructions which enable it to play a simple song. The song is an example of a program. Can you imagine how difficult it might be to "write" these instructions?!?
Explain the need for higher level languages.[edit]
If you have watched the example above, you might immediately realize it would be crazy to write a complex piano piece by punching holes in a piece of paper. This is why we use high-level languages.
We need high level languages because problems are complex.
Essential features of a programming language[edit]
- Fixed vocabulary
- Unambiguous meaning
- Consistent grammar & syntax
Do you understand this?[edit]
Standards[edit]
- State the fundamental operations of a computer.
- Distinguish between fundamental and compound operations of a computer.
- Explain the essential features of a computer language.
- Explain the need for higher level languages.
- Outline the need for a translation process from a higher level language to machine executable code.