1. 2. 4 Types of Programming Language Flashcards
1
Q
Programming Paradigms
A
- This is different approaches to using a programming language to solve a problem
- Two broad categories, imperative and declarative
- Imperative includes procedural and object-oriented paradigms
- Declarative split into logic and functional paradigms
- Paradigm used depends on type of problem that needs solving
- Image gives Visual representation in Word Document
2
Q
Imperative
A
- Imperative programming paradigms use code that clearly specifies the actions to be performed
- Procedural and Object-oriented paradigms are included
3
Q
Procedural
A
- Applied to a wide range of problems, relatively easy to write and interpret
- Type of imperative programming which uses a sequence of instructions (may be contained within procedures)
- Instructions carried out step by step
- Examples- Pascal, Python, Logo
4
Q
Object-Oriented
A
- Applicable to certain types of problem with lots of reusable components which have similar characteristics
- OOP built on objects formed from classes which have certain attributes and methods
- OOP focuses on making programs that are reusable and easy to update and maintain
- Examples- Python, Delphi, Java
5
Q
Declarative
A
- Focuses on stating desired result rather than exact instructions to get result
- Role of programming language to determine how best to obtain result
- Details about how result is obtained is abstracted from the user
- This type of programming common in expert systems and AI
6
Q
Functional
A
- Programming that uses the concept of reusing a set of functions that form the core program
- Programs made up of lines of code consisting of function calls
- Function is a named block of code that does a specific task, returns a value
- This type of programming closely linked to maths
- Examples- Haskell, C#, Java
7
Q
Logic
A
- Logic languages part of declarative programming paradigm
- Use code which defines a set of facts and rules based on the problem
- Queries used to find answers to problems
- Examples- Prolog
8
Q
Procedural Language
A
- Used for wide range of software development because it is simple to implement
- Not possible to solve all kinds of problems, may be inefficient to use this
- Procedural languages use traditional data types (integers, strings etc), built into language
- Also provides data structures such as dictionaries and arrays
- Structure programming subsection of procedural programming
- Control flow given by 4 main programming structures
- Sequence (ran line by line), Selection (run if specific condition met), Iteration (loop certain number of times or while condition met), Recursion
- Recursion, functions expressed in terms of itself, calls itself till condition known as base case (does not call function) is met
- Procedural programming suited to problems that can easily be expressed as series of instructions using constructs described above
9
Q
Assembly Language (Little Man Computer)
A
- Next level up from machine code, low level language
- Translated into machine code using assembler when it is executed
- Uses mnemonics, makes it easier to use than machine code
- Each mnemonic represented by numeric code
- Commands used are processor specific due to it having direct interactions with the CPUs registers
- Allows for direct interaction with hardware, therefore useful in embedded systems
- One instruction of assembly code typically equivalent to one line of machine code
- Instructions shown in Word Document
10
Q
Modes of Addressing Memory
A
- Machine code instructions made up of two parts, opcode and operand
- Opcode specifies instruction to be performed from table above
- Operand holds value which is related to data which instruction is to be performed
- Addressing modes allow greater number of locations for data to be stored
- Size of operand would otherwise constrain number of addresses that could be accessed
- Addressing mode specifies how operand should be interpreted, it is a part of the opcode
- Four addressing modes, Direct, Indirect, Immediate and Indexed
11
Q
The Modes of Addressing
A
- Immediate addressing is when the operand is the actual value to be operated on, represented by binary
- Direct addressing is when the operand holds a memory address which holds the value to be operated on, this is used in LMC
- Indirect addressing is when the operand gives the address of a register which has another address where the data is located
- Indexed addressing is when an index register is used which stores a certain value, address of operand determined by adding operand to index register
- Necessary to add an offset (integer indicating distance from beginning of object to a given element or point) to access data stored contiguously (in contact, touching) in memory such as arrays
12
Q
Classes, Objects, Methods & Attributes
A
- Class- blueprint of Object, defines state and behaviour of object
- State given by Attributes- Variables give object properties
- Behaviour defined by Methods associated with class- Describe actions it can perform
- Object instance of a class, class used create multiple objects same attributes and methods (Instantiation)
- Setter sets value of particular attribute
- Getter retrieves value of given attribute
- Ensure attributes cannot be directly accessed and edited (Encapsulation)
- Can only be altered by public methods
- Constructor method- allows new object to be created
13
Q
Inheritance and Polymorphism
A
- Inheritance process sub class inherits all of the methods and attributes of the super class
- Parent class, Child class Child class can have its own additional properties
- Polymorphism enables objects to behave differently depending on their class, lead to same method producing different outputs, Two categories below
- Overloading- Pass different parameters / variables into a method
- Overriding- Redefine method functions differently produces different output
14
Q
Advantages & Disadvantages OOP
A
- Advantages- High level of reusability. Code made more reliable through encapsulation, makes code easy to maintain and update, classes can be reused save time and effort
- Disadvantages- Requires alternative style of thinking, not suited to all types of problems, unsuitable for smaller problems