It is well known that parallelization of software is a difficult problem to solve. This project aimed to research a possible solution by creating a programming language for parallelization and subsequently analyzing its syntax and semantics. This analysis consisted of readability and writability tests followed by a subjective discussion from the point of view of the author. The project resulted in the Majo programming language. Majo uses a graph based concurrency model with implicit shared data synchronization. The model is integrated into the languages design, making it easier to use. The analysis of the language showed that the integration of the threading model simplifies the writing of parallel software. However, there are several syntactic elements that could be improved upon, especially regarding the communication between concurrently executing threads. In conclusion, the author believes that the way forward in regards to parallel programming is to make programming languages more human centric and design syntax in a way that intuitively expresses the underlying semantics.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:miun-34071 |
Date | January 2018 |
Creators | Nilsson, Joel |
Publisher | Mittuniversitetet, Avdelningen för informationssystem och -teknologi |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.002 seconds