A Comparison of the Capability Systems of Encore, Pony and Rust
Abstract: One of the problems with parallel programming is sharing data. A solution to this problem is to enforce restrictions/capabilities upon objects, references or data. This is how the programming languages Encore, Pony and Rust handles this problem. This thesis aim to answer the question of what are the strong and weak points of these languages' capability systems compared to each other. Test programs and reading literature lead to the answer that even though the languages had the same approach of capabilities they have used the capabilities on different things and have different focuses. Encore uses capabilities on objects and focuses on control, Pony uses capabilities on references and focused on safety and Rust uses restrictions on the references as well and focuses on flexibility. The conclusion is that Rust has an advantage in its capability system compared to the other two, but because the languages have very different strengths and weaknesses it depends on the programmer's personal preference of which is the best one for her or him.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)