“學習計算機思維”是我們常常會聽到的口號,那麼下一句呢?或許應該是“學會像程序員一樣思考”——如果計算機思維是一個知識庫,瞭解它是時代對人類的要求,那麼程序員就是應用這個知識庫去解決世間疑難雜症的人,對於正在學習計算機語言,但並不一定打算以寫代碼爲生的羣體來說,學會了像程序員一樣思考,纔是真正的將知識“變現”。

1,發現問題,然後解決它

這幾年,無論報章雜誌還是網站上頻頻“出鏡”的編程故事,大部分都包含着一個隱形的劇情——主角因爲在生活中遇到了問題,覺得通過編程可以解決這個問題,才創造了很多造福人類的互聯網產品。比如今年被蘋果邀請參加WWDC的神童尤馬,7歲就修完了大學生的編程課,8歲的他開發了一款叫做“Hunger Button”的APP,專門針對每到飯點就不知道該喫什麼的受衆,能根據他們的定位和喜好推薦最優的餐廳,解決了他們的選擇障礙,而這次嘗試源於他發現父母出門之後常常爲去哪喫飯發愁。

在工作、學習、生活中,我們很容易會發現各種各樣的問題,卻總缺乏程序員的這種思維方式——不止是發現問題,還要解決問題。比如常常會看到路邊有很多廢棄的塑料瓶,雖然是可循環垃圾,但實際的廢棄率還是高達80%,這些塑料垃圾被投入海洋,導致依靠海洋生活的物種受到極大的危害,相信類似的照片大家都看過不少:

這時候,大家一般會想:我應該儘量少使用塑料瓶,出門自帶水杯。但是這算不算解決問題呢?其實不算,因爲這種避免污染的方式犧牲了出行的便利性,塑料瓶還是因爲能滿足“方便地喝到水”而被大多數人選擇使用。“程序員思考方式”卻與此有差別,程序員在寫程序時不會犧牲受衆的便利性去實現一個更有意義的功能,他們要讓兩者兼之。有三位英國留學生就用程序員的思考方式去解決了這個問題——他們發明了一款名爲Ooho的水滴狀容器,這種容器可以取代塑料瓶成爲水的包裝,由可生物降解的材料(可以看成香蕉皮)製成,甚至直接喫掉也是對人體沒有危害的,營養上,Ooho就像海藻一樣是蛋白質,喫起來則跟桃子皮差不多。

隨着年齡的增長,我們發現的問題會越來越與自身處境和社會需求正相關,如果一個人具備“發現問題,然後解決它”的精神,那麼從小的方面來說TA會更容易變得出色和成功,從大的方面來說,則更有可能對行業和社會帶來改善。

2,不做、或者儘量少做無意義的工作

避免重複性,在可能的情況下,用最短的代碼達到最高的目的。程序員們把這種規避“無意義”工作量的態度應用到人類生活裏,就有了智能產品的不斷推陳出新、無人駕駛的上路,人工智能的日漸完善——因爲人類的大腦應該更多地去做創造性的事情,而非把時間和精力用在解決基本生活需求上,如果用機器去建立更便捷的生活環境,提高人們工作和創作的效率,就能解放出更多的時間。對於普通人來說,學着借鑑程序員的思考方式,會更願意接受新事物以改變現狀、也更願意掌握不同地技能來提升效率——長此以往,相較於“守舊”的人,他們會更好地掌握自己生活的節奏。舉幾個非常生活化的例子:在上班之前給電飯煲定時,回家就能有熱騰騰的飯喫、掃碼取電影票代替排隊、熟練PPT/WORD/EXCEL的使用技巧,比如函數和快捷鍵,更快地完成文件製作。最近還有一則新聞吸引了很多人的注意:“日本發明AI面試官”。AI面試官被植入到一臺手機裏,它會問面試者120多個問題,並整理成一份綜合分析報告供“真人面試官”來參考。很多人會疑問,人力資源專業會不會就此受到AI的衝擊?但事實上AI的工作是爲面試官提供簡歷之外的補充調查,讓面試官不用重複地提問記錄,在面試時有更多時間去針對每個獨立的個體設立問題,進行有價值的溝通,並且從人類的感受出發對面試者做出情緒、心理上的分析判斷,而這纔是最有價值的部分。

3,嚴密的邏輯性

大家都看過不少關於程序員的笑話,比如下面這則:

事實上,程序員這種追求一個蘿蔔一個坑,不能容許自己的代碼裏面有未定義的事情發生,按照if……else……的邏輯,即使不渴,也要嚴密的對應一個空杯子。爲過程中的不同可能性先搭建出框架,預留好空間,是編程思維裏很重要的一點。不過,笑話的呈現方式都比較極端,編程所需要的邏輯能力主要是基本的推理和演繹。

大家都知道程序是由各種算法構成的,而算法是數學計算式,所謂編程中的邏輯即是如何將任務轉化成數學算式和組織各個程序之間的關係,這些能力在人類生存中都是必要的能力——將一個大的目標拆解成小的步驟,然後通過合理地組織安排這些步驟,最終實現目標。

除此之外,程序員的思考方式還有很多值得借鑑的地方:比如寫代碼是一個終生學習的過程,要孜孜不倦地更新與自己專業有關的知識庫;比如程序要有規範性,程序員要遵從特定的格式和結構進行縝密地創造,用嚴謹地方式發揮有價值的創意。不是所有人都會選擇坐在電腦前寫代碼,但寫代碼的思維方式,卻是值得所有人借鑑的。試着掌握基礎的編程知識,像程序員那樣去思考。

相關文章