Advantage of Arduino

bperrybap:
I think much of this discussion suffers from the lack of terms for certain items.
I've brought this up a few times in the past.
For example what does "Arduino" mean?
While accurate, people may get a strange look on their face when you say something like:
I used Arduino to program my Arduino with a program written in Arduino.

And that is the problem. There are no separate terms to refer
to the individual components such as the IDE, the tools, the board, the bootloader, the chip, the "language".
Because of this, people tend to throw around the term "Arduino" and yet it can mean different things to
different people.

To me, this makes things very difficult to have a discussion like the one occurring in this thread.

Much of the ease of use with respect to "Arduino" has very little to do with the Atmels AVR
or AVR architecture.
It is the GUI tools and libraries, documentation, examples etc, and most of that is in no
way tied to AVR.
In a sense it is the easy to use eco system around a pre-built board,
rather than any sort of specific chip or board that
makes "Arduino" a good fit for many people, including people with no embedded programming
experience.

Because the s/w eco system is open source and in no way tied to AVR, it has been ported and is now available
for use on non AVR based processors. ARM, and pic32 based boards now both have "Arduino" IDEs and "Arduino" core
libraries available for them.

So to me the Arduino vs non Arduino argument doesn't have anything to do with AVR but rather whether
or not to use the "Arduino" eco system or not. And the "Arduino" eco system includes, boards, shields, s/w libraries,
an IDE to build the code and documentation with support forums to tie it all together.

More advanced users can selectively pick and choose which of the various components of that eco system to use
and not have to use them all.

I do think that for advanced users with lots of embedded development experience,
there can be many issues and frustrations with the IDE and the build methodology, but then
the Arduino s/w is not really aimed at them.

I just wish there were some established terms to refer to the specific components within the eco system to
make discussions like this easier, as to me right now there are just too many things all called "Arduino".

--- bill

Bill -
Arduino means all those things. As in all language, context is everything. The board is an Arduino board (of which there are several versions, using several realted, but different processors.) Arduino is also the Arduino IDE which is where you load Arduino sketches to compile and transfer them to the Arduino Board. WHat is meant by a given use of the word - Arduino - is dependent an on context.

The Arduino environment is a gret way to get started and to test things out. It might be great for producing finished code, or the ATMel AVR Studio might be better. The Arduino IDE is well integrated and has quite a bit of knowledge rattling around on the web and most questions can be answered rather quickly (quickly is relative, especially when you just figured out the problem, but have no clue as to a solution...) and lets you program in C. AVR Studio will also let you program in C, but I used it to do a little programming in Assembly. Faster, Tighter code, but less help from the web.

Ans as in anything, the initial learning curve can be a bit steep. Some of that will depend on your background and some on age. I am 54 years old, but I have a background in programming from the days of the Z80. The learning curve was a bit less steep and I had a few clues about what questions to ask. A different background and that initial learning curve can look a lot different. Biggest thing is to learn how to phrase the question. (I use AutoCad. If you don't already have an idea about the tool you want to use, you spend a lot of time just figuring out what tool to ask about. Once you know what the tool name is most of the questions are answered...) Read some and try some things and ask some questions. Someone will probably have been trying something similar and will be able to help you figure out what the question really is. Most of learning is just figuring out the questions.