01 Handout 1 Flashcards

1
Q

It is used for communicating instructions to a computer. It is designed to facilitate certain operations such as numerical computation, text manipulation, or input/output.

A

Programming Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Reasons for Studying Concepts of Programming Languages

A
  1. Increased capacity to express ideas
  2. Improved background for choosing appropriate language
  3. Increased ability to learn new languages.
  4. Better understanding of the significance of implementation.
  5. Better use of languages that are already known.
  6. Overall advancement of computing.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Programming Domains

A

Scientific Applications
Business Applications
Artificial Intelligence
Systems Programming
Web Software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Language Evaluation Criteria

A
  • Readability – the ease with which programs can be read or understood
  • Writability – how easily a language can be used to create programs
  • Reliability – if a program performs to its specifications under all conditions
  • Cost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

the ease with which programs can be read or understood

A

Readability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

how easily a language can be used to create programs

A

Writability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

if a program performs to its specifications under all conditions

A

Reliability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Characteristics that Affect Readability

A
  • Overall Simplicity: A language with a large number of basic constructs is more difficult to learn than
    one with a smaller number.
  • Orthogonality – means that a relatively small set of primitive constructs can be combined in a
    relatively small number of ways to build the control and data structures of the language
  • Data Types
  • Syntax Design
    o Special Words
    o Form and Meaning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Characteristics that Affect Writability

A
  • Simplicity and Orthogonality
  • Support for Abstraction: Abstraction is the ability to define and then use complicated structures or
    operations in ways that allow many of the details to be ignored.
    o Process (Ex. The use of a subprogram to implement a sort algorithm that is required several
    times in a program
    o Data (Ex. A binary tree that stores integer data in its nodes can be implemented using an
    abstraction of a tree node in the form of a simple class with two pointers and an integer
  • Expressivity – means that a language has relatively convenient ways of specifying computation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Characteristics that Affect Reliability

A
  • Type Checking – testing for type errors in a given program, either by the compiler or during program
    execution
  • Exception Handling – the ability of a program to intercept run-time errors (as well as other unusual
  • conditions detectable by the program), take corrective measures, and then continue
  • Aliasing – having two or more distinct names that can be used to access the same memory cell
  • Readability and Writability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Most of the popular languages of the past 50 years have been designed around the prevalent
computer architecture, called the von Neumann architecture, after one of its originators, John von
Neumann (pronounced “von Noyman”). These languages are called …

A

Imperative Languages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The evolutionary steps in software development methodologies
led to new language constructs to support them. The most familiar design methodologies are procedural and object-oriented programming.

A

Programming Design Methodologies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Language Categories

A
  • Imperative Language
  • Functional Language
  • Logic language
  • Object-Oriented Language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  • Based on commands that update variables in storage
  • Provides statements such as assignment statements, which explicitly change the state of the memory
    of the computer
A

Imperative Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Examples of Imperative Language

A

Algol, Cobol, PL1, Ada, C, Modula-3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  • Expresses computations as the evaluation of mathematical functions
  • Treats values as single entities
  • Values are never modified.
  • Their computations are performed largely by applying functions to values.
A

Functional Language

16
Q
  • Expresses computations in exclusively in terms of mathematical logic
  • Focuses on predicate logic, on which the basic concept is a relation
  • Useful for expressing problems where it is not obvious what the functions should be
A

Logic Language

17
Q

o Everything is modeled as an object.
o Computation is performed by message passing.
o Objects communicate with one another via message passing.
o Every object is an instance of a class where the class represents a group of similar objects.
o Inheritance defines the relationships between classes.

A

Object-Oriented Language

18
Q

What are the three implementation methods?

A
  1. Compilation
  2. Pure Interpretation
  3. Hybrid Implementation Systems
19
Q

programs are translated into machine language

A

Compilation

20
Q

programs are interpreted by another program called interpreter, without translation

A

Pure Interpretation

21
Q

the combination of compilation and interpretation

A

Hybrid Implementation Systems

22
Q

A collection of tools used in software development

A

Programming Environment

23
Q

May consist of a file system, a text editor, a linker, and a compiler

A

Programming Environment

24
Q

May also include a large collection of integrated tools

A

Programming Environment

25
Q

Its examples are UNIX, JBuilder, Microsoft Visual Studio .NET, NetBeans

A

Programming Environment

26
Q

Everything is modeled as an object

A

Object-Oriented Language

27
Q

Computation is performed by …

A

message passing

28
Q

Objects communicate with one another via ….

A

message passing

29
Q

Treats values as single entities

A

Functional Language

30
Q

Values are never modified

A

Functional Language

31
Q

Examples are: Algol, Cobol, PL1, Ada, C, Modula-3

A

Imperative Language

32
Q

Examples are: Lisp, Haskell, ML, Miranda, APL

A

Functional Language

33
Q

Example is: Prolog

A

Logic Language

34
Q

Examples are: Smalltalk,Simula, C++, Java

A

Object-Oriented Language

35
Q

It defines the relationship between classes

A

Inheritance

36
Q
A