Depends on the hardware. Parallax's Basic Stamps are programmed in PBasic. The SX chips can also be programmed in ASM. Propellers are programmed in SPIN or ASM. The Javalin is programmed in Java. PICs are programmed in their respective ASMes.
Generally the various microcontrollers have limited memory. Even if you can program them in a high level language, the programs generally are not extremely large and complex. If you need that sort of thing (large and complex), then you use some kind of embedded PC sort of thing, often a Linux implementation with a couple of megabytes of memory and several gigabytes of flash storage as a hard disk equivalent. In cases like that, you might program in C++ or LISP or perhaps a combination of several pieces in different languages.
In general, you ARE using some kind of a kit. If you're completely "rolling your own", then you use whatever tools the Microprocessor vendor has available. But "rolling your own" is a really expensive, time-consuming, and error-prone way to go about it.
Especially when you can get a BOE-Bot for $200 or less, use the BS2 PBasic language (which is nicely simple) try some stuff out, and upgrade the 24-pin module if you absolutely have to in the future.
Having said that, most Microprocessor tool chains are based on C, not C++. When you have a small micro with 64 KBytes or less (sometimes MUCH less) of code space, you don't want to be futzing about with Object Oriented over-head.
Comments
Especially when you can get a BOE-Bot for $200 or less, use the BS2 PBasic language (which is nicely simple) try some stuff out, and upgrade the 24-pin module if you absolutely have to in the future.
Having said that, most Microprocessor tool chains are based on C, not C++. When you have a small micro with 64 KBytes or less (sometimes MUCH less) of code space, you don't want to be futzing about with Object Oriented over-head.