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...
Main Author: | |
---|---|
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 |