This post ties into
https://www.eevblog.com/forum/microcontrollers/rip-z80I pretty much agree with the crowd here. As programmers, we know I need to know about bus width, but it's generally true that *most* of the time, we don't have to deeply care. Sure, alignment constraints on memcpy-style interfaces are examples of things we sometimes have to know about, but we're probably not deeply designing around them.
Pentium Pro adding PAE did not mean that even those of us building the VM systems in OSes at that time ever started thinking of them as 36-bit computers.
My shortest answer (with excuses) would start with "about the size of void*, in bits". That's the size of registers for additions or masks or whatever for ints and longs in MOST sane architectures. (long long is intentionally not invited to this formula.)
To amplify a problem that Berni touched on, another reason for C developers to hate 8-bitters is that the compilers such both because the architecture often sucks (sdcc or cc65 is impressive that it can run C at all, but when you have only three registers, it's not like calling functions with values in registers would be practical even if you can get over no register being able to hold anything larger than a char...) and because the compilers themselves are just mutants. They're usually buggy, are feature-impoverished, never really standard compliant, have poorly implemented asm() facilities if they have it at all, are paired with terrible libc-like features and more.
Contrast that to the CH32V003 family of parts that have been well discussed here. There's still not a great match for the dual-core RP2040 or ESP32 (far beyond the 8-bitters in question) but single-core devices from WCH and even Espressif (especially if you need radios anyway...) have lots of options that price well against comparable parts and are down solidly into the land of 8-bit micros. CH32V003 has fifteen 32-bit (mostly) general-purpose registers and a sensible, well-documented ABI. As a programmer, you don't have to care about near vs far data or zero page or whether the arg list exceeds available calling registers. Software floating point libraries are part of the toolchain and have been heavily exercised.
For those cases where pennies DO count, it's really sweet to be able to use a current, stable, supported, often pre-installed version of the entire current GNU development stack (including libg++ if you're suitably disciplined) or (probably) LLVM toolchains. You can ignore WCH's hacked up versions of compilers and extensions to RISC-V itself like the fast interrupt stuff if you don't need them. If you do, those things are documented well enough that they're usable and you can make an informed choice on whether moving to a vendor branch or staying on mainline tools is right for your project.
There's a LOT of value in sitting an engineering team down on day 0 and starting with 'apt-get riscv-g++' (whatever) and knowing that you're using normal C/C++ tools that are actively maintained, have been actually run through performance and regression tests, and have been used by others to build complete operating systems, browsers, and such. Sure, the RV32E path isn't quite as well traveled as RV64, but the front-ends, middle layers like optimization passes, and most of actual opcode handling is shared with the big boys. Your team doesn't have to relearn "ISO C[++]"; they can rely on the skills they've built over decades.
I totally respect the retro projects and understand why they have to live in their respective worlds. Go nuts! I just can't imagine starting an 8051, PIC, STM8 or AVR project in modern times. Being able to rely on sensible pointers, data structures, debuggers, and generally very well-supported tools just makes suffering new projects on those needless
for most cases. I know that the "but, aksually" guy will be along soon enough to explain why his company's alarm clock HAS to ship on some tortured tools forever and that's fine. There may be no value in replacing work you've already paid for, but just don't torture yourself (or worse, your team) with goofy tools when you don't have to any more.
I hope to never again program on hacked up Intel, Atmel, or other vendor-specific 8-bit (or honestly, other) toolchain. The economics of RISC-V at the low end should hopefully starve out that development in a mere 25-40 years. :-|
P.S. I know that Paduk exists. That's just another SDCC target and while it might solve the formula for the value of "cheap", leaves open the issue of "well supported by mainline, quality tools".