4 ms·
I was also curious. Go and microcontrollers? Must be a misunderstanding and not Go the language.
by throwaway7645 9y ago
I was also curious. Go and microcontrollers? Must be a misunderstanding and not Go the language.
- abstractbeliefs 9y agoWell, it's absolutely worth remembering that Arduino the ecosystem is much larger than 8-bit uCs. Arduino now supports from tiny 8-bit uCs with hundreds of bytes of ram to expansive ARM devices comparable to those you'd find in drones and other large devices. Additionally, they maintain an IDE, a complex set of pre-processing tools, and library+device management servers that allow more modularity in the ecosystem. I'm sure there's a place for Go, I'm just not sure where they plan to put it.
- ms4720 9y agoWouldn't rust be a better fit?
- alexbanks 9y agoIf you're using a device that isn't necessarily weak in terms of processing power and RAM, the Go vs. Rust debate AFAIK is basically about preference. There are features of each language that make them appealing in different ways; the major drawback from Go is in relation to binary size, memory management and general performance bloat. Source: I write Go code that runs on microcontrollers.
- racer-v 9y agoThe worst part about using Go for embedded systems is that there's no way to disable dynamic memory allocation (which can be unreliable and/or hard to reason about) - at least last I checked. This is brought up in the essay "Go is Not Good". Memory-mapped I/O is possible, but there's no way to separate such unsafe constructs from "safe" ones, as that essay points out.