• <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  評論-173  文章-70  trackbacks-0

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

            列舉幾種常見的編程語言(范式):

            C

            Assembly

            C++

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

            Scheme

            Python

             

            C是面向過程,C++面向對象。C語言是函數調用函數,因此就像一個多級標題一樣,通過函數A調用B, 而函數B調用函數C,因此是有過程來決定一個函數的功能,我們首先看到的也就是一個過程(函數),通過指針來調用的。

             

            C++是面向對象的,因此是通過“->”或者“.”來進行訪問的,我們首先看到的就是指針或者引用,也就是一個完整的對象。


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


            匯編語言是很古老的,不會詳細講。有一個語言MITS,有點意思,可以研究下。會重點講述CC++如何編譯為obj文件,然后生成可執行的二進制文件,會發現原來CC++最終生成的二進制代碼(01形式的),其實差不多。

            C++去掉了面向對象的部分就是C,很多牛逼的工程師都傾向于使用C,盡管有很多優秀的語言在不同方面要比C優秀。

             

            并行編程并不是真的并行。原來的語言,如C/C++,實際上都是執行完一條之后再執行,而并行編程則是并行執行(感覺上并行,實際上是交替執行,只是這個交替的頻率很高,用戶看不到這個交替的過程而已,從而認為是并行執行)。

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

             

            Scheme是一個函數式的語言,和LISP有很深的淵源。可能大家不大了解,函數式的語言就是執行依賴于函數的返回結果。傳統的語言有缺陷,比如C/C++,可能在傳遞指針的過程中,修改了這個結構體,然后再返回這個值,引起混亂。而函數式的語言就是,需要根據函數的返回值,決定下一步的執行。因此就不會出現這種問題。這門語言很有意思,大家可以學習一下,實際上比其他語言都要有意思(老師原語)。

             

            Python是一門年輕語言,在Googlefacebook有相當多的工程師使用這門語言來進行開發,很適合網絡編程,不要認為網絡編程就是HTML,網頁之類,動態網頁還需要處理后臺數據庫的交互等問題。Python16~17年的歷史,所以不會有想C/C++Java那樣的缺陷,課程的最后有個大作業,做一個網頁服務器,不會像Apache那么大,但是能夠解析XML,HTML,后臺進行處理,生成動態頁面。Python有很多類庫,是面向對象的語言,解釋執行,可以一邊寫一邊解釋執行,還有很多函數庫,可以借用Scheme的思想來做函數式編程,處理網絡編程很有用戶。

             

            在過去課程最后是C++高級編程,后來就使用Java,,但是后來另外一個班教授的內容更深入,所以不交Java了。后來使用python,效果不錯,課程最后是用python開發,會領會到其中美妙之處。

             

            最后還會介紹一下其他語言和范式,不過你們在今后15年碰到的編程范式,我應該都見過(這個老師好自信?。?/span>


            最后課程結束,整個過程17分鐘左右。下周會發超多講義,并會讓你們做一個C/C++中指針的底層原理的研究報告。Over。

            posted on 2012-04-29 18:26 deercoder 閱讀(4270) 評論(0)  編輯 收藏 引用 所屬分類: 讀書 、大學公開課
            国产精品一久久香蕉产线看| 久久九九有精品国产23百花影院| 国产L精品国产亚洲区久久| 国产精品熟女福利久久AV| 99久久精品免费看国产一区二区三区| 狠狠88综合久久久久综合网| 久久精品国产欧美日韩| 亚洲AV无码久久精品色欲| 久久精品国产精品亚洲艾草网美妙 | 国产精品熟女福利久久AV| 久久AV高潮AV无码AV| 精品久久久久久久久久中文字幕| 国产成人久久精品一区二区三区 | 色综合合久久天天给综看| 久久精品男人影院| 欧美va久久久噜噜噜久久| 亚洲国产成人久久综合区| 99久久人人爽亚洲精品美女| 久久99精品国产自在现线小黄鸭| 久久综合日本熟妇| 91精品国产综合久久香蕉| 国产国产成人精品久久| 麻豆成人久久精品二区三区免费| 无码任你躁久久久久久| 久久久久亚洲爆乳少妇无| 久久99国产一区二区三区| 国产精品免费久久久久久久久 | 久久综合成人网| 欧美精品福利视频一区二区三区久久久精品 | 国产农村妇女毛片精品久久| 久久亚洲精品中文字幕三区| 国产精品久久久久久一区二区三区| 久久精品国产免费观看| 中文国产成人精品久久不卡| 国内精品伊人久久久影院| av色综合久久天堂av色综合在| 7777精品伊人久久久大香线蕉| 久久99久久99精品免视看动漫| 性做久久久久久久久浪潮| 久久精品国产99国产精品亚洲| 久久人人爽人人爽人人片AV麻烦|