← Back to context

Comment by sircastor

19 days ago

>Of course the whole Arduino ecosystem is basically garbage, but it does help beginners get into the idea of doing embedded things.

I think this is either a naive take or a presumptuous, Gatekeeping take. The Arduino ecosystem is not garbage. It’s an abstraction layer. While it is not always the most efficient code, it makes programming something straightforward. That is not only a beginner feature.

The premise that’s sold here is that because Arduino is an abstraction layer and it does (often) favor ease over efficiency and compactness, it must not be suitable for “real embedded programmers”

Not all projects need to be accomplished in 256 bytes of flash. Not all programmers care about how to set a given timer or stepping down clock speed. Not all use cases are your use cases

Use the tools that get the job done. Make the thing you want to make. Ignore people who tell you you’re doing it “wrong”.

It's neither.

The Arduino ecosystem is objectively garbage, for a host of reasons. Yes, it is an "abstraction layer", that attempts to abstract away all the hard stuff from a whole host of different microcontrollers, and does it in some really bad (and broken) ways.

Arduino prioritizes making things easy for the person who doesn't know how to write embedded code. That's fine, as far as it goes. The problem with things like this is when people put them in production anyway, because "it works" on the bench and there's no need to bother with making sure it actually works.

I agree with this in general. I think the Arduino ecosystem makes a lot of sense and as mentioned upthread does a good job lowering the barrier to entry.

It's the hardware I don't get, which sits in a weird spot in the matrix of ease and power.