Python因其簡(jiǎn)單易用寡痰,開發(fā)效率高而深受廣大開發(fā)者的喜愛(ài)和推崇丁侄。雖說(shuō)編程最重要的是背后的思想,但是思想的表達(dá)也是非常的重要的。Python正是這種有強(qiáng)大表達(dá)能力的語(yǔ)言妥箕。Python有句名言:Life is short, use Python.中文版是:人生苦短滥酥,我用Python∑璐保可以從一個(gè)側(cè)面來(lái)了解Python是一個(gè)高效的開發(fā)語(yǔ)言坎吻。在科學(xué)計(jì)算,網(wǎng)絡(luò)編程宇葱,人工智能等等領(lǐng)域瘦真,Python有著廣泛的應(yīng)用。最近的消息顯示Python即將被納入高考內(nèi)容黍瞧,并且Python已經(jīng)進(jìn)入小學(xué)生的教材诸尽。詳見(jiàn)csdn公眾號(hào)文章。所以說(shuō)雷逆,學(xué)習(xí)python真的是大勢(shì)所趨弦讽,沒(méi)有必要費(fèi)時(shí)費(fèi)力的勸說(shuō)別人去學(xué)Python了污尉。
? ? ? ? 以太坊智能合約功能讓以太坊火了起來(lái)膀哲,甚至帶動(dòng)了上一波的區(qū)塊鏈的牛市。以太坊也憑借它的智能合約功能坐上了區(qū)塊鏈?zhǔn)袌?chǎng)的第二把交椅的位置被碗。智能合約將會(huì)是以后區(qū)塊鏈項(xiàng)目的必備的功能某宪。但是智能合約本身卻也有許多的問(wèn)題,最明顯的就是性能和易用性問(wèn)題锐朴。以太坊的solidity智能合約語(yǔ)言在性能和易用性上都不盡如人意兴喂。智能合約語(yǔ)言的設(shè)計(jì)并不是簡(jiǎn)單的事情,但是卻又是區(qū)塊鏈?zhǔn)澜绫仨毥鉀Q的問(wèn)題焚志。既然Python這么好用衣迷,為什么不直接用Python作為智能合約語(yǔ)言呢?其實(shí)酱酬,早期的以太坊就早就已經(jīng)認(rèn)識(shí)到了這個(gè)問(wèn)題壶谒。最早的以太坊智能合約語(yǔ)言serpent就是一種類Python的語(yǔ)言,后面逐漸被solidity所替代∩殴粒現(xiàn)在以太坊又在開發(fā)vyper語(yǔ)言汗菜,也是一種類Python語(yǔ)言。github上對(duì)它的描述是:Pythonic Smart Contract Language for the EVM挑社。在github上已經(jīng)2000多start了陨界。為什么以太坊在類Python語(yǔ)言的開發(fā)上情有獨(dú)忠呢,最根本的原因還是因?yàn)镻ython好用痛阻,用戶群體廣泛菌瘪。還有一個(gè)原因是以太坊的創(chuàng)始人Vitalik Buterin是一個(gè)Python的死忠粉。實(shí)際上Python還為以太坊作出了功不可沒(méi)的貢獻(xiàn)阱当,最早期的以太坊版本就是用Python開發(fā)的俏扩,后面才有C++和Go的版本缀皱。
? ? ? ? 這里就提出來(lái)一個(gè)問(wèn)題:既然Python這么好用,為什么以太坊不直接把python作為智能合約語(yǔ)言动猬?原因是不適合啤斗。Ethereum的智能合約是基于GAS付費(fèi)模型的,需要精確的計(jì)算代碼所占的CPU和代碼操作存儲(chǔ)空間所需的花費(fèi)赁咙,以太坊稱之為GAS钮莲。而原生的Python解釋器有眾多的代碼,相對(duì)于簡(jiǎn)單的EVM虛擬機(jī)來(lái)說(shuō)彼水,要復(fù)雜很多崔拥,要計(jì)算GAS比較困難。