• <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>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0

            編程范式(Paradigm) Lesson 1 讀書筆記:

            列舉幾種常見(jiàn)的編程語(yǔ)言(范式):

            C

            Assembly

            C++

            Concurrency programming(并行編程) (只是一種范式,而不是語(yǔ)言,可以使用C/C++實(shí)現(xiàn)并行編程)

            Scheme

            Python

             

            C是面向過(guò)程,C++面向?qū)ο蟆?/span>C語(yǔ)言是函數(shù)調(diào)用函數(shù),因此就像一個(gè)多級(jí)標(biāo)題一樣,通過(guò)函數(shù)A調(diào)用B 而函數(shù)B調(diào)用函數(shù)C,因此是有過(guò)程來(lái)決定一個(gè)函數(shù)的功能,我們首先看到的也就是一個(gè)過(guò)程(函數(shù)),通過(guò)指針來(lái)調(diào)用的。

             

            C++是面向?qū)ο蟮模虼耸峭ㄟ^(guò)“->”或者“.”來(lái)進(jìn)行訪問(wèn)的,我們首先看到的就是指針或者引用,也就是一個(gè)完整的對(duì)象。


            這系列課程會(huì)詳細(xì)講述底層是如何將C/C++編譯為匯編語(yǔ)言的,會(huì)進(jìn)行指針的詳細(xì)講解,讓你使用到**&p-> i = 7 這些很復(fù)雜的用法,雖然過(guò)程可能有些頭疼,但是對(duì)于了解底層很有幫助,讓你知道崩潰的時(shí)候是為什么,而不是看著它崩潰。當(dāng)然,這種用法還是不值得提倡的。通過(guò)這些課程,可以讓你成為一個(gè)高級(jí)C/C++工程師。


            匯編語(yǔ)言是很古老的,不會(huì)詳細(xì)講。有一個(gè)語(yǔ)言MITS,有點(diǎn)意思,可以研究下。會(huì)重點(diǎn)講述CC++如何編譯為obj文件,然后生成可執(zhí)行的二進(jìn)制文件,會(huì)發(fā)現(xiàn)原來(lái)CC++最終生成的二進(jìn)制代碼(01形式的),其實(shí)差不多。

            C++去掉了面向?qū)ο蟮牟糠志褪?/span>C,很多牛逼的工程師都傾向于使用C,盡管有很多優(yōu)秀的語(yǔ)言在不同方面要比C優(yōu)秀。

             

            并行編程并不是真的并行。原來(lái)的語(yǔ)言,如C/C++,實(shí)際上都是執(zhí)行完一條之后再執(zhí)行,而并行編程則是并行執(zhí)行(感覺(jué)上并行,實(shí)際上是交替執(zhí)行,只是這個(gè)交替的頻率很高,用戶看不到這個(gè)交替的過(guò)程而已,從而認(rèn)為是并行執(zhí)行)。

            并行編程很多地方使用不到,但是在網(wǎng)絡(luò)編程上面很有用處。一個(gè)例子就是,兩個(gè)用戶同時(shí)從取款機(jī)上取一定的錢,比如余額為100,要保證他們不會(huì)同時(shí)取走,就是這樣一個(gè)過(guò)程。將這一次操作成為事務(wù)(transaction)

             

            Scheme是一個(gè)函數(shù)式的語(yǔ)言,和LISP有很深的淵源。可能大家不大了解,函數(shù)式的語(yǔ)言就是執(zhí)行依賴于函數(shù)的返回結(jié)果。傳統(tǒng)的語(yǔ)言有缺陷,比如C/C++,可能在傳遞指針的過(guò)程中,修改了這個(gè)結(jié)構(gòu)體,然后再返回這個(gè)值,引起混亂。而函數(shù)式的語(yǔ)言就是,需要根據(jù)函數(shù)的返回值,決定下一步的執(zhí)行。因此就不會(huì)出現(xiàn)這種問(wèn)題。這門語(yǔ)言很有意思,大家可以學(xué)習(xí)一下,實(shí)際上比其他語(yǔ)言都要有意思(老師原語(yǔ))。

             

            Python是一門年輕語(yǔ)言,在Googlefacebook有相當(dāng)多的工程師使用這門語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā),很適合網(wǎng)絡(luò)編程,不要認(rèn)為網(wǎng)絡(luò)編程就是HTML,網(wǎng)頁(yè)之類,動(dòng)態(tài)網(wǎng)頁(yè)還需要處理后臺(tái)數(shù)據(jù)庫(kù)的交互等問(wèn)題。Python16~17年的歷史,所以不會(huì)有想C/C++Java那樣的缺陷,課程的最后有個(gè)大作業(yè),做一個(gè)網(wǎng)頁(yè)服務(wù)器,不會(huì)像Apache那么大,但是能夠解析XML,HTML,后臺(tái)進(jìn)行處理,生成動(dòng)態(tài)頁(yè)面。Python有很多類庫(kù),是面向?qū)ο蟮恼Z(yǔ)言,解釋執(zhí)行,可以一邊寫一邊解釋執(zhí)行,還有很多函數(shù)庫(kù),可以借用Scheme的思想來(lái)做函數(shù)式編程,處理網(wǎng)絡(luò)編程很有用戶。

             

            在過(guò)去課程最后是C++高級(jí)編程,后來(lái)就使用Java,,但是后來(lái)另外一個(gè)班教授的內(nèi)容更深入,所以不交Java了。后來(lái)使用python,效果不錯(cuò),課程最后是用python開(kāi)發(fā),會(huì)領(lǐng)會(huì)到其中美妙之處。

             

            最后還會(huì)介紹一下其他語(yǔ)言和范式,不過(guò)你們?cè)诮窈?/span>15年碰到的編程范式,我應(yīng)該都見(jiàn)過(guò)(這個(gè)老師好自信啊)


            最后課程結(jié)束,整個(gè)過(guò)程17分鐘左右。下周會(huì)發(fā)超多講義,并會(huì)讓你們做一個(gè)C/C++中指針的底層原理的研究報(bào)告。Over。

            posted on 2012-04-29 18:26 deercoder 閱讀(4253) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 讀書大學(xué)公開(kāi)課
            国产成人久久精品麻豆一区| 久久九九有精品国产23百花影院| 久久亚洲综合色一区二区三区| 久久久久人妻精品一区二区三区 | 久久久这里只有精品加勒比| 国产亚洲婷婷香蕉久久精品| 国产一久久香蕉国产线看观看| 久久亚洲私人国产精品vA| 久久精品国产清高在天天线| 国产精品久久久久影视不卡| 亚洲综合婷婷久久| 亚洲国产精品狼友中文久久久 | 久久亚洲国产欧洲精品一| 99久久国产综合精品麻豆| 久久婷婷综合中文字幕| 国产精品伊人久久伊人电影 | 久久AV无码精品人妻糸列| 精品熟女少妇AV免费久久| 日韩人妻无码精品久久免费一| 久久久精品一区二区三区| 久久一区二区三区免费| 久久天堂AV综合合色蜜桃网 | 国产精品九九久久精品女同亚洲欧美日韩综合区 | 欧美黑人激情性久久| 久久99国产精品久久99果冻传媒| 久久国产精品-久久精品| 久久无码人妻精品一区二区三区| 色婷婷久久综合中文久久蜜桃av| 日韩精品久久久久久| 久久综合鬼色88久久精品综合自在自线噜噜 | 久久久精品国产sm调教网站| 国内精品久久久久久麻豆| 久久WWW免费人成一看片| 伊人久久综在合线亚洲2019| 久久精品国产久精国产果冻传媒 | 国产精品亚洲综合久久| 91精品国产综合久久四虎久久无码一级| 亚洲精品乱码久久久久久蜜桃| 国产精品美女久久久久| 一本久久综合亚洲鲁鲁五月天| 一本大道加勒比久久综合|