Intro Flashcards

1
Q

What are the 4 language evaluation criteria?

A

1.Readability: the ease with which programs can be read and understood
2.Writability: the ease with which a language can be used to create programs
3.Reliability:conformance to specifications (i.e., performs to its specifications)
4.Cost: the ultimate total cost

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

What is a well-known computer architecture?

A

Von Neumann

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

What are the 4 language categories?

A

1.Imperative
2.Functional
3.Logic
4.Programming hybrid

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

Describe imperative

A

Central features: variables, assignment statements, iteration
Support object-oriented programming
Examples: C, Java, C++, Python

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

Describe functional

A

Computations are made by applying functions to given parameters
Examples: LISP

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

Describe logic

A

Rule-base
Example:Prolog

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

Describe programming hybrid

A

Markup languages extended to support some programming
Example: JSTL

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

What are the 2 levels of byte code type language?

A
  1. The byte code compiler
    2.The virtual software that interprets the byte code at runtime
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the 3 implementation methods?

A
  1. Compilation
    2.Pure interpretation
    3.Hybrid implementation systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe compilation

A

Translates high-level program (source language) into machine code(machine language)

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

What are the 4 phases of compilation?

A
  1. lexical analysis: characters into lexical units
    2.syntax analysis: lexical units into parse trees
    3.semantics analysis: generate immediate code
    4.code generation:generate machine code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are 2 compilation terminologies?

A
  1. Load module (executable image):user + system code
    2.Linking and loading:process of collecting system program units and linking them to a user program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe pure interpretation

A

No translation
Uses dynamic data types defined at runtime
Slower execution , more space

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

Describe hybrid implementation systems

A

Comprise between compilers and pure interpreters
High-level language program translated to an intermediate language for easy interpretation
CONVERSION BEFORE OR RUN-TIME
Faster than pure interpretation

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

What are preprocessors?

A

They process a program immediately before the program is compiled to expand embedded preprocessor macros.
Preprocessor macros–>Instructions are commonly used to specify that code from another file is to be included
Example: C preprocessor

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

Summary

A
  • The study of programming languages is valuable for a number of reasons:
    – Increase our capacity to use different constructs – Enable us to choose languages more intelligently – Makes learning new languages easier
  • Most important criteria for evaluating programming languages include:
    – Readability, writability, reliability, cost
  • Major influences on language design have been machine architecture and software development methodologies
  • The major methods of implementing programming languages are: compilation, pure interpretation, and hybrid implementation