Unit 4.2- Software Flashcards

(25 cards)

1
Q

What are the two main catergories of programming languages [2]

A
  1. High level (python, Java)
  2. Low level (machine code)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is high level language [2]

A
  1. designed for humans to read and write- intrustions similiar to english
  2. most computer programs are written using high-level languages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

advantages of high level languages [2]

A
  1. easy for humans to understand and debug
  2. programs writted are machine independent (can be translated into machine code)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

disadvatages of high level language [2]

A
  1. slower to execute than low-level
  2. must be transalted into machine code - can be less efficient that if it was originally machine code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is low level language

A

closer to machine code (binary)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Advantages of low level language (2)

A
  1. Faster, more efficient to execute (and translate)
  2. Gives more control over hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

disadvanages of low level language [2]

A
  1. harder to read and write
  2. not portable- specific to one type of processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is assembly language?

A
  1. form of low level language
  2. uses mnemonics
  3. single executable machine code instructions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are assemblers?

A
  1. translates assembly language to machine code
  2. 1:1 makes translation easy
  3. platform specific- different ones must exist for different processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what is the relationship between assebly language and machine code

A

1:1 relationship
- each mnemonic instruction is a single machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are compilers? [3]

A
  1. Used to translate programs written in high-level languages into machine code
  2. check it for any errors, then translate the entire program
  3. produce non-portable machine code (platform specific)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are interpreters [3]

A
  1. translates high-level languages into machin code, line by line.
  2. they do not check for errors before, they do it as they go line by line (programs with error can be partially translated
  3. Both program source code + interpreter is present (poor protection)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

C vs I- starting of traslation

A

compiler checks source code for errors before translation
interpreter starts translation immediately

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

C vs I- execution of program

A

compiler translates entire source code at once before executing
interpreter check each line, then translates, then executes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

C vs I- need of source code

A

compiler dont need source code present for execution of translated code
interpreter must have source code present during execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

C vs I- protection of source code

A

compilers protects source from extraction
interpreters offer little protection

17
Q

What is an IDE [3]

A
  1. Integrated Development Environment
  2. software that brings tg tools to write, test, debug program
  3. makes development faster
18
Q

Common functions of IDE

A
  1. code editor
  2. run-time environment
  3. translators
  4. error diagnostics
  5. auto-completion
  6. auto-correction
  7. prettyprint
19
Q

Code editor (IDE)

A

provides a space to write + edit code
- syntax highlighting + line numbering

20
Q

Run-time environment (IDE)

A

allows the program to be run and tested withing the IDE- can see hwo it behaves without leaving environment

21
Q

Translators (IDE)

A

convert source code to machine code using compiler/interpreter

22
Q

Error diagnostics (IDE)

A

Identify and display the errors in the code
-giving details about problem

23
Q

Auto-completion (IDE)

A

suggests or completes code elements
- reduces mistakes and saves time

24
Q

Auto-correction (IDE)

A

Automatically fixes minor errors (missing brackets/typos)

25
Prettyprint (IDE)
formats code neatly (consisten indentation + spacing) -easy to read/maintain