Let's say I'm going to write a simple smart-contract to be executed in wasm. Is there any inherit overhead by the language I will use? In particular I'm interested of overhead between following languages:
Theoretically C++ is the most efficient language, since it is the native language for wasm, no one thinks of writing assembly by hand.
Next are Rust and Go, these probably add some overhead since they provide additional help for the programmer. TypeScript would probably add the most overhead but it really depends on the use case.
There are not a lot of benchmarks since this is all quite new. You can start with whatever language you're most comfortable with and replace with C++ if needed.
Most dApps are not complicated and you can update your code even after it is deployed.