Neo says it is more programmer friendly because it supports many programming languages like c#, Java, Python
Let's take Java for example (for the sole reason I have a deeper understanding of it).
They're compiling Java into their own OP_CODEs. Not into Java bytecode. And it does not run in the Java VM but in the Neo VM as shown in the picture above.
The argument is that this saves the programmer time to learn Neo.
Having done projects in about 20 programming languages in my long life, I don't think this saves any significant time. Why? We spend the most time learning the IDE, runtime environments and especially libraries.
In the case of Neo, only the syntax of Java is used, not the Java compiler, not the Java libraries you love.
For a programmer, it takes half a day to get a good enough understanding of a new syntax to start writing basic code.
After this half day you get to the deeper points that must be different between the Java VM and the Neo VM.
And it creates the (security) nightmare of having to understand smart contracts in different programming languages.
So does it help to support many programming languages? Yes, because all that non programmers think this is an advantage to programmers and start investing in Neo.
I'd prefer learning a new language like Solidity with specific properties that are useful in a smart contract.
What confuses me Is the Interop Service in the Neo VM:
Can I create 24 forks of the Neo blockchain by writing a smart contract that creates a different hash depending on the time zone it is mined?