對新手程式設計師的一些嘮叨

edithfang發表於2014-09-02

                                

  

首先,歡迎你成為一個程式設計師。

程式設計真的很難。

不管你是有多麼地擅長程式設計,唯一能成為障礙的是大家自己學習和解決問題的能力。在這一行浸得越久,就越理解這個事實。這其實非常有意思——因為這樣一來,我們就永遠也不會原地踏步、滿足於現狀。如果你喪失了這種進取心,那麼在出現異常之時,很容易對此厭倦,甚至最終放棄。

程式設計也是最令人沮喪的事情之一。

一般而言,正常的程式設計體驗是這樣的:嘗試、失敗、更加用功、重新思考、靈機一動、最終奏效。在這過程中,會感到沮喪是很正常的,而且一旦我們這會成功了,就會想著去做更難的專案,然後這個沮喪感又揮之不去了。但是這會促使我們更加努力地去解決問題,得出一個圓滿的答案。不過,在此之前,我們得自我調整,舒展自己愁雲滿布的心情。

再怎麼複雜的問題,總會有解決方案。

隨著我們的程式設計能力增強,我們對自己將會更自信。這有利於我們及時調整各種負面情緒、更好地去解決那些難題(話說,如果太簡單就絲毫沒有挑戰性了)。

當我們還是小孩子的時候,我們總是闖禍,但是隨著年齡的增長,我們很少有機會真正辦砸一件事情。請記住,程式設計不是一件每個人都能做的事情。所以,你很牛!

在程式設計過程中,第一個小時和第 10 個小時是不同的,第 10 個小時和第 100 個小時也大不一樣。我記得有人曾在部落格中描述高爾夫球這項運動到了第 1 萬個小時,會產生質的變化,程式設計也是如此。

程式設計就像魔法,我們都是魔法師。

你看,我們努力學習,專研我們的課程知識(計算機和網路),然後召喚我們的魔法(程式)。魔法師可以教授其他人如何施展魔法,而我們發明創造的充滿奇幻色彩的裝置卻能讓任何人都可以使用(如網際網路和手機)。這些裝置提供的各項功能,通通離不開我們程式設計師的技能。

有效利用網路資源。

在你第一年學習程式設計的過程中所碰到的每一個問題,在你之前可能已經有 100 個人與它親密接觸過了,網上肯定會有各種解決方案星羅棋佈。越快掌握如何有效網上搜尋的技能,學習的進度就越快。警告:在你不知道某段程式碼的工作原理之前,不要輕易複製運用這些網路資源。

作為程式設計師,無論何時都不應該忘記我們的工具箱。

這些工具是我們的左膀右臂。我們在這個領域學到的第一件事情(變數,迴圈等)就像螺絲刀和錘子。這些工具將伴隨著我們遨遊在這個世界的每一天。而且,隨著我們經驗的增長,還能與時俱進學習更高階的工具,這一類的工具雖然不是非常普及,但是更擅長解決一些特定的問題 (例如,二叉樹資料結構、A*、Valgrind、偵錯程式等)。大多數程式設計領域(遊戲開發、Web 開發、資料庫)都有自己特有的一系列解決問題的模式。

程式因程式碼而生。在計算機上,我們可以享用其他人寫出的方案,可以借鑑、可以修改、也可以編輯,隨心所欲。

想要更加擅長程式設計,最好的方法就是寫程式碼,寫大量的程式碼。

努力總會有收穫。作為一名教育工作者,我將竭盡所能為大家提供一臂之力。但是,如果你已經掌握了充足的知識,那麼只要有足夠的時間,沒有我也能發現問題的所在。古語有云,“堅持就是勝利”。所以,好好練習寫程式碼吧,騷年。

同時,我們還需要閱讀大量的程式碼。

有很多程式設計師在這一領域比我們更如魚得水,他們早就寫下了很多可供參考的程式碼。三人行,必有我師。

有人說,第二門程式語言總是最難的,因為,第一門限制了我們思考程式的方式,而當我們需要學習另一種程式語言時,我們就不得不打破原有的秩序並重新建立一個。在學習第二語言之後,接下來要是再學其他新的程式語言就快多了。現在,我只要一週就能將任何一種給定的程式語言學的差不多。

永遠不會有所謂“最好的”。

有些語言和工具會在解決某些問題上比較擅長。當我們學習其他語言的時候,不要試圖用舊的埠去連線新的系統,要用新語言去思考和解決問題。

學會樂在其中。

程式設計是一個彙集了很多問題的大集合,這些問題則需要我們一一解決。給自己找點樂子,可以寫點自己感興趣的程式,興趣是最好的老師。

優秀的程式設計師永遠不會滿足於現狀,總是不斷學習。

如果你能做到這一點,那麼你永遠也不必擔心自己的飯碗。

出現疑難雜症時,可以試著將程式寫到紙上。

這不是開玩笑,這個竅門一般人我不告訴他。

最後,我想說,還有很多其他好的建議是我沒有談及的——但是,我想說,最好的建議是,我們得找到適合自己的。

希望各位都能開開心心程式設計,快快樂樂寫程式碼:D

英文原文:What I tell all new programmers  

翻譯作者:IT 新聞 – 蔣麗麗
相關閱讀
評論(2)

相關文章