欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
關(guān)于編程語(yǔ)言

今天碰巧討論起來(lái)編程語(yǔ)言。好像最近很流行的一個(gè)話(huà)題,包括lisp和haskell的再一次又一次悄然流行。
 

PS:這些是我很一些同學(xué)一次討論的總結,可能有我沒(méi)有說(shuō)清楚的地方,也有可能是我沒(méi)有理解對的地方,如果有哪里寫(xiě)的不對,歡迎大家指正。 


我的風(fēng)格:

首先我不會(huì )haskell和lisp,請大家聯(lián)想一下一個(gè)不用emacs的人。

選擇策略:

我所長(cháng)久使用的,或者說(shuō)是擅長(cháng)的是匯編,包括幾種結構的匯編。當然后來(lái)出于敏捷的考慮我會(huì )用C,如果充滿(mǎn)了網(wǎng)絡(luò )應用,正則表達,文件操作這種功能性比較強而且要頻繁的和操作系統打交道而不是cpu的時(shí)候,我會(huì )用python,如果是以網(wǎng)絡(luò )操作為主的話(huà)那么用perl。

風(fēng)格源自匯編:

但是我無(wú)論用哪種編程語(yǔ)言你可以看到一種非常統一風(fēng)格就是來(lái)自于匯編的風(fēng)格,非常強的指令邏輯順序風(fēng)格。最簡(jiǎn)單的一個(gè)例子就是goto的使用,因為這個(gè)和匯編中的jmp系列命令是一致的。我不會(huì )用非常C的風(fēng)格,比如宏定義,switch 以及while,甚至我的C中嵌入匯編都是很經(jīng)常的事情。我寫(xiě)c程序唯一看起來(lái)像C的地方,就是指針和for,滿(mǎn)篇的指針運算因為這個(gè)和匯編中的地址操作是一致的。我會(huì )用指針來(lái)完成switch while 等操作,我所使用的C無(wú)非是[for + 指針 + goto + if +中斷]沒(méi)了。還有一個(gè)特別明顯的特征就是我特別愛(ài)用中斷,這個(gè)是國內學(xué)生不太愿意用的東西,其實(shí)特別好用。因為匯編和系統之間交互的時(shí)候就是用中斷實(shí)現的??偨Y一句話(huà),我的風(fēng)格是用硬件開(kāi)發(fā)工具寫(xiě)算法。夠奇葩吧。

思維模式:

我能理解的是中斷,地址,以及指令過(guò)程。比如信號和信號槽我就理解成為一種軟中斷實(shí)現,類(lèi)似的還有時(shí)刻表cron,這個(gè)是時(shí)鐘中斷的一種派生,指針是地址的一種實(shí)現,重載是函數指針的一種實(shí)現。我所不能理解的就是迭代,這個(gè)常常使得別人對我產(chǎn)生誤解,認為我擅長(cháng)計算機工程而不是計算機科學(xué),其實(shí)不然,我是按照計算數學(xué)的思路在寫(xiě)程序,而不是按照集合論的想法在寫(xiě)程序,僅此而已。

缺陷:

我寫(xiě)的程序其實(shí)針對性非常強,即使C以移植性著(zhù)稱(chēng),但是這個(gè)是一個(gè)狹義的移植性概念。

 

在我看來(lái)

編程語(yǔ)言的不同,是編程模型的不同,如果想掌握一門(mén)編程語(yǔ)言,首先要弄清楚編程模型是什么。

比如:

*匯編的編程模型是cpu,

寫(xiě)匯編的時(shí)候經(jīng)常要拿著(zhù)datasheet,然后查閱時(shí)序圖,時(shí)序圖就是基本的工具,用這些工具構建你想要實(shí)現的功能。需要和外部交互的時(shí)候還需要知道io map是怎么樣的,如果有bios這樣管理io的子系統的時(shí)候那么你只要弄清楚bios給你提供的服務(wù)就可以了。匯編和操作系統之間交互是通過(guò)中斷來(lái)實(shí)現的,也就是仿真一種硬件行為,這個(gè)行文叫做軟中斷,然后操作系統會(huì )守護這些中斷信號然后作出反映。

*C的編程模型是內存,

在用C寫(xiě)成的時(shí)候大部分的時(shí)間是和內存打交道,不需要(但是有權利)管理cpu內部的寄存以及其他的一些具體部件,那些都有一個(gè).h文件統一管理和抽象。然后你只要關(guān)心內存就可以了。和外部通信的時(shí)候也是將那些功能映射到內存地址了。C和操作系統之間的橋梁只有標準IO就是stdin stdout 和stderr,由于一切文件化的抽象,能用的指令也只有read 和write。當然你還要用ioctl先設置一個(gè)合適的工作狀態(tài)。當你寫(xiě)的本身就是內核的時(shí)候,那些變量都可以直接調用的,比如全局時(shí)間。

*python的編程模型是應用,

其實(shí)我不太會(huì )用python,我只是說(shuō)說(shuō)我是這么用的,python可能是各種功能實(shí)現的一種抽象,如果有那么一個(gè)應用無(wú)論是什么語(yǔ)言編寫(xiě),無(wú)論是如何執行,那么他一定可以有(或是已經(jīng)有)python接口了,你調用這種接口,然后建立一個(gè)實(shí)體,這個(gè)實(shí)體就是一個(gè)應用的抽象。比如我可以創(chuàng )建一個(gè)webkit的實(shí)體,然后這個(gè)實(shí)體就可以有url這個(gè)變量,填好后,就可以用open()這個(gè)函數,然后從context里面就能得到瀏覽結果了。python和操作系統之間的交互很靈活,可以通過(guò)os 這個(gè)抽象,或是exec等等。當然管道也是一個(gè)利器,可以通過(guò)popen取出程序執行過(guò)程中的標準io里面的內容。

*perl還不是很會(huì ),其實(shí)我一直拿perl當python的網(wǎng)絡(luò )加+正則表達加強版,等以后我有時(shí)間了,再學(xué)習一下,再加上這一段。

 

那么,我寫(xiě)程序的風(fēng)格貼近硬件,但是其實(shí)不怎么本質(zhì)。需要大量的計算數學(xué),而不是數學(xué)。還有另外一類(lèi)更本質(zhì)的編程,更數學(xué)的編程語(yǔ)言,是基于計算機理論的,也就是圖靈理論。這些編程語(yǔ)言是面向計算過(guò)程的包括:遞歸,λ演算和圖靈機,這三個(gè)是等價(jià)的,所使用的是邏輯數學(xué)+集合論,所討論的問(wèn)題是可計算問(wèn)題。這些程序的移植性非常強,即使沒(méi)有操作系統。他們不需要操作系統,編譯器或者解釋器完成的任務(wù)就是將各種不同的圖靈機物理實(shí)現轉化成基本操作符,這里已經(jīng)不要求物理實(shí)現是計算機了,物理實(shí)現有可能是各種形態(tài)的。他們描述的是計算的本質(zhì)。

 

*LISP 、Haskell 編程模型是命題

那么,所編寫(xiě)的程序其實(shí)就是證明過(guò)程,純函數編程語(yǔ)言,基本操作就是λ演算,每一個(gè)計算原子就是一個(gè)λ算式,沒(méi)有語(yǔ)句?;揪幊探Y構是遞歸。LISP抽象了7種基本操作符也就是7條公理。遞歸的用這些基本公理,證明命題是可以計算的。指導思想是邏輯數學(xué)和集合論。沒(méi)有side effect,也就是說(shuō)不能修改函數以外的變量,也不能修改代入的變量,純迭代,只有返回值,由于嚴格的迭代要求所以可以在代碼運行的過(guò)程中,進(jìn)行修改代碼。和系統交互使用的是actions這個(gè)atom,由于要保持計算的過(guò)程的單純性,盡量將IO降到最低限度。C python都有嵌入λ算子功能是為了實(shí)現異步回調算法。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
函數式編程很難,這正是你要學(xué)習它的原因
假如女人是一種編程語(yǔ)言
python適合人工智能領(lǐng)域嗎?
《Ruby 元編程》——十年來(lái)讀到的最好的編程技術(shù)書(shū)籍
博采 27 門(mén)語(yǔ)言之長(cháng),提升 Python 的能力
沒(méi)接觸任何編程語(yǔ)言,該怎么學(xué)習人工智能技術(shù)呢?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久