Syllabus Detail
- Evolution of programming languages; machine, assembler, procedural, non-procedural and object oriented. 11 ATAR
Background
- Early programming code was what made the CPU in a computer work.
- They originally only worked for the one type of computer CPU.
- Different CPUs had different languages.
- All programming languages must be translated to 0s and 1s, for the CPU to carry out those instructions.
- These instructions are code in binary using 0s and 1s eg 0000 1101
- The more modern the programming language, the more people friendly it is to code.
- The older it is, the less people friendly, but more computer friendly to run.
- Programming languages are the symbols used to write code.
- They have started machine like and are now more like human natural language.
- All programming languages, even the most modern, translate to machine language.
- Some categorise these into First Generation Languages (GL), Second GL, Third GL, Fourth GL, Fifth GL
Machine Language (1GL)
- Language or instructions that can be totally understood by the computer hardware.
- Language that cannot be understood by humans, unless they can read binary.
- It is binary and uses 0s and 1s eg 1110100010101010101010101001010
- Each section of binary is one instruction for the CPU to act on. This is repeated many times.
- Different machine language for different CPUs
- Can we code directly in machine language? Yes, but not easily.
- Input methods include punch cards, magnetic tape and by toggling switches.
- Yes, this is before keyboards were common for computer use.
Assembler Language (2GL)
- Programs written in assembler language need to be translated into machine language to be understood by the CPU.
- The assembler is the program that translates assembler language to machine code/language.
- Example code has LOAD, ADD, STORE,
- Assembler language is specific to hardware.
- Assembler code runs fast. (advantage)
- See example at wikipedia
Procedural Languages (3GL)
- The first type of programming to be portable to many computers.
- Procedural language works by performing a sequence of steps.
- These become the source code which gets compiled into machine language
- This source code gives instructions to do the necessary steps.
- Words and symbols are used
- Compute Total Pay
- If Pay >0
- Procedures can be used for functions that can be called and run to return a value.(chunks of code that can be re-used)
- Example program languages are C / C++, PASCAL and Java and many more.
Non-Procedural Language (4GL)
- Non-procedural languages specify what a program should do.
- Enables users to access a relational database eg
- SELECT * FROM Customers
- WHERE CustomerName = 'Bill';
- These are very good for getting reports from a database eg SQL
- The code is more like natural speech and focuses on input and output
Object Oriented Programming (OOP)
- Programming that uses objects by communicating with other objects.
- This programming uses classes and objects that model objects in the real world.
- The main module is called a class which can have actions or methods.
- Objects can send and receive messages from other objects and also they can process data.
- The code modules can share information that saves time in programming.
- Examples are Java, Visual Basic, Python, Ruby and many more.
Step 5 - Further Research
- Video on youtube.com - History of Computing in 90 secs
- http://www.extremetech.com/computing/91572-the-evolution-of-computer-languages-infographic
- Comparison of procedural and object-oriented with examples.
- OOP explained quite well.
Step 6 - Quiz Below.
This quiz is for registered users only.
Found an error or have an enhancement? Please let us know via this contact form