CSC 351 - Chapters 1, 2, 3, 4, 5 Flashcards
Scientific application language?
Fortran
Why study programming languages?
- increased capacity to express ideas
- improved background for choosing an appropriate language
- increased ability to learn a new language
- better understanding of the significance of implementation
- better use of languages already known
- overall advancement of computing
Business application language?
COBOL
Artificial Intelligence language?
LISP
System software languages?
C, C++
Web software languages?
JavaScript, PHP
What is Readability and what characteristics are associated with it?
The ease of which programs can be read and understood. • simplicity • orthogonality • data types • syntax design
What is Writability and what characteristics are associated with it?
The measure of how easily a language can be used to create programs for a chosen problem domain. • simplicity • orthogonality • data types • syntax design • support for abstraction • expressivity
What is Reliability and what characteristics are associated with it?
A program is reliable if it performs to its specifications under all conditions. • simplicity • orthogonality • data types • syntax design • support for abstraction • expressivity • type checking • exception handling • restricted aliasing
What is the von Neumann architecture?
An architecture that most popular languages have been designed around. These are imperative languages. Both data and programs are stored in the same memory. The CPU is separate from the memory. Instructions are piped from memory to the CPU. Results are piped back to memory.
What is compilation implementation?
Programs are translated into machine language which can be directly executed on the computer.
C, C++, COBOL
What is pure interpretation implementation?
Programs are interpreted by another program called an interpreted, with no translation at all. Execution is slower than compiled systems and often requires more space. Allows easy implementation of many source level debugging operations.
What is hybrid implementation?
A compromise between compilers and pure interpreters. High level language programs are translated to an intermediate language designed to allow easy interpretation.
Perl
What language is UNIX mostly written in?
C
How can operator overloading harm the readability of a program?
A single operator can have more than one meaning, causing confusion
What is the disadvantage of having too many features in a language?
A language is more difficult to learn. Programmers often learn a subset of the language and ignore its features.
What construct of a programming language provides process abstraction?
The use of a subprogram
Why is type checking important?
The earlier errors in programs are detected, the less expensive it is to make the required repairs
What is aliasing?
Having 2 or more distinct names that can be used to access the same memory cell
What is exception handling?
The ability to intercept run time errors, correct then, then continue.
What two language deficiencies were discovered as a result of the research in software development?
Incompleteness of type checking and inadequacy of control statements
What are the three fundamental features of an object oriented programming languages
Data abstraction, inheritance, dynamic method building
What language was the first to support the features of OOP?
Smalltalk
What are two language design criteria that are in direct conflict with each other?
Reliability and cost
What role does the symbol table play in a compiler?
It serves as a database for the compilation process