which IDE to use

I am just starting out with arduino, although I am a trained electronics technician and a analyst programmer in C both 20 years+

I have acquired an Arduino Uno R3 clone AND a linkIt ONE comms developoment board and some peripherals

From what I have read there are a myriad of choices for IDE.

  1. The official Arduino IDE
  2. AVR Dragon as recommended by Warwick Smith in "C Programming with Arduino". this provides direct upload of compiled/linked code as well as hardware debugging.
  3. many others....

The Arduino IDE will work with both boards the I have.
The Dragon does not directly support the LinkIt one board as a named target.
It seems to me that its likely the C programming book coding
examples will work just as well with either IDE but I will not have the debugging facilities provided by the dragon board.

What can others, more experienced than myself tell me about the various options to guide me along the way to becoming productive with minimal hassle.??

what IDE do you use at work? see if it doesn't have Arduino plugin or version

brynparrott:
2. AVR Dragon as recommended by Warwick Smith in "C Programming with Arduino". this provides direct upload of compiled/linked code as well as hardware debugging.

The AVR Dragon is not an IDE. It is a piece of hardware. It is possible to use the AVR Dragon as a programmer integrated with the Arduino IDE (but the Arduino IDE doesn't have any integrated debugger support) by using this hardware package I wrote:

But note that most Arduino boards allow you to upload over a USB connection directly to the board. A programmer is only needed for more advanced usages such as programming bare microcontroller chips or replacing the bootloader on Arduino boards. For that purpose, there are far cheaper products that have better support in the Arduino IDE. My favorite is the USBasp, which you can buy from the Chinese sellers on eBay for around $3 USD w/ free shipping. You can also turn a spare Arduino board into an "Arduino as ISP" programmer.

So the primary justification for buying an AVR Dragon is to use it as a debugger. Most Arduino users simply use serial output for debugging. In some ways, this is far inferior to using a hardware debugger, but interpreting the debugger output is difficult for a beginner, while the serial output is simple to understand.

brynparrott:
The Dragon does not directly support the LinkIt one board as a named target.

Correct. As the name indicates, the AVR Dragon is only for use with AVR architecture microcontrollers. The Uno's ATmega328P is AVR but the LinkitOne's MT2502 is not AVR.

brynparrott:
What can others, more experienced than myself tell me about the various options to guide me along the way to becoming productive with minimal hassle.??

I think the Arduino IDE provides the most gentle learning curve by far. However, for an experienced developer like yourself, the lack of features (which is one of the keys to it being beginner friendly) is frustrating. There's no harm in giving the Arduino IDE a try, but it's also good to understand that there are other excellent alternatives. Don't give up on Arduino just because you don't like the official IDE. One of the alternatives an experienced developer might like is Arduino's official command line tool, arduino-cli:

Dragon is also obsolete...
Newer near-equivalents are “atmel ice”, “pickit 4”, and “Mplab SNAP”

I second the question “what IDE do you already like?”

one alternative to the arduino IDE is the CODE BLOCKS IDE (with the AVR-GCC compiler)
then you can use some external program to burn the hex, I suggest the XLOADER for simplicity

In a class at university, they recommended to use Visual Studio Code(https://code.visualstudio.com/) with the Platform.io(https://platformio.org/) extension. And use the Arduino IDE to update the Firmware.

Why is it necessary to use the Arduino IDE to update the firmware? Doesn't PlatformIO have that capability?

VS Code + PlatformIO seems like a reasonable choice. But if you are forced to use the Arduino IDE as well, that's just a big hassle.