programming languages Flashcards
(42 cards)
What is system software?
Needed by the computer to keep the system running
performs the tasks needed to operate the hardware
What is application software?
Useful for the user, allows them to perform tasks such as writing a letter
Give three examples of system software
operating system
library programs
utility programs
Give the three types of application software
general purpose
special purpose
bespoke software
What does the operating system do?
Acts as an interface between user and hardware, provides a ‘virtual machine’
eg by displaying files as distinct sections which can be dragged etc
What are library programs?
Pre-compiled routines for re-use
Give three examples of utility programs
disk formatter, file compressor, firewall etc
Give two examples of general purpose application software
word processor, spreadsheet
Give two examples of special purpose application software
payroll, tax calculator, (web browser)
What is bespoke application software?
give two examples
Software which has to be specially written for a specific purpose, it cannot just be bought off the shelf
eg London congestion simulator, air traffic control
What is machine code?
instructions which a computer can respond to directly without having to translate
What are the disadvantages of machine code?
- slow and tedious to write
- Hard to debug
- Machine specific, every type of computer has a different set of instructions
What is assembly language?
Still machine specific but had mnemonics (more meaningful abbreviations for instructions) and comments, labels and variables. Must be translated back to machine code before use.
When was assembly code developed?
The 1950s
When were high level languages developed?
The late 1950s
Name two of the first high level languages
FORTRAN and COBOL
What is the difference between high level languages and assembly and machine code?
- High level languages are problem centred, independent of different hardware platforms
- One line of high level language can correspond to lots of lines of machine code instructions, the lower levels have a one to one relationship
What are the advantages of high level languages?
- Easier to read, write and debug
- More like a natural language, usually based on syntax similar to English
- Not machine specific
What are the disadvantages of high level languages?
Needs to be translated much more than the others as one line of code can be much more than one line of machine code
What are the different types of high level languages known as?
programming paradigms
What are the two kinds of programming paradigm?
imperative/procedural and declarative
What is an imperative/procedural language?
A list of commands to be executed in sequence
Give two examples of an imperative/procedural language
- pascal
- C
What is a declarative language?
A program which defines rules and goals without specifying a precise flow of control, often used for AI