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 referto 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 todifferent 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 AVRor AVR architecture.It is the GUI tools and libraries, documentation, examples etc, and most of that is in noway 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 thatmakes "Arduino" a good fit for many people, including people with no embedded programmingexperience.

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

So to me the Arduino vs non Arduino argument doesn't have anything to do with AVR but rather whetheror 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 useand 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 thenthe 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 tomake discussions like this easier, as to me right now there are just too many things all called "Arduino".

All that is very well argued and there is very little with which I would disagree, but the fact remains that an nth party simulator is producing an error message.The OP would be better off asking whoever supports that simulator what the message means.

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.Do not send technical questions via personal messaging - they will be ignored.

Arduino's biggest advantage is that it allows a user to code without looking at the datasheet;

Which is a key to allow newcomers to programming and electronics to be productive much quicker on actually accomplishing something with their Arduino projects. They don't need a datasheet to master making some leds blink as they wish, and to many that is a goal worth reaching before having to mastering reading datasheet.

Arduino's biggest disadvantage is that it allows a user to code without looking at the datasheet.

As newcomer's project become more complex and ambitious they will come to understand the need to learn about datasheets and they will be more motivated because they have an immediate need to.

Why make the entry cost in time and learning effort so high as to have many give up in frustration? The Arduino is about enabling ordinary people to do stuff quickly and easily and build upon early successes.