ラズパイ/ラズピコ限定の話になりますが、現時点での整理です
① golang : ラズパイ用にはcgoがあるとターゲットマシン用にgolangとc用に二種類のコンパイラが必要になるので、単純化のためにはcgo freeのライブラリだけ使って、(現時点ではcgoライブラリはほぼ回避手段があるはず)クロスコンパイルを実行する
たとえば、ラズパイzero用バイナリならば、以下のようなコンパイルオプションつけて実行できる
% GOOS=linux GOARCH=arm GOARM=6 go build -o rasp_zero
ラズピコで組み込み用にはgolangというのは選択肢にはならないしそもそも手段があるのか、golang使うならRustでしょう
② Rust:ラズパイ用はCross + Dockerが一番素直か、Intel MacならばVM上のUbuntuでもtoolchainが存在してるからできるけど
ラズピコは組み込みだからクロスビルドしかなくて、Baker link. ENV + Rancher Desktop(docker)がCross + Dockerに相当する機能で使える、ラズピコはデバッガ(debug probe)を簡単に使えるという点でもBaker link. ENVが良さそう、おそらくBaker link. ENVと類似のツールはこの先出てくるかもしれないけど、いずれにしてもそれは仮想環境を使ったもので開発環境を自分で作ることが必要なケースはそれほどないはず(Docker用のイメージ作成は別にして)、いまだラズピコでRustはかなりニッチではあるから歩みは遅いかもしれないが
admin