<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          思考比編碼重要

          共 3246字,需瀏覽 7分鐘

           ·

          2021-06-06 15:06

          萊斯利·蘭伯特是一名計(jì)算機(jī)科學(xué)家,他提出了分布式系統(tǒng)、時(shí)序邏輯和并行算法等系列計(jì)算機(jī)理論。蘭伯特是微軟研究院首席研究員、美國國家工程院和科學(xué)院院士,2013 年,他獲得了有著“計(jì)算機(jī)界諾貝爾獎(jiǎng)”之稱的圖靈獎(jiǎng)。

          近日,這位世界頂級科學(xué)家應(yīng)邀走進(jìn)了北京大學(xué),與學(xué)子交流科研心得。

          “怎樣才能保證編碼少出錯(cuò)?”“你怎么看待計(jì)算機(jī)科學(xué)和數(shù)學(xué)之間的關(guān)系?”“你提出過很多計(jì)算機(jī)理論,哪個(gè)是最鐘愛的‘孩子’?”……近日,北京大學(xué)斯坦福中心,在萊斯利·蘭伯特(Leslie Lamport)的報(bào)告結(jié)束后,學(xué)生們的問題接踵而至。在近 1 個(gè)小時(shí)的時(shí)間里,他接受了學(xué)生們的“考問”。

          臺(tái)上的蘭伯特身著一件淺藍(lán)色條紋襯衫、一條深藍(lán)色牛仔褲、一雙黑色運(yùn)動(dòng)鞋。像著裝一樣,他的話語簡潔中透著隨性。在回答感興趣的問題時(shí),他的語速并不快,引經(jīng)據(jù)典,侃侃而談,讓現(xiàn)場充滿笑聲和掌聲。盡管濃密的花白胡須隱藏了他的面部表情,但在思考問題時(shí)鼻梁上金邊眼鏡后的目光卻總喜歡凝視著空間中的某一點(diǎn),讓人不免產(chǎn)生一絲神秘感和距離感。當(dāng)然對于不感興趣的問題,他也不敷衍,只是簡單一句:“不了解。”

          蘭伯特現(xiàn)任美國微軟研究院首席研究員,也是 2013 年有著“計(jì)算機(jī)界諾貝爾獎(jiǎng)”之稱的圖靈獎(jiǎng)獲得者。此次他經(jīng)北京大學(xué)“大學(xué)堂”頂尖學(xué)者講學(xué)計(jì)劃的邀請,與該校師生開展了交流,而此次交流的核心則是:思考,比寫代碼更加重要。

          編碼也須鍛煉“肌肉”

          如何才能寫出更優(yōu)質(zhì)的程序呢?這是記者和很多現(xiàn)場學(xué)生關(guān)心的一個(gè)話題。“工程師在砌磚建房之前會(huì)畫一張建筑藍(lán)圖;但程序員和軟件工程師往往不會(huì)這樣做。這是不是房屋很難倒塌而編程經(jīng)常出問題的原因呢?”報(bào)告結(jié)束后,在接受《中國科學(xué)報(bào)》記者采訪時(shí),蘭伯特對比說,很多程序員在開始編寫程序之前,往往不愿意勾勒哪怕是一個(gè)最簡易的程序輪廓。

          藍(lán)圖可以幫助工程師保證計(jì)劃發(fā)揮作用。“‘發(fā)揮作用’不只意味著讓大樓不倒塌,還意味著為所需要的目的服務(wù),比如讓建筑師和客戶在施工之前了解他們打算建造什么樣的工程。”蘭伯特如是說,“藍(lán)圖可以幫助我們考慮清楚,我們在編寫什么。”

          為編寫軟件所描繪的藍(lán)圖就是規(guī)范(spec)。然而,“計(jì)劃趕不上變化,就像沒有哪一場戰(zhàn)爭真正能夠按計(jì)劃進(jìn)行一樣,你做出的規(guī)范也有可能發(fā)生程式錯(cuò)誤。”蘭伯特說。比如,或者是必要條件發(fā)生了改變,或者是出現(xiàn)了錯(cuò)誤,可能在你寫完程序之前,就需要改變原來的規(guī)范。

          事實(shí)上,在真實(shí)世界中,代碼可以修補(bǔ),而規(guī)范也可以更新,這些都很普遍。那么,如果修補(bǔ)和更新不可避免,那么為什么要描繪這張藍(lán)圖呢?對此,蘭伯特表示原因有二:其一,無論是誰在修補(bǔ)代碼,都會(huì)由衷感謝規(guī)范中的每個(gè)詞、每個(gè)公式的作者;其二,代碼每修復(fù)一次,就會(huì)“變丑一點(diǎn),更難理解一點(diǎn),也更難維護(hù)”。“因此,如果不從思考規(guī)范開始,那么程序員所寫的代碼的每個(gè)片段就都是補(bǔ)丁。這樣就會(huì)讓一開始編寫的程序變得丑陋、難以理解和維持下去。”蘭伯特說。

          “為什么編碼難?因?yàn)榫幋a需要思考,思考存在難度,而很多人往往低估了思考的難度。”他說,“正如漫畫家迪克·金敦(Dick Guindon)所說的那樣,‘寫作是讓你知道你的思想有多么混亂的根本方法。’”

          “思考不能保證你不犯錯(cuò)誤,但是不思考通常一定會(huì)犯錯(cuò)誤。”沒有什么簡單的方法可以保證一個(gè)人能夠?qū)懗龊玫?spec,蘭伯特說。“編碼就像跑步,你跑得越少,跑得也就越慢。所以必須經(jīng)常反復(fù)鍛煉你的編碼‘肌肉’,而不是像很多人那樣找借口不鍛煉。”

          數(shù)學(xué)讓編程事半功倍

          “能和這樣的‘大牛’交流非常激動(dòng)。”北京大學(xué)信息科學(xué)技術(shù)學(xué)院智能科學(xué)系大四學(xué)生金曉晗在接受《中國科學(xué)報(bào)》記者采訪時(shí)說,“蘭伯特教授說,數(shù)學(xué)可以幫助我們分析,簡化我們的思維,給我留下了深刻的印象。”

          在蘭伯特看來,編寫 spec 并不能保證人們編寫的代碼永遠(yuǎn)不會(huì)坍塌,所以仍然需要利用一些方法和手段消除編程過程中的錯(cuò)誤。在他看來,理解編碼復(fù)雜性的最好方法就是抽象化,而最簡練、精確的抽象化語言就是數(shù)學(xué),即那些在基礎(chǔ)數(shù)學(xué)課堂上所學(xué)到的數(shù)學(xué)課程,如集合、函數(shù)和簡單的邏輯。“它可以幫助我們提高編寫能力,理解正在做的事情,消滅錯(cuò)誤。”蘭伯特補(bǔ)充說。

          “在數(shù)學(xué)和計(jì)算機(jī)的關(guān)系上,蘭伯特認(rèn)為數(shù)學(xué)無疑是計(jì)算機(jī)科學(xué)的基礎(chǔ)。”蘭伯特的回答給北京大學(xué)信息科學(xué)技術(shù)學(xué)院的劉垚留下了深刻印象,“思考比寫代碼更加重要。而數(shù)學(xué)對于我們嚴(yán)謹(jǐn)、有效地思考問題非常有幫助。”盡管如此,蘭伯特也表示,數(shù)學(xué)很難直接成為人們解決問題的方法。它更多地是幫助分析問題,或是評估提出的解決方案。

          “在你提出檢驗(yàn)編碼的模型之后,數(shù)學(xué)能夠幫助你檢查模型是否正確,這正是為什么我提出了 TLA+(一種可以幫助程序員進(jìn)行模型檢測的新的計(jì)算機(jī)編程語言)。”蘭伯特舉例說。亞馬遜公司和英特爾公司的很多程序員發(fā)現(xiàn),TLA+檢測模型可以提高他們的排錯(cuò)效率。“處理硬件錯(cuò)誤時(shí),成本往往很昂貴,因?yàn)槿绻霈F(xiàn)問題就要重新生產(chǎn)所有的芯片,而檢測模型可以幫助他們發(fā)現(xiàn)錯(cuò)誤,大幅降低成本。”

          “借助數(shù)學(xué)的思考方式來關(guān)注問題的核心,從而看到問題背后的深層原因,再去尋找解決方案。作為數(shù)學(xué)專業(yè)的‘碼農(nóng)’,我對此體會(huì)尤為深刻。”北京大學(xué)數(shù)學(xué)院學(xué)生李屹對此次交流深有所感,“數(shù)學(xué)之于計(jì)算機(jī),不僅是一種工具或者方法,而是一種哲學(xué)。以數(shù)學(xué)的思想作為指導(dǎo),有時(shí)即便不掌握具體的數(shù)學(xué)工具,都可以使得編程工作事半功倍。”

          大學(xué)教育要立足長遠(yuǎn)

          “蘭伯特講到的‘多思考,少編程’對我啟發(fā)莫大。”“他講的要學(xué)會(huì)抽象對我們掌握正確的科研態(tài)度非常重要。”“通過蘭伯特的介紹,我認(rèn)識(shí)到如果把 TLA+語言投入到本科或更早的教學(xué)中,將會(huì)使更多人受益于數(shù)學(xué)精練、嚴(yán)謹(jǐn)?shù)倪壿嬪憻挘?jié)約很多時(shí)間,因?yàn)槲磥砥胀ǖ木幊坦ぷ髯⒍ㄒ粰C(jī)器代替。”……和金曉晗一樣,在此次采訪中,很多學(xué)生都表示與這位計(jì)算機(jī)學(xué)界“大牛”進(jìn)行的交流讓他們受益匪淺。

          在計(jì)算機(jī)領(lǐng)域,蘭伯特確實(shí)是位名副其實(shí)的傳奇人物。他的分布式計(jì)算理論奠定了這門學(xué)科的基礎(chǔ),并被稱為“分布式計(jì)算原理之父”;他在 1978 年發(fā)表的論文《分布式系統(tǒng)內(nèi)的時(shí)間、時(shí)鐘事件順序》成為計(jì)算機(jī)科學(xué)史上被引用最多的文獻(xiàn);他為“并發(fā)系統(tǒng)的規(guī)范與驗(yàn)證”研究貢獻(xiàn)了核心原理……

          為此,美國計(jì)算機(jī)協(xié)會(huì)將 2013 年度圖靈獎(jiǎng)?lì)C發(fā)給了他。“如果你喜歡使用互聯(lián)網(wǎng),那么就該感謝萊斯利。”施樂帕洛阿爾托研究中心創(chuàng)始人兼經(jīng)理、數(shù)字設(shè)備公司系統(tǒng)研究中心創(chuàng)始人兼經(jīng)理鮑勃·泰勒(Bob Taylor)曾如是評價(jià),“因?yàn)榛ヂ?lián)網(wǎng)建立在分布式系統(tǒng)技術(shù)的基礎(chǔ)知識(shí)之上,而后者又建立在萊斯利所發(fā)明的理論基礎(chǔ)之上。”

          對于自己的研究成果,蘭伯特表示,我希望它們都能發(fā)揮作用,“因?yàn)閭€(gè)人對美有著不同的理解,所以人們究竟會(huì)更喜歡哪個(gè)理論也是‘仁者見仁、智者見智’”。在提及成功的秘訣時(shí),他認(rèn)為,每個(gè)人的研究道路都會(huì)因人而異,由于現(xiàn)在的計(jì)算機(jī)科學(xué)環(huán)境已經(jīng)和他開始起步的時(shí)代發(fā)生了天翻地覆的變化,他的經(jīng)驗(yàn)可能并不適用于每一個(gè)人。

          如果一個(gè)人“最終想要成為自己想成為的人,就要做自己最嚴(yán)格的裁判”。他指出:“同時(shí),不要忽視你的批評者,不要因?yàn)橛^點(diǎn)相左就認(rèn)為批評者‘太愚蠢’,他們會(huì)推動(dòng)你不斷進(jìn)步。”

          在他看來,現(xiàn)在很多教師和學(xué)校希望按照他們所想象的那樣教導(dǎo)學(xué)生,然而這些想法可能對學(xué)生不一定適用。“比如,現(xiàn)在經(jīng)常通過就業(yè)率判定學(xué)校是否成功,而大學(xué)不應(yīng)該把讓學(xué)生就業(yè)作為辦學(xué)目的。”他說,以編程為例,編寫“種子”編碼很重要,盡管它可能不會(huì)馬上產(chǎn)生作用,但可能在 10 年、15 年之后產(chǎn)生更重要的應(yīng)用。“教育目標(biāo)也應(yīng)該思考得更長久、更遠(yuǎn)大一點(diǎn)。”

          轉(zhuǎn)載自:《中國科學(xué)報(bào)》 (2015-12-03 第3版 國際)

          點(diǎn)贊和在看就是最大的支持??
          瀏覽 41
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费AV观看 | 西方18毛片视频在线免费观看 | 人人爱人人看人人搞 | 成人做爰黄A片免费看直播室动漫 | 爽 好紧 别夹 喷水网站 |