這名開發(fā)人員正在將Python塞入微控制器
目前,Python是最流行的編程語言之一,。它以大量的實(shí)用程序庫而聞名,,而且作為一種動(dòng)態(tài)編程語言,,Python程序的調(diào)試速度比那些必須在執(zhí)行前進(jìn)行編譯的程序更快。Instagram,、谷歌,、聲田(Spotify)和YouTube等公司都在使用Python。
在Python繼續(xù)統(tǒng)治桌面和云領(lǐng)域的同時(shí),微型Python(MicroPython)和電路Python(CircuitPython)兩個(gè)陣營正在為以硬件為中心的嵌入式項(xiàng)目開發(fā)解釋語言版本,,如基于微控制器的小產(chǎn)品,。從傳統(tǒng)上來說,嵌入式硬件嚴(yán)格的計(jì)算約束條件有利于編譯語言,,但更強(qiáng)大的微控制器正在改變這種局面,。
開源硬件公司阿德弗里特工業(yè)公司的斯科特?肖克羅夫特(Scott Shawcroft)領(lǐng)導(dǎo)了電路Python的開發(fā)。阿德弗里特工業(yè)公司的首席執(zhí)行官利莫?弗里德(Limor Fried)是本刊編輯顧問委員會(huì)的成員,,但她沒有參與本文的編寫,。
肖克羅夫特說:“(阿德弗里特工業(yè)公司的)目標(biāo)用戶是那些從未編寫過程序的人?!彼€解釋道,,電路Python能夠讓簡單項(xiàng)目的運(yùn)行更容易?!拔蚁矚g人們直接參與,。”
肖克羅夫特說,,他十幾歲時(shí)就對編程產(chǎn)生了興趣,,他是“第一代通過Web進(jìn)入涉足編程的人”。在攻讀計(jì)算機(jī)工程學(xué)位期間,,肖克羅夫特曾在知識(shí)共享組織(Creative Commons)和谷歌實(shí)習(xí),。2009年,他加入了谷歌地圖團(tuán)隊(duì),,之后在那里工作了6年,。2015年他從谷歌離職,成立了一家無人機(jī)飛行控制器公司,?!?016年我們進(jìn)行了一次小規(guī)模生產(chǎn),大概有10人購買了我們的產(chǎn)品,?!毙た肆_夫特笑著說。
在每周的視頻直播系列節(jié)目《表演與講述》(Show and Tell,,一檔分享個(gè)人項(xiàng)目的真人秀節(jié)目)中,,肖克羅夫特引起了阿德弗里特工業(yè)公司創(chuàng)意總監(jiān)菲利普?托羅內(nèi)(Phillip Torrone)的注意?!拔以诠?jié)目的最后說道:‘我需要一份工作!’” 肖克羅夫特說,。
托羅內(nèi)與肖克羅夫特取得了聯(lián)系,,希望將當(dāng)時(shí)已有兩年歷史的微型Python——物理學(xué)家達(dá)明?喬治(Damien George)開發(fā)的一個(gè)精簡版Python——移植到一種特殊的微控制器上。
“我沒有聽說過微型Python,但把Python放在硬件上的想法立刻吸引了我,?!毙た肆_夫特說,“利莫說完成這項(xiàng)工作大約需要3周,,但我只花了一半的時(shí)間,,因?yàn)殚_始以后我就停不下來了?!?/p>
阿德弗里特工業(yè)公司同意為肖克羅夫特安排全職工作,,他的工作是對微型Python進(jìn)行開發(fā)。因此,,微型Python的創(chuàng)建者喬治開始收到阿德弗里特工業(yè)公司提交的大量代碼,,喬治“對我們的介入和改變有些擔(dān)憂”,肖克羅夫特說,。
在與喬治討論技術(shù)方面的問題時(shí),,阿德弗里特工業(yè)公司意識(shí)到他們對該語言未來的看法與喬治不同。他們不贊成在微型Python的性能和易用性之間進(jìn)行取舍,,肖克羅夫特想把重點(diǎn)放在Python庫上,,希望微型Python能夠成為以Arduino微控制器系列為核心的編譯軟件生態(tài)系統(tǒng)的替代選擇。
“喬治主張為C核心用戶服務(wù),,而且他堅(jiān)信Python的速度能夠很快,。”肖克羅夫特解釋道,,“但他們根本不是阿德弗里特工業(yè)公司的目標(biāo)用戶群,。”因此,,阿德弗里特工業(yè)公司決定另起爐灶,,于2017年年中正式推出電路Python。
電路Python社區(qū)自誕生以來一直發(fā)展穩(wěn)定,。肖克羅夫特工作中最大的挑戰(zhàn)就是管理這個(gè)蓬勃發(fā)展的社區(qū),。“作為一個(gè)開源維護(hù)者,,如果有人要求你實(shí)現(xiàn)這個(gè)功能,、完成那個(gè)效果,而且態(tài)度和方式很不客氣,,很自以為是,,你該怎么辦?”肖克羅夫特說,。
一套正式的規(guī)范會(huì)有幫助,。肖克羅夫特說:“這是現(xiàn)代所有民用開源項(xiàng)目的一條重要底線,,你必須捍衛(wèi)這條底線。我們的這條底線就曾發(fā)揮過作用,?!?/p>
肖克羅夫特說,對于那些有興趣為電路Python語言做貢獻(xiàn)的人來說,,關(guān)鍵在于實(shí)踐,。“編寫大量代碼,,并盡可能多地參與阿德弗里特工業(yè)公司所創(chuàng)建的這類社區(qū),。”他說,,“我過去會(huì)說你必須熱愛它,,其實(shí)這樣說并不公平,因?yàn)槿绻阆矚g這種語言,,你就會(huì)自然而然地想要去實(shí)踐,。”