Vyper is a contract-oriented programming language based on python & solidity that interacts with the EVM (Ethereum Virtual Machine). Vyper was created no long after solidity and was intended to fix the shortcoming of solidity in specific areas (contract security); It does not strive to completely replace everything that can be done in Solidity; it will deliberately forbid things or make things harder if it deems fit to do so for the goal of increasing security. Its development is rooted in 3 core principles:
1) Security: It should be possible and natural to build secure smart-contracts in Vyper.
2) Language and compiler simplicity: The language and the compiler implementation should strive to be simple.
3) Auditability: Vyper code should be maximally human-readable. Furthermore, it should be maximally difficult to write misleading code. Simplicity for the reader is more important than simplicity for the writer, and simplicity for readers with low prior experience with Vyper (and low prior experience with programming in general) is particularly important.