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.