Vyper: The New Ethereum Language

Scroll down to content

Vyper is the new Ethereum language that compiles down to Ethereum Virtual Machine bytecode, similar to Solidity, but in a simplified process to create a better understanding for both parties. Although it does not have all the features that are present in Solidity, it deliberately cuts things out to increase security. The language was created to be simple for quick understanding and easily readable so as to avoid misleading code. This way, Vyper was made with the goal of high security, language and compiler simplicity, and audit-ability.

hitesh-choudhary-666995-unsplash

While Vyper may have syntactical similarities to Python and logical similarities to Solidity, many of the Object Orientated Programming aspects are taken out on purpose. Vyper does not allow modifiers because it makes it too easy to write misleading code. It encourages developers to write code where execution jumps around and can harm audit-ability. Class inheritance has also been cut as it requires people to jump between files to understand what a single program is doing, which can cause confusion if they do not have a strong grasp on precedence in conflicts. Another aspect that easily causes confusion is function overloading and operator overloading. Writers and readers can easily be misled on which call referred to which function or if that operator actually means what it usually means. Since recursive calling and infinite length loops cannot set upper bounds on the gas limits, it can be an opening for gas limit attacks and are also not included in the Vyper language. Vyper prefers the decimal fixed point over the binary fixed point since any decimal fixed point value has an exact representation in the code.

There has already been positive feedback on the Reddit Ethereum community as people praise Vyper for its simplicity in reading/writing to limit opportunities to mess up and cost people money.

Photo by Thought Catalog on Unsplash
Photo by Hitesh Choudhary on Unsplash

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: