最近少逛了一點知乎,取而代之的是逛Quora晴竞。然后逛到了這個題目:What'll happen to Silicon Valley when software can write software??當軟件可以自動寫軟件時洞焙,硅谷會發(fā)生什么變化。
無獨有偶,隨便刷刷知乎胜蛉,然后就看到了這個題目?如果有一天代碼再也不用手敲而可以用機器生成,那么現(xiàn)有的大部分程序員還要何去何從色乾??
上面兩題雖然問法不似誊册,但實質上想表達的東西都一樣,而且和一道古老的問題很相似:要是機器能代替人干活暖璧,那么人能干些什么呢案怯?
一般這類問題的答案是:去干那些機器還干不了的活。這個回答實際上很籠統(tǒng)澎办,而且沒什么建設性嘲碱。Quora上面最高贊的回答是:They'll hire people to write the software that writes software. 回顧現(xiàn)在的編程語言發(fā)展史金砍,就可以知道,其實現(xiàn)在的編程語言都是建立于前人編寫的語言之上的麦锯,例如C語言恕稠,要編譯成匯編語言,匯編語言再編譯成二進制的機器語言扶欣,電腦才能夠識別C語言鹅巍。實質上,編譯的過程就是software writes software料祠。Writes簡單骆捧,但是build難。我們做一個功能或項目時髓绽,并沒有說Write a project敛苇,而是build up a project,充分證明了build顺呕,構建的重要性枫攀。
人類文明的發(fā)展,一直都是外力慢慢代替人力株茶。從牲口代替人進行勞作脓豪,工具的出現(xiàn),交通工具的發(fā)明等等忌卤,到近代的大型的自動化生產(chǎn)扫夜,電腦代替打字機等等。所以其實提問:要是機器能代替人干活驰徊,那么人能干些什么呢笤闯?這個問題,其實算是杞人憂天棍厂,因為從古以來颗味,就已經(jīng)是機器代替人力了,不過當時的是牲口牺弹、有可能是工具等浦马。
其實有三個維度描述一個工程:1、復雜度张漂。2晶默、規(guī)模。3航攒、質量磺陡。可以類比于一件事情的深度、廣度及高度币他。一項工程假如復雜度越高坞靶,那么需要人參與的成分就越多;一項工程的規(guī)模越大蝴悉,那么機器所不能企及的地方就越多船逮;一項工程的質量需求越大术辐,那么人需要干預的成分就越多嘉竟。
而另外一方面殴俱,成本控制也是考慮的范疇烁登。
舉個身邊的例子环凿,某親戚開廠揍瑟。我去他的模具廠觀看時药蜻,看到很多工人正压,但是制作模具欣福,其實只需要一個母版就可以了,然后剩下的就交給機器就好了焦履。但為什么還需要工人呢拓劝?我所觀察及詢問得知,其實工人所做的是嘉裤,控制機器雕刻的精準度郑临,以及產(chǎn)品的質量檢測。我所聯(lián)想到屑宠,其實更高級的機器就會帶有這種自動控制的功能厢洞,就是自動化工控。但是由于成本的制約典奉,工廠并沒有引進之躺翻。工廠規(guī)模和高級機器參與度其實有如下圖:
工廠的規(guī)模和機器的參與度其實會有這么一個曲線。當規(guī)模實在太大之后卫玖,很多公司選擇把業(yè)務進行分割公你,這樣才能維持一個較好的成本控制。
所以假瞬,機器完全代替人這個命題不現(xiàn)實陕靠、甚至未來也看不到趨勢。因機器代替人的工作后脱茉,人就有更多時間去做更高級的事情剪芥,例如探索太空、研究時間維度等等琴许,而這些人類都不知道粗俱,怎么能夠教機器呢?當然,你要跟我討論Mechine Learning的事情寸认,那么我們另開話題签财。
但現(xiàn)實中,的確有那么一部分是被代替的偏塞,上世紀的下崗潮唱蒸,很多人都大呼,機器要完全代替人啦灸叼!而這種恐慌到現(xiàn)在還存在神汹,觀察一些比較落后的工廠、企業(yè)古今、單位等屁魏,他們寧愿讓工人、職員超規(guī)加班捉腥,也不愿意引進新的設備和系統(tǒng)氓拼。這種恐慌的確來源于無能,這里不展開講了抵碟,機器代替只愿機械勞動的人桃漾,這是現(xiàn)實。但機器永遠無法代替那群創(chuàng)造新事物的人拟逮。
假如有一日你聽聞到有機器可以干你這份工作時撬统,不要恐慌,靜下心來仔細想想你現(xiàn)在的工作是否除了機械重復就沒別的價值了敦迄。