I was just introduced to the Rust Language, https://www.rust-lang.org/en-US/, by a fellow programmer. After looking at the main site, I got pretty interested, as it seems to facilitate many programming language features that have never been available most "low-level" languages. (How often I curse the lack of lambdas and higher order functions in C++).
My first thought was this would be great if it ran on a teensy 3.x, as that is my favorite embedded system by far . Apparently, it does: http://jamesmunns.com/update/2016/09/26/teensy3-rs.html . I posted this here, because I didn't find reference to much of the current work being done on the forum and wanted to encourage anyone that can help him to do so.
I would really like to have a few of you other dedicated Teensy users take a look and see what you think. I'm especially interested to hear what Paul thinks, although I understand he is pretty busy with a million other things.
Here is my 2 cents:
I love the idea of it. I'd be willing to bet that this becomes pretty substantial in the future. (C++ obviously has big issues if Google created Go and a community is springing up around Rust so quickly.)
Like all tools, I really dislike discussion that devolves into which is better, Rust vs C++, but much prefer to focus on what types of problems are best solved by each.
I think that at some distant future time, this could be a much better experience for beginners. (Although that is a long time off, and it would probably have to make it into Arduino IDE for that to happen)
The switch to a "functional" language can be tough on people. Some languages are near-neighbors with easy translations, while others use very different mental models. My experience to this was when I started using Scala 5 yrs ago. I made stuff work, but it took a long time to really enjoy the benefits and to do the awesome stuff. New guys that don't know any different will actually probably find it easier to write good Rust than those that are already have lots of experience. My own learning experience was very worthwhile. It thought me many new ways to model and decompose problems. I was introduced to the concept of "cognitive load". The job of the language and IDE are to reduce the cognitive load necessary to solve a specific problem. When this happens, you do more faster. (An example of this: Scala makes it easy to use immutable data, and encourages it. The IDEs color code the two types differently, so when you read code you can easily reason about what can change or not.)
My first thought was this would be great if it ran on a teensy 3.x, as that is my favorite embedded system by far . Apparently, it does: http://jamesmunns.com/update/2016/09/26/teensy3-rs.html . I posted this here, because I didn't find reference to much of the current work being done on the forum and wanted to encourage anyone that can help him to do so.
I would really like to have a few of you other dedicated Teensy users take a look and see what you think. I'm especially interested to hear what Paul thinks, although I understand he is pretty busy with a million other things.
Here is my 2 cents:
I love the idea of it. I'd be willing to bet that this becomes pretty substantial in the future. (C++ obviously has big issues if Google created Go and a community is springing up around Rust so quickly.)
Like all tools, I really dislike discussion that devolves into which is better, Rust vs C++, but much prefer to focus on what types of problems are best solved by each.
I think that at some distant future time, this could be a much better experience for beginners. (Although that is a long time off, and it would probably have to make it into Arduino IDE for that to happen)
The switch to a "functional" language can be tough on people. Some languages are near-neighbors with easy translations, while others use very different mental models. My experience to this was when I started using Scala 5 yrs ago. I made stuff work, but it took a long time to really enjoy the benefits and to do the awesome stuff. New guys that don't know any different will actually probably find it easier to write good Rust than those that are already have lots of experience. My own learning experience was very worthwhile. It thought me many new ways to model and decompose problems. I was introduced to the concept of "cognitive load". The job of the language and IDE are to reduce the cognitive load necessary to solve a specific problem. When this happens, you do more faster. (An example of this: Scala makes it easy to use immutable data, and encourages it. The IDEs color code the two types differently, so when you read code you can easily reason about what can change or not.)
Last edited: