謝邀。

編程語言是招式,思考方式是內功。

沒有內功也能獨步天下嗎,能,獨孤九劍。

徒有內功也能傲視群雄嗎,能,吸星大法。

內外兼修,是為王道。一般學成有個先後。令狐沖是先學獨孤九劍後學吸星大法,張無忌是先學九陽神功後學太極劍。

祝學有進步,有問題可以加我微信進群討論技術。


不不不,編程語言是有演算法的,演算法是靈魂。如果說掌握了編程語言,你可能會掌握一些思想和方法,但是對於這方面的專家, 差別就像數學專業的學生和數學家的區別。


錯誤的問題只能得到錯誤的答案。

這個問題沒有說清楚什麼叫掌握編程語言。

我的定義是:如果你能用編程語言去實現編程語言本身,就可以說你掌握了編程語言。

所以我的回答是:是的,掌握編程語言就等於學會了編程的思考方式。


遠著呢


一般情況下,如果你學會了一門編程語言,會掌握一些編程的思考方式,只要這樣,你才能寫出更好的編程代碼。

這時候,你開始學另外一門不同語系的編程語言,如果你發現你還可以快速上手,掌握,實踐,這時候基本上可以確認,你學會了編程的思考方式,因為學會了,才能更快的一通百通。

其實不管學什麼,掌握方法很重要。


不是的,編程語言和編程的思考方式是南轅北轍的兩件事。編程的思考方式其實是學習計算機思維,進一步講叫做「學會像程序員一樣思考」

對於正在學習計算機語言,但並不一定打算以寫代碼為生的群體來說,學會了像程序員一樣思考,才是真正的將知識「變現」。

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

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

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

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

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

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

避免重複性,在可能的情況下,用最短的代碼達到最高的目的。程序員們把這種規避「無意義」工作量的態度應用到人類生活里,就有了智能產品的不斷推陳出新、無人駕駛的上路,人工智慧的日漸完善——因為人類的大腦應該更多地去做創造性的事情,而非把時間和精力用在解決基本生活需求上,如果用機器去建立更便捷的生活環境,提高人們工作和創作的效率,就能解放出更多的時間。

對於普通人來說,學著借鑒程序員的思考方式,會更願意接受新事物以改變現狀、也更願意掌握不同地技能來提升效率——長此以往,相較於「守舊」的人,他們會更好地掌握自己生活的節奏。舉幾個非常生活化的例子:在上班之前給電飯煲定時,回家就能有熱騰騰的飯吃、掃碼取電影票代替排隊、熟練PPT/WORD/EXCEL的使用技巧,比如函數和快捷鍵,更快地完成文件製作。最近還有一則新聞吸引了很多人的注意:「日本發明AI面試官」。

AI面試官被植入到一台手機里,它會問面試者120多個問題,並整理成一份綜合分析報告供「真人面試官」來參考。很多人會疑問,人力資源專業會不會就此受到AI的衝擊?但事實上AI的工作是為面試官提供簡歷之外的補充調查,讓面試官不用重複地提問記錄,在面試時有更多時間去針對每個獨立的個體設立問題,進行有價值的溝通,並且從人類的感受出發對面試者做出情緒、心理上的分析判斷,而這才是最有價值的部分。

3,嚴密的邏輯性

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

事實上,程序員這種追求一個蘿蔔一個坑,不能容許自己的代碼裡面有未定義的事情發生,按照if……else……的邏輯,即使不渴,也要嚴密的對應一個空杯子。為過程中的不同可能性先搭建出框架,預留好空間,是編程思維里很重要的一點。

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

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

編輯於 2018-12-15繼續瀏覽內容知乎發現更大的世界打開Chrome繼續白茶白茶程序員

這句就很有意思了,如果我給你一把槍難道你就能成為史泰龍嗎?很顯然不可能。所以還是需要我們不斷的去想去敲。漸漸的你會發現以前的思維雖然想著挺好的,但是敲出來後呵呵了。然後無限重複這樣的事情,你會蛻變,某一刻突然發現你的思維方式——真牛


這句就很有意思了,如果我給你一把槍難道你就能成為史泰龍嗎?很顯然不可能。所以還是需要我們不斷的去想去敲。漸漸的你會發現以前的思維雖然想著挺好的,但是敲出來後呵呵了。然後無限重複這樣的事情,你會蛻變,某一刻突然發現你的思維方式——真牛


並不是這樣的,掌握演算法才是掌握靈魂
推薦閱讀:
相关文章