NEO provides smart contracts like ethereum.
We can develop NEO smart contracts using several well-known languages like C#, Java, Python, etc, so we don’t need to learn additional language like solidity.
C# is recommended by NEO as the most suitable language for smart contract development.
C/C++ is supposed to be supported in near future.