Context: My experience is in working on math implementations for bonding curves
Are there any other differences besides syntax?
There are some math operations available like square rooting but it turns out to be using the same babylonian method most solidity implementations use
Are there any features for better developer experience (besides less typing with cleaner syntax)
In 2019 I found there was an improvement in the tooling however there are issues compiling on windows without using a docker instance, but its steadily increasing and probably has
Can Vyper and Solidity interact 100% - i.e. all Solidity functions can be called from Vyper and vice versa
As long as the interfaces are preserved & the types set up then use, they are interchangeable, if in solidity you call an IERC20(Address).balanceOf()
and that address happens to be a vyper implementation, it will still work as they have the same function declarations
What is the difference in toolchain maturity: static analyzers, code coverage tools, easy of installation, documentation and so on
Personally I found it a bit more complex and even more so to involve in a build sequence.