Difference between revisions of "Introduction"
(Created page with ' ==Why== Mesham was developed as a parallel programming language with a number of concepts in mind. From reviewing existing HPC languages it is obvious that programmers place a …') |
m (2 revisions imported) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | <metadesc>Mesham is a type oriented programming language allowing the writing of high performance parallel codes which are efficient yet simple to write and maintain</metadesc> | |
==Why== | ==Why== | ||
Latest revision as of 15:44, 15 April 2019
Why
Mesham was developed as a parallel programming language with a number of concepts in mind. From reviewing existing HPC languages it is obvious that programmers place a great deal of importance on both performance and resource usage. Due to these constraining factors, HPC code is often very complicated, laced with little efficiency tricks, which become difficult to maintain as time goes on. It is often the case that, existing HPC code (often written in C with a communications library) has reached a level of complexity that efficiency takes a hit.
Advantages of Abstraction
By abstracting the programmer from the low level details there are a number of advantages.
- Easier to understand code
- Quicker production time
- Portability easier to achieve
- Changes, such as data structure changes, are easier to make
- The rich parallel structure provides the compiler with lots of optimisation clues
Important Features
In order to produce a language which is usable by the current HPC programmers there are a number of features which we believe are critical to the language success.
- Simpler to code in
- Efficient Result
- Transparent Translation Process
- Portable
- Safe
- Expressive
Where We Are
This documentation, and the language, is very much work in progress. The documentation aims to both illustrate to a potential programmer the benefits of our language and approach and also to act as a reference for those using the language. There is much important development to be done on the language and tools in order to develop what has been created thus far