昨天接到一個好友來電,她問我一些關於Python學習的問題。其中的一個問題是:
“您一年可以掌握Python嗎?成為一名Python程序員需要多長時間?”
我的回答是:這種提問並不正確,我們應該問的是:您可以在一年內掌握任何一個領域的內容嗎?
毫無疑問,答案是否定的。
一年之內你無法掌握任何東西。不管是編程,還是運動或語言或者樂器。試問,
您可以在一年內成為英超職業足球運動員嗎?
您可以學習下棋,並且在一年內獲得全國比賽的冠軍嗎?
這些就是需要實踐。有時候就算你投入的時間也多,您也可能永遠學不會,因為它需要天生的才能,而且需要大量的操作來提高自己的編碼水平。
編程的難點不是語言本身,而是如何應用它,並且要很好地應用它。即使在初級編程水平上,主要問題也不是特定的語言,而是編程時需要的“思維定勢”:能夠形象地了解代碼的流程。通過一段代碼,了解某些特定任務所需的流控製。對於不習慣它們的人來說,這些似乎是非常具有挑戰性的認知任務,今天常用的大多數編程語言的控製結構都非常相似,因此盡管人們可能認為他們需要的是學習一種特定的語言,但事實並非如此。當然如果您是一位經驗豐富的程序員,則可以在幾天內學習一種新語言的語法,這當然也包括Python。
所以, 我的答案是:一輩子。