1. 首先了解該語言的基本數(shù)據(jù)類型,基本語法和主要語言構(gòu)造正歼,主要數(shù)學(xué)運(yùn)算符和print函數(shù)的使用矮燎,達(dá)到能夠?qū)懽T浩強(qiáng)程序設(shè)計(jì)書課后數(shù)學(xué)習(xí)題的程度;
2. 其次掌握數(shù)組和其他集合類的使用共螺,有基礎(chǔ)的話可以理解一下泛型,如果理解不了也問題不大情竹,后面可以補(bǔ)藐不;
3. 簡單字符串處理。所謂簡單秦效,就是Regex和Parser以下的內(nèi)容雏蛮,什么查找替換,截?cái)嗳プ执惖内逯荨2贿^這個(gè)階段有一個(gè)難點(diǎn)挑秉,就是字符編碼問題。如果理解不了苔货,可以先跳過犀概,否則的話最好在這時(shí)候把這個(gè)問題搞定立哑,免留后患;
4. 基本面向?qū)ο蠡蛘吆瘮?shù)式編程的特征姻灶,無非是什么繼承铛绰、多態(tài)、Lambda函數(shù)之類的产喉,如果有經(jīng)驗(yàn)的話很快就明白了捂掰;
5. 異常、錯(cuò)誤處理曾沈、斷言这嚣、日志和調(diào)試支持,對(duì)單元測(cè)試的支持塞俱。你不一定要用TDD姐帚,但是在這個(gè)時(shí)候應(yīng)該掌握在這個(gè)語言里做TDD的基本技能;
6. 程序代碼和可執(zhí)行代碼的組織機(jī)制障涯,運(yùn)行時(shí)模塊加載卧土、符號(hào)查找機(jī)制,這是初學(xué)時(shí)的一個(gè)難點(diǎn)像樊,因?yàn)榇蟛糠謺疾惶⒁饨榻B這個(gè)極為重要的內(nèi)容;
7. 基本輸入輸出和文件處理旅敷,輸入輸出流類的組織生棍,這通常是比較繁瑣的一部分,可以提綱挈領(lǐng)學(xué)一下媳谁,搞清楚概念涂滴,用到的時(shí)候查就是了。到這個(gè)階段可以寫大部分控制臺(tái)應(yīng)用了晴音;
8. 該語言如何進(jìn)行callback方法調(diào)用柔纵,如何支持事件驅(qū)動(dòng)編程模型。在現(xiàn)代編程環(huán)境下锤躁,這個(gè)問題是涉及開發(fā)思想的一個(gè)核心問題搁料,幾乎每種語言在這里都會(huì)用足功夫,.NET的delegate系羞,Java的anonymous inner class郭计,Java 7的closure,C++OX的 tr1::function/bind椒振,五花八門昭伸。如果能徹底理解這個(gè)問題,不但程序就不至于寫得太走樣澎迎,而且對(duì)該語言的設(shè)計(jì)思路也能有比較好的認(rèn)識(shí)庐杨;
9. 如果有必要选调,可在這時(shí)研究regex和XML處理問題,如無必要可跳過灵份;
10. 序列化和反序列化仁堪,掌握一下缺省的機(jī)制就可以了;
11. 如果必要各吨,可了解一下線程枝笨、并發(fā)和異步調(diào)用機(jī)制,主要是為了讀懂別人的代碼揭蜒,如果自己要寫這類代碼横浑,必須專門花時(shí)間嚴(yán)肅認(rèn)真系統(tǒng)地學(xué)習(xí),嚴(yán)禁半桶水上陣屉更;
12. 動(dòng)態(tài)編程徙融,反射和元數(shù)據(jù)編程,數(shù)據(jù)和程序之間的相互轉(zhuǎn)化機(jī)制瑰谜,運(yùn)行時(shí)編譯和執(zhí)行的機(jī)制欺冀,有抱負(fù)的開發(fā)者在這塊可以多下些功夫,能夠使你對(duì)語言的認(rèn)識(shí)高出一個(gè)層面萨脑;
13. 如果有必要隐轩,可研究一下該語言對(duì)于泛型的支持,不必花太多時(shí)間渤早,只要能使用現(xiàn)成的泛型集合和泛型函數(shù)就可以了职车,可在以后閑暇時(shí)抽時(shí)間系統(tǒng)學(xué)習(xí)。需要注意的是鹊杖,泛型技術(shù)跟多線程技術(shù)一樣悴灵,用不好就成為萬惡之源,必須系統(tǒng)學(xué)習(xí)骂蓖,謹(jǐn)慎使用积瞒,否則不如不學(xué)不用;
14. 如果還有時(shí)間登下,最好咨詢一下有經(jīng)驗(yàn)的人茫孔,看看這個(gè)語言較常用的特色features是什么,如果之前沒學(xué)過被芳,應(yīng)當(dāng)補(bǔ)一下银酬。比如Ruby的block interator, Java的dynamic proxy,C# 3的LINQ和extension method筐钟。沒時(shí)間的話揩瞪,我認(rèn)為也可以邊做邊學(xué),沒有大問題篓冲。
15. 有必要的話李破,在工作的閑暇時(shí)間宠哄,可以著重考察兩個(gè)問題,第一嗤攻,這個(gè)語言有哪些慣用法和模式毛嫉,第二,這個(gè)語言的編譯/解釋執(zhí)行機(jī)制妇菱。
至此語言的基本部分就可以說掌握了承粤,之后是做數(shù)據(jù)庫、網(wǎng)絡(luò)還是做圖形闯团,可以根據(jù)具體需求去搞辛臊,找相應(yīng)的成熟框架或庫,邊做邊學(xué)房交,加深理解彻舰。對(duì)于一個(gè)庸俗語言,我自己把上面的內(nèi)容走一遍大概要花2-3周時(shí)間候味,不能算很快刃唤,但也耽誤不了太多事情,畢竟不是每個(gè)月都學(xué)新語言白群。掌握了以上的內(nèi)容尚胞,就給練武術(shù)打好了基本功,雖然不見得有多優(yōu)秀帜慢,但是肯定是根正苗紅笼裳,將來不必繞大彎子。就算是臨時(shí)使用的語言崖堤,把上面這個(gè)提綱精簡一下,只看藍(lán)色重體字的部分耐床,大致能在幾天到一周內(nèi)搞定密幔,不算是太耗時(shí),而且寫出來的代碼不會(huì)太不靠譜撩轰。
以上提綱未設(shè)及內(nèi)存模型胯甩。對(duì)于C/C++,這個(gè)問題很重要堪嫂,要放在顯著位置來考慮偎箫,但對(duì)于其他語言,這個(gè)問題被透明化了皆串,除非你要做hardcore項(xiàng)目淹办,否則不必太關(guān)注。