A Comparison of the Capability Systems of Encore, Pony and Rust

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...

Full description

Bibliographic Details
Main Author: Hillert, Jessica
Format: Others
Language:English
Published: Uppsala universitet, Institutionen för informationsteknologi 2019
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-395655
id ndltd-UPSALLA1-oai-DiVA.org-uu-395655
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-uu-3956552019-10-22T22:01:28ZA Comparison of the Capability Systems of Encore, Pony and RustengHillert, JessicaUppsala universitet, Institutionen för informationsteknologi2019Engineering and TechnologyTeknik och teknologierOne 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. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-395655IT ; 19010application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Engineering and Technology
Teknik och teknologier
spellingShingle Engineering and Technology
Teknik och teknologier
Hillert, Jessica
A Comparison of the Capability Systems of Encore, Pony and Rust
description 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.
author Hillert, Jessica
author_facet Hillert, Jessica
author_sort Hillert, Jessica
title A Comparison of the Capability Systems of Encore, Pony and Rust
title_short A Comparison of the Capability Systems of Encore, Pony and Rust
title_full A Comparison of the Capability Systems of Encore, Pony and Rust
title_fullStr A Comparison of the Capability Systems of Encore, Pony and Rust
title_full_unstemmed A Comparison of the Capability Systems of Encore, Pony and Rust
title_sort comparison of the capability systems of encore, pony and rust
publisher Uppsala universitet, Institutionen för informationsteknologi
publishDate 2019
url http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-395655
work_keys_str_mv AT hillertjessica acomparisonofthecapabilitysystemsofencoreponyandrust
AT hillertjessica comparisonofthecapabilitysystemsofencoreponyandrust
_version_ 1719274448738058240