here's another you may enjoy from my article "Why the Arduino Won and Why It’s Here to Stay"
“Arduino: baby-talk programming for pothead” – ArnoldB, AVRfreaks.net http://makezine.com/2011/02/10/why-the-arduino-won-and-why-i...
disclosure, i work at the open-source hardware company, adafruit and we make arduinos for arduino.cc !
Arduino, as a piece of hardware btw is a nice development kit on its own.
Everyone and especially the arduinists themselves.
> people than you might get interested in electronics as a hobby. wow.
People get interested in Arduino, not electronics; they get interested in the bling, not how it works. Instead of wasting time with Arduino, they can as well just read the datasheets.
People learn different ways and are motivated in different ways. I'm motivated to learn top down in electronics. Arduino is helpful to that crowd.
> I'm motivated to learn top down in electronics.
Very dangerous and potentially deadly approach (electric shock, battery caught fire, floating inputs cooked the processor etc.) Electronics is not programming: errors have tanible consequences.
There's definitely value in digging deeper into more fundamental components, but I wouldn't say that doing so is the only way to advance the field, and even if there's a flood of superficial hobbyists, would you argue that there are actually fewer people who learn the basics?
It stays constant, but the noise increases.
I think the real problem is Abstraction. Most things are assembled as blocks, with no idea how the blocks work. It seems like many projects today consist of, A) Take X microcontroller B) Add Y1, Y2, Yx component blocks (LCD screen, motor controller, etc.) C) Add connecting wires D) Use manufacture supplied libraries E) Add some custom code for your domain.
I don't think this is a bad thing, since all that software that you don't write yourself is available as open source and you can still dig in and see how it works if you want. I'm not a close follower of arduino, but from what I understand the low-level code and board schematics and layout are open source, so it's kind of the same idea. I don't think the processor is open source though (having the verilog code, timing constraints, layout, etc. for that would be the ideal).
I've been designing electronics and firmware professionally for my entire career. Right now I'm acting as a consultant developing a network-enabled industrial device. It's going to be powered by an Arduino simply because it's easy to do, robust enough (after I design appropriate power supply protection), and most important: enormous amounts of documentation and experience in the community means I can probably complete the entire project in less than a day of work.
That's what matters. Not some mistaken concept of "gentrification" because you're pissed off at opening up your Good ol' boys club.
That makes absolutely no difference. You can still be a bad engineer.
If you find Arduino bastardized C++ superior than AVR-GCC, you are a poor developer. Everything you can do with Arduino C++ wrapper you can do with normal C++. You'll save resources, end up with firmware, written in industrially standard language, will have better control over hardware.
> experience in the community means I can probably complete the entire project in less than a day of work.
If you after "designing electronics and firmware professionally for the entire career " still need assistance from the community for already well-documented 8-bit controller, it tells about you.
> pissed off at opening up your Good ol' boys club.
No, I am not - after all I am not an embedded developer; I am pissed that it is advertised as something it is not: not a good tool for making industrial automation, not a good tool to stay with if you decide to get involved with automation seriously. It gives a wrong idea to the student about how AVR works, it locks you in with the platform and at the same time dominates the sector.