NES and SNES homebrew tends to be programmed directly in assembly. N64 has virtually no homebrew. Gamecube and beyond tends to be written in C and C++, using toolchains written by a few select individuals who are skilled enough to make the build tools in assembly and the such.
For GBA and NDS, I would *HIGHLY* suggest looking at the Tonc tutorials. They're a bit difficult if you've never programmed in the C or C++ languages ever, but they're the easiest common link between the states off "I have an idea" and "I made a homebrew program!"
For the DS, there *is* PALib, which is a wrapper on top of the standard DS libraries that is a bit easier to understand and easier to program in, but it's an unsupported library. The creator of the DS built tools highly highly suggests against using PAlib, and it tends to break after every new release of DevKitARM/DevKitPRO.
There's also this "DS App Studio" thing which I believe is like a type of Game Maker for the DS, but with simplicity comes limitations. The easier it is to program, the harder it is to make the hardware do exactly what you want.