Hacker News new | ask | show | jobs
by spott 1018 days ago
As I see it (from largely an outsider perspective), there are two difficulties with embedded software: 1) a large sensitivity to performance, to the point where higher level languages are difficult to justify the overhead. And 2) it is generally difficult to write software for embedded systems because the peripherals are all over the place. There is no “one framework to rule them all”, so you need to relearn how to do basic tasks for every new system you use.

I feel like 1 is getting to be much less of a blocker for a huge variety of applications. Most hobbyists don’t even bother with the dedicated built in “spi” pins, they just do spi bit banging on whatever pins they want to use because they don’t have a performance reason to worry about it.

2 is still an issue, and is largely what arduino was trying to solve (for hobbyists at least), by creating a standardized set of tools and libraries.

From that perspective, there is still a lot of work to be done. Modern languages can offer a huge amount of zero cost abstractions for things like HALs, if you can make it easy enough to write the underlying translation layers so you can actually run on the combinatoric explosion of different software options out there. If arduino can make that kind of thing possible, I would assume they could make inroads into the professional world.