• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            前些天同事問我會(huì)不會(huì)Python, 我猶豫了一下:不會(huì)。

            實(shí)際上我曾經(jīng)學(xué)習(xí)過這個(gè)語言,當(dāng)時(shí)還用它寫了些小工具, 可現(xiàn)在我對(duì)這個(gè)語言的印象只剩下它那特殊的縮進(jìn)格式了。

            由此思考怎樣才算會(huì)一門語言?我想每個(gè)程序員都接觸過多門語言 , 那么究竟怎樣才算會(huì)這門語言了呢?
             
            會(huì)一門語言, 當(dāng)需要它時(shí), 應(yīng)該能很快用該語言解決某個(gè)問題, 這個(gè)是最基本的。
            如果深入一點(diǎn), 真正會(huì)一門語言, 我覺得需要滿足以下幾點(diǎn):
            a. 有超過一年的實(shí)踐經(jīng)驗(yàn)
            b. 理解語言背后的機(jī)制, 最好閱讀過該語言標(biāo)準(zhǔn)庫的部分源碼
            c. 在最近一年里還經(jīng)常使用它

            盡管我工作后只跳過一次槽,接觸的東西也比較有限, 但是細(xì)想一下, 也接觸過不少語言:
            Masm: 有段時(shí)間玩破解, 研究了下
            C/C++: 工組中一直用
            Objective-C:有段時(shí)間想搞跨平臺(tái)的界面庫,研究過這個(gè)語言
            C#: Win8  Metro下應(yīng)用程序拿它做界面
            VB:剛工作的2年,用它開發(fā)過發(fā)證系統(tǒng)和一些小工具
            Java,JSP, HTML, JS: 學(xué)得都不深入,當(dāng)時(shí)邊學(xué)邊用, 單獨(dú)做一個(gè)B/S架構(gòu)的電話會(huì)議系統(tǒng)
            Python: 自學(xué)的, 但是后來沒怎么用
            au3:當(dāng)時(shí)學(xué)得還挺深入, 看了不少語言標(biāo)準(zhǔn)庫的源碼,用它寫過一套自動(dòng)測試框架

            發(fā)現(xiàn)自己除了函數(shù)式語言(Lisp, F#, Erlang, Haskell等), 其他的編程范型語言都有接觸, 當(dāng)然函數(shù)式編程思想其實(shí)也有接觸,因?yàn)镃++模板元編程也有函數(shù)式編程的影子。

            但是如果按照上面會(huì)一門語言的標(biāo)準(zhǔn), 發(fā)現(xiàn)自己算的上"會(huì)"的語言只有一門C++, 其他語言多則使用近2年,少則使用過3個(gè)月, 大部分是用完之后就扔了, 只有C++是在工作中持續(xù)使用的。

            為什么我要定義上面的條件才算會(huì)一門語言?

            因?yàn)閷W(xué)習(xí)一門語言的語法其實(shí)很容易, 大部分語言語法可以一個(gè)月內(nèi)掌握, 如果從C++轉(zhuǎn)到C#, 學(xué)習(xí)語言的基本語法部分甚至只需一兩天。學(xué)習(xí)一門語言最費(fèi)時(shí)的部分是語言的框架和庫的學(xué)習(xí), 這些部分沒有對(duì)該語言一兩年的編程實(shí)踐是很難深入的。比如C#語法本身是很簡單的 ,但是建立在該語言之上的各種框架和庫卻非常龐大和復(fù)雜, 比如你要成為WPF或是WCF的專家, 夠你研究三五年了。很多時(shí)候我們所謂的"會(huì)"某個(gè)語言可能只是會(huì)用這個(gè)語言寫些"hello word"式的入門程序, 根本就不理解背后的機(jī)制,如果真正懂一門語言,這門語言應(yīng)該對(duì)你的編程風(fēng)格(思想)產(chǎn)生影響。另外編程是項(xiàng)實(shí)踐活動(dòng),需要一直使用才不會(huì)生疏, 我們發(fā)現(xiàn)一門語言如果一年沒有使用, 對(duì)該語言的印象就僅剩語法部分了,如果連續(xù)3年沒有使用,就僅剩該語言的名字了。很多開發(fā)人員轉(zhuǎn)管理一兩年后想轉(zhuǎn)回寫代碼, 發(fā)現(xiàn)很難再回去了, 沒有敲代碼的感覺了。

            所以如果你已經(jīng)會(huì)了一門語言, 并且想一直會(huì)這門語言, 請?jiān)诠ぷ鞒掷m(xù)使用。如果沒有機(jī)會(huì)使用, 自己給自己創(chuàng)造機(jī)會(huì)。

            作為一名C++程序員, 應(yīng)該掌握哪些語言?

            個(gè)人覺得C++程序員除了C++之外, 最好再深入掌握一門腳本語言, 一來作為輔助工具,二來可以理解動(dòng)態(tài)語言的一些特性。具體什么腳本語言看自己選擇了。一般入如果是游戲程序員, 當(dāng)然首選Lua,因?yàn)樗旧鲜怯螒虻膬?nèi)定腳本語言。隨著Html5的流行,本來僅僅是瀏覽器使用的JS現(xiàn)在也是越來越受歡迎了。JS本身不支持面向?qū)ο螅乾F(xiàn)在已經(jīng)比較成熟的JS面向?qū)ο蠼鉀Q方案了。盡管隨著V8 的成功, Node.js興起, JS庫也越來越強(qiáng)大,但也僅限于服務(wù)端, 如果JS作為客戶端工具語言就不適合了。Python和Perl都是不錯(cuò)的腳本語言, 如果你不是寫專業(yè)的文本處理腳本, 個(gè)人推薦學(xué)習(xí)Python, 因?yàn)樗唵我讓W(xué), 格式清晰,面向?qū)ο螅钪匾氖撬袕?qiáng)大的庫支持(包括GUI), 另外Python與C++ 交互也已經(jīng)有很成熟的解決方案。

            如果你有精力,可以再學(xué)一門函數(shù)式編程語言 , 據(jù)說它會(huì)顛覆你的編程思想。

            簡單總結(jié)下, 語言不在多,在精。經(jīng)常使用你覺得有價(jià)值的語言。深入掌握一門腳本。
            posted on 2013-08-17 19:32 Richard Wei 閱讀(4279) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 編程感悟

            FeedBack:
            # re: 怎樣才算會(huì)一門編程語言
            2013-08-19 11:41 | tb
            看來以后還要加倍努力啊  回復(fù)  更多評(píng)論
              
            # re: 怎樣才算會(huì)一門編程語言
            2013-09-22 16:12 | 大島小柚子
            網(wǎng)上一個(gè)更加流行的觀點(diǎn)是,所謂精通一門語言,就是能夠?yàn)樗鼘懢幾g器。
              回復(fù)  更多評(píng)論
              
            久久精品国产免费观看| 久久久久久久久久久免费精品| 亚洲国产天堂久久综合网站| 久久天堂AV综合合色蜜桃网| 囯产极品美女高潮无套久久久| 久久精品视频一| 久久天天躁夜夜躁狠狠躁2022| 午夜福利91久久福利| 无码精品久久一区二区三区 | 久久这里有精品| 日韩AV毛片精品久久久| 国产精品久久久久久久久久影院| 四虎影视久久久免费| 久久99国产精品久久99小说| 国产精品久久久久蜜芽| 久久综合88熟人妻| 精品久久久久久国产| 久久精品国产精品亚洲下载| 亚洲国产成人精品91久久久| 国产亚洲精久久久久久无码77777| 一本色道久久99一综合| 日本一区精品久久久久影院| 久久久久97国产精华液好用吗| 一本色道久久88综合日韩精品| 色婷婷综合久久久久中文一区二区 | 无码人妻精品一区二区三区久久久| 久久久久久久人妻无码中文字幕爆| 99久久99久久久精品齐齐| 久久国产香蕉一区精品| 久久精品国产亚洲AV久| 久久综合九色综合精品| 亚洲欧美成人久久综合中文网 | 亚洲va久久久噜噜噜久久狠狠| 97久久香蕉国产线看观看| 无码8090精品久久一区 | 精品久久久久久国产| 国产成人久久激情91| 久久久久久国产精品美女| 国产精品一久久香蕉国产线看| 青青草原综合久久大伊人导航| 国产成人久久激情91|