For a course that is part of our Masters degree in Computer Science (university of Delft, Netherlands) we, a team of 3 students, are required to create our own DSL (domain specific language). We are currently brainstorming about a new language for the Arduino.
The current Arduino language is a subset of C++ but we think that with a language specifically build for the Arduino it could help a lot of people. Not only to those that are new to programming but also to make programs more structured and easier to understand for everyone.
We think of things like
- build-in keywords for writing and reading to pins
- making the language dynamically typed
- defining actions (button presses) to execute blocks of code
- ...
We will implement the language as a plugin for eclipse, so we can give good feedback on the code with specific errors and warnings but it will also be possible to extract the compiler and use it in other editors. The language will compile directly to an executable that can be loaded to the Arduino, possibly compiling it to C first or directly to assembly.
We want to ask the Arduino community to give us some feedback on this idea. We understand that a new language is not really needed and/or it possibly won't be as powerful or fast as C++ but if you could design a new language from scratch, what are things that you would like to see?