Programming Languages Master Set - Test #1

studied byStudied by 79 people
5.0(2)
get a hint
hint

What is a programming language?

1 / 90

Tags & Description

Studying Progress

0%
New cards
91
Still learning
0
Almost done
0
Mastered
0
91 Terms
1
New cards

What is a programming language?

Programmers use programming languages to instruct computers to do things.

New cards
2
New cards

Syntax

The structure of programs (tokens

New cards
3
New cards

Semantics

The expected behavior of a given syntactical construct.

Meaning of a language

  • Describes the effects of executing the code

  • Difficult to provide a comprehensive description of meaning in al contexts

New cards
4
New cards

Programming language

a notation for communicating to a computer what we want it to do

New cards
5
New cards

What did John von Neumann propose?

proposed that computers should be permanently hardwired with a small et of general-purpose operations.

New cards
6
New cards

Opcode

the first 4 bits of a line of code

indicates the type of operation to be performed

Next 12 bits contain code for the instructions operands.

New cards
7
New cards

Assembly language

a set of mnemonic symbols for instruction codes and memory locations

New cards
8
New cards

Assembler

a program that translates the symbolic assembly language code to binary machine code

New cards
9
New cards

Loader

a program that loads the machine code into computer memory

New cards
10
New cards

FORTRAN

FORmula TRANslation language

  • developed by John Backus in the early 1950s

  • Reflected the architecture of a particular type of machine

  • lacked the structured control statements and data structures of later high-level language

New cards
11
New cards

ALGOL

ALGOrighmic Language released in 1960.

  • Provided a standard notation for computer scientists to publish algorithms in journals.

  • Included structured control statements for sequencing (begin-end blocks)

New cards
12
New cards

Compiler

Translates programming language statements into machine code

ALGOL was the first language to receive a formal specification or definition

New cards
13
New cards

Pascal

language for teaching programming in the 1970s

Descended form ALGOL

New cards
14
New cards

Ada

For embedded applications of U.S Dept of Defense

New cards
15
New cards

Lambda Calculus

Computational model developed by mathematician Alonzo Church

Based on the theory of recursive functions.

New cards
16
New cards

Lisp

Programming language that uses the functional model of computation

New cards
17
New cards

What are the two types of programming abstractions?

Data abstraction Control Abstraction

New cards
18
New cards

Data Abstractions

Simplify the behavior and attributes of data for humans

Ex: numbers, character strings, search trees, standard mathematical operations

simplify the behavior and attributes of data for humans

New cards
19
New cards

Control Abstractions

simplify properties of the transfer of control

Examples: loops

New cards
20
New cards

Basic Abstractions

Collect the most localized machine information

New cards
21
New cards

Structured Abstractions

Collect intermediate information about the structure of a program

New cards
22
New cards

Unit Abstractions

Collect large-scale information in a program

New cards
23
New cards

Basic data abstraction

Hides internal representation of common data values.

Values are also called "primitive' or "atomic" because the programmer cannot normally access the component parts or bits of the internal representation

New cards
24
New cards

Variables

Use of symbolic names to hide computer memory locations containing data values

New cards
25
New cards

Data types

names given to kinds of data values

New cards
26
New cards

Declaration

The process of giving a variable a name and a data type

New cards
27
New cards

Data Structure

collects related data values into a single unit

Hides component parts but can be constructed from parts

New cards
28
New cards

Array

a sequence of individually indexed items with the same data type

New cards
29
New cards

Information Hiding

defining new data types (data and operations) that hide information

New cards
30
New cards

Unit abstraction

often associated with the concept of an abstract data type

a set of data values and the operations on those values

New cards
31
New cards

Interface

a set of operations available to the user

New cards
32
New cards

Implementation

Internal representation of data values and operations

New cards
33
New cards

Unit abstraction also provides ___________________

Reusability

New cards
34
New cards

Typically __________ are entered into a __________ and become the basis for library mechanisms

components, library

New cards
35
New cards

Application programming interface (API)

gives information about the resource's components

New cards
36
New cards

Basic control abstractions

statements that combine a few machine instructions into an abstract statement that is easier to understand

New cards
37
New cards

Syntactic Sugar

A mechanism that allows you to replace a complex notation with a simpler shorthand notation

Ex: x += 10 instead of x = x+10

New cards
38
New cards

Branch Instructions

Instructions that support selection and iteration to memory locations other than the next one

New cards
39
New cards

Iterator

an object associated with a collection (such as array

New cards
40
New cards

Procedure (or subprogram or subroutine)

groups a sequence of actions into a single action that can be called or invoked from other points in the program

New cards
41
New cards

Procedure Declaration

names a procedure and associates it with the actions to be performed

New cards
42
New cards

invocation (or procedure activation)

the act of calling the procedure

New cards
43
New cards

Parameters

values that can change from call to call

New cards
44
New cards

Arguments (or actual parameters)

values supplied by the caller for the parameters

New cards
45
New cards

Runtime environment

The system implementation of the program

  • Stores information about the condition of the program and the way procedures operate

New cards
46
New cards

Function

closely related to a procedure

  • returns a value or result to its caller

  • can be written to a correspond more closely to mathematical abstractions

New cards
47
New cards

Recursion

a mechanism that further exploits the abstraction mechanism.

New cards
48
New cards

Higher-order Functions

functions that can accept other functions as arguments and return functions as values

New cards
49
New cards

map functions

expects another function and a collection as arguments

applies the argument functions to each element in the argument collection and returns a list of results

New cards
50
New cards

Unit

a stand-alone collection of procedures providing logically related services to other parts of a program

Allows a program to be understood as a whole without needing to know the details of the services provided by the unit

New cards
51
New cards

Threads

other programs executing outside the Java system

New cards
52
New cards

Task

mechanism in Ada for parallel execution

New cards
53
New cards

Imperative Language

a language with three properties -Sequential execution of instructions -Use of variables representing memory locations -Use of assignment to change the values of variables

New cards
54
New cards

Paradigm

Pattern

New cards
55
New cards

von Neumann Bottleneck

requirement that a program be described as a sequence of instructions

New cards
56
New cards

Functional Paradigm

Based on the abstract notion of a function in lambda calculus

New cards
57
New cards

Logic Paradigm

Based on symbolic logic

New cards
58
New cards

Object-oriented paradigm

Reusable code that operates in a way to mimic behaviors of real-world objects

New cards
59
New cards

Language Syntax

similar to the grammar of a natural language

New cards
60
New cards

Grammar

formal definition of the language's syntax

New cards
61
New cards

Lexical structure

structure of the language's words

similar to spelling in natural languages

New cards
62
New cards

Tokens

the language's words

includes keywords

New cards
63
New cards

Are there any generally accepted formal methods for describing semantics

No.

New cards
64
New cards

Translator

a program that accepts other programs and either directly executes them or transforms them into a form suitable for execution

New cards
65
New cards

What are the two major types of translators

Interpreter and Compiler

New cards
66
New cards

Interpreter

Executes a program directly

New cards
67
New cards

Compiler

Produces an equivalent program in a form suitable for execution

New cards
68
New cards

Compilation requires at least two steps...

Source program - input to the compiler

Target program - output from the compiler

New cards
69
New cards

What must a target program be?

  • Translated by an assembler into an object program

  • Linked with other object programs

  • Loaded into appropriate memory locations

New cards
70
New cards

Target language may be ____ _____

byte code

New cards
71
New cards

Byte code

a form of low-level code

New cards
72
New cards

Virtual machine

written differently for different hardware architectures

New cards
73
New cards

Efficiency of execution

primary design criterion

  • Early FORTRAN code more or less directly mapped to machine code

New cards
74
New cards

Writability

the quality of a language that enables a programmer to use it to express computation clearly

New cards
75
New cards

Efficiency

usually thought of as efficiency of the target code

New cards
76
New cards

Programmer efficiency

how quickly and easily can a person read and write in the programming language?

New cards
77
New cards

Expressiveness

how easy is it to express complex processes and structures?

New cards
78
New cards

Regularity

refers to how well the features of a language are integrated

New cards
79
New cards

Languages that satisfy the criterion of regularity are said to adhere to the _________________

principle of least astonishment

New cards
80
New cards

Regularity can be subdivided into three concepts

  • Generality

  • Orthogonal design

  • Uniformity

New cards
81
New cards

Generality

achieved by avoiding special cases in the availability or use of constructs and by combining closely related constructs into a single more general one

New cards
82
New cards

Orthogonal design

constructs can be combined in any meaningful way

New cards
83
New cards

Uniformity

a design in which similar things look similar and have similar meanings while different things look different

Can classify a feature or construct as irregular if it lacks one of these three qualities

New cards
84
New cards

Value Semantics

Values are copied during assignment

New cards
85
New cards

Reference semantics

Two references to the same object

New cards
86
New cards

Security

is the program going to make the computer crash?

New cards
87
New cards

Semantically safe

languages that prevent a programmer from compiling or executing any statements or expressions that violate the language definition

New cards
88
New cards

Extensible language

a language that allows the user to add features to it

New cards
89
New cards

Macro

specifies the syntax of a piece of code that expands to other standard code when compiled

New cards
90
New cards

Availability

a lot of people coding it

New cards
91
New cards

Portability

easy to move between cpus

New cards

Explore top notes

note Note
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 5 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 6866 people
Updated ... ago
4.8 Stars(29)
note Note
studied byStudied by 1 person
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 19 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 19195 people
Updated ... ago
4.8 Stars(88)

Explore top flashcards

flashcards Flashcard135 terms
studied byStudied by 9 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard189 terms
studied byStudied by 2 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard30 terms
studied byStudied by 8 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard75 terms
studied byStudied by 38 people
Updated ... ago
5.0 Stars(3)
flashcards Flashcard152 terms
studied byStudied by 10 people
Updated ... ago
5.0 Stars(2)
flashcards Flashcard30 terms
studied byStudied by 25 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard51 terms
studied byStudied by 34 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard376 terms
studied byStudied by 25849 people
Updated ... ago
4.6 Stars(157)