RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件工程師為什么需要數(shù)學(xué)

工程師人生 ? 來源:工程師吳畏 ? 2019-07-04 17:42 ? 次閱讀

軟件工程師們常常宣稱他們從來不用在大學(xué)里學(xué)到的任何數(shù)學(xué)知識。 說到這個,他們還會說連大學(xué)里學(xué)到的計算機(jī)專業(yè)知識都用不了多少。我搞了三十年數(shù)學(xué),就讓別人來談計算機(jī)專業(yè)方面的情況,不過就數(shù)學(xué)的使用情況而言,我不得不坦白承認(rèn)那些軟件工程師太對了:他們就是用不著大學(xué)里學(xué)的數(shù)學(xué)。

但他們也太錯了。他們每天都運用著大學(xué)里學(xué)到的數(shù)學(xué)。

其實這沒什么矛盾。關(guān)鍵在于“運用”這詞何解。一種理解是軟件工程師們曾在數(shù)學(xué)課上常碰到的。比如,在高數(shù)課上學(xué)了分步積分法后,學(xué)生們就用該方法解相應(yīng)的練習(xí)題和考試題。這種所謂的“運用”最為常見,而且也是當(dāng)軟件工程師說他們從不用大學(xué)數(shù)學(xué)時所暗指的。不過,這種理解建立在把人的學(xué)習(xí)方式看作“填鴨”的觀點上。

根據(jù)這種“填鴨”觀,教育主要就是把知識灌到我們頭腦中,而運用我們所學(xué)主要就是把灌進(jìn)去的東西再倒出來。我敢說,這種教育觀高度簡化而且錯了。不過,現(xiàn)行教育制度(我也置身其中)下,人們開課,然后設(shè)置三小時反芻般的筆試(譯注:三小時的筆試是北美很多大學(xué)期末考試的標(biāo)準(zhǔn))來檢驗課的效果。正是這種方式,一次又一次滋養(yǎng)了教育是填鴨的觀念。

相比之下,數(shù)十年來所有關(guān)于大腦工作方式及學(xué)習(xí)方法的大量研究都表明,掌握知識和像算法般的系統(tǒng)化做事步驟不過是人們學(xué)習(xí)過程的表象(我們知道那些是表象,因為我們一般都會在期末考試后飛快地忘記課堂上學(xué)到的東西)。教育的真正價值不在于此。我們的大腦或許是世上適應(yīng)性系統(tǒng)的最佳范例。當(dāng)我們讓大腦經(jīng)受長期的教育,大腦就會發(fā)生永久性的改變。從身體角度講,大腦中某部分傳導(dǎo)神經(jīng)纖維鏈進(jìn)一步生長并得到加強(qiáng)。從功用和經(jīng)驗的角度講,我們獲取了新的知識和技能。學(xué)習(xí)過程重復(fù)得越多,上述的改變就越強(qiáng)越久。

重復(fù)學(xué)習(xí)在數(shù)學(xué)里展現(xiàn)的效果之強(qiáng)烈,其他學(xué)科無出其右。形式化數(shù)學(xué)大概有五千多歲。5000年在漫漫進(jìn)化史中不過眨眼工夫,而且肯定只夠我們的大腦做出最細(xì)微的改變。因此,雖然閃族人在5000年到8000年前提出抽象的數(shù),人類的數(shù)學(xué)思維當(dāng)在更久更久前便已發(fā)軔。我們在最初的自然選擇中發(fā)展了思考大自然和社會的能力,但人腦中應(yīng)數(shù)學(xué)思考而生的新改變將綜合我們的能力,使我們不光能思考具象的世界,還能推演我們頭腦所創(chuàng)照的純粹抽象世界。

要人腦處理新層次上的抽象極度困難。這就是為什么直到18世紀(jì)數(shù)學(xué)家們才能自如地處理零和負(fù)數(shù),也是為什么直到今天許多人都不能接受負(fù)一的平房根是真正的數(shù)。

但是,軟件工程全跟抽象相關(guān),它的每一個概念,觀點,以及方法,都是完全抽象的。當(dāng)然,很多軟件工程師都不這樣覺得,但這正說明了我的觀點。他們從數(shù)學(xué)課上得到的最大收益便是曾對純粹抽象的物體和結(jié)構(gòu)進(jìn)行過嚴(yán)格推演。而且,數(shù)學(xué)課是唯一給他們這種體驗的科目。這種體驗不在于那些課堂上教的重要東西,而在于其本身是數(shù)學(xué)化的。日常生活中,熟悉滋生出輕慢,而在學(xué)習(xí)如何在高度抽象的領(lǐng)域工作時,熟悉培養(yǎng)出的是種感覺,唔,熟悉的感覺 -- 就是說,曾經(jīng)讓人感到抽象的東西開始變得具體,因而變得比較容易對付。

盡管學(xué)習(xí)數(shù)學(xué)帶給計算機(jī)專業(yè)人士的回報大過常人,但現(xiàn)今社會里每個人都能由此受益。例如,美國教育部1997年一項研究(The Reilly Report)表明,在高中修過嚴(yán)格的代數(shù)或幾何課的學(xué)生在升學(xué)方面表現(xiàn)更加優(yōu)秀,而且升學(xué)后的表現(xiàn)也更好,不管他們在大學(xué)里學(xué)的是什么。換句話說,看來完成一門嚴(yán)格的數(shù)學(xué)課 -- 學(xué)生們甚至不用學(xué)得多好 -- 是讓人們提高自己思維能力,變得聰穎的絕佳方法。這種思維能力能讓人們在各方面受益。

(我在自己的書,《數(shù)學(xué)基因:數(shù)學(xué)思考如何演進(jìn)及數(shù)為什么像閑言碎語》(Basic Books, 2000)中,我更加仔細(xì)地分析了本文的觀點,并確定了哪些生存優(yōu)勢致使人類有能力進(jìn)行數(shù)學(xué)思考。)

如我在這篇短文中所指,學(xué)數(shù)學(xué)對軟件工程師們的這種好處比對其他人大得多。其實,這是基本的先決條件。雖然并沒在工程系學(xué)生的必修數(shù)學(xué)課的要求里被正式提到,但它的確是數(shù)學(xué)為什么有用的真正理由。

Keith Devlin (devlin@csli.stanford.edu) 是斯坦福大學(xué)語言及信息研究中心的執(zhí)行主任

====

總結(jié)一下:

軟件工程師不需要的是:死板的大學(xué)數(shù)學(xué)課中的內(nèi)容,比如積分。這是“填鴨”。

軟甲工程師需要的是:從數(shù)學(xué)課中重復(fù)學(xué)習(xí)而得到的抽象能力,比如對純粹抽象的物體和結(jié)構(gòu)進(jìn)行嚴(yán)格推演,使得對于抽象的東西開始感到具體而容易對付。

這樣說來,SICP一書真的是值得好好讀一讀的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件工程師
    +關(guān)注

    關(guān)注

    8

    文章

    218

    瀏覽量

    21135
收藏 人收藏

    評論

    相關(guān)推薦

    特斯拉招募軟件工程師強(qiáng)化無人駕駛與機(jī)器人遠(yuǎn)程操作

    近日,據(jù)外媒最新報道,特斯拉正緊鑼密鼓地招募軟件工程師團(tuán)隊,旨在加強(qiáng)其無人駕駛出租車及Optimus機(jī)器人的遠(yuǎn)程操作能力。這一舉措標(biāo)志著特斯拉在推動自動駕駛與人工智能領(lǐng)域邁出了重要一步。 特斯拉此次
    的頭像 發(fā)表于 11-27 10:26 ?532次閱讀

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,還需要軟件工程師、硬件工程師緊密合作,對整個系統(tǒng)進(jìn)行集成和測試。 總的來說,F(xiàn)PGA 算法工程師著重于算法優(yōu)化,F(xiàn)PGA 邏輯工程師專注
    發(fā)表于 09-23 18:26

    需要無刷電控硬件工程師

    需要無刷電控硬件工程師,地點東莞松山湖。最好有5-10年經(jīng)驗,大功率電摩電控。有意私聊。
    發(fā)表于 09-11 22:51

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    的基礎(chǔ) 嵌入式軟件工程師需要具備扎實的計算機(jī)科學(xué)和工程知識。因此,在職業(yè)生涯的起步階段,建議將重點放在學(xué)習(xí)基礎(chǔ)知識上,包括數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)、編程語言等。通過深入學(xué)習(xí)這些基礎(chǔ)知識,打下堅實的理論基礎(chǔ),為將來
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設(shè)計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負(fù)責(zé)設(shè)計PlayStation的免費手機(jī)游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?720次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    、機(jī)器人等。 定義和工作職責(zé) 嵌入式軟件工程師的主要職責(zé)包括但不限于:設(shè)計、開發(fā)、測試和調(diào)試嵌入式軟件應(yīng)用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握嵌入式系統(tǒng)的基本原理,熟悉相
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    Cognition發(fā)布首款A(yù)I軟件工程師Devin

    據(jù)報道,Cognition公司今日公布了其首款人工智能軟件工程師——Devin,掀起了打造軟件模式變革的序幕。該產(chǎn)品在SWE-bench代碼測驗中展現(xiàn)出卓越表現(xiàn),甚至超過了部分頂級人類工程師的水準(zhǔn)。
    的頭像 發(fā)表于 03-13 10:57 ?615次閱讀

    優(yōu)秀電源工程師需要哪些必備技能?

    提升電源開發(fā)效率。電源新手在學(xué)習(xí)初期,如果實驗設(shè)備不足,可以利用仿真軟件進(jìn)行電路模型搭建,從而快速、直觀地了解電源的工作原理。2、器件參數(shù)選型參數(shù)選型時,需要工程師進(jìn)行電路關(guān)鍵參數(shù)的計算,計算方法可以
    發(fā)表于 01-29 11:29

    如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序

    前文介紹了如何使用官方提供的鏡像文件啟動開發(fā)板,本文將說明如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序。
    的頭像 發(fā)表于 01-03 12:31 ?2037次閱讀
    如何構(gòu)建linux開發(fā)環(huán)境和編譯<b class='flag-5'>軟件工程</b>、應(yīng)用程序

    嵌入式軟件工程師常用的

    最近我換工作了,看見不同嵌入式軟件工程師用的平臺都不一樣,所以我整理了一下。PlatformIO:多平臺支持:PlatformIO支持多種嵌入式平臺,包括Arduino、ESP8266、ESP32
    的頭像 發(fā)表于 12-24 08:00 ?644次閱讀
    嵌入式<b class='flag-5'>軟件工程師</b>常用的
    RM新时代网站-首页