5 ms·
After spending time in the Arduino community; it becomes apparent very quickly that hardware and embedded people have a real issue with the Arduino platform. M
by netsectoday 6y ago
After spending time in the Arduino community; it becomes apparent very quickly that hardware and embedded people have a real issue with the Arduino platform.
Most of it is ego flexing, and coming from the field of software engineering; we are trained these days to recognize and squash this behavior, but it seems to be alive and well with those working in the embedded field.
Honestly, after years of working with all types of software on all types of platforms, the Arduino platform is pretty nice. It gets you up and running very quickly and anyone with basic programming knowledge can start creating electromechanical devices, while it also allows you to write more advanced software (with essentially C++).
All of that being said: there are a ton of garbage 3rd-party libraries released for the Arduino, with garbage code, no documentation, no tests, no support, and gnarly tutorials. So I see where some resentment comes from, but once again; it's unacceptable ego flexing.
- non-entity 6y agoA quote regarding ardunio from tweet I saw from an EE a couple months ago > As an engineer, I feel insulted. I got the impression that it's mainly CS students for which basic circuit theory is beneath them. Not neccesarily endorsing or denouncing the view, but I found it interesting.
- netsectoday 6y agoThat same sentiment is found across the Arduino forums. There's a fine-line between receiving a comprehensive and correct answer to your EE/software questions vs. getting snidely berated for being an idiot.
- detaro 6y agoYeah, there are weird currents of "we had to learn that properly, so everyone else should". Totally ignoring that the nuance just doesn't always matter, and not everybody doing things wants to get into it deep enough for it to matter, and tools enabling them to do so are not automatically bad. (Software has the same issue in similar cases)
- non-entity 6y agoYeah I've seen similar attitudes particularly in niche corners of software. In fact I read a comment just the other day about how bad contemporary programmers don't learn language the "academic" way (with no expansion on what that means) and instead by... writing code.
- taneq 6y agoI see three sides of the 'learn from the fundamentals up' argument. On the one hand, 'Real Programmers Use Butterflies'. On the other, an understanding of core algorithms and basic software design principles is really, really useful. On the gripping hand, completely self-taught rubes build incredibly useful and commercially valuable software in Excel.
- el_oni 6y agoYeah, im a chemist who learnt how to code in order to more quickly analyse my data. I later learnt how to do serial communication to log data from my instruments, and now im looking into things like arduino for "better" data logging of other variables, like temperature at different points in the reactor. I'm happy they learnt the "right" way. But I've got a different set of requirements and I've come from the top down rather than the bottom up
- Avamander 6y agoThere's a lot of elitism and gatekeeping in those communities. People are just starting out different and different is bad to many. I saw it a lot on Arduino StackExchange, but even more so when we got migrations from other StackEchange sites, some of those had mods and high-rep users that actively irrationally loathed the platform and it's users.
- pjc50 6y agoI'm a 1%er on the electronics stackexchange, and unfortunately it is pretty elitist and tends to close questions that don't fit into a narrow mould.
- jack_h 6y agoI wouldn't say it's always ego flexing per se. For instance there are still tons of embedded engineers who won't touch C++ because they think it has some sort of overhead over C, even when C++ wins out in terms of binary size, execution speed, etc. So I'd say there's plenty of ignorance going on as well. To be fair, as other commenters have pointed out, Arduino isn't always a good solution. This is the same in all of engineering though. At work we tend to use Arduinos for production tooling a lot. Our main product is decidedly not an Arduino though. We have lots of constraints though, from form factor to battery life.
- dognotdog 6y agoIMO, the problem with Arduino in production is not necessarily one of quality, but the fact that is geared towards getting the first prototype up and running as fast as possible, but is difficult to use for production where eg. real-time and safety concerns require mechanisms that aren't present or impossible to implement because the software libraries can't support them. Scheduling, real-time characteristics, safety and watchdog mechanisms, and resource management pose hard engineering problems, and are often a very unique mix for each application, and again the Arduino libraries are not typically considerate of such concerns. Add to that the usual pressures of keeping per-unit hardware costs low, to the tune of shaving a few cents off the BOM by choosing extremely constrained microcontrollers, and bending Arduino to fit those constraints becomes an unfavorable proposition. The biggest benefit of Arduino as I see it is in reducing the barrier to entry for starting a hardware project because you can just wire software and hardware modules together for a proof-of-concept, but it doesn't do much for production.