1.4 Flashcards
1
Q
Low Level Languages
A
- Unique for each CPU Type
- Each has it’s own Assembler
- Generates one machine code instruction per 1 assembly instruction
EG Assembly
2
Q
Low Level Languages Uses
A
- Device Drivers
- Embedded Systems
- Custom Hardware
3
Q
Low Level Advantage
A
- Small Storage Requirements (Embedded Systems)
- Fast Execution Speed (Fighter Jet Eject System)
4
Q
High Level Languages
A
- Uses Human-like commands (English)
- Generates many machine code instruction per 1 line of code
EG Java
5
Q
High Level Languages Advantages
A
- Easier to learn/program
- Identifiers can be long and meaningful (classes, variables, methods)
- They allow the use of powerful in-built commands that perform quite complex tasks e.g. random( )
- Allows creation of modules that can be re-used and accessed by other parts of the program
6
Q
High Level Languages Use
A
General applications
EG Payroll
7
Q
Procedural Programming Paradigms
A
- The programmer defines how they want the program to run
- Based on algorithms
- Obey (ordered) instructions
- Carrying out actions / calculations etc.
8
Q
Procedural Paradigm Advatages
A
- Logical Step-by-step process for solving a problem
- Allows the programmer a way to define precisely each step when performing a task
- Close control over the operation of hardware
- Similar operations may be carried out at varying stages of the program execution
9
Q
Event Driven Programming Paradigms
A
- High level programming language
- Waits for a user interaction (Button Click, Keyboard Press)
- Particularly suitable for developing GUI and Games
- Programmer must think of events and triggers
10
Q
Visual Programming Paradigms
A
- High level programming language (EG Scratch: Also Event-Driven)
- Manipulate program constructs graphically rather than textually (EG Drag and drop blocks of code)
- Easier to learn
- More intuitive because visual (no syntax)
- Very good help systems
11
Q
Visual Paradigms Disadvantages
A
- Limited Screen Space
- Not ideal for larger programs
- Takes longer than typing for experienced programmers
12
Q
Markup Programming Paradigms
A
- Includes HTML, XML (Microsoft Word: .docx (Uses XML))
- Used to add meaning to text (link, bold etc)
- Changes the format/display of the text
- HTML (HyperText Markup Language)
– Commands such as <h1> or <href>
-- A start tag and end tag <h1>My Heading</h1></href> - XML (eXtensible Markup Language)
–Structuring and marking up data for storage, not display
–Developer can create own tags - Often combined with languages such as Javascript
13
Q
Class
A
- Is a template for creating objects
- An object is built from a class
- Can have many instances of the same class
14
Q
Object
A
- Is an instance of a class
- Contains both attributes and methods
15
Q
Method
A
- A program routine within an object to carry out a particular task on an object
- Can be inherited from a superclass (Parent)
16
Q
Advantages of OOP
A
- Improved productivity when developing software due to the flexible and extendable nature of OOP.
- Software is easier to maintain as OOP is modular and reusable.
- Development is faster due to the reusable code and libraries.
- Development is cheaper.
- Software can be tested more easily making it more high quality.
- Software is easier to design as model the real world.
17
Q
Disadvantage of OOP
A
- OOP is difficult and not as ‘logical’ to some developers, it is complex to create applications in.
- Software can become larger – more code – than procedural programs.
- OOP programs can run slower than PP as there is more code to execute.
- OOP cannot be used for all types of software application such as machine learning and AI.
- OOP can be difficult to debug.
18
Q
Inheritance
A
- A Subclass takes on attributes
and methods from a Superclass - Classes are ‘grouped’ by relationships
- classes within the same group are defined by differences rather than similarities
19
Q
+ Public
A
Can be inherited by any class
20
Q
Protected
Private
A
Can be inherited by any class within the package
21
Q
- Private
A
Can be accessed by only within its own class
22
Q
Encapsulation
A
- The technical implication is hidden within the object
- The process of keeping data within a class secret
- Private variables can only be accessed by public methods
23
Q
Polymorphism
A
- Polymorphism allows many similar versions of a method (with the same name)
- Multiple versions are then available, still with the same name
24
Q
Event Driven GUIs
A
- A listener is attached to a button/key
- When detected, the sequence assigned to that listener is executed
25
Non Procedural and 4th Gen
- Allow programmers to specify the results they want without specifying how to solve the problem
- Large distance from the binary code that the computer hardware actually reads
- Often integrated with end usr applications to customise without requireing specialised programming skills
- May attempt to produce natural language interface
26
Package with Programming Capability
- Customise the package
- Additional functionality can be added without programmer
- Requires less programming skill
- Can import/ export from/to other packages
- Users familiar with interface
- Programming might be restricted
EG (Off the shelf software)
27
Natural Language
- Refers to a human language
- Programmer would not need to structure inout in any way
- Need very high proccessing power / very complex software
- natural languages used by most people is very ambiguous
28
Scripting
- Provides the programmer a way to define precisely each step when performing a task
- Embedded in another language control aspect of the software
- Allows tight intergration with existing programs or data
- High level programming language
- interpreted not compiled
29
Special Purpose
- Languages that were developed with a specific purpose in mind
- Essential features relevant to the application
- Very specialised with built in functions/abilities