摘要:年,出生于荷蘭的計(jì)算機(jī)大師圖靈獎(jiǎng)獲得者給德州大學(xué)預(yù)算委員會(huì)寫信,力勸不要將計(jì)算機(jī)入門課程改為。讓他們面對(duì)新奇的函數(shù)式編程,能立即傳達(dá)一個(gè)信息編程比他們想象的要豐富的多。另外一個(gè)優(yōu)勢(shì)是函數(shù)式編程的延遲執(zhí)行,它提供了一個(gè)環(huán)境來(lái)防止操作性的推理。
2001年,出生于荷蘭的計(jì)算機(jī)大師、 圖靈獎(jiǎng)獲得者Edsger W. Dijkstra給德州大學(xué)預(yù)算委員會(huì)寫信,力勸不要將計(jì)算機(jī)入門課程改為Java。這封信的PDF版可以從這里下載。不幸的是,學(xué)校最終還是用Java課程替換了Haskell。相關(guān)聯(lián)的,麻省理工的計(jì)算機(jī)程序結(jié)構(gòu)和分析課程(6.01)中的Scheme語(yǔ)言也被Python語(yǔ)言替換掉。
致預(yù)算委員會(huì)成員我寫這封信給你們是因?yàn)橛兄{言說(shuō),大學(xué)教學(xué)中的計(jì)算機(jī)入門課程將不再使用函數(shù)式編程語(yǔ)言Haskell,而是使用命令式語(yǔ)言Java,鑒于此,我認(rèn)為預(yù)算委員會(huì)有責(zé)任去阻止這項(xiàng)錯(cuò)誤的決定。
你們知道,這不是小事。其它州的同行經(jīng)常好奇于我如何能在德州奧斯汀這樣的地方生存下來(lái),他們都以為德州頑固的保守主義必然造就了同樣頑固的平庸。我的回答通常是,“不要擔(dān)心,教育系統(tǒng)還是一個(gè)比較開(kāi)明的地方,例如在計(jì)算機(jī)入門課程上,我們教新生Haskell語(yǔ)言”;他們的反應(yīng)起初通常都是懷疑,然后是嫉妒——大多是因?yàn)樗麄兊拇髮W(xué)課程無(wú)法再?gòu)腜ascal語(yǔ)言向C++或Java這樣的語(yǔ)言的轉(zhuǎn)變中恢復(fù)回來(lái)。
我偏愛(ài)函數(shù)式編程的一個(gè)非?,F(xiàn)實(shí)的原因是,對(duì)于新生的課程,大多數(shù)學(xué)生都已經(jīng)對(duì)命令式編程有一定的熟悉。讓他們面對(duì)新奇的函數(shù)式編程,能立即傳達(dá)一個(gè)信息:編程比他們想象的要豐富的多。并且,他們很快就會(huì)觀察到,對(duì)于他們用高中時(shí)學(xué)到的編程知識(shí)很難表達(dá)或無(wú)法表達(dá)的問(wèn)題,函數(shù)式編程能提供優(yōu)雅的解決方案。
而選擇函數(shù)式編程的一個(gè)最根本的原因是,相比起命令式編程語(yǔ)言,它更容易當(dāng)成數(shù)學(xué)對(duì)象來(lái)使用,在教學(xué)中你可以用它精確的解釋程序是什么。另外一個(gè)優(yōu)勢(shì)是函數(shù)式編程的“延遲執(zhí)行(lazy evaluation)”,它提供了一個(gè)環(huán)境來(lái)防止操作性的推理。
最后,在Haskell語(yǔ)言跟Java的具體方面對(duì)比中,盡管Haskell不完美,但仍然比Java好幾個(gè)數(shù)量級(jí),Java就是一個(gè)大雜燴(它是通過(guò)大范圍的廣告和銷售員夸張的宣傳才達(dá)到它的商業(yè)接受)??偟脕?lái)說(shuō),這事非常的糟糕,業(yè)界把有目共睹的低劣的設(shè)計(jì)當(dāng)作了“事實(shí)”標(biāo)準(zhǔn)。我個(gè)人的認(rèn)為,大學(xué)里應(yīng)該讓更健康的編程方式存在。
不僅僅是小提琴能塑造小提琴家,我們?nèi)急晃覀兪褂玫墓ぞ咚茉欤诰幊陶Z(yǔ)言方面,影響是潛移默化的:它們塑造我們思考的習(xí)慣。這使得第一種編程語(yǔ)言的選擇非常的重要。我們應(yīng)該把入門課程當(dāng)成一種工具來(lái)創(chuàng)造一種為計(jì)算機(jī)科學(xué)教學(xué)服務(wù)的文化,而不是去強(qiáng)迫丟掉過(guò)去的那些知識(shí)(如果非要這樣,那我們的過(guò)去算是什么,成了永遠(yuǎn)的遺物)。這種選擇擔(dān)負(fù)著對(duì)我們的大學(xué)生的沉重責(zé)任,這也就是為什么這種事不能讓某個(gè)什么主席來(lái)決定,而是應(yīng)該由預(yù)算委員會(huì)來(lái)決定。這種事情不能讓什么公務(wù)員或政客辦理,這里需要有遠(yuǎn)見(jiàn)的政治家。
Austin, 12 April 2001
Edsger W. Dijkstra
On the cruelty of really teaching computing science
Real mathematicians don’t prove
原文 Dijkstra on Haskell and Java
翻譯 外刊IT評(píng)論
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64090.html
摘要:康納爾大學(xué)數(shù)學(xué)博士博士后則認(rèn)為,圖神經(jīng)網(wǎng)絡(luò)可能解決圖靈獎(jiǎng)得主指出的深度學(xué)習(xí)無(wú)法做因果推理的核心問(wèn)題。圖靈獎(jiǎng)得主深度學(xué)習(xí)的因果推理之殤年初,承接有關(guān)深度學(xué)習(xí)煉金術(shù)的辯論,深度學(xué)習(xí)又迎來(lái)了一位重要的批評(píng)者。 作為行業(yè)的標(biāo)桿,DeepMind的動(dòng)向一直是AI業(yè)界關(guān)注的熱點(diǎn)。最近,這家世界最較高級(jí)的AI實(shí)驗(yàn)室似乎是把他們的重點(diǎn)放在了探索關(guān)系上面,6月份以來(lái),接連發(fā)布了好幾篇帶關(guān)系的論文,比如:關(guān)系歸...
閱讀 1083·2021-09-29 09:35
閱讀 4664·2021-09-22 15:24
閱讀 1460·2021-07-25 21:37
閱讀 2191·2019-08-30 14:17
閱讀 975·2019-08-30 13:56
閱讀 2420·2019-08-29 17:07
閱讀 1279·2019-08-29 12:44
閱讀 2713·2019-08-26 18:26