1. 程式人生 > >WeCode線上少兒程式設計|即使不做程式設計師,要學會像程式設計師一樣去思考

WeCode線上少兒程式設計|即使不做程式設計師,要學會像程式設計師一樣去思考

“學習計算機思維”是我們常常會聽到的口號,那麼下一句呢?或許應該是“學會像程式設計師一樣思考”——如果計算機思維是一個知識庫,瞭解它是時代對人類的要求,那麼程式設計師就是應用這個知識庫去解決世間疑難雜症的人,對於正在學習計算機語言,但並不一定打算以寫程式碼為生的群體來說,學會了像程式設計師一樣思考,才是真正的將知識“變現”。1,發現問題,然後解決它這幾年,無論報章雜誌還是網站上頻頻“出鏡”的程式設計故事,大部分都包含著一個隱形的劇情——主角因為在生活中遇到了問題,覺得通過程式設計可以解決這個問題,才創造了很多造福人類的網際網路產品。比如今年被蘋果邀請參加WWDC的神童尤馬,7歲就修完了大學生的程式設計課,8歲的他開發了一款叫做“

Hunger Button”的APP,專門針對每到飯點就不知道該吃什麼的受眾,能根據他們的定位和喜好推薦最優的餐廳,解決了他們的選擇障礙,而這次嘗試源於他發現父母出門之後常常為去哪吃飯發愁。

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

這時候,大家一般會想:我應該儘量少使用塑料瓶,出門自帶水杯。但是這算不算解決問題呢?其實不算,因為這種避免

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

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

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

3,嚴密的邏輯性大家都看過不少關於程式設計師的笑話,比如下面這則:

事實上,程式設計師這種追求一個蘿蔔一個坑,不能容許自己的程式碼裡面有未定義的事情發生,按照if……else……的邏輯,即使不渴,也要嚴密的對應一個空杯子。為過程中的不同可能性先搭建出框架,預留好空間,是程式設計思維裡很重要的一點。不過,笑話的呈現方式都比較極端,程式設計所需要的邏輯能力主要是基本的推理和演繹。大家都知道程式是由各種演算法構成的,而演算法是數學計算式,所謂程式設計中的邏輯即是如何將任務轉化成數學算式和組織各個程式之間的關係,這些能力在人類生存中都是必要的能力——將一個大的目標拆解成小的步驟,然後通過合理地組織安排這些步驟,最終實現目標。除此之外,程式設計師的思考方式還有很多值得借鑑的地方:比如寫程式碼是一個終生學習的過程,要孜孜不倦地更新與自己專業有關的知識庫;比如程式要有規範性,程式設計師要遵從特定的格式和結構進行縝密地創造,用嚴謹地方式發揮有價值的創意。不是所有人都會選擇坐在電腦前寫程式碼,但寫程式碼的思維方式,卻是值得所有人借鑑的。試著掌握基礎的程式設計知識,像程式設計師那樣去思考。