For this exercise, put all of your answers in a plain text file
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
exer6.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.
Submit your files through CourSys for Exercise 6.