Most 8-bit systems perform poorly with C compilers so you are looking at writing in ASM. Additionally, there are all kinds of messy things like "mappers" on NES and GB to handle bank switching of the severely limited address space.
GBA lets you use C without bank switching. I'd say it is far easier than the older generations.
If you want to write C, that's an absolutely fair cop. I would much rather write assembly for this stuff--as I mentioned in a sibling, it sorta feels right?--so that wasn't something I was thinking about. Rather, the profusion of features that are kinda tricky (mentioned in that sibling) along with the ARM/Thumb mess.
GBA lets you use C without bank switching. I'd say it is far easier than the older generations.