Final Paper
Overview
For this project, you will learn and report on a programming language. You will have to install a compiler/interpreter for the language and learn it on your own.
You will then give an in-class presentation on the language in which you will teach us the major features of the language and draw comparisons with other languages.
Your presentation should be around 15-20 minutes.
Languages
You may not report on a language that you have programming experience in, or a very common one such as C++, Java, Javascript, PHP, Python etc.
The following table lists some languages that would be a good choice. If you prefer to study a language not listed, just ask. No two people can report on the same language, so email me when you decide which language you choose.
| Language | People |
| Clojure | |
| Crystal | |
| D | |
| Elixir | |
| Erlang | |
| F# | |
| Go | |
| Lua | |
| Nim | |
| Ocaml | |
| Perl | |
| R | |
| Rust | |
| Scala | |
| Swift |
Topics
Your presentation should touch on the following subjects:
- History
- Goals
- Related languages
- What implementations exist, compilers or interpreters.
- Common uses of the Language
- Syntax
- Type system
- Available types
- Control structures
- Paradigm (Iterative, Functional etc.)
- Unique features
- Criticisms & Drawbacks
The presentation should include code samples to highlight particular features of the language.