Full-stack Web Dev, Cryptocurrency enthusiast, Blockchain Evangelist
First things first, it’s called Vyper, not Viper.
Vyper is the successor to Serpent which is dead now ( *hissing fades* ). It is not yet ready to go mainstream since it’s still under development. Vyper was not created to replace Solidity, but to be used alongside since it shares the same bytecode in order to boost security.
Inspite of positive reviews pouring in for Vyper, some are questioning the need for another language to create smart contracts others are in agreement that security issues needed to be addressed.
Vyper looks logically similar to Solidity but syntactically similar to Python. It eliminates many of the Object Oriented Programming paradigms and hence requiring a new paradigm definition for transactional programming. It has eliminated class inheritance, function overloading, operator overloading, and recursion as none of these are technically necessary to create a Turing-complete language.
Should I learn Vyper instead of Solidity?
The answer is quite complicated.
Well If you want to be employed as soon as possible Solidity is the way to go. Currently, the most widely supported language out there for writing smart contracts is Solidity. It is currently the most documented and stable (um.. relatively) language out there. If you stumble upon something, there’s a huge supportive community and resources that will get you up and running.
If you’re a person who is brave enough to experiment with a new language, and don’t mind writing much simpler code, use Vyper. It’s relatively new but it can create more auditable/secure smart contracts WITHOUT the features, community support and documentation that Solidity has.
People who are pretty comfortable with Python will find the Vyper space better to breathe in. Vyper has a lot of features stripped down in order to enhance auditability. Smart contracts are supposed to be as simple and readable as possible, because these contracts can’t change and minor flaws can spell financial disaster on a massive scale.
Because of this, Vyper aims to provide the following features:
- Bounds and overflow checking
- Support for signed integers and decimal fixed point numbers
- Strong typing
- Small and understandable compiler code
- Limited support for pure functions
The majority of the developers are speculating that Vyper is going to be used alongside Solidity in the future. When Vyper is ready, you will choose to use it or to use Solidity. Ethereum is planning to use Vyper for its future smart contracts. ( Confused? So am I. Ethereum still hasn’t given any confirmation about the co-existence of Vyper and Solidity ). As far as the information flowing in as of now, Ethereum is planning to use Vyper for a majority of the future smart contracts.
Keeping in mind the simplicity and security of this language, the following features have been omitted:
- Binary fixed point
- Recursive Calling
- Operator Overloading
- Class inheritance
- Inline Assembly
- Function Overloading
- Infinite-length loops
You want me to answer the question? Honestly, I don’t know. At this point I don’t think anybody knows. There’s still a lot of time for Vyper to go live. Remember, the fittest always survive. Let’s wait it out and see what Vyper has in store for us.