I am wondering why it was necessary to develop a whole new programming language for smart contracts. Stratis for example claims that C# can be used to write smart contracts. Couldn't Ethereum implement a compiler for any programming language? What is the advantage of Solidity over say C# etc?
-
If anyone feels that this question should be duped to the first link in my answer, please go ahead and flag. I was undecided :-) – Richard Horrocks Jun 12 '17 at 17:58
Couldn't Ethereum implement a compiler for any programming language?
Yes. But it'd have to produce EVM (Ethereum Virtual Machine) bytecode.
With regards to the rest of your question, this should cover it: How was Solidity conceived and what design tradeoffs were made when building it?
Why invent the EVM? That's covered here: What was the reason to invent the EVM?