The 51 is a very powerful device. Often its resources only used 10% or less.
Then a high level language can make programming more comfortable.
Unfortunately C compilers are very expensive. I wonder why the compiler
companies only want sell very small quantities to professional users. Then
also they must add protection to these expensive products. But they give
additional trouble to the regular users (The big fights: dongle versus
Windows-NT, dongle versus printer, dongle versus scanner ...).
The live can be very easier if they would sell millions of low priced dongle
free compilers like in the 8086 world.
You can write in C on a AT8051 with 1kB Flash and 64Byte RAM. But definitively
only "hello world".
I have finished 3 short projects (below 1000 lines) and continued a bigger.
The 3 lower need always over 5kByte Flash and up to 256 Byte RAM,
the big project need a 64kByte EPROM and also external RAM of 32KByte.
So I think for starting with C a 80C52 device with 8KByte ROM and 256
Byte RAM is recommended.
There are some tasks, which can not be done in C. So its recommended to use a compiler which can allow to link C and assembler objects together.