• <bdo id="qgeso"></bdo>
        • <strike id="qgeso"></strike>
        • <sup id="qgeso"></sup><center id="qgeso"></center>
        • <input id="qgeso"></input>

          未來全球78億人都能寫代碼?機(jī)器編程讓代碼不再是“手工藝品”

          首頁 > IT > > 正文

          日期:2021-01-04 10:26:58    來源:科技日報    

          1%

          據(jù)統(tǒng)計,全球78億人中,只有2700萬人會編寫代碼,占比不到1%。美國有50萬個編程人員崗位空缺,歐盟目前只有10%的編程人員受過計算機(jī)科學(xué)專業(yè)訓(xùn)練。

          據(jù)報道,英特爾公司在2020年12月推出的機(jī)器編程研究系統(tǒng)ControlFlag是全球首個自我監(jiān)控系統(tǒng),不需要標(biāo)記數(shù)據(jù)就能學(xué)習(xí)。在初步測試中,這個系統(tǒng)利用超過10億行未標(biāo)記的產(chǎn)品級別代碼進(jìn)行訓(xùn)練,還可以自主檢測代碼中的錯誤,發(fā)現(xiàn)了許多過去被開發(fā)人員忽略的違規(guī)和異常。

          英特爾首席科學(xué)家、英特爾研究院機(jī)器編程研究主任及創(chuàng)始人賈斯汀·戈茨利希認(rèn)為,這款軟件能夠“大幅減少評估和Debug(修補(bǔ)漏洞)所需的時間和成本”。 英特爾研究院的研究人員發(fā)現(xiàn),軟件開發(fā)者會花費大約一半的時間用來Debug,通過ControlFlag以及類似的系統(tǒng),程序員有望大幅減少Debug的時間并把更多時間用于人類程序員最擅長的工作。

          機(jī)器編程的實質(zhì)究竟是搬運代碼模型,還是具有一定的自主開發(fā)特征?目前機(jī)器編程的主要方法有哪些,效能如何,具備怎樣的優(yōu)勢?為什么有專家認(rèn)為機(jī)器編程不僅不會取代程序員,還會創(chuàng)造出大量就業(yè)機(jī)會?

          機(jī)器編程讓代碼不再是“手工藝品”

          快速發(fā)展的科技領(lǐng)域幾乎離不開編程。傳統(tǒng)編程看似簡單,其實對操作者的要求很高。盡管大多數(shù)人可以熟練使用自然語言表達(dá)自己的想法,但是讓所有人都去學(xué)習(xí)編程卻并不是件容易事,這需要人的邏輯思維和對底層原理的理解作為支撐。

          據(jù)統(tǒng)計,全球78億人中,只有2700萬人會編寫代碼,占比不到1%。根據(jù)美國非盈利組織code.org的數(shù)據(jù),美國有50萬個編程人員崗位空缺,歐盟目前只有10%的編程人員受過計算機(jī)科學(xué)專業(yè)訓(xùn)練。

          “如同好的作家不一定是好的編劇,作家描寫人的內(nèi)心活動可以用‘心如刀絞’這類語言進(jìn)行描述,但是編劇需要通過場景搭建和細(xì)節(jié)設(shè)置把這種情緒細(xì)致地表現(xiàn)出來,演員才能沿著這個邏輯栩栩如生地表演出來。”西安電子科技大學(xué)電子工程學(xué)院教授吳家驥介紹說,好的程序員就如同代碼“編劇”,往往需要通過長時間學(xué)習(xí)和實踐才能掌握編程的基本規(guī)則。

          傳統(tǒng)編程是基于計算機(jī)語言規(guī)則和邏輯,利用規(guī)范化的編程語言,把人的意圖在計算機(jī)世界里實現(xiàn)的過程,程序員就像傳統(tǒng)工廠流水線上的員工一樣,只需按照定義好的標(biāo)準(zhǔn)接口和編程規(guī)范,把需求意圖拆解為正確的邏輯,用代碼寫出來。

          然而,在軟件飛速發(fā)展的今天,軟件的開發(fā)和維護(hù)卻依然是既耗時又容易出錯的工作。賈斯汀·戈茨利希認(rèn)為,這從軟件誕生之日就困擾著一代又一代程序員的問題其實并非無解,他認(rèn)為:“我們能創(chuàng)造一個人人都是軟件開發(fā)者的社會,屆時機(jī)器將會承擔(dān)編程部分的工作即機(jī)器編程,讓代碼不再是‘手工藝品’。”

          吳家驥向記者介紹,所謂機(jī)器編程,就是通過機(jī)器學(xué)習(xí)和其他自動化方法,設(shè)計可以自動編寫軟件的軟件,它涉及形式化方法、編程語言、編譯器、計算機(jī)系統(tǒng)等多個領(lǐng)域。機(jī)器編程所使用的自動編程技術(shù)既有精確方法(比如形式程序合成),也有概率方法(比如可微分編程)。

          “人類的編程過程側(cè)重于邏輯業(yè)務(wù),很少關(guān)心編程的語法、格式等。而機(jī)器編程實質(zhì)是搬運代碼模型,因為目前還沒有成熟的編程機(jī)器可以達(dá)到自主開發(fā)軟件的程度,包括英特爾最新提出的ControlFlag。”吳家驥指出。

          有助于大幅降低開發(fā)和維護(hù)成本

          其實機(jī)器編程并非新生事物,早在上世紀(jì)50年代,就已經(jīng)有學(xué)術(shù)機(jī)構(gòu)開始涉足機(jī)器編程的研究。

          在賈斯汀·戈茨利希看來,當(dāng)下正是發(fā)展機(jī)器編程的好時機(jī)。“機(jī)器編程汲取了我們迄今為止獲得的所有軟硬件知識。今日與往時不同的是,我們站在了歷史的拐點上,我們現(xiàn)在有新的機(jī)器學(xué)習(xí)算法、新硬件與優(yōu)化硬件、海量而多樣的編程數(shù)據(jù),而這三者是發(fā)展機(jī)器編程的必備要素。”

          目前機(jī)器編程的效能如何,具備怎樣的優(yōu)勢?吳家驥介紹說,有了機(jī)器編程,軟件的開發(fā)和維護(hù)將有望實現(xiàn)完全自動化,編程人才的缺口、編程精確度有待提升等問題也迎刃而解。

          據(jù)了解,機(jī)器編程的方法主要分為兩種:一種需要依賴編程領(lǐng)域?qū)<抑R和已經(jīng)設(shè)定好的模板庫,即編程機(jī)器把專家制定的規(guī)則和大量模板庫組合起來,進(jìn)而滿足人們的編程意圖。但其問題在于,專家的知識儲備和模板庫需要不斷積累更新。此外,編程中存在很復(fù)雜的邏輯和多樣化的語法差異,僅靠少數(shù)專家很難做到全面掌握所有信息,其制定的規(guī)則也無法做到近乎完美。

          第二種是利用機(jī)器學(xué)習(xí)進(jìn)行自我監(jiān)督去適應(yīng)編程規(guī)則,讓機(jī)器通過海量給定的代碼學(xué)習(xí)正確的編程規(guī)則,常用于進(jìn)行程序代碼測試。這種方式包括兩個階段:模式挖掘階段,主要學(xué)習(xí)用戶指定的GitHub(一家開源平臺)存儲庫中的特殊編碼模式,當(dāng)學(xué)習(xí)完成時,該模式將生成一個優(yōu)先級字典,為后續(xù)機(jī)器編程提供知識儲備;掃描階段,主要是根據(jù)所學(xué)的特異性模式字典分析給定的源代碼存儲庫,當(dāng)識別到異常模式時,將發(fā)出報警信息并為用戶提供可能的替代方案或進(jìn)行自動校正。

          “利用自我學(xué)習(xí)的方法可提高機(jī)器編程效率,這是由于自監(jiān)督學(xué)習(xí)可以不斷自我完善自我進(jìn)化,使得機(jī)器越來越聰明——在編程時可以快速把人類意圖或自然語言轉(zhuǎn)變?yōu)榫幊陶Z言,在代碼調(diào)試過程中可以智能地提示錯誤。”吳家驥指出,機(jī)器編程的快速發(fā)展將有望大幅提高軟件開發(fā)和維護(hù)的效率,同時可以有效降低成本。

          據(jù)統(tǒng)計,全球IT行業(yè)每年花費的1.25萬億美元軟件開發(fā)成本中,大約有50%用于Debug。目前,ControlFlag已經(jīng)證實了其可以在廣泛使用的產(chǎn)品級代碼中發(fā)現(xiàn)隱藏的bug(漏洞),比如在分析cURL(程序員廣泛使用的實現(xiàn)互聯(lián)網(wǎng)下載的開源命令行工具)時,ControlFlag發(fā)現(xiàn)了一個以前沒有發(fā)現(xiàn)的異常,促使cURL開發(fā)者提出了更好的解決方案。

          為人類程序員省出時間去創(chuàng)造

          程序能夠自動化的高效構(gòu)建,意味著程序員要失業(yè)了嗎?賈斯汀·戈茨利希的觀點是,機(jī)器編程真正過人之處是創(chuàng)造數(shù)千萬到數(shù)億個就業(yè)機(jī)會,并且專業(yè)程序員也不會被替代。

          “未來機(jī)器編程不僅不會取代程序員,還會創(chuàng)造出大量就業(yè)機(jī)會,可能多達(dá)上百萬個。這是由于機(jī)器編程實質(zhì)上大幅度降低了編程門檻,就如同電腦上的很多操作工具,它們的出現(xiàn)提高了人類的工作效率,可以讓更多的普通人參與到編程中,實現(xiàn)更多的工作流,即業(yè)務(wù)過程的部分或整體在計算機(jī)應(yīng)用環(huán)境下的自動化。”遠(yuǎn)望智庫AI事業(yè)部部長、圖靈機(jī)器人首席戰(zhàn)略官譚茗洲說。

          英特爾公司曾表示,其開發(fā)機(jī)器編程的愿景是:只要你能以機(jī)器可理解的方式表達(dá)你的“意圖”——可能是用自然語言,或者可視化的圖表,甚至是打個手勢——機(jī)器編程就會幫你開發(fā)屬于你自己的軟件。

          對此,譚茗洲解釋道:“未來需要更有效的編程意圖概要設(shè)計,把大的意圖拆解為更小的意圖,每個意圖更容易讓機(jī)器理解,進(jìn)而可以讓機(jī)器編寫代碼。未來機(jī)器編程可能以一種交互式的方式進(jìn)行,通過多輪對話以交互形式構(gòu)造編程環(huán)境。”

          專家預(yù)測,從當(dāng)前人工智能相關(guān)技術(shù)的發(fā)展來看,機(jī)器編程得到廣泛應(yīng)用可能仍然需要幾十年以上,因為廣泛應(yīng)用意味著機(jī)器能更準(zhǔn)確地了解人類的意圖,但是人類自然語言的表達(dá)本身就存在很多不確定性。因此機(jī)器編程不可能完全替代人類程序員,特別是在需要多重嵌套的邏輯和多分支的邏輯場景下,這些場景需要確定性更強(qiáng)的邏輯分析,顯然這對機(jī)器來說是比較困難的。

          譚茗洲指出,機(jī)器編程可能會首先大規(guī)模應(yīng)用于整體邏輯能夠拆解為多個簡單邏輯的場景,如工作流固定的場景或簡單的計算場景;亦或邏輯簡單但精確性要求高的場景,如財會、醫(yī)療、金融等。

          “要想在人工智能時代做到‘人機(jī)共存’,需順應(yīng)技術(shù)的發(fā)展趨勢,讓機(jī)器去做其擅長的部分,例如軟件開發(fā)中,簡單枯燥的部分由機(jī)器承擔(dān),而人類程序員則可以有更大的自由度、靈活度、時間和精力去創(chuàng)造。”譚茗洲說。(記者 華 凌)

          關(guān)鍵詞: 機(jī)器編程

          下一篇:上海通信行業(yè)推出七大適老服務(wù) 助力“銀發(fā)族”在數(shù)字化浪潮中“乘風(fēng)破浪”
          上一篇:2021年功率半導(dǎo)體有望迎來高景氣周期 兩大國產(chǎn)IGBT廠商加速上市

          科技

           
          国产三级日本三级日产三级66,五月天激情婷婷大综合,996久久国产精品线观看,久久精品人人做人人爽97
          • <bdo id="qgeso"></bdo>
              • <strike id="qgeso"></strike>
              • <sup id="qgeso"></sup><center id="qgeso"></center>
              • <input id="qgeso"></input>
                主站蜘蛛池模板: 欧美在线看片a免费观看| 欧美日韩亚洲成色二本道三区| 精品久久久久久无码人妻蜜桃| 扁豆传媒网站免费进入| 国产亚洲午夜高清国产拍精品| 二个人的视频www| 国产91免费在线观看| 最新国产三级在线不卡视频| 国产欧美日韩亚洲一区二区三区| 亚洲区在线播放| 黄色网址免费观看| 最近中文字幕mv图| 国产成人久久综合热| 久久精品国内一区二区三区| 高清视频一区二区三区| 日本在线www| 嗯~啊太紧了妖精h| 国产一级小视频| 中文字幕色婷婷在线精品中| 色吊丝av中文字幕| 影音先锋女人aa鲁色资源| 免费夜色污私人影院在线观看| japmassage日本按摩| 波多野结衣办公室| 国产精品青青青高清在线观看| 亚洲国产精品一区二区九九 | 中文字幕人妻偷伦在线视频| 美女免费精品高清毛片在线视 | 欧美人与动zooz| 国产欧美一区二区三区在线看| 久久精品国产一区二区三| 迷走都市1-3ps免费图片| 成年女人免费播放影院| 免费中文字幕在线| 26uuu页面升级| 日韩精品无码专区免费播放| 国产一区二区不卡| jizz免费在线观看| 欧美性白人极品hd| 国产在线精品国自产拍影院同性 | 日韩精品在线一区二区|