成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

業余愛好者如何學習編程

開發 項目管理
因為Aaron Swart 的自殺,這兩天看了不少關于他的報道以及他自己的博客,對我觸動最大的是盡管他一直在做技術相關的事情,但眼光和理想卻遠遠超越了技術。

[[92982]]

因為 Aaron Swartz 的自殺,這兩天看了不少關于他的報道以及他自己的博客,對我觸動最大的是盡管他一直在做技術相關的事情,但眼光和理想卻遠遠超越了技術。他把技術當作推動 自由和社會變革的工具,所以 Twitter 簽名也是 "Applied sociologist", 而不是經常可以在程序員那里看到的 "Geek" 和 "Hacker" 等。我非常欽佩他的社會理想和為之做出的努力,然后開始思考自己可以做些什么,于是就有了這篇文章。

現 在有關編程的書籍非常多,網上也有很多教程,但大多都是針對職業程序員或者計算機專業的學生,對那些只想實現一些自己想要的東西的業余愛好者幫助不大。業 余愛好者并不想以編程為職業,也不想花太多時間去學習基礎,他們只是想盡快做出自己想要的東西。這樣的東西在專業程序員看來可能很爛,但我覺得非常有意 義。會編程的人越多,信息流動的渠道就越多,做出好玩的東西的機率也越大。

我的技術水平一直不怎么樣,而且越來越業余,不過正因為如此, 我非常能體會初學者的痛苦,或許寫這樣的東西正合適。本文的目的是幫助業余愛好者掃清一些思想上的障礙,分享一些我的經驗,并不會涉及太多技術細節,畢竟 每個人想做的東西和想學的編程語言都不同,不過后面會給出一些學習資料。

重要聲明:本文只針對那些不想以編程為職業,只想學習編程以便自己做東西的業余愛好者。想要成為一個優秀程序員的同學請看這篇經典的《十年學會程序設計》。

思想準備:

1. 編程不難,至少做出一個能用的東西不難。別把它當回事兒。很多人之所以覺得編程很難是被專業術語和趾高氣揚的程序員嚇到了。別擔心,業余愛好者不需要對自己要求那么高。

2. 編程不需要數學基礎。沒錯,就算你數學很爛也能做出東西。大部分算法都已經有成熟的解決方案,可以直接拿來用,完全不用擔心。我們的目的是做東西,不是研究算法和數學。

3. 編程不會改變你的生活方式。你完全可以學習編程而不接受和它有關的文化。不一定要崇拜某位大神、閱讀技術新聞或者參與社區,也不一定要不修邊幅、熬夜工 作。如果愿意的話,精裝打扮穿上最漂亮的衣服去編程也可以。反正不想成為職業程序員,不用擔心因為「不像程序員」而被鄙視。

4. 有很多友善的程序員。程序員給很多人的印象要么是邋遢、木訥、害羞的書呆子,要么是性格怪異、智商極高的大神,其實大部分程序員并不是那樣,只不過媒體和大眾更偏愛怪異的東西。以 Linus 為例,在他的自傳 《Just for Fun》 中提到:

「Linux 不是靠犧牲寶貴的睡眠時間換來的。事實上,如果你想聽真話,那我就要說,我更喜歡睡覺。」

「在那個時候,只要一想到姑娘,Linux 系統就變得不再重要了。在某種程度上,今天也還是這樣。」

瞧,這位大神其實大部分時間和普通男性差不多,更喜歡「睡覺」和「姑娘」。所以,如果真的遇到了無法解決的問題,完全可以大膽地去請教專業程序員們,一般都可以得到答復。

5. 習慣無知。無論學習什么東西,往往越深入就越覺得自己無知。這樣的無知本身并不是壞事,它可以讓你保持謙虛,但千萬不要被它嚇得不敢繼續前進。及早適應無知的感覺,你并不需要全知全能才能做出東西,如果覺得困難,可以試著假裝自己擅長編程 。

如何開始:

首先,完整閱讀這篇文章:《你第一要做的是開始去做》(這篇文中翻譯自 The first step is to start )。

如 文中說的那樣,不要以「基礎不夠」、「知識不全」等借口停下來,一開始甚至可以先在紙上勾勒出想要的東西。當然,完全不懂編程肯定無法開始真正的創造,但 學習的時候不要抱著「先專心學習,學好本領再回來做」的念頭。正確的做法是:只學那些最基礎的東西,然后立刻著手去做,遇到不會的地方再去學。

沒 有技術背景的人學習編程很容易被錯綜復雜的技術體系嚇到,網上的教程中也經常會出現「一定要讀這本書,非常經典」、「最好先有 XX 基礎再看這篇教程」之類的警告,結果有時候會出現這樣的情況:本來你只打算學習編寫網頁 ,結果幾天后莫名其妙地開始苦讀《精通正則表達式》。為了能夠專注于自己想做的東西,要十分警惕「學習」這件事情。盡量學習最少的東西,然后把時間都花在 創造上。當想要學習的時候,慎重考慮它是否會讓你偏離目標,或者繞太遠的路。這樣做肯定會導致基礎不夠好,但我們是業余愛好者嘛,能盡快做出東西就行了。 如果你真的非常在意基礎,說明你可能更想成為職業程序員,請返回參考前面的重要聲明。

沒有人天生就會編程,在做東西的過程中會不斷學到新 的知識,然后就會發現自己之前的代碼很愚蠢。這個時候你可能會很想推倒重來,或者從頭改進之前的代碼。要抑制住這種沖動,不然就會掉入代碼優化的無底洞。 事實上,幾乎所有的專業程序員都會對半年前自己的代碼感到不滿,而且一開始代碼質量不好完全沒有問題。舉個例子,假如要在網頁上顯示 10 次 "I love you.",你并不知道如何使用循環,于是就復制粘貼了 10 次 "I love you"。這樣的做法或許很笨,但是你做出了想要的效果,對于業余愛好者來說,完成一個東西要比代碼質量重要得多,不要為了這種笨方法而感到羞愧。

如何解決問題:

在 創造的過程中肯定會遇到很多問題,對于初學者來說,大部分的問題都是語法或者拼寫問題,只要仔細檢查代碼就可以解決,少數摸不著頭腦的問題也可以用 Google 找到答案。很多非 IT 行業的人平時都只是搜索中文,可能并不覺得 Google 比百度要好,但當你開始學習編程,就會立刻發現 Google 比百度好用得多,一般都可以在搜索結果第一頁找到想要的東西。使用 Google 搜索的時候,請嘗試用英文描述問題,或者直接把出錯信息直接粘貼到搜索框。

如果實在搜索不到解決辦法(這種情況對業余愛好者來說極為少見,請善用 Google),可以去 Stack Overflow 提問。提問的時候請注意描述好自己的問題,把錯誤信息以及相關的代碼都寫進去。 Stack Overflow 的氛圍相當好,應該很快就會有人回答你的問題。比較不方便的地方是你必須使用英文提問,沒辦法,因為類似的中文社區并不存在。如果執意要去中文社區提問,那么我真誠地建議你使用女生頭像和昵稱,可以有效提高回復率,呵呵。

有 關編程的一個惱人的地方是,就算看書之后覺得自己掌握了,真正寫的時候還是經常會出錯。它只能通過實踐來掌握,所以需要很多耐心。當你被折磨得想要放棄的 時候,或許可以換一種角度,以此為契機掙脫過去那么多年的學院派教育。想一想吧,我們在學校里待了那么長時間,幾乎所有的學習路徑都是「先閱讀,再應用」 或者「只閱讀,不應用」,是時候體驗一下如何在應用中學習了。

面對批評:

有些人做出想要的東西之后就已經很滿足,但有些 人可能會想要展示一下自己的作品并獲取一些意見。因為業余,所以當專業程序員看到這樣的作品之后可能會非常不屑,甚至大肆批評。這個時候不要自卑或害怕, 因為他們對作品的了解都是片面的。他們只是一味拿專業的技術標準來衡量,不清楚你只是想做出一個東西,不清楚你只是業余時間在做,不清楚你在整體上的考量 和妥協。作為這個作品的創造者,你才是專家,如果按照他們的要求,你可能永遠都做不完。

之所以提到這一點,是覺得業余愛好者大都是自己一 個人慢慢自學,被打擊一下說不定就完全放棄了,那樣實在可惜。對于專業程序員的批評,如果有用就記下來,下次不要再犯就好,沒有必要氣餒或者把之前的東西 重寫一遍。從無到有實現了自己的創意已經很了不起,不需要對專業程序員有什么交代。

注意事項:

1. 不要過度關注編程語言的優劣。很多編程語言都可以達到相同的目的,選中一個之后把它用好就是了。和別人爭辯哪個編程語言更好是很多職業程序員的一大愛好,是他們生活的一部分。我們是業余愛好者,只要求工具夠用,不需要像他們那樣一定要用「最好的」語言。

2. 用不著關注國內的 IT 紅人和八卦。對學習編程和做東西沒有任何益處。(補充:這條可能帶了個人情緒,請自行判斷,但我關注了那么久覺得確實沒有任何益處。。。 >_<)

3. 不要自稱 "Geek","Hacker" 或其它什么東西。當開始給自己貼標簽的時候,就會試圖表現得像那類人,束縛自己的同時還會做出許多愚蠢的事情。我們要做的事情很簡單,就是掌握技術并做出 能用的東西,沒有必要給自己貼任何標簽。事實上,能做出東西的人比自稱 "Geek" 或 "Hacker" 的人稀有得多。

4. 利用開源代碼。感謝開源事業的蓬勃發展和無數程序員的無私奉獻,使我們可以學習和使用別人的代碼。當需要一些功能時,可以先去找一下是否已經有開源的實現,沒有必要自己從頭寫。

5. 先找到自己想做的東西。不要為了學習編程而學習,那樣就算記住了很快也會忘掉。如果實在找不到什么想做的,可以考慮給一些公益組織義務做一個網站,鍛煉技能的同時還可以關心一下社會。

6. 保持初心。業余愛好者擁有的最寶貴的財富就是初學者的心,也正是因為這份初心,才讓代碼質量問題變得并不那么重要。可惜的是,隨著技術越來越熟練,初心會 漸漸消失,做東西的時候首先考慮的不是結果而是實現方式,當初那個滿腦子想法苦于不能用技術實現的人不見了,取而代之的是一個精通技術卻乏味的人。所以, 作為業余愛好者,應該把「完成作品」和「保持業余」作為首要目標,如果精通技術的代價是失去初心,那就不要精通好了,反正并不想以此為生。

學習資料:

由 于我的工作大部分是 web develop, 所以這里給出一些不錯的相關資料。如果你想要做一個簡單的網站或者 app, 那么這些知識夠用了。也歡迎補充好的入門資料,我會不斷更新。(之所以沒有推薦其它方面的資料,是因為我并沒有相關的經驗,不知道其中優劣。編程可做的東 西非常多,比如 Arduino 硬件編程,有興趣的可以去找一下資料,也歡迎補充。)

1. Head First HTML 與 CSS、XHTML 。在大學圖書館偶爾看到過這本書的英文版,很喜歡。本書非常適合初學者,里面很多插圖,寫得也很有趣。

2. A Beginner’s Guide to HTML & CSS 一個很好的在線學習 HTML & CSS 基礎的網站。

3. An Advanced Guide to HTML & CSS HTML & CSS 進階,里面還包含了 jQuery 的學習。

4. 笨方法學 Ruby. 這本在線電子書是 Learn Ruby The Hard Way 的繁體中文翻譯,也是 Zed Shaw 寫的 Learn XXX The Hard Way 系列中的一本,之所以推薦 Ruby 是因為我很喜歡這門語言。本書非常注重實踐,全書由 52 個習題構成,當你完成這些習題的時候就已經寫了很多代碼了。我覺得書中后面的一些習題(比如讀寫文件)可以先跳過,用到的時候再去學習。

5. Codecademy 備受推崇的在線學習編程網站,而且有中文界面,非常推薦。

6. Code School 和 Codecademy 類似的在線學習網站,評價不錯。

7. Learn CSS Layout 很實用的學習 CSS 的網站。

最后再次提醒一下,如果你選擇了學習編程,以后很長一段時期內業余時間都會被占據,而且期間會體會到很多痛苦。但是當完成第一個作品的時候,你就會發現之前的痛苦都是值得的,它們是創造不可或缺的一部分。

后 記:想要寫這篇文章的時候激情滿滿,覺得自己在做好事,但寫的過程中一直誠惶誠恐,非常擔心文中業余愛好者可能面臨的問題都是自己臆想出來的。畢竟在這個 行業待的時間不算短,早就變成了一個乏味的職業人士。如果你是一個想學習編程的業余愛好者,歡迎留言告訴我哪些擔心是不必要的,以及漏掉了哪些東西,我會 及時修正或補充。

原文鏈接:http://www.douban.com/note/258600322/?qq-pf-to=pcqq.group

責任編輯:陳四芳 來源: 豆瓣網
相關推薦

2014-02-13 10:15:39

編程業余愛好

2014-01-03 15:14:22

編程業余愛好

2019-08-09 10:15:14

機器學習人工智能監督學習

2021-07-26 11:10:39

互聯網編程計算機

2018-07-19 19:07:33

語言編程語言程序

2015-08-17 09:10:13

程序員成長優秀

2023-08-05 12:49:07

磁懸浮技術

2018-06-01 08:37:30

物聯網混合云數據保護

2016-02-17 15:15:01

2022-05-06 10:11:21

開源游戲桌游

2018-06-12 07:38:05

Linux 開源

2009-11-02 11:25:40

LinuxUbuntu 9.10操作系統

2009-02-27 09:59:07

LinuxFedora 10愛好者

2011-05-30 13:58:56

PHP

2010-06-18 09:00:54

2017-03-23 15:17:20

Linuxsudo棋盤

2014-01-02 13:09:41

創造力編程

2015-06-10 14:14:03

數據中心家庭數據中心

2011-05-11 09:42:27

程序員

2021-01-12 10:50:48

人工智能Instagramer科技
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区在线观看 | 久久国色 | 国产视频一区二区在线观看 | 精品一区免费 | 国产1页| 久久久国产网站 | 中国一级特黄毛片大片 | 久久久女女女女999久久 | 国产传媒毛片精品视频第一次 | 日日骚视频 | 久久国产精品99久久久大便 | 一级欧美 | 天天综合永久入口 | aaa天堂| 亚洲欧美一区二区三区情侣bbw | 国产一区在线免费观看视频 | 国产精品国产a级 | 亚洲精品在| 国产无套一区二区三区久久 | 欧美日韩国产一区二区三区 | 九九热在线视频免费观看 | 色噜噜狠狠色综合中国 | 国产一区精品在线 | 久久99国产精一区二区三区 | 狠狠躁18三区二区一区 | 日韩av福利在线观看 | 久草新在线 | 成人免费看黄 | 国产 91 视频 | 羞羞羞视频 | 国产精品一区二区三区在线播放 | 欧美综合一区 | 每日更新av | 色综合中文 | 九九九国产 | 成人免费视频7777777 | 99免费在线观看视频 | 久久国产精品一区二区三区 | jav成人av免费播放 | 国产精品视频网址 | 精精国产xxxx视频在线播放 |