4 ms·
Having written software for Arduino[1], I see this initiative succeeding for two main reasons: 1. JavaScript means developers don't have to understand manual m
by alexatkeplar 13y ago
Having written software for Arduino[1], I see this initiative succeeding for two main reasons:
1. JavaScript means developers don't have to understand manual memory management to program their hardware (and many developers simply _can't_ grok manual memory management these days)
2. node.js gives access to the npm package ecosystem - which opens up a huge potential "common lib" to hardware developers (potential because incompatibilities e.g. node.js network support vs luasocket will need to be handled)
Hardware hackers are generally a very curious bunch - they're not afraid of learning a new language on the software side, so it's not really _JavaScript_ per se that is Tessel's advantage here.
Straight to Lua could have been a second choice, but the package ecosystem in LuaRocks is hugely immature.[2] Because Lua execution in a LuaRocks-supporting environment is the exception, not the norm, most developers continue to manually bundle dependencies[3], which again doesn't encourage the package ecosystem to grow.
[1] https://github.com/snowplow/snowplow-arduino-tracker https://github.com/snowplow/snowplow-arduino-tracker
[2] http://luarocks.org/repositories/rocks/ http://luarocks.org/repositories/rocks/
[3] https://github.com/snowplow/snowplow-lua-tracker/tree/master/src/snowplow/lib https://github.com/snowplow/snowplow-lua-tracker/tree/master...