Chapter 6 - Programming Languages

Chapter 6 - Programming Languages

memorize.aimemorize.ai (lvl 286)
Section 1

Preview this deck

What were two major differences between third-generation programming languages and previous generations?

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (170)

Section 1

(50 cards)

What were two major differences between third-generation programming languages and previous generations?

Front

primitives were both higher level and machine independent

Back

Why were these translators called compilers?

Front

had to compile several machine instructions into short sequences to simulate the activity requested by a single high-level primitive

Back

What does FORTRAN stand for?

Front

FORmula TRANslator

Back

What does COBOL stand for?

Front

COmmon Business Oriented Language

Back

How do primitives used in assembly language compare with those used in machine language?

Front

essentially the same with only difference being the syntax used to represent them

Back

How is a program constructed under the functional paradigm?

Front

by connecting smaller predefined program units so that each unit's outputs are used as another unit's inputs in such a way that the desired overall input-to-output relationship is obtained

Back

What were created once a given mnemonic system was established?

Front

programs called assemblers

Back

What is the only way to transport a program written in assembly language to another computer design?

Front

rewrite it to conform to the new computer's register configuration and instruction set

Back

What was COBOL developed for?

Front

business applications

Back

What has the declarative approach been used for many years to do?

Front

to simulate a system in order to test hypotheses or to obtain predictions

Back

What does the term assembly language refer to?

Front

a mnemonic system for representing programs

Back

Why have informal standards evolved in some cases?

Front

because of the popularity of a certain dialect of a language and the desire of other compiler writers to produce compatible products

Back

What would be a more realistic term than "programming paradigms" for the different branches of programming languages?

Front

software development paradigms

Back

What is an example of an instruction in a mnemonic system to move the contents of register 5 to register 6?

Front

MOV R5, R6

Back

Why is "software development paradigm" a more realistic term than "programming paradigm"?

Front

the paradigms represent fundamentally different approaches to building solutions to problems and therefore affect the entire software devleopment process

Back

What does it mean to say that the primitives of third-generation programming languages were higher level?

Front

they expressed instructions in larger increments

Back

What were third-generation programming languages more conducive to?

Front

software development

Back

What are program variables?

Front

descriptive names to refer to memory cells at discrete locations

Back

What basic methodology does a declarative paradigm use?

Front

a preestablished general-purpose problem-solving algorithm

Back

What did translators theoretically allow?

Front

use of a program written in a third-generation language on any machine simply by applying the appropriate compiler

Back

How does the imperative paradigm define the programming process?

Front

as the development of a sequence of commands that, when followed, manipulate the data to produce the desired result

Back

How is the programming process defined under the functional paradigm?

Front

building functions as nested complexes of simpler functions

Back

What has the reality of compiler machine independence necessitated?

Front

the implementation of at least minor modifications to a program to move it from one machine to another

Back

What is another term for the imperative paradigm?

Front

the procedural paradigm

Back

What did assemblers save programmers from having to do?

Front

from developing a program directly in machine language

Back

How are high-level primitives dealt with once the design is complete?

Front

can be translated to lower-level concepts relating to the details of implementation

Back

How is a program viewed within the functional paradigm?

Front

as an entity that accepts inputs and produces outputs

Back

What is another term for program variable?

Front

identifier

Back

How does an interpreter run a program differently from a compiler?

Front

rather than producing a machine-language copy of a program that would be executed later, an interpreter actually executes a program from its high-level form

Back

What was the job of assemblers?

Front

to convert mnemonic expressions into machine language instructions

Back

What are programming paradigms?

Front

alternative approaches to the programming process that have developed along different paths according to different sets of problem-solving priorities and methods

Back

What is another disadvantage of an assembly language for how it forces the programmer to think?

Front

a programmer, though not required to code instructions in numeric form, is still forced to think in terms of the small, incremental steps of the machine's language (doesn't allow for abstraction to larger scales of design)

Back

What is a translator?

Front

a program that translated programs expressed in high-level primitives into machine-language programs

Back

What are language extensions?

Front

features often provided by compiler designers that are not part of the standard version of the language

Back

What was FORTRAN devleoped for?

Front

scientific and engineering applications

Back

What is the ideal adaptation of the design process?

Front

the design process is better suited to the use of high-level primitives, each representing a concept associated with a major feature of the product

Back

How did researchers simplify the (machine language) programming process in the 1940s?

Front

by developing notational systems by which instructions could be represented in mnemonic rather than numeric form

Back

What is the underlying algorithm in the simulation of systems?

Front

the process of simulating the passage of time by repeatedly recomputing values of parameters based on the previously computed values

Back

What does the term "second-generation languages" refer to?

Front

assembly languages

Back

What were the two best-known examples of third-generation programming languages?

Front

FORTRAN and COBOL

Back

What does the declarative paradigm emphasize in contrast to the imperative paradigm?

Front

the problem to be solved rather than an algorithm to be followed

Back

How is standardization of languages maintained?

Front

the American National Standards Institute and the International Organization for Standardization have adopted and published standards for many of the popular languages

Back

What is the reality of the theoretical machine independence of compilers?

Front

when a compiler is designed, particular characteristics of the underlying machine are sometimes reflected as conditions on the language being translated

Back

What is the result of the fact that assembly language primitives are the same as machine language primitives?

Front

a program written in an assembly language is inherently machine dependent

Back

Who developed COBOL?

Front

the U.S. Navy

Back

How do interpreters differ from compilers?

Front

execute instructions as they are translated instead of recording the translated version for future use

Back

What is an example of how differences in process handling from machine to machine have resulted in different dialects of a language?

Front

the different ways in which machines handle I/O operations have historically caused the "same" language to have different characteristics, or dialects, on different machines

Back

What emerged as an alternative to compilers for implementing third-generation languages?

Front

interpreters

Back

What does it mean to say a language is machine dependent?

Front

the instructions within the program are expressed in terms of a particular machine's attributes (instructions not portable)

Back

What does the term "first-generation languages" refer to?

Front

machine languages

Back

Section 2

(50 cards)

What does the term "instance" (of a class) refer to in the object-oriented paradigm?

Front

an object that is based on a particular class

Back

What are modern languages designed with in order to avoid the complexities that may arise from relying on goto statements?

Front

control statements that allow an entire branching pattern to be expressed within a single lexical structure

Back

What is a class in the object-oriented paradigm?

Front

a description of the object's properties

Back

What complications can the use of literals result in?

Front

they can complicate the task of modifying the program should it become necessary (if the value in a literal changes, each reference to the value throughout the program must be located and changed)

Back

What does the assignment statement do?

Front

requests that the value of an expression be assigned to a variable (or more precisely, stored in the memory area identified by the variable)

Back

What does structured programming consist of?

Front

an organized design methodology combined with the appropriate use of the language's control statements

Back

What are data types that have not yet become widespread primitives?

Front

images, audio, video, and hypertext

Back

What is data structure?

Front

the conceptual shape or arrangement of data, with each type of data having a structure typical for that type

Back

What are visual programming languages also called?

Front

block-based programming languages

Back

What is a local variable?

Front

a variable that can be referenced only within that function

Back

What does the goto statement provide?

Front

a means of directing the execution sequence to another location that has been labeled for this purpose by a name or number (i.e., a direct application of the machine-level JUMP instruction)

Back

How can the complications resulting from the use of literals be made even worse?

Front

if the value contained in a literal is also used in reference to other quantities in a program, there is no way to know which occurrences to change and which to leave alone

Back

What is an example of an aggregate type and the data it might contain?

Front

a block of data referring to an employee might consist of an entry called Name of type character, an entry called Age of type integer, and an entry called SkillRating of type float

Back

What is the implication of the way objects are constructed out of methods?

Front

most object-oriented programming languages contain many of the features found in imperative languages

Back

What value declaration can be used in place of a literal to solve potential problems created by use of literals?

Front

constant

Back

What is the simplest control statement?

Front

the goto statement

Back

What is a constant?

Front

a descriptive name assigned to specific, nonchangeable values

Back

What do many programming languages require to establish an array in a program?

Front

that the declaration statement declaring the name of the array also specify the length of each dimension of the array

Back

What term for functions is preferred in object-oriented languages when programmers specify how objects should respond to various stimuli?

Front

method

Back

What options does a programmer have for referring to an aggregate type once an aggregate has been declared?

Front

a programmer can use the structure name to refer to the entire aggregate or can reference individual fields within the aggregate by means of the structure name followed by a period and the field name

Back

What is control transferred during the execution of a function?

Front

control is transferred to the function at the time its services are required and then returned to the original program unit after the function has finished

Back

How does structured programming achieve its goal?

Front

by restricting the use of those features that have historically led to sloppy programming while encouraging the use of better-designed features

Back

What is the most basic kind of imperative statement?

Front

the assignment statement

Back

What are common primitive data types (or "primitives")?

Front

integer, float, character, and Boolean

Back

What does the term "calling unit" usually refer to?

Front

a program unit that requests the execution of a function

Back

What does a function's header do?

Front

identifies the name of the function

Back

What is a literal?

Front

the explicit appearance in a program of a value

Back

What can excessive use of goto statements result in?

Front

needlessly convoluted code

Back

How are literals consisting of text distinguished from other program components?

Front

they are delineated with single or double quotation marks

Back

What are some examples of block-based languages used in education?

Front

Alice, Scratch, StarLogo, and App Inventor

Back

What does the term "overloading" refer to?

Front

the use of a single symbol to indicate more than one operation in different contexts

Back

What does a control statement do?

Front

alters the execution sequence of the program

Back

How is a software system viewed in the object-oriented paradigm?

Front

as a collection of units, called objects, each of which is capable of performing the actions that are immediately related to itself as well as requesting actions of other objects

Back

What is the array?

Front

a block of elements of the same type such as a one-dimensional list, a two-dimensional table with rows and columns, or tables with higher dimensions

Back

What is one reason why the use of literals is not considered good programming practice?

Front

they can mask the meaning of statements in which they appear

Back

What follows the header in a function?

Front

statements that define the function's details

Back

What are visual programming languages?

Front

an alternative to traditional text-based programming environments that allow the developer to manipulate graphical blocks on the screen to create programs

Back

What are other terms for aggregate type?

Front

structure, record, or heterogeneous array

Back

What is the scope of a variable?

Front

the portion of a program in which a variable can be referenced

Back

What is a function?

Front

a set of instructions for performing a task that can be used as an abstract tool by other program units

Back

What are functions called in the object-oriented vernacular?

Front

methods

Back

What are indices?

Front

integer values that identify an individual element in an array by specifying the row, column, and so on, desired

Back

What does APL stand for?

Front

A Programming Langauge

Back

What is the nature of the methods within an object?

Front

they are essentially small imperative program units

Back

How is the entire system constructed in the object-oriented paradigm?

Front

as a collection of objects, each of which knows how to respond to the events related to it

Back

What is an aggregate type?

Front

a block of data in which different elements can have different types

Back

What do the terms "calling" or "invoking" the function refer to?

Front

the process of transferring control to a function

Back

primitive data types

Front

the data types that are included in a programming language

Back

What does structured programming encourage?

Front

allowing algorithms to be expressed in a readable form while also assisting the programmer in obtaining such readability

Back

What are global variables?

Front

variables whose scopes are not restricted to a particular part of a program

Back

Section 3

(50 cards)

What are syntax diagrams?

Front

pictorial representations of a language's grammatical structure

Back

What does the term "just-in-time compilation" refer to?

Front

the quick translation of of software into universal machine language just prior to execution

Back

How is "ambiguous grammar" defined?

Front

a grammar that allows two distinct parse trees for one string

Back

What is an object program?

Front

the translated version of a program

Back

What does passing a parameter by value entail?

Front

a duplicate of the data represented by the actual parameters is produced and given to the function

Back

What is a more efficient way than passing by value of dealing with parameters when they contain large blocks of data?

Front

passing by reference

Back

What three activities are performed by corresponding units in the translator?

Front

lexical analysis, parsing, and code generation

Back

What does the term "actual parameters" refer to?

Front

the precise meanings assigned to the formal parameters when the function is applied

Back

What does a type cast do?

Front

notifies the compiler that the programmer is aware that a type conversion will be applied

Back

What does a parse tree represent?

Front

the parser's interpretation of the program's grammatical composition

Back

What were fixed-format languages?

Front

early programming languages that insisted that each program statement be positioned in a particular manner on the printed page

Back

What is another term for a single entity as recognized by a lexical analyzer?

Front

a token

Back

What does "strongly typed" mean?

Front

all activities requested by a program must involve data of agreeable types

Back

What does passing by reference allow?

Front

allows the function to modify the data residing in the calling environment

Back

Under what condition will some languages, such as Java, allow coercion?

Front

as long as it is a type promotion

Back

Why is coercion frowned upon by many language designers?

Front

it can alter the value of a data item, resulting in subtle program bugs

Back

What is parsing?

Front

the process of recognizing the grammatical structure of a program

Back

What is a source program?

Front

the program in its original form

Back

In what cases is passing parameters by value inefficient?

Front

when the parameters represent large blocks of data

Back

What is one way of expressing the rules of grammar?

Front

syntax diagrams

Back

How does a lexical analyzer process tokens?

Front

encodes each token with its classification and hands them to the parser

Back

What relationship to coercion do most modern languages have?

Front

most modern languages are strongly typed and thus do not allow coercion

Back

What is code optimization?

Front

implementation of shortcuts in the execution of a program by recognizing components within a program that have already been compiled

Back

What is lexical analysis?

Front

the process of recognizing which strings of symbols from the source program represent a single entity

Back

What are nonterminals?

Front

terms in a syntax diagram that require further description

Back

What is a type promotion?

Front

coercion that involves converting a low precision value to a higher precision value

Back

What are free-format languages?

Front

languages in which the positioning of statements is not critical

Back

What are parameters?

Front

generic terms within functions that are replaced by specific instantiations when the function is run

Back

What benefits does passing a parameter by value provide?

Front

protects the data in the calling unit from being mistakenly altered by a poorly designed function

Back

What is code generation?

Front

the process of constructing the machine-language instructions to implement the statements recognized by the parser

Back

What are constructors?

Front

special methods within a given class that handle specific initialization needs and are executed automatically when an object is constructed from the class

Back

What is a grammar?

Front

collective term for a set of rules that define the syntax of the programming language

Back

What are methods in the object-oriented paradigm?

Front

the functions within an object

Back

What is coercion?

Front

implicit conversion between types

Back

How does passing by reference work?

Front

gives the function direct access to the actual parameters by telling it the addresses of the actual parameters in the calling program unit

Back

What are universal machine languages designed for?

Front

to be quickly translatable

Back

What does the process of parsing a program consist of?

Front

constructing a parse tree for the source program

Back

What are terminals?

Front

terms in a syntax diagram that appear in ovals in the same form in which they appear in the program

Back

What is a symbol table?

Front

a table into which the parser records information being declared as it recognizes declarative statements

Back

How is Python unusual in regard to the use of spacing?

Front

it has aspects of free-format languages, but strictly requires indentation to mark structure, rather than punctuation marks like semicolons and curly braces

Back

What is universal machine language called in Java?

Front

bytecode

Back

What are methods called in the C++ vernacular?

Front

member functions

Back

What is an instance variable?

Front

a variable that resides within an object

Back

What is translation?

Front

the process of converting a program from one language to another

Back

What are event-driven systems?

Front

software systems in which functions are activated by events rather than explicit requests

Back

How are grammatical ambiguities avoided in Python?

Front

with indentation

Back

What is a parse tree?

Front

representation in pictorial form of the manner in which a particular string conforms to a set of syntax diagrams

Back

What problem was solved by Sun Microsystems and Microsoft with the design of "universal machine languages"?

Front

transferring software over the Internet for execution and, as a result, having to either suffer delays due to translation or provide a different version of the machine-language form of the software

Back

What is another term for parameters?

Front

formal parameters

Back

What is universal machine language called in C#?

Front

.NET Common Intermediate Language

Back

Section 4

(20 cards)

polymorphism

Front

the customized interpretation of a message in an object-oriented program

Back

What are inference rules?

Front

techniques used in logic and programming for deriving a consequence from a collection of statements

Back

What is a monitor?

Front

a data item augmented with the ability to control access to itself

Back

What is parallel processing or concurrent processing in a program?

Front

the simultaneous execution of multiple activations

Back

What does unification allow in a deduction system?

Front

allows general statements to be applied to specific applications

Back

What does a program in Prolog consist of?

Front

a collection of initial statements to which the underlying algorithm applies its deductive reasoning

Back

What does the term "public" refer to?

Front

features that are accessible from outside the object

Back

What is a logic programming language?

Front

a declarative programming language whose underlying problem-solving algorithm is based on repeated resolution

Back

What is resolution?

Front

a deductive-reasoning principle according to which on the basis of two statements, a third statement can be concluded

Back

What is inheritance in the object-oriented paradigm?

Front

ability of one class to encompass the properties of another

Back

What does the term "private" refer to?

Front

features that are encapsulated

Back

What is an example of a logic programming language?

Front

Prolog

Back

What does it mean to say that certain features of an object are encapsulated?

Front

only the object itself is able to access them

Back

What is a resolvent?

Front

the third statement formed logically on the basis of two previous statements

Back

What is an inconsistent collection of statements?

Front

a collection of statements that are self-contradictory (impossible that they are all true at the same time)

Back

What is the programming language name "Prolog" short for?

Front

PROgramming LOGic

Back

What kind of data is said to have mutually exclusive access?

Front

data that can be accessed by only one thread at a time

Back

What are predicates in Prolog?

Front

the components from which the initial statements are constructed

Back

What is unification?

Front

the process of assigning values to variables so that resolution can be performed

Back

encapsulation

Front

restricting access to an object's internal properties

Back