Not logged in. Login

Exercise 7

For this exercise, put all of your answers in a plain text file exer7.txt.

Language Description #1

Consider the C++ programming language. (If you don't have experience with C++, feel free to use Java or something else for this question.) In your exer7.txt, indicate how C++ can be described with respect to each of these concepts we have discussed:

  • Indicate which version of the language you're talking about: C++11, C++17 (or Java 9, 10 etc).
  • Overall programming paradigm (imperative, functional, object oriented, logic programming, etc.).
  • Compiled, interpreted, bytecode compiled, JIT compiled (for the most common tools: either GCC or Clang).
  • Static or dynamic types. Static or dynamic binding.
  • Strong or weak typing.
  • Manual memory management or garbage collected (and garbage collection algorithm).
  • Has first-class functions? Has closures?
  • What support for concurrent/parallel programming is available?

You don't have to write much about each one: just indicate which terms apply, and add any description/clarification you think is necessary. If you can't find information about one of these items, what can you guess or infer based on your knowledge of the language?

Language Description #2

Pick another language you have experience with (other than Haskell). Repeat the first question for that language.

Submitting

Submit your files through CourSys for Exercise 7.

Updated Wed Oct. 17 2018, 10:44 by ggbaker.