IB Computer Science Topic 4.3

studied byStudied by 1 person
0.0(0)
Get a hint
Hint

compiler

1 / 14

flashcard set

Earn XP

Description and Tags

Introduction to programming - nature of programming languages

15 Terms

1

compiler

A program that translates source code written in a high-level programming language into machine code that can be executed by a computer.

New cards
2

interpreter

A program that translates and executes code from a high-level programming language line-by-line, without producing a separate executable file.

New cards
3

What are the fundamental operations of a computer

The basic actions performed by the CPU as part of its instruction set, including operations such as add (performing arithmetic addition), compare (evaluating conditions), retrieve (fetching data from memory), and store (saving data to memory).

New cards
4

Compound operations

Compound operations are complex tasks composed of many simple operations. An example is “find the largest.”

New cards
5

Essential Features of Computer Languages

Fixed vocabulary, unambiguous meaning, consistent grammar and syntax

New cards
6

Why do programming languages have a fixed vocabulary?

  1. Consistency: A fixed vocabulary ensures that the same terms and symbols always mean the same thing, reducing ambiguity.

  2. Efficiency: It allows compilers and interpreters to efficiently parse and translate code.

  3. Error Reduction: Consistent use of terms minimizes the risk of errors and misunderstandings in code interpretation.

  4. Learning Curve: A defined set of keywords and symbols makes it easier for programmers to learn and master the language.

New cards
7

Why do programming languages require unambiguous meaning?

This ensures that each instruction is interpreted in exactly one way, preventing errors and misunderstandings, and enabling reliable and predictable program execution.

New cards
8

Why do programming languages require consistent grammar and syntax?

Consistent grammar and syntax are essential to ensure that code is structured in a predictable way, making it easier to read, write, and debug. This consistency helps compilers and interpreters accurately parse and translate code into machine language.

New cards
9

Translator

A general term for a program that converts code from one programming language into another, including compilers and interpreters.

New cards
10

Virtual Machine

A software-based emulation that allows programs to run independently of the underlying hardware. This includes systems that emulate an entire physical computer and environments designed to run programs written in specific programming languages, such as the Java environment for Java programs and the Python environment for Python programs.

New cards
11

Low-level language

A programming language that provides little or no abstraction from a computer’s architecture. Examples include assembly language and machine code.

New cards
12

High-level language

A programming language that abstracts the details of the computer hardware, making it easier for humans to read, write, and maintain code. It allows for more concise expression of compound operations and complex algorithms. Examples include Python, Java, and C++.

New cards
13

Bytecode

A kind of instruction set, similar to machine code, but designed for efficient execution by a software interpreter or a virtual machine rather than directly by a central processing unit (CPU). Often used in high-level programming languages like Java to allow programs to run on any platform that has a compatible interpreter or virtual machine.

New cards
14

What are the reasons for using high-level languages?

They provide abstraction from the basic operations of the computer, making it feasible to write complex systems. They also facilitate ease of debugging, maintenance, code reuse, and modularity.

New cards
15

Outline the need for a translation process from a higher-level language to machine executable code

Computers can only understand and execute instructions in their native machine language. This process, done by compilers, interpreters, or virtual machines, allows the high-level instructions to be converted into machine code that the computer’s hardware can execute.

New cards

Explore top notes

note Note
studied byStudied by 46 people
... ago
5.0(1)
note Note
studied byStudied by 12 people
... ago
5.0(1)
note Note
studied byStudied by 10 people
... ago
5.0(1)
note Note
studied byStudied by 10 people
... ago
5.0(2)
note Note
studied byStudied by 7 people
... ago
5.0(1)
note Note
studied byStudied by 333 people
... ago
5.0(2)
note Note
studied byStudied by 6 people
... ago
5.0(2)
note Note
studied byStudied by 190114 people
... ago
4.8(752)

Explore top flashcards

flashcards Flashcard (107)
studied byStudied by 50 people
... ago
5.0(4)
flashcards Flashcard (28)
studied byStudied by 29 people
... ago
5.0(2)
flashcards Flashcard (26)
studied byStudied by 39 people
... ago
5.0(1)
flashcards Flashcard (31)
studied byStudied by 7 people
... ago
5.0(1)
flashcards Flashcard (83)
studied byStudied by 4 people
... ago
5.0(1)
flashcards Flashcard (36)
studied byStudied by 8 people
... ago
5.0(1)
flashcards Flashcard (62)
studied byStudied by 7 people
... ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 29 people
... ago
5.0(1)
robot