Quantcast
Channel: 工程師 – TechOrange
Viewing all articles
Browse latest Browse all 585

來開發個能自動寫程式的程式吧!但這樣工程師不就失業了嗎?

$
0
0

2381963133_cae17da1c2_z

近十年以來,學習程式設計已經成為許多新創公司創始人以及科技巨頭們的格言。Steve Jobs 說:人人都應該學習程式設計。假如在 Google 輸入「everybody should learn」,第一個搜尋結果會是 「to code」。Hawking 也曾經說,會簡單的電腦程式設計是 21 世紀必備的技能。

大家可能覺得我有點瘋了,但是我認為他們都錯了。

當然有一點要講明:學習程式設計是一件不錯的事。現如今有很多有趣的程式設計工作,即使你不想成為這方面的行家,多少學點也可以使生活更輕鬆。早在 Tech in Asia 任職時,我學了一點 Python,寫過一篇 code,能自動推送部分 Newsletter。既省時,又有成就感。我認為這種挑戰對大腦思維鍛煉很有用。

那為何那些認為人人都應該會程式設計的人錯了呢?他們錯就錯在這個再三出現的論斷上:隨著電腦的普及,程式設計工作也會越來越普通。電腦一直會有,只是致力於用特殊的語言跟它對話的工程師並不多。

久而久之,人們也會希望自己可以直接跟電腦交流,而不用通過一些特殊的代碼。

  • 如何可能?

先來說說什麼是電腦程式設計。實質上,這就跟講一門外語很像。首先,人們在自己的語境下構想出希望電腦做什麼,然後通過程式設計,把這個想法翻譯成一種電腦可以懂的語言。所以說,電腦程式設計實質上就等於翻譯。

但是種種跡象表明,電腦程式設計實際上比翻譯要簡單得多。因為人們只需要指示電腦做這個,再做那個而已,並不需要它能欣賞一首詩的文化背景,也不需要擔心用了 C++ 後,散文的基調就跑了。而英語不一樣,用不同的單詞,就可能會產生不一樣的情境。所以說,對於程式設計來說,人們只需做一件事,那就是讓電腦明白它要做什麼就行了。

這其實並沒有看上去那麼簡單,因為電腦本身不會說話,他們也不能對人類的種種行為感同身受。儘管如此,機器翻譯人類語言所面臨的障礙,在電腦語言上並不存在。雖然達到完美的機器翻譯仍然任重而道遠,但是實現遠高於平均水準的機器翻譯還是很容易的。我認為這個同樣適用於程式設計。

  • 如何發生?

這已經發生了。DARPA 有一個叫 MUSE 的專案,透過分析處理網頁各種的代碼,開發人類可控的自動程式設計軟體。此原理跟機器語言翻譯差不多:網頁上有各種各樣的代碼,也有很多來進一步描述代碼的文本。理想情況下,當人類給出諸如「搜索這個領域的所有網頁,並把從各個網頁上搜索到的資料匯總到一個表格中的同一列」的指令,或者「編個程式,每天下午 3 點自動刪除我的暫存檔案」等基於語言的指令時,電腦能根據代碼以及非代碼語言推算出人類的真正需求。

顯然,這說起來容易,做起來難。首先,這是個耗時耗力的大工程,即算有朝一日實現了,也明顯替代不了所有的工程師。即便像 Frankenstein-style,雖然功能性很強,卻仍然不是最清晰、最有效的 Code。所以此類系統即便能淘汰眾多程式設計工作,也只能像無人駕駛一樣(另一個 DARPA 專案),僅僅只是承擔更多的駕駛工作,而非淘汰駕駛員本身。

DARPA 的 MUSE 項目並不是唯一。IBM 的 Watson 也一樣。它能更熟練地破譯人類語言從而達到理想的效果(尤其當那個結果是要徹底打敗 Jeopardy 大賽冠軍 Ken Jennings)。還有 Obama 發佈的 Brain Initiative 計畫,旨在訓練電腦擁有更多的人類思維。毫無疑問,人類已經向自動程式時代邁進。

此類效果將進一步加劇,因為隨著工程師意識到由人類到機器的翻譯比簡單的漢譯英要難很多,他們會設計出相當多的自動化程式來減輕自身的工作量。隨著未來軟體功能的不斷優化,工程師們的飯碗終將不保。真糟糕!

  • 別口誅筆伐

以免大家因為我的評論而抓狂,我先發表以下免責聲明:

1. 即使是基礎自動程式設計可能都至少要 10 年,甚至更長。當今雖然程式設計可能還不適用於幼稚園小孩,但是並不是說大學生不可以去學。

2. 學寫程式還是有很多好處的,儘管機器也能做這些工作。這就好比機算機器翻譯漸趨完美,學習一門外語仍然是件不錯的事。所以如果你對電腦程式設計有興趣的話,那就義無反顧地去學吧。

3. 程式設計由於具備創業傾潛質,因此是根除貧困最好的途徑之一。網上的學習資料成千上萬,但是僅僅通過電腦,而不需要其他東西就可以編一個程式,或者開發一款 App,使其在現實世界中產生商業價值。

但是總的來說,程式設計並不是鐵飯碗,也不是長期的飯票。作為一名作家和翻譯家,我知道機器人終將取代我的工作。但是,工程師也千萬別沾沾自喜,因為你們有一天可能也會被取代,而且有可能會比我先丟掉飯碗。

(本文獲《36 氪》授權刊登轉載,譯者/Emily Lu,圖片來源:Andrés Moreira CC Licensed,未經授權請勿轉載。)


Viewing all articles
Browse latest Browse all 585

Trending Articles