放棄對語法的執念吧!高級開發人員不是這麼煉成的……

全文共1442字,預計學習時長5分鐘

 

圖源:unsplash

 

導航都用過吧?想去最近的超市,不認識路不要慌,谷歌地圖幫你忙,去幾次之後你就不再需要地圖了。

 

搬新家後附近的體育館、飯店皆是如此,你不會永遠需要導航幫忙。

 

你記住了它們的位置,但並不是刻意去記住每條道路、每條可能的路線,多去幾次,這是自然而然的事。而且有時,某個地方你可能只想去一次。

 

在編程中亦是如此。

 

軟件開發新手可能會感覺很糟糕,因爲他們沒能記住足夠多的語法,仍然需要查閱資料。在他們看來,這說明自己不是一個合格的開發人員。

 

開始編程之旅後最兩個常見問題是什麼?

 

· 該如何學習所有語法?

· 要花多長時間掌握並應用這些語法(前提是不查閱資料)?

 

很多人記住一些常用的語法之後,可能就覺得自己是個編程好手了。他們認爲真正重要的是能記住多少語言或者多少種編程語言和框架。

 

圖源:unsplash

 

爲了能客觀地看待這個問題,現在來比較一下不同編程語言中用來查找字符串長度的語法:

 

· seq.length,JavaScript列表,Java數組。

· seq.size(),Java序列,jQuery表達式(不建議使用)。

· len(seq),Python。

· length seq,Haskell。

· (count seq),Clojure。

· seq.count(),Django查詢集。

· SeqType'Length,Ada數組。

· strlen(seq),C語言,空終止。

· sizeof(seq)/sizeof(seq[0]),C語言,靜態分配。

 

可以看到,每種語言或技術都有它自己的查找字符串語法,想要記住12種語言中的同類語法是很難的。使用多種編程語言的開發人員很難記住他們用過的所有語法,他們甚至可能懶得去學這些語法。

 

語法重要到必須記住的地步了嗎?來看看高級開發人員是怎麼說的:

 

 

 

 

 

 

 

 

歐麥爾·曼蘇說:“我編寫了255行代碼,包括一個工作服務器和一個客戶端。我用谷歌查詢了23次,主要登陸了StackOverflow、Netty 4網站、Github和JavaDocs。計算一下,平均每寫10行代碼就要查詢1次!我不知道會是這樣。”

 

 

他們的坦白應該讓各位鼓起勇氣,不必爲記不住語法的所有細微之處而感到丟臉。這可能是很多初級開發人員關心的問題。實際上,各位無需記住所有內容。

 

甚至技術招聘人員都不關心這個問題。以下是谷歌的一位工程總監對此作出的迴應:

 

 

《黑客資訊》的另一則評論談到:我不僅經常使用谷歌,我還用它來搜索自己以前寫的東西。在谷歌上面輸入某個編程問題,答案就在我以前寫過的某個StackOverflow頁面上,這種情況不知道出現過多少次了。

 

如果某個答案太過久遠,我完全不記得有過這回事,我甚至會想:“哇,這個天才可真像我!”或者“這個白癡根本就不知道自己在說些什麼!”

 

一位高級開發人員也在臉書小組上講了自己的故事,招聘人員問他是否對某項技術沒有經驗,他回答:“那不過是另一種工具而已。”

 

或許他以前沒有機會使用某項技術,但自己有信心可以學會。可能花不了幾個月就能熟練使用。可能只需要花幾個小時閱讀文件,然後在工作過程中根據需要儘可能多的學習,而無需記住所有內容。

 

“優秀的工程師知道如何善用查詢。但面試官卻希望他們個個都是活字典。”

 

如今,新的語言和框架已經出現,現有的那些也經歷了很大的變化,記住語法困難重重,而且也沒那麼重要了。

 

圖源:unsplash

 

你要做的是提升自己真正的能力。剩下的事情就很簡單了:現在是綠燈,便順利通過;遇到紅燈,便要停下,等到綠燈亮起再繼續前進。

 

我們一起分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”

(添加小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智能科技哦~)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章