GoConqr has a new look! Let us know what you think.

Flashcards

Semester Test 1

Regan Koopmans COS 333 - English 30 cards

Cards in this deck (30)

  1. 1What are the Language Evaluation Criteria?- Readability
    - Writability
    - Reliability
    - Cost
  2. 2What is Referential Transparency?Referential Transparency is the property of a function, that. A function call can therefore always be replaced by the value that the function call evaluates to.
  3. 3Explain the concept of orthogonality.Orthogonality is the property that there are relatively small set primitives that can be combined to make more complex data structures. This means that the language is very regular.
  4. 4Which language offers both the flexibility of C++ and the reliability of Java?C#
  5. 5Name the array categories:- static
    - fixed stack-dynamic
    - fixed heap-dynamic
    - heap-dynamic
  6. 6Explain the difference between static scoping and dynamic scoping?Static scoping is determined at compile time. Dynamic scoping is determined at runtime.
  7. 7What is the primary goal of the Fortran programming language?Scientific and numerical computation.
  8. 8Why is C a good programming language to use for systems programming?- Efficiency
    - High degree of low-level hardware control.
  9. 9Comment on the orthogonality of functional programming languages:Function programming languages typically exhibit a high degree of orthogonality, since most interpret functions as first-class values. This allows functions to be passed as parameters and returned from other functions.
  10. 10The first high-level programming language?FORTRAN.
  11. 11The first programming language to use a formal logic inferencing process to answer queries?PROLOG.
  12. 12List three characteristics of a variable that the type determines:- format in memory.
    - size in memory.
    - valid operators/functions.
  13. 13Explain why the use of heterogenous arrays is less efficient that homogenous arrays?- Memory: Heterogenous arrays must store type information about their elements.
    - Computation: Heterogenous arrays must perform additional type-checking.
  14. 14Discuss the implication of using keywords instead of reserved words for reliability?The significance of that particular word will depend on the context of its usage. In particular, whether the word is interpreted as a variable will depend on the policy of the compiler or interpreter, and may differ across implementations.
  15. 15Explain the concept of binding:A binding is an association between an attribute and an entity.
  16. 16What are the two types of type conversion?- Narrowing
    - Widening
  17. 17What are the two types of Unions? How are they different?Free Unions do not have type information attached to them, and therefore prevent type-checking. Discriminated Unions have type information.
  18. 18Explain the concept of Strong Typing:Strong Typing is the property of a language that all type errors are caught. Strong Typing improves the overall reliability of a language.
  19. 19List the two categories of type equivalence:- Name type-equivalence
    - Structured type-equivalence
  20. 20Name one advantage associated with variables that have a static storage binding?Allocation can be done before run-time, which greatly improves performance.
  21. 21What are the two types of type-binding?- static
    - dynamic
  22. 22What are the types of storage binding?- Static
    - Stack-dynamic
    - Explicit heap-dynamic
    - Implicit heap-dynamic
  23. 23Explain what an elliptical reference is, in the context of record types?Elliptical references are when an attribute of a record is referenced without specifying its parent record. This can be done when there is no ambiguity on the interpretation of the aforementioned name.
  24. 24What is the main strength of ALGOL68?Orthogonal design.
  25. 25Explain how reserved words can adversely affect the writability of a language?Reserved words restrict the total number names we can allocate to variables and functions. It might be the case that the reserved word is the most appropriate name for a variable, but it is unavailable in the language.
  26. 26Name one disadvantage of floating point types, and one disadvantage of decimal types:- floating point types are less accurate
    - decimal types are less efficient.
  27. 27What is the current scope of a statically scoped language?The variables defined in the current scope, and the scope of the static ancestor?
  28. 28How does one determine the current scope in a dynamically scoped language?You must trace through the call sequence, collecting those variables that have been defined and modified in the specific function calls.
  29. 29Suggest two reasons for the rise of scripting languages in recent software development:- Increases in computational power have made the performance cost of using scripting languages less significant
    - the growth of the Internet.
  30. 30Comment on how C# offers support for both references and pointers.C# has a pointer type, but any program that is compiled using pointers must use the "unsafe" flag. Pointers are largely just a mechanism for interacting with C++ and C, and usually the use of references would be prefered.

Information

Description
- COS 333 Flashcards on Semester Test 1, created by Regan Koopmans on 21/09/2017.
Created by
Regan Koopmans
Views
5
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?