1/37
Vocabulary flashcards covering major terms from Chapter 1 notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Readability
The ease with which programs can be read and understood.
Writability
The ease with which a language can be used to create programs.
Reliability
Conformance to specifications and predictable behavior; programs should perform as intended.
Cost
Total cost of using a language, including training, writing, executing, and maintaining programs.
Portability
Ease with which programs can be moved from one implementation to another.
Generality
Applicability of a language to a wide range of applications.
Well-definedness
Completeness and precision of the language’s official definition.
Simplicity
A manageable set of features and constructs with minimal feature multiplicity.
Orthogonality
A small set of primitive constructs that can be combined in a small number of ways; every combination is legal.
Data types
Adequate predefined data types provided by the language.
Abstraction
The ability to define and use complex structures or operations while hiding unnecessary details.
Expressivity
The strength and convenience of the ways a language can specify operations (operators, functions, etc.).
Type checking
The process of verifying that operations are applied to compatible data types.
Exception handling
Mechanisms to intercept runtime errors and take corrective action.
Aliasing
Existence of two or more distinct references to the same memory location.
Structured programming
A programming paradigm emphasizing clear control structures and readability; often linked to top-down design.
Top-down design
A development approach that solves a problem by breaking it into progressively smaller parts.
Data abstraction
Hiding the internal representation of data and exposing operations on that data.
Inheritance
A mechanism in object-oriented programming for reusing and extending code.
Polymorphism
Ability to treat objects of different types through a common interface; supports flexibility in operations.
Von Neumann architecture
Computer architecture where programs and data reside in memory and share the same bus to the CPU.
Fetch-execute cycle
The repeating process of fetching, decoding, and executing instructions in a Von Neumann machine.
Compilation
Translating a high-level language into machine code; typically involves lexical analysis, syntax analysis, semantic analysis, and code generation.
Interpretation
Executing a program directly by an interpreter without a separate compilation step.
Hybrid implementation
An approach that blends compilation and interpretation, often using intermediate code to improve performance.
Operator overloading
which a single operator symbol has more than one meaning
COBOL
A high-level programming language primarily used in business, finance, and administrative systems for companies and governments.
Fortran
A high-level programming language used primarily for numeric computation and scientific computing, notable for its efficiency in handling complex mathematical calculations.
Optimization
the process of improving a program's performance, efficiency, or resource usage through various techniques.
Imperative language
programming languages that use statements to change a program's state, emphasizing commands for the computer to perform.
Program counter
A special register in a computer processor that holds the address of the next instruction to be executed in a sequence. It increments automatically after each instruction.
Logic language
a type of programming language that uses logical statements to express computation, focusing on rules and facts to derive conclusions.
Functional language
A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It emphasizes the use of functions to model the behavior of a program.
Object oriented language
A programming paradigm based on the concept of "objects", which contain data in the form of fields and code in the form of procedures or methods. It focuses on using these objects to design applications and computer programs.
Preprocessor
A tool that processes input data before it is passed to a compiler, often used to include files, define macros, or conditionally compile code.
Byte code
A low-level code generated by a compiler that is platform-independent and can be executed by a virtual machine rather than directly by the hardware.
Microsoft Visual Studio .NET
A comprehensive integrated development environment (IDE) from Microsoft for building applications across various platforms, supporting multiple programming languages and tools for development, debugging, and deployment.
UNIX
A powerful, multiuser operating system originally developed in the 1960s and 1970s, known for its stability, multitasking capabilities, and use in servers and workstations.