自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員是注定滅絕的一個(gè)物種?

開發(fā) 后端 前端
在一個(gè)來自于CGP Grey很精彩的視頻中,他提出說,在不久的將來,大多數(shù)工作將會(huì)由機(jī)器替代。許多行業(yè),從卡車司機(jī)到醫(yī)生,在不久的將來將會(huì) 消失或發(fā)生巨大的變化,創(chuàng)造出一種全新的社會(huì)體制。

程序員是注定滅絕的一個(gè)物種。

在一個(gè)來自于CGP Grey很精彩的視頻中,他提出說,在不久的將來,大多數(shù)工作將會(huì)由機(jī)器替代。許多行業(yè),從卡車司機(jī)到醫(yī)生,在不久的將來將會(huì) 消失或發(fā)生巨大的變化,創(chuàng)造出一種全新的社會(huì)體制。但是,這樣一來似乎有點(diǎn)說不通——既然未來的計(jì)算機(jī)程序?qū)?huì)大放光彩,那么勢必需要更多的程序員。畢 竟,創(chuàng)建自動(dòng)汽車、自動(dòng)化的醫(yī)療診斷系統(tǒng)、小販機(jī)器人等等,都需要程序員的參與,不是嗎?

大錯(cuò)特錯(cuò)。

編程是什么?

編程是將理念(業(yè)務(wù)、法律、游戲、數(shù)學(xué)問題等)翻譯成機(jī)器可以執(zhí)行,其他人可以讀取的代碼的學(xué)科。歸根結(jié)底,程序員不過是中間人而已,一個(gè)既能明白問題又能理解機(jī)器的中間人,因此,可將兩者進(jìn)行轉(zhuǎn)換。僅僅如此而已。

[[150357]]

偉大的程序員既 透徹了解他們編程的平臺(tái),又深刻理解問題域。創(chuàng)新迸發(fā)在域和技術(shù)甜美的交集中。這就是為什么(除其他事項(xiàng)外)如果讓程序員(GitHub、Visual Studio、AWS等)去做大型產(chǎn)品和政府產(chǎn)品(Healthcare.gov,F(xiàn)BI’s Sentinel,等等)時(shí),軟件往往會(huì)變得糟糕又昂貴。

每個(gè)人都在編程

中間人最終會(huì)被淘汰。

編程在過去幾十年間已經(jīng)發(fā)展到了相當(dāng)高的程度。高級編程語言和可用的在線信息將進(jìn)入編程的門檻幾乎降至為零。Scratch,一款來自于MIT有著數(shù)百萬用戶和上千萬項(xiàng)目的兒童友好型的編程平臺(tái),已經(jīng)可以媲美GitHub?,F(xiàn)在,一個(gè)普通的程序員相較于20年前他的同行,需要理解的計(jì)算機(jī)體系結(jié)構(gòu)和算法要少很多。

然而,這場革命近期似乎停滯不前了。我們最重要的工具——編程語言最近并沒有發(fā)生太大的改變。大多數(shù)新的和流行的語言(如GO和Rust),只是逐漸改進(jìn)了現(xiàn)有的范式,缺乏革命性的功能。目前***的編程語言是 Java(1995年),C(1973)和C ++(1983年),年紀(jì)都已經(jīng)不小。這個(gè)行業(yè)卻反而開始專注于開發(fā)支持工具和方法,來提高生產(chǎn)效率。我們已經(jīng)太久沒有創(chuàng)新了,所以,我強(qiáng)烈推薦大家看看 Bret Victor的演講《The Future of Programming》。

這是什么意思?

S曲線

科技的發(fā)展是這樣的:SSSSSSSSSSSSSS

如果要描述地更清楚點(diǎn)的話,它是這樣的:

例如,IBM的***個(gè)文字處理器程序(FORMAT)使用繁瑣的穿孔卡片作為輸入。在同一時(shí)間,***進(jìn)的打字機(jī)附帶可替換字體、自動(dòng)字符重復(fù)以及打印數(shù)學(xué)公式的能力。然而,卻沒有人使用打字機(jī)。本來位于打字機(jī)下方的文字處理器的曲線很快趕上并超越了打字機(jī),打字機(jī)變成了過去時(shí)。

我相信,我們正處在一個(gè)類似的語言技術(shù)曲線上,正在等待一個(gè)新的時(shí)代的到來。

不需要程序員的編程語言

為了從系統(tǒng)中徹底淘汰程序員(中間人),我們需要讓編程平臺(tái)自身去“理解”問題,而不再需要編寫代碼。

這個(gè)想法并不是我首創(chuàng)的。 1963年,Ivan Sutherland在《Sketchpad》中就描述了這樣一個(gè)系統(tǒng),它可以解決給定的若干已定義約束的問題。Prolog(1972年),一種聲明性 編程語言就是為了解決給定的一系列邏輯規(guī)則問題而創(chuàng)建的。它雖然依然是一種需要程序員的編程語言,并且并沒有被廣泛使用,但是它沒有完全消失。比如,它以 及其他語言一起成就了IBM著名的超級計(jì)算機(jī)沃森(Watson)。

對于不需要程序員的編程語言,最偉大的例子是自然語言,如英語。從二進(jìn)制代碼到匯編,從C到Python,編程語言趨向于越來越類似自然語言。并且 作為現(xiàn)在一種推崇的方式,越來越多的程序員正在試圖讓他們的代碼盡可能地接近于白話英文,以便于其他程序員和未來自己的理解。那么這個(gè)融合的限制是什么?

NLP

現(xiàn)在的自然語言處理(natural language processing,NLP)系統(tǒng)能夠理解文本中的單詞角色以及它們之間的相互關(guān)系。下面是來自斯坦福大學(xué)CoreNLP輸出的一個(gè)例子:

我們可以發(fā)現(xiàn),僅通過分析文本,該程序就能夠識別同一個(gè)人的聯(lián)合引用,并識別單詞的角色。

下面說一個(gè)更有趣的,例如,此簡單的業(yè)務(wù)規(guī)則:

注意CoreNLP是如何識別條件(if – buy)和對象(buy – iPhones)的。那么現(xiàn)在將這些翻譯成計(jì)算機(jī)程序還有什么難的嗎?

有越來越多的新聞文章是由機(jī)器人寫的。最近如Apple、Google、Microsoft和亞馬遜等公司已經(jīng)相繼開發(fā)出基于語音識別和自然語言處理的客戶產(chǎn)品。這進(jìn)一步加快了這一領(lǐng)域的研究。

如果你想親自體驗(yàn)自然語言處理,那么我強(qiáng)烈建議Python的NLTK。

遺傳編程

另一個(gè)有趣的研究領(lǐng)域是遺傳算法。使用類似于自然選擇的進(jìn)程,遺傳算法通過生產(chǎn)***的解決方案來解決問題。從設(shè)計(jì)噴氣發(fā)動(dòng)機(jī)到玩超級瑪麗都是它的應(yīng)用范圍。

但是,遺傳算法肯定不能生成程序代碼,是吧?再好好想想。

一個(gè)名叫Kory Becker的開發(fā)人員,編寫了一個(gè)可以生成Brainfuck代碼來解決簡單問題的程序。當(dāng)然,這款軟件的實(shí)用性非常有限,但這僅僅是個(gè)開始。正如他所說,更復(fù)雜的問題需要更多的計(jì)算能力,來找出最適合的解決方案。

例如,下面的代碼,完全是由程序?qū)懙模纱蛴ello。

+-+-+>-<[++++>+++++<+<>++]>[-[---.--[[-.++++[+++..].+]],]<-+<+,.+>[[.,],+<.+-<,--+.]],+]
[[[.+.,,+].-

該字段稱為遺傳編程,并且也不是什么新生事物:

對遺傳和進(jìn)化的研究需要結(jié)合查找的基因和生存價(jià)值標(biāo)準(zhǔn)。(Alan Turing,《Intelligent Machinery》,1948年)

結(jié)合NLP和GP,我們就可以建立能理解用自然語言寫的約束的系統(tǒng),并實(shí)施可解決這些帶有約束的問題的程序。

享受這段美好時(shí)光吧

我相信不是所有的編程工作都會(huì)被機(jī)器人取代,至少不會(huì)很快。比如說,那些需要高度優(yōu)化的代碼或使用高級算法的編程任務(wù)。其他的還有領(lǐng)域過于復(fù)雜的情 況。不過,我也相信,大量的程序員將會(huì)在未來幾年被取代。我的預(yù)測是,這將急劇減少對程序員的需求,抵消對軟件創(chuàng)造的不斷增加的需求,并最終結(jié)束程序員的 高薪時(shí)代。

這是否令你很難過?享受這段美好時(shí)光吧,至少我們比貨車司機(jī)和醫(yī)生要幸運(yùn)得多,并且有機(jī)會(huì)參與到這場革***。

英文原文:The future of programmers

 

責(zé)任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2012-03-09 09:02:33

2012-11-28 13:25:27

程序員

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2013-12-24 09:59:48

程序員管理

2014-01-06 09:33:32

程序員管理

2013-04-15 09:44:01

程序員

2020-10-05 21:13:37

程序員技能開發(fā)者

2011-02-14 13:05:17

PythonWeb

2015-06-08 10:48:39

程序員程序員自白

2020-07-10 09:55:15

程序員技能開發(fā)者

2015-06-16 10:31:36

程序員

2019-06-17 10:33:52

程序員培訓(xùn)班框架

2021-07-01 07:43:41

項(xiàng)目程序員代碼

2019-11-07 15:30:00

EmacsIDE

2020-01-06 09:53:29

程序員

2010-10-18 11:39:41

程序員

2015-08-24 10:07:13

程序員bug

2015-05-13 14:06:03

程序員糟糕的程序員

2019-04-22 10:25:52

程序員技術(shù)職場

2012-04-12 14:49:31

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號