Go 1.8 Performance Improvements on ARM (RasPi)
reddit.com
reddit.com
How is Go better suited than Python for development of more "sophisticated" apps? And how do you define that? Where do you draw the line?
For me Go seems to suffer from many of the same shortcomings python has. And I say that liking Python.
For me Go is more attractive than Python on the RasPi because there is no GIL limiting concurrency, the notion that compiled code performs significantly better, and that there are less installation dependency headaches to worry about.
Indeed, Nim doesn't see as much use on embedded systems as it deserves. I've used it once on an RPi to create a little camera security app and it worked rather well. If I had the time I would write something about that.
Actually, now that I think about it, I will definitely write something about it. My book was originally going to include a chapter on embedded development in Nim but I sadly had to remove it from my plans. I already promised some people that I will be writing some articles on embedded development in Nim as a replacement for that chapter :)
No need to worry about that. It's why we have threaded conversations on HN.
> Nim probably needs a killer app to get the attention it deserves.
I agree, and you'll be glad that I have some ideas already. Of course time is always the problem :)
> Building GUIs easily could be one way to make it easier, but I had very unpleasant experiences with gui packages for Nim.
Is it nimx that you have tried? Surely it's still early days for nimx but it is looking very promising. There is also work going to be put in to make a much more robust and idiomatic libui wrapper.
Unfortunately GUI libraries are difficult. It's actually no surprise that we so many projects using WebKit for a GUI these days. Can any library seriously compete? I'm not so sure anymore.
Java, the language, was first designed to run on all kinds of embedded devices, including cars, in cpus available 20+ years ago. You don't need to run the official JVM and SDK to run Java. There are even real-time options.
For reference, the NXT v1 brick has an ARM-based Atmel microcontroller with a clock of ~55MHz, 256KB of flash, and 64KB of RAM, along with a smaller ATMega4 microcontroller.
I recall using Eclipse for development and I am sure the build process involved uploading the JVM and program code via a USB infrared interface.
Have to say that I preferred using "Not Quite C" [1] due to it having a simpler syntax and intuitive support for cooperative multitasking.
[0] http://www.lejos.org/ [1] http://bricxcc.sourceforge.net/nqc/
Actually, looking at NQC's page, they don't support the NXT, just the RCX. That certainly would've been the killer for us, there.
Here's hoping for cross-platform development without JavaScript.