文檔型語言 面向平民開發(fā)者的編程利器
譯文【51CTO.com快譯】Eve語言更關(guān)注文檔與記錄,而非代碼,其允許開發(fā)者創(chuàng)建人類思維而非代碼編譯方式進(jìn)行開發(fā)。
編程能否真的以人為本?Eve語言的開發(fā)者們希望給出肯定的答案。
在Eve語言及IDE當(dāng)中,編程看起來更像是Word文檔而非代碼文件。“從文檔內(nèi)代碼嵌入到無序語言,Eve提出了一種實(shí)現(xiàn)編程的另類途徑——其更關(guān)注我們?nèi)祟惗菣C(jī)器,”該項(xiàng)目的官方網(wǎng)頁中指出。
Eve遵循的原則在于萬物皆為記錄,即一組與ID相關(guān)聯(lián)的屬性/值對(duì)。教程內(nèi)容將其介紹為一種模式匹配語言,通過搜索數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)匹配模式,而后更新或者創(chuàng)建新數(shù)據(jù)。
現(xiàn)代編程仍然在迫使人們扮演“機(jī)器翻譯”的角色,Eve的支持者們指出,而關(guān)注機(jī)器而非人類本身意味著軟件工程體系將因此受到嚴(yán)重影響,特別是人為因素成為多數(shù)問題的根源。“從神秘的錯(cuò)誤信息到語義,人們需要耗費(fèi)數(shù)年時(shí)間才能學(xué)習(xí)并掌握,而這顯然不利于我們創(chuàng)建實(shí)用且強(qiáng)大的軟件成果,”Eve項(xiàng)目開發(fā)者們表示。
Eve的設(shè)計(jì)目標(biāo)在于賦予用戶更多自由,并在程序的組織性基礎(chǔ)上貼近人類的思維方式——而非編譯代碼。如此一來,開發(fā)人員能夠組織起程序化途徑,并表述這樣做的理由。“大家可以編寫一套規(guī)范,而后嵌入代碼塊以使其起效,”開發(fā)者們指出。“項(xiàng)目中的新人能夠查看規(guī)范內(nèi)容以建立初步理解,而后著眼于特定部分添加更多功能。”
該平臺(tái)提供少量操作選項(xiàng)以查詢并操作記錄。與此同時(shí),代碼塊用于指定發(fā)現(xiàn)特定模式后該如何執(zhí)行操作; 開發(fā)者不再需要指定其更新、緩存或者存儲(chǔ)方式。
Eve開發(fā)者們認(rèn)為代碼更像是一種責(zé)任,而非資產(chǎn)。“每一行代碼都會(huì)帶來潛在bug,同時(shí)給理解與維護(hù)帶來阻礙,”他們指出。“在不混淆意圖的前提下,我們的目標(biāo)應(yīng)該是盡可能削減代碼量。”
Eve的評(píng)論在Hacker News網(wǎng)站上激起了一些抵觸情緒。“我認(rèn)為Eve解決的實(shí)際上是個(gè)錯(cuò)誤的問題,”一位評(píng)論者表示。所有語言都是為人類設(shè)計(jì)的,而編程的挑戰(zhàn)在于如何制定思維方式。“語言是否應(yīng)該創(chuàng)建更高層次的抽象水平,從而幫助人類更為有效地處理程序?是的!但這并不是環(huán)境本身的問題。”
另一位評(píng)論者則更愿意從好的方面理解。“Eve可能會(huì)給現(xiàn)有開發(fā)環(huán)境帶來巨大的生產(chǎn)力提升,但我認(rèn)為其在可預(yù)見的未來不會(huì)支援編程作為一類專業(yè)知識(shí)的地位。”
Eve的開發(fā)工作自2014年就已經(jīng)開始進(jìn)行,開發(fā)者之一Chris Granger介紹道。目前其工具包括一款時(shí)間查詢語言、一套編譯器外加一套數(shù)據(jù)庫。
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】