編程就如一種超能力。通過它,你可以創(chuàng)造出成千上萬的人們可以看到的東西;你可以改變?nèi)藗兊男袨榉绞健⑺枷敕绞郊芭c他人交互的方式。這棒極了,但是,我也見過好多人,他們認為這是一種他們力所不能及的能力。我也見過很多非技術(shù)出身的人,他們似乎以為這種超能力只會賦予那些足夠幸運的人——他們在很小的時候就擁有了這種能力。
在高中,我曾學習了兩門計算機技術(shù)的課程,所以在大學時我才有充分的信心去面對編程。如果在此之前沒學過這些課程,編程可能會成為我大學中的一個噩夢。我最欽佩的就是那些在大學前沒有編程經(jīng)驗的同學,他們?nèi)匀豢梢詫W的很好。
我的大學以外的幾個朋友也和我同樣感受。他們希望自己早些認識到編程的重要性,現(xiàn)在還能有多少機會可以打開“技術(shù)”的大門,并且期待著自己能學會代碼。這直接的表達出他們對代碼的渴望同時他們也認識到現(xiàn)在為時太晚,他們的年齡在24,25左右。
人們很容易認為這為時已晚,因為看到很多人用了大學四年的時間來學習編程。但這四年里我只學習了計算機科學嗎?前兩年我一直在尋找主修專業(yè),后兩年我陸續(xù)學習了八門課程,但其中很多都與以應用程序為中心的編程無直接關聯(lián),當時我認為這些課程都大部分人希望選修的。在大學整整四年里,我只學了一門與應用程序開發(fā)有關的課程。剛開始,我沒有 HTML 和 CSS 的實踐知識,但是我和其他兩位同樣沒有經(jīng)驗的同學共同努力用 MySQL,PHP 和 HTML/CSS 共同開發(fā)一個 Web 應用程序。
人們很容易認為這為時已晚,因為已經(jīng)有很多技術(shù)大牛了。但是,最重要的是要記住每個開始接觸編程的人都是一個初學者,如何才能成為技術(shù)大牛,就要肯去開始,肯去鉆研。
所以如果你內(nèi)心想“真希望我已學會了編程”,那為什么不開始學著呢?當你開始學時,請牢記下面幾個提醒:
1. 它很困難。做一件事,起初可能需要花費更多的時間,但以后會越來越容易。當然,有些人更傾向于編程所需要的邏輯思維,但我認為大部分情況下,大家并不認為他們?yōu)榇俗龊昧藴蕚?。當然了,讓大家相信編?ldquo;很困難”以及普通人一般都“不是絕頂聰明的”,可能會稍稍安慰一下我們的自尊,讓我們感到我們是具有高智商精英團隊中的一員。
2. 在心理上對未來將面臨的困難做好準備。我經(jīng)常會想我是不是受到了什么詛咒,因為我每次嘗試新東西(如新的開發(fā)環(huán)境、工具、庫等)時,總會出錯。花了好幾年時間,我終于意識到針對各種不同操作系統(tǒng)、軟件版本等的說明文檔不是過時,就是很難理解。
3. 你確實很喜歡編碼嗎?不要想它是否太難。想想你是否對它感興趣?當你花了好幾個小時調(diào)試了一個程序,最終它可以按預期地運行時,你會十分興奮嗎?你希望花幾個小時去完成一件事嗎?這些都是軟件吸引我的原因——我從來不擔心我是否能把它開發(fā)出來。