|
答案是:在學(xué)習(xí)區(qū)刻意練習(xí),每天500行。什么是學(xué)習(xí)區(qū),就是那種,你剛剛夠得著,但是還是需要付出一點(diǎn)努力的。
1. 如何尋找學(xué)習(xí)區(qū)
1.1 經(jīng)典教程
一般某門新語(yǔ)言的圖書,在豆瓣排名比較靠前,口碑都很不錯(cuò)的,挑一本帶課后練習(xí)的就行了,放棄那種雖然寫的很好,但是不帶練習(xí)題目的,那種書作為備選就可以了。Ruby社區(qū),我常常推薦日本Ruby學(xué)會(huì)會(huì)長(zhǎng)寫的這本:《Ruby Programming》課后習(xí)題。
1.2 笨方法系列
Ruby與Python雙修的怪才Zed Shaw,推出了笨方法學(xué)習(xí)編程的系列教程。里面已經(jīng)有了Ruby/Python/C系列。Zed Shaw開源了相應(yīng)的方法論、資料,你也可以將它改為自己要學(xué)的版本,比如Java、Arduino等。
網(wǎng)址:http://learncodethehardway.org/
Python中文版
1.3 社區(qū)英雄設(shè)計(jì)的練習(xí)題目
任何一個(gè)社區(qū),都有一些英雄人物,樂意傳承自身的知識(shí)體系,因此,設(shè)計(jì)了大量的練習(xí)題目。比如,Ruby社區(qū)的以下材料都很適合初學(xué)者。
1.4 人氣較旺的程序員問答社區(qū)
個(gè)人比較推薦:http://stackoverflow.com/(編者注:國(guó)內(nèi)程序員問答社區(qū)可以去博問)
可以去這里回答別人的問題,如果時(shí)間有限、可以先下載stackoverflow的top問題電子書。
別急著看最佳答案,自己嘗試寫下答案。然后再與最佳答案對(duì)照。
2. 在學(xué)習(xí)區(qū)刻意練習(xí)的輔助工具
初學(xué)編程,最應(yīng)該記住的是在學(xué)習(xí)區(qū)刻意大量練習(xí),千萬少看書,要多練習(xí)。當(dāng)年我從管理咨詢行業(yè)繼承的陋習(xí),先看大量資料,才進(jìn)入某個(gè)領(lǐng)域,并不適合學(xué)習(xí)編程。
刻意練習(xí)時(shí),有以下重要的工具。
2.1 TextMate的Bundle
Windows下的朋友暫時(shí)缺少,通過bundle可以快速掌握一門語(yǔ)言的核心語(yǔ)法,并自由擴(kuò)充自身的知識(shí)庫(kù)。
2.2 cheatsheets
cheatsheets類似于考試時(shí)的小抄,將某個(gè)需要學(xué)習(xí)的東西精華整理在一頁(yè)或幾頁(yè)紙上。
http://cheat-sheets.org/,找到里面的Ruby cheatsheets或者你自己所用到語(yǔ)言的小抄,有多個(gè)版本,找一個(gè)最適合自己的版本 ,然后下載并打印出來。一張紙囊括核心內(nèi)容。
cheatsheets,還有很多在這里:http://refcardz.dzone.com/
2.3 FlashCard
FlashCard是一種學(xué)習(xí)方法,先將題目呈現(xiàn),然后心中默想答案,再翻看答案。
將與學(xué)習(xí)相關(guān)的FlashCards下載在手機(jī)或者打印出來,然后等車等無聊時(shí)間,予以默想。
比如:http://www.yoyobrain.com/cardboxes/103
以及一個(gè)特別針對(duì)Ruby on Rails的app
網(wǎng)上有大量的關(guān)于Flash Card的社區(qū)。可以特意去搜索自己所學(xué)習(xí)的語(yǔ)言的。
3. 如何提升行動(dòng)力:人類行動(dòng)心理學(xué)的有效Hack
人為什么會(huì)拖延、人為什么行動(dòng)力很差。近些年心理學(xué)已經(jīng)取得了突破性研究成果。普通人思考目標(biāo)的時(shí)候,使用的是目標(biāo)意圖, 是:
我要做什么....
但是,有位天才心理學(xué)家 Peter Gollwitzer 發(fā)現(xiàn)目標(biāo)意圖這樣的思考范式,反而很難達(dá)成目標(biāo),于是,他對(duì)自己的實(shí)驗(yàn)對(duì)象,使用了一種替代范式。強(qiáng)迫實(shí)驗(yàn)對(duì)象,使用一種稱之為:執(zhí)行意圖的思考范式來思考。結(jié)果令人驚訝,人們更容易克服拖延癥、達(dá)成目標(biāo)。
什么是執(zhí)行意圖?就是使用if...then...的思考范式。比如, 不要再說,我要學(xué)Ruby。 而是說,如果我要學(xué)習(xí)Ruby,那么,今天晚上就裝上環(huán)境。
當(dāng)你關(guān)于行動(dòng)與目標(biāo),長(zhǎng)年累月這么思考,最終建立自動(dòng)化機(jī)制,那么行動(dòng)力慢慢就變強(qiáng)大了。如果...那么...成為生命中的一部分。我要...這種句式,就從自己的語(yǔ)言體系中死掉了。
4. 編程始終是個(gè)人行為
剛開始,不要:
- 忙于去社交
- 泡各種論壇、發(fā)無聊帖子
- 下載各種盜版電子書(自己花錢買來的你才會(huì)格外心疼)
- 爭(zhēng)議哪種語(yǔ)言更好
每個(gè)人的世界都是如此不同,不爭(zhēng)議,用它做點(diǎn)作品,或者是送給自己的女朋友,或者是賺點(diǎn)外快。慢慢地,就成長(zhǎng)了:)
it知識(shí)庫(kù):如何學(xué)習(xí)一門新的編程語(yǔ)言?,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。