# Language Overview

Next: The Idea Behind Types, Previous: Index, Index: Index

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. 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
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
This document, and the language, is very much work in progress. The document, however ruff, 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. Having said that, this document is not exhaustive, there are numerous features that we have missed out either because we considered them depreciated, too simple to mention or (more likely) we have not yet had time to document them. Mesham was created by Nick Brown and Yifeng Chen.
Last Modified: August 2008