Comp2- software and programming languages Flashcards

1
Q

What is software?

A

consists of sequences of instructions called programs that can be understood and executed by hardware.

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

What is the operating system?

A

Acts as an interface between the user and the hardware and provides the user with a virtual machine. WHich makes it easier to use, as its hiding the hardware complexity and removes direct hardware interactions.
Provide a software platforms for other programs to run on.

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

What are two types of software?

A

SYstem software

and Application software.

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

What are 4 types of system software?

A

operating system
library programs
utility programs
programming language translators.

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

What are the 3 types of application software?

A

general-purpose application software
special-purpose application software
bespoke application software

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

3 examples of a utilty program?

A

disk formatter, file compression, and firewall.

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

3 examples of a translator?

A

Assembler
Interpreter
compiler

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

3 examples of a general purpose app software.

A

word processor
spreadsheet
database manager

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

3 examples of a special purpose app software.

A

payroll
(web browser)
tax calculator.

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

2 examples of bespoke app software?

A

air traffic control

London congestion.

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

What is a bespoke application software

A

Written for one customers specific needs- cant buy it from shops.

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

What are library programs

A

a collection of compiled routines for use in other programs.

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

What are utility programs?

A

programs that preform a very specific task related to working with computers.

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

What is an assembler?

A

translates assembly language into machine code.

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

What is a compiler?

A

translates higher level language into object code (machine code)
Does it all the translating at once before the program is run.
Compiled code in a .exe

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

What is an interpreter?

A

Translates a high level language to machine code one line at a time , while the program is being run. interpreted code isn’t stored.

17
Q

What us general purpose software?

A

software that can be sued for many different tasks.

18
Q

What is special purpose software?

A

software designed to support one specific task.

19
Q

Why use a interpreter over a compiler?

A

They are easier to write.
Less resource intensive.
Used in javascipt (in browers) to avoid the platform specficness of storing as .exe.
May be used to test sections during program development to avoid translating everything.

20
Q

Why use a compiler over a interpreter?

A

Faster at running
more efficient at running
no IDE or compiler needed to run the program.
the source code is hidden.

21
Q

What is object code?

A

Is the machine code language of the target machine.

22
Q

What are the four generations of programming language?

A
  1. Machine code.
  2. Assembly language
  3. Imperative high level languages.
  4. Declarative high level language.
23
Q

What is a declarative language?

A

Programs define goals and rules without specifying the precise flow of control in the algorithm.

24
Q

what is a imperative language?

A

Programs consist of a list of commands to be executed in sequence. That specify how to solve a problem.

25
Q

Disadvantages of machine code?

A

very slow and tedious to write
easy to make mistakes when writing
hard to debug
machine specific- every pc has a different instruction set.

26
Q

Features of a assembly language?

A

has names or mnemonics instead of numbers for the instructions.
has the same instruction set as machine code
machine specific
you can have variable names
and add comments.
translated into machine code with a assembler.
1:1 ratio between mcode and AL

27
Q

Features of a high-level language?

A

easier to read,write,debug.
needs translating(less efficient)
a single high level statement corresponds to 1 or more machine code statements.
not machine specfic

28
Q

Compiler downsides?

A
Harder to write a compiler.
OS specific due to use .exe
debugging is harder
more likely to crash
needs more memory
takes longer to test code.
29
Q

Interpreter downsides?

A

Slower at running
less efficient
needs the IDE/interpreter to run
source code is avalable

30
Q

What is bytecode?

A

In multi step translations for java.
its complieled into bytecode which is platform independent.
then at run-time interpreted to machine code.
This means the same exe can run on multiple platforms.

31
Q

declarative lanage example?

A

.Prolog, SQL.

32
Q

declarative language uses?

A

AI

33
Q

imperative language example?

A

Pascal, c

34
Q

WHy is assembly language still written in today?

A

When fast executing of the program is essential or when they need to preform an operation that isn’t possible in a high level language, such as directly addressing registers.
or if no high level language exists that fits your needs.
If done well it will take up less space then even compiled programs.

35
Q

Why are higher level languages called problem oriented?

A

they are made o aid problem solving.

36
Q

Why are there so many high level languages ?

A

because they are problem specific.