7 ms·
My colleagues have developed a "spitting noise" ritual after any utterance of the word "Arduino" (<hock> ptui). As embedded developers attempting to teach othe
by ajarmst 9y ago
My colleagues have developed a "spitting noise" ritual after any utterance of the word "Arduino" (<hock> ptui). As embedded developers attempting to teach others, they're not enamored of Arduino's burgeoning, and dominant, market of "people who want to do embedded development but not learn anything about embedded development" sucking up all the oxygen. I know, that's an oversimplification, but not as much of one as I could wish.
I don't want to wish anyone ill, but the emergence and success of competitors that don't go so far out of the way to hide the complexity (and the need for good practice) of working with embedded systems and SBCs, wouldn't be such a bad addition to the ecosystem.
(As one of two developers who actually fool around with Arduinos and Pis a fair bit (although I detest the Arduino dev environment and 'sketches'), I'm tired of all the vandalism and graffiti in my cubicle, TBH).
- StavrosK 9y agoI understand your point, but there is a good middle ground for people. As a software developer, I was amazed the first time I connected a LED to the RPi's GPIOs and made it blink with software. From that, I moved to an Arduino, with its Lego style shields, and to an ESP8266 and my own PCBs. I don't think the Arduino is just for people who don't want to learn anything about embedded. Those people exist, but it's good that they can do stuff with hardware without learning. The people who do want to learn, will learn faster with the Arduino ecosystem than without it. That said, the Dev environment sucks, PlatformIO all the way.
- ajarmst 9y agoThat's a fair point, (and +1 for PlatformIO). And that is sort of the argument I sometimes find myself making: the Arduino Hardware is delightful. It's the ecosystem that has emerged around hobbyists that is problematic. It may just be early teething pains of something that will become remarkable. But right now, we find ourselves spending a lot of time walking back bad habits and lack of understanding of fundamentals when students show up with "projects" that involve a "schematic" that is really just a photograph of a breadboard, and the introduction of complex parts without ever consulting a data sheet, based on random code just pulled down over the Internet. And I've seen commercial products that are at about the same level of quality. The problem may be that Arduino is too forgiving.
- ajarmst 9y agoI've made the argument that the Arduino is great for quick and dirty projects (a colleague builds stuff for Escape Rooms that only ever exist for a few months using them), and for trying out ideas when you already know what you're doing. They're less valuable as a tool for learning that stuff, if only because of the Wild West nature of the ecosystem.
- lutorm 9y agoLearning by experimentation is a perfectly valid way of learning. You can't force people to learn in depth but, if you want to, there's no problem gradually deepening your understanding over time by trying stuff and thinking about it.
- dec0dedab0de 9y agoThe problem may be that Arduino is too forgiving. Isn't that the same argument for using xml over html?
- ajarmst 9y agoIt's the same argument for putting Republicans instead of Democrats on the bench. Whether or not you find that argument compelling doesn't really affect whether you find another one similarly structured to be similarly so.
- lucaspiller 9y agos/Arduino/Node.js/g It's exactly the same problem. These platforms make it really easy (too easy?) for people who don't really know what they are doing, to quickly build up something that is functional, but without then understand the underlying concepts. Grab this library, copy and paste from this tutorial, change a few lines and boom! You have a blog or IoT weather station.
- watwut 9y agoAnd that is bad because?
- analog31 9y agoI've been all over the map on this issue. I've hand-assembled 6502 code, written assembly language for PIC chips, and C code using Microchip IDE. I've hand-wired my own development boards, that I etched myself. Today I use the Arduino IDE and one of the Teensy boards. I doubt I'd be happy with that setup for large projects, but it's perfect for what I'm doing right now, using the microcontroller practically as a glorified GPIO for a PC. You can use "pure" GCC to program the Teensy, but I'm not sure that I need to care at this point. For the general population, I just like the idea that the Arduino and RPi ecosystems have practically revived the electronics hobby, and expanded the number of people who are interested in getting into programming. It's still a hobby, but it's a great hobby, and I admire hobbyists.
- zer00eyz 9y agoLets view what your saying through another lens: My colleagues have developed a "spitting noise" ritual after any utterance of the word "PC" (<hock> ptui). As MAINFRAME developers attempting to teach others, they're not enamored of PC's burgeoning, and dominant, market of "people who want to do COMPUTER development but not learn anything about MAINFRAME development" sucking up all the oxygen. I know, that's an oversimplification, but not as much of one as I could wish. I don't want to wish anyone ill, but the emergence and success of competitors that don't go so far out of the way to hide the complexity (and the need for good practice) of working with COMPUTERS systems and MAINFRAMES, wouldn't be such a bad addition to the ecosystem. (As one of two developers who actually fool around with PC's and APPLES a fair bit (although I detest the APPLE dev environment and 'PRODOS'), I'm tired of all the vandalism and graffiti in my cubicle, TBH). Am I suggesting that this is going to be how things turn out? No probably not. It baffles me that many people who code, have little to no understand of their mainframe roots and commit sins that were solved ages ago. However some of this reaction is to the simplification and replacement of technology with things that are more affordable and more in reach even if they aren't the same.
- d215 9y ago+1 for ProDOS
- ajarmst 9y agoThere's another plane on which the analogy fails: the first generation of PC enthusiasts were working with a genuinely new thing. The consumer/hobbyist-grade hardware that the introduction of the 4004/8008/6502 made possible was quite literally impossible only a few years prior. And there was good competition (OK, we Apple ][ folks despised the 'Trash-80', and everyone looked askance when the Commodore 64 with its glitzy marketing toward people who didn't even own soldering irons showed up, but we peripherally recognized each other as factions of the same tribe, and there were options). Neither of those things is true of the Arduino. I learned how to design simple control systems on Microsequence Controllers ancestral to the AVR more than thirty years ago. And the techniques I learned there still apply to the more sophisticated chips available now. Even the hobbyist platform stuff isn't new. I was wire-wrapping DIP 650*'s into perf-board in the early 1990's, and I built an HC11 model rocket launch controller for my kid the better part of two decades ago. And I know more than a dozen people, not all of them professional engineers, many with only two-year college diplomas who were doing sophisticated hobbyist projects well before the turn of the millennium. The Arduino isn't analogous to the Apple ][. We had to learn how to program in BASIC and needed to know what a memory map was. It's analogous to Windows 95: a well-engineered product that completely dominates the market, establishes that you don't really need to know anything, and stifles innovation.
- deleted 9y ago[deleted]
- sfifs 9y ago"Embedded developers" are really not Arduino's target audience. It's always been a platform for expanding the market of electronics hobbyists some of whom go on to learn more of the underlying chip features if they do something more serious. On the other hand if you are in the business of selling embedded development education to newbies, then you need to realize that Arduino is outcompeting you - like iPhone destroyed the old Windows smartphones.
- smarinov 9y agoThe old Symbian* smartphones. Just a detail, I know, but as far as I remember, I changed few Symbian devices before the iPhone came out and I hopped over Android soon after. I can't really recall there being any Windows phones back then. This is just how popular Symbian was in that period of time. If there were any Windows devices (forgive my ignorance), they were definitely not nearly as popular to make a mention of iPhone killing them instead of e.g Symbian ones. Just my 2¢, but the crux of your argument doesn't change, so you got a +1 from me for it. :)
- theoh 9y agoWhat about "Pocket PC"? I remember the Compaq IPaq having a high profile back then (2001). Edit: maybe a more valid example is the O2 XDA "Windows Mobile" phone/PDA (2003)
- std_throwaway 9y agoIf something looks stupid but does the work, it's not stupid.
- fivestar 9y agoHa, I bet that is annoying to deal with. The things are fun, but they are basically toys.
- JangoSteve 9y ago> As embedded developers attempting to teach others, they're not enamored of Arduino's burgeoning, and dominant, market of "people who want to do embedded development but not learn anything about embedded development" sucking up all the oxygen. I don't think oxygen is the finite resource your colleagues think it is in this metaphor. Why in the world would they not want something that lowers the barrier to getting more people involved with things like embedded development? Some of those people may even go on to start learning more about embedded development. It's so much better than keeping the barrier to entry high, thus discouraging people to get into it and learning more about how the world around them works. Would we rather people continue to have no context about what we do and treating electronics like a black box? And who cares if they don't actually want to learn more than they need to about embedded development? Just as your colleagues spent their lives becoming experts and doing embedded development for a living (I'm presuming), others chose rather to spend their careers elsewhere. Everyone has different priorities and tradeoffs to consider vying for their time. Any time we can allow people to accomplish more with less, possibilities open up with the time we do have.
- pdabbadabba 9y ago> sucking up all the oxygen Could you say a bit about what you mean by this? It's not at all clear to me why it matters to those who do "real" embedded development that there are hobbyists out there using a simplified platform (and, yes, perhaps developing some bad habits). This is not to say I disagree, necessarily, that a competing platform that better introduces users to the complexities of embedded systems would be a bad thing. Though I'll also add that, as someone whose day-to-day work is very from from embedded development (I'm a lawyer), the Arduino platform has been great for leading me slowly into this world. I'm still a newb, but I've learned far more about embedded systems (and electrical engineering) than I think I ever would have otherwise. Personally, I think Arduino is a great way to learn both the basics and the complexities--you can accomplish something in a "rough and ready" way very very quickly, and then incrementally delve into the complexities as your interests (and needs of your project) demand.
- bborud 9y agoAs a software developer who has been doing hardware for a while I have to say I'm both unimpressed with the toolchains for embedded and the kind of software developers produce. Honestly: it is like you shed 30 IQ points and went 25 years back in time. Of course embedded sucks and is hard: people think this brittle, shitty mess is a sign of cleverness and that this is how it should be. Don't shit on Arduino for being old tech and attracting the plebs. It contributes to increasing the size of the audience which might in turn mean the embedded world becomes more professionalized when it comes to software. Because it sure as fuck is no fun to rewrite stuff all the time because the embedded industry tends to hire shit software people.