I would like to know programming languages to write smart contracts in Ethereum!
Reliability of This Article
by Our Founder/CEO&CTO Hiroyuki Chishiro
- He has been involved in 12 years of research on real-time systems.
- He teaches OS (Linux kernel) in English at the University of Tokyo.
- From September 2012 to August 2013, he was a visiting researcher at the Department of Computer Science, the University of North Carolina at Chapel Hill (UNC), Chapel Hill, North Carolina, United States. He has been involved in research and development of real-time Linux in C language.
- He has experienced in more than 15 years of programming languages: C/C++, Python, Solidity/Vyper, Java, Ruby, Go, Rust, D, HTML/CSS/JS/PHP, MATLAB, Verse (UEFN), Assembler (x64, ARM).
- While a faculty member at the University of Tokyo, he developed the "Extension of LLVM Compiler" in C++ language and his own real-time OS "Mcube Kernel" in C language, which he published as open source on GitHub.
- In January 2020-Present, he is CTO of Guarantee Happiness LLC, Chapel Hill, North Carolina, United States, in charge of e-commerce site development and web/social network marketing. In June 2022-Present, he is CEO&CTO of Japanese Tar Heel, Inc. in Chapel Hill, North Carolina, United States.
- We have been engaged in disseminating useful information on AI and Crypto (Web3).
- We have written more than 20 articles on AI including AI chatbots such as ChatGPT, Auto-GPT, Gemini (formerly Bard). He has experience in contract work as a prompt engineer, manager, and quality assurance (QA) for several companies in San Francisco, United States (Silicon Valley in the broadest sense of the word).
- We have written more than 40 articles on cryptocurrency (including smart contract programming). He has experience as an outsourced translator of English articles on cryptocurrency into Japanese for a company in London, England.
You can learn from us.
If you would like to know the recommended job sites for Blockchain Engineers, please click the following.
Table of Contents
What are Programming Languages to Write Smart Contracts in Ethereum?
The following programming languages are available to write smart contracts in Ethereum.
- Solidity: A procedural programming language developed in August 2014 with a syntax similar to JavaScript, C++, Python, and Eiffel (the most famous)
- LLL (Low-level Lisp-like Language): a functional programming language with a Lisp-like syntax (the first high-level programming language for smart contracts, but now largely unused)
- Serpent: procedural programming language with Python-like syntax (currently deprecated)
- Vyper: a successor to Serpent developed in 2017, a contract-oriented procedural programming language with Python-like syntax
- Bamboo: programming language with explicit state transitions developed in 2017 (currently believed to be deprecated)
- Fe: programming language with Rust-like syntax developed in 2020 (alpha version as of 2023)
- Huff: A low-level programming language designed for developing highly optimized smart contracts running on EVMs developed in 2022. Huff does not hide the internal structure of EVM, but instead exposes its programming stack to the developer, allowing it to be manipulated manually.
Solidity and Vyper are the leading programming languages for writing smart contracts in the above.
Solidity vs. Vyper
If you would like to learn Solidity and Vyper, read the following.
The following table is Solidity vs. Vyper!
Item | Solidity | Vyper |
---|---|---|
Programming Language Concepts | Flexibility (with emphasis on efficiency) | Accuracy (safety is important) |
Inline Assembler | Allowed | Not Allowed |
Qualifier | Allowed | Not Allowed |
Class Polymorphism, Multiple Inheritance, and Function and Operator Overloading | Allowed | Not Allowed |
Recursive Calls to Functions | Allowed | Not Allowed |
Implicit Cast | Allowed | Not Allowed |
Binary Fixed-Point Number | Allowed | Not Allowed (NOTE: allowed in Earlier Version) |
Smart Contract File Structure | No File Restriction | Composed of Single File |
There is also a detailed version-by-version comparison on the Solidity & Vyper Cheat Sheet.
Click the following to watch videos comparing Solidity and Vyper.
Summary
We introduced programming languages that can write smart contracts in Ethereum.
Solidity and Vyper are the leading programming languages for writing smart contracts.
If you would like to know the recommended job sites for Blockchain Engineers, please click the following.