Which processor is beginner friendly?

My first experience with programming involved mailing punch cards to a computer for batch processing. The results of the run would show up about a week later; the least desirable result was finding out there was a syntax error in one of the cards. I moved up in the world when we gained access to a teletype that allowed us to enter the programs directly to the computer; however, neither of these experiences hinted at the true complexity that embedded programming would entail.

The Z80 was the first processor that I worked with that truly exposed the innards of the processor to me. A key reason for this was the substantial hobbyist community that had grown up around the Z80. I had (and still have in storage) a cornucopia of technical documents that exposed in detail every part of the system and ways to use them effectively. When I look back on those memories I marvel at the amount of information that was available despite the lack of any online connectivity – or in other words, no internet.

I found significant value in being able to examine other people’s code in real use applications. Today’s development support often includes application notes and sample code that addresses a wide range of use cases for a target processor. Online developer communities provide a valuable opportunity for developer’s to find example material, but even better, be able to query the community for examples of how to address a specific function with that target processor.

I would like to confirm that the specific capabilities of the processor are less important (because they all provide a minimum good set of functions) and that good development tools, tutorials and sample code, as well as responsive developer community support are more critical to a beginner.

Which processor (or processors) do you find to be beginner friendly or provide the right set of development support that make getting started with the processor faster and easier? Does using an RTOS, operating system, and/or middleware make this easier or harder? Which processors are the best examples of the type of developer community support you find most valuable?

This entry was posted
on Wednesday, March 14th, 2012 at 4:22 pm and is filed under Question of the Week, Software Techniques.
You can follow any responses to this entry through the RSS 2.0 feed.
You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses to “Which processor is beginner friendly?”

When someone asks me how to get started I point to the BASIC Stamp modules and boards from Parallax. This company has a wide variety of educational hardware and software second to none. If someone wants to program right away in C/C++, the Arduino Uno and Digilent UNO32 boards and information will give them a good start. I also recommend the ARM mbed board. Many books written to help beginners with C/C++ programs focus on PC-based applications and examples, so people just getting started should look for software examples and books specific to the device they want to use. I always recommend “Practical C Programming,” by Steve Oualline as a solid introduction to C.

Many people use Microchip PIC processors, but for a beginner, the tools and tutorials from Microchip can seem difficult to use. So I recommend the Flowcode software from Matrix Multimedia. This company sells a universal PIC programmer board (about $US 90) that will connect with optional E-Block modules. Or the user can wire up his or her own circuits.