# Solidity 和 Python/Java 有什么区别？为什么以太坊使用 Solidity 而不是像其他区块链一样使用 Python/Java？

By [Untitled](https://paragraph.com/@0x63f168bf6bbab4a0e14b61a917a0b5b99c358e78) · 2023-07-07

---

Solidity 是一种智能合约编程语言，旨在在以太坊区块链上实现智能合约[\[1\]](https://blog.logrocket.com/smart-contract-programming-languages/)[\[5\]](https://www.geeksforgeeks.org/introduction-to-solidity/)。它是基于 C++、Python 和 JavaScript 等现有编程语言开发的，因此它使用这些语言中相似的语言结构[\[1\]](https://blog.logrocket.com/smart-contract-programming-languages/)。Solidity 深受运行在以太坊虚拟机（EVM）上的 Python、C++ 和 JavaScript 的影响[\[5\]](https://www.geeksforgeeks.org/introduction-to-solidity/)。Solidity 支持复杂的用户定义编程、库和继承。Solidity 是区块链运行平台的主要语言。Solidity 可用于创建投票、盲拍、众筹、多重签名钱包等合约。[\[5\]](https://www.geeksforgeeks.org/introduction-to-solidity/)。

Python 和 Java 也是可用于编写区块链应用程序的流行编程语言[\[3\]](https://www.blockchain-council.org/blockchain/java-or-python-which-suits-blockchain-better/)[\[4\]](https://www.edureka.co/community/523/blockchain-programming-languages-different-programming)。Java 以其速度、可扩展性和可维护性而闻名。它对于以太坊客户端等大型应用程序特别有用[\[3\]](https://www.blockchain-council.org/blockchain/java-or-python-which-suits-blockchain-better/)。使用 Java 的其他一些区块链平台和项目包括 IBMBlockchain Ethereum Neo 的合约 BitcoinJ Hyperledger 的合约[\[3\]](https://www.blockchain-council.org/blockchain/java-or-python-which-suits-blockchain-better/)。Python 近年来变得越来越流行，因为它易于使用并且能够用不到 50 行代码创建简单的区块链[\[3\]](https://www.blockchain-council.org/blockchain/java-or-python-which-suits-blockchain-better/)。它简化了构建块并将它们连接在一起的工作。Python拥有大量的库，使得快速开发区块链应用变得更加容易[\[3\]](https://www.blockchain-council.org/blockchain/java-or-python-which-suits-blockchain-better/)。

Solidity 在几个方面与 Python 和 Java 不同。首先，Solidity 是专门为在以太坊区块链上编写智能合约而设计的，而 Python 和 Java 的设计并未考虑到此目的[\[1\]](https://blog.logrocket.com/smart-contract-programming-languages/)[\[4\]](https://www.edureka.co/community/523/blockchain-programming-languages-different-programming)[\[5\]](https://www.geeksforgeeks.org/introduction-to-solidity/)。其次，Solidity 运行在以太坊虚拟机（EVM）上，该虚拟机在以太坊网络上执行智能合约。相比之下，Python和Java没有自己专门为执行智能合约而设计的虚拟机[\[1\]](https://blog.logrocket.com/smart-contract-programming-languages/)[\[4\]](https://www.edureka.co/community/523/blockchain-programming-languages-different-programming)[\[5\]](https://www.geeksforgeeks.org/introduction-to-solidity/)。

以太坊使用 Solidity 而不是 Python 或 Java，因为它是专门为在以太坊网络上编写智能合约而设计的。此外，由于 Solidity 运行在 EVM 上，直接在以太坊网络上执行智能合约，无需任何中介或第三方参与两方之间的交易，因此比使用中介或第三方的其他区块链更加安全 \[2 [\]](https://bora.uib.no/bora-xmlui/bitstream/handle/11250/3021967/AnalyzingSoliditySmartContracts.pdf?isAllowed=y&sequence=1)。

---

*Originally published on [Untitled](https://paragraph.com/@0x63f168bf6bbab4a0e14b61a917a0b5b99c358e78/solidity-python-java-solidity-python-java)*
