Which language to choose? Wanna develop an IoT solution
Hi mates!
I am going to develop an IoT solution, maybe a framework? Anyway still in design. The problem is which language to choose, seems Go would be a better choice for its fast and high performance. Any guidance would be greatly appreciated!
12 comments
[ 0.22 ms ] story [ 770 ms ] threadIf you’re learning, check out Elixir Nerves: https://www.nerves-project.org/ Elixir’s a fun and friendly ecosystem, and Nerves makes embedded development really smooth.
If you’re starting a business, choose something you already know; barring that, get as close as possible; if you’re non-technical, choose something easy to hire for.
If you're referring to something else, like a hub, you may want to list out your requirements and familiarity. C is still a good choice, but Go/Python/NodeJs what have you have all been used successfully for similar adventures.
If the target device is an embedded Linux computer, you can choose pretty much any language you’re comfortable with. The golang is probably fine. Personally, I have good experience making embedded Linux software with C#. The performance on both ARMv7 and ARM64 CPUs is pretty good, comparable to compiled languages. The only downside is the runtime size. The current LTS version is .NET 6, the ARM64 Linux runtime takes 75MB on disk, or even 100MB if you want asp.net for a web interface of your device. Not all devices have gigabytes of flash memory.
The component itself will already limit your amount of reasonable choices for a language or framework. You probably neither want to Java on a microcontroller with 256kB RAM, nor C on a backend.