Smart contract languages for Ethereum 2.0/Serenity use?

FWIW, currently all language that can be fully(or mostly) compiled to wasm are backend/system-level languages. The problem for me is that how could smart contract developer be familar with those languages such as C/C++/Rust.
That may be an issue for wasm to be popular for smart contract developing.
And also ewasm is not pure wasm, it is a subset, so the capability of ewasm to support all full-featured high level language is uncertain to me.