1/33
A comprehensive set of vocabulary flashcards covering programming paradigms, language features, performance metrics, historical figures, and language generations as categorized in the lecture transcript.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Programming paradigm
A set of principles, concepts, and methods that describe how computation or algorithms are expressed.
Imperative Programming
A paradigm, also known as procedural programming, that expresses computation by manipulating named data step by step, based on the stored-program concept (Von Neumann architecture).
Object-Oriented Programming (OOP)
A paradigm that organizes data and operations into objects containing variables and methods, supporting concepts like classes, inheritance, and polymorphism.
Functional Programming
Also called applicative programming, it expresses computation through mathematical functions based on Lambda Calculus with no concept of memory locations or variables.
Logic Programming
Also known as declarative programming, it expresses computation through logic predicates using facts, rules, and questions.
Prolog
The only major logic programming language, which determines answers (Yes/True or No/False) by comparing questions against facts and rules.
Orthogonality (Simplicity)
A language feature representing simplicity and consistency in combining diverse language features, affecting all five aspects of program performance.
Control Structures
Language constructs that control the flow of execution, such as sequence, selection, and iteration.
Abstraction
The process of hiding implementation details while exposing only essential features to improve readability, writeability, reusability, and reliability.
Expressiveness
The ability of a language to express ideas easily and concisely, which improves writeability but may reduce reliability.
Type Checking
The process of verifying that operations use compatible data types; strong checking improves reliability while weak checking offers more flexibility.
Exception Handling
A mechanism for handling runtime or semantic errors to prevent a program from crashing and allow it to recover gracefully.
Reliability
The ability of a program to operate correctly without errors.
Efficiency
A performance aspect measuring how well a program uses computer resources such as time and memory.
Program
A set of structured activities used to instruct machines and a formal notation for algorithms.
Syntax
The rules that define the correct structure or grammar of a program, usually specified by a Context-Free Grammar (CFG).
Semantics
The meaning of syntactic constructs, describing what a program actually does.
Compilation
The process of translating an entire source program into machine code before execution begins.
Interpretation
The process of translating and executing a program one statement at a time during runtime.
Portability
The ability of a program to run on different hardware or operating systems with little or no modification.
Machine Language
The lowest-level native computer language consisting of binary strings (0s and 1s) that require no translation.
Assembly Language
A low-level language invented in the 1950s that uses English-like mnemonics (such as MOV, ADD, PUSH) instead of binary.
Assembler
A program that converts mnemonic-based Assembly Language into binary Machine Language.
Third-Generation Languages (3GL)
The first group of languages to use true English-like syntax and provide portability, such as Fortran, COBOL, C, and Java.
Hybrid Languages
Advanced 3GLs like Python, Ruby, and Perl that are typically interpreted and do not require variable type declarations.
Fourth-Generation Languages (4GL)
Languages designed for ease of use in text-based or visual environments, including SQL, MATLAB, and Visual Basic.
Fifth-Generation Languages (5GL)
Languages like Prolog that focus on solving problems using artificial intelligence and constraints rather than traditional algorithms.
Type Safety
A language's ability to prevent type-related errors during execution, thereby increasing reliability.
Engineering Trade-Offs
The design necessity of choosing to improve one feature (like speed) while sacrificing another (like memory) due to hardware limitations.
Short Code
The first high-level programming language that was actually used in an electronic computing device was developed in 1949. There was no compiler designed for the language, and programs written in the language had to be hand-compiled into the machine code.
Grace Hopper
The invention of the compiler was credited to _________ , who designed the first widely known compiler, called A0, in 1951.
A0
First widely known compiler.
Structured programming
A technique for organizing programs in a hierarchy of modules.
Smalltalk
One of the object-oriented successors of Simula