(IJCH) Ethereum's New Smart Contract Language (or How to ward off an Exodus and Attract More Developers)
(IJCH) Ethereum's New Smart Contract Language (or How to ward off an Exodus and Attract More Developers)
IJCH - Inside JaiChai's Head (Meaning: My Warped, Personal Opinions and Musings)
From the Author:
Salutations.
I am JaiChai.
And if I haven't had the pleasure of meeting you before, I'm delighted to make your acquaintance now.
I invite you to interact with everyone, learn, and have as much fun as possible!
For my returning online friends, "It's always great to see you again!"
Prior Knowledge Before Going Forward
Before we discuss Ethereum's new programming language, it's important to have a basic understanding of what smart contracts are, how they are carried out, and why they are significant.
So, for those that are new to smart contracts (and as a review for smart contract veterans), here's a quick, abbreviated, hyper-lesson.
Smart Contracts - A Nutshell Primer
A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible.
Smart contracts were first proposed by Nick Szabo, who coined the term, in 1994.
Proponents of smart contracts claim that many kinds of contractual clauses may be made partially or fully self-executing, self-enforcing, or both.
The aim of smart contracts is to provide security that is superior to traditional contract law and to reduce other transaction costs associated with contracting. Various cryptocurrencies have implemented types of smart contracts.
Why Smart Contracts are Important
Advantages over Traditional Contracts
Example of a Basic Smart contract
A Couple of Use Cases
(Healthcare)
(Exchange Platforms)
Advancing Complexity
Viper - Ethereum's New Smart Contract Language
Solidity is currently the main smart contract programming language of Ethereum. It was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Yoichi Hirai and several former Ethereum core contributors to enable writing smart contracts on blockchain platforms like Ethereum.
However, Solidity smart contracts are difficult to audit because of their permissive complexity.
Viper was created for the sole purpose of readability and simplicity. It was modeled after the highly popular Python programming language; using much of the same syntax, objects, libraries, etc.
This means that the huge base of Python users can feel right at home developing smart contracts with Viper.
Similar to Solidity, Viper is a general-purpose programming language that compiles down to EVM (Ethereum Virtual Machine) bytecode.
But unlike Solidity, Viper greatly simplifies smart contract development to create easier-to-understand Smart Contracts which are much more transparent and is far less vulnerable to attack (less entry points for attackers).
The trade-off for Viper's ease of use is the sacrificing of versatility. It is minimalistic, lacks flexibility, and small in scope. It is meant for basic use cases only (e.g., two-party smart contracts).
In other words, Viper can’t handle the complexity of full-fledged DApps.
Let me state this again:
Viper is not suitable for DApp development. DApps still require coding in Solidity.
Warding Off an Exodus and Attracting More Developers
In the beginning, Ethereum was the only game in town, the lone platform for launching smart contracts.
This meant that, instead of coding in a language that was more familiar and comfortable for them to use, smart contract developers were forced to learn and use Ethereum's Solidity.
Such edicts routinely leave a bad taste in the mouths of most programmers who are, by and large, made up of independent, freedom minded individuals.
And history shows that it leads to the search for alternatives to supplant "The Man" just out of sheer rebellion (a la the early cyberpunks and of course, Sataoshi Nakamoto).
Then NEO came along with its main selling point of being a multiple language supporting smart contract platform.
This freed developers from the bondage of Solidity.
...Then NEO sayeth, "Let My People Go!"
Ethereum hopes Viper can be a solution for multiple issues.
It's a response to the longstanding complaints surrounding Solidity's complexity and proprietary nature.
It may prevent an exodus of current smart contract developers.
And it increases the chance of attracting new developers to the Ethereum platform - especially those familiar with Python.
Prediction: Full Court Press Imminent
Since Viper has the backing of all the top brass at Ethereum and its community, there's no doubt in my mind that a blitzkrieg of pro-Viper crypto articles are soon to be forthcoming.
And all them will be pitching Viper's "Python-like simplicity and EVM compatibility".
Who knows?
Viper might just do the trick and bolster Ethereum's retention and recruitment of smart contract developers.
On the other hand, Viper could soon be a moot point - Too Little, Too Late...
The Rise of Rival Platforms
As mentioned earlier, in response to Ethereum's Solidity requirement, NEO appeared on the scene.
Nowadays, developers can choose from a growing group of smart contract platforms.
In addition to NEO, here's a few - in no particular order - of the rival platforms threatening Ethereum's supremacy in the smart contract platform space:
Parting Thoughts
Make no mistake. Ethereum still reigns supreme in the smart contract platform space.
And there will always be hacker-turned-wannabe smart contract developers who will voluntarily enter the hallowed gates of the Ethereum Kingdom - only to realize that it's not the wonderland they had imagined.
The reality of Solidity and GAS fees force many of them to abandon their dreams of launching their DApps.
But...IMHO, cracks are beginning to form on Ethereum's glass palace.
The initial draconian "Solidity Decree" was bad juju from the beginning. Signs of impending revolt may have been neglected too long.
Briefcase in hand, disillusioned developers are jumping ship.
And even the allure of Viper may not be enough to persuade fresh, new smart contract programmers into developing smart contracts for deployment on the Ethereum platform.
By JaiChai
Mighty Kind of You for stopping by.
Truly hope to see you again!
About the Author
Believing that school was too boring, he dropped out of High School early; only to earn an AA, BS and MBA in less than 4 years much later in life – while working full-time as a Navy/Marine Corps Medic.
In spite of a fear of heights and deep water, he performed high altitude, free-fall parachute jumps and hazardous diving ops in deep, open ocean water.
After 24 years of active duty, he retired in Asia.
Since then, he's been a full-time, single papa and actively pursuing his varied passions (Writing, Disruptive Technology, Computer Science and Cryptocurrency - plus more hobbies too boring or bizarre for most folk).
He lives on an island paradise with his teenage daughter, longtime girlfriend and three dogs.
I wish i understood this more, great graphics and my favorite was moses "let my people go." LOL
hope all is well and you are kicking ass down there!!
blessings,
eagle
Thank you very much visiting and commenting.
Namaste, jaichai
@jaichai you are very welcome, and i'm always impressed by how much work you put into your posts!
Appreciate your generously kind words.
Namaste, Jaichai
@jaichai you are very welcome. happy weekend.
Coins mentioned in post:
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by JaiChai from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.
Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 3 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.
I upvoted your contribution because to my mind your post is at least 22 SBD worth and should receive 183 votes. It's now up to the lovely Steemit community to make this come true.
I am
TrufflePig
, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!Have a nice day and sincerely yours,
TrufflePig
haha your "allure of the viper" graphic was too funny
Thanks, man. Glad you liked it.
Namaste, JaiChai