- 論壇徽章:
- 0
|
第十四章 軟件、硬件發(fā)展史上的風(fēng)風(fēng)雨雨中的一聲悲嘆!
睡不著、感而寫之。
忠言逆耳、良語苦口、高山流水、曲高和寡。
我的感覺,計(jì)算機(jī)已經(jīng)發(fā)展到了一個(gè)死胡同。我們似乎只是在兜圈子,從最初的匯編寫的UNIX操作系統(tǒng),到如今的C語言寫的WINDOWS、LINUX。我 們應(yīng)該反思、到底技術(shù)上進(jìn)步了很多?還是原地兜圈子?從匯編,到C語言、腳本語言,到C++、C#、JAVA,到VB等等所謂的高級語言;似乎取得很多進(jìn) 步了。我們面向?qū)ο缶幊贪。橄罅祟、逐步貼近自然語言了。真的?我極端懷疑!人類的自然語言描述的是宇宙萬物、是對6D時(shí)空的描述。計(jì)算機(jī)語言還差得遠(yuǎn) 啊,只是模仿了一些吧。物質(zhì)、意識是永恒運(yùn)動(dòng)的對立統(tǒng)一體;空間3D、時(shí)間1D。且不論物質(zhì)、意識這2D先,就算我們用平面1D存儲(chǔ)空間去描述3D空間; 也不應(yīng)拋棄時(shí)間1D啊。使用匯編語言的每條指令、我們都知道指令的執(zhí)行時(shí)間,和指令引起的存儲(chǔ)空間變化。而C及之后的計(jì)算機(jī)語言、卻拋棄了直觀表示的時(shí)間 1D。這是進(jìn)步?還是倒退?你可能說,C及之后的語言:優(yōu)美、簡潔;而匯編語言復(fù)雜、難懂、需要與硬件打交道。其實(shí)不然,請不要用intel、amd等 CPU的匯編指令來說;那些都是垃圾里的水玻璃!是垃圾堆中的戰(zhàn)斗機(jī)。真正的匯編語言只是7種基本語句:賦值指令、COPY指令、BTX(位X測試為1、 或0轉(zhuǎn)移)指令、查表跳轉(zhuǎn)指令switch(RN){….}、寄存器的移位與循環(huán)指令S(RD = RN S N)、寄存器的三操作數(shù)運(yùn)算指令( RD = RN1 ALU RN2 S #N )、調(diào)用與返回指令(CALL、RET、IRET)。指令大小基本是32位,一個(gè)字W;指令執(zhí)行時(shí)間,通常都是1ns。加上一些專用硬件模塊的指令,總共 才10多種指令;你說,哪一種語言的保留字不是幾十種。所以、還是匯編語言的語句最簡單!易懂!與硬件打交道,那是操作系統(tǒng)的事情;真的需要了解、和操作 硬件時(shí),也是匯編易于操作。簡潔,這點(diǎn)我承認(rèn);但那些雞鴨腸子般長的代碼,看到就心煩;C語言是可以寫得很緊奏,但反面就是不清晰。程序應(yīng)該先是簡單、清 晰;才論其它。如果,還要放棄直觀表示的時(shí)間1D、那真的是倒退!
面向?qū)ο?匯編語言還要簡單!我們應(yīng)該知道、對象的本質(zhì)就是一段1D平面存儲(chǔ)空間、就是一個(gè)位的容器。只是從具有相同的位容器對象、我們抽象出類的概念。 變量也是用來描述一段1D平面存儲(chǔ)空間,所以、對象也就是一種變量。C及之后的語言操作對象,最終還不是編譯成匯編語言!APO的賦值指令就可直接操作對 象空間中的成員對象、或變量。我們也可以把變量賦值到寄存器,再做變換、運(yùn)算等;之后再回傳。對象、變量只是對存儲(chǔ)空間的聲明,它們對應(yīng)的地址;那就是編 譯器的事情了。匯編語言面向?qū)ο缶幊淌亲匀、而簡單的。所以、C++、JAVA、等等面向?qū)ο蟮恼Z言。那是哄小孩的兒童玩具,那是紅臉叫獸的虛妄,那是不 切實(shí)際的花拳繡腿,那是本末倒置。我真的不清楚是那回事?不過想想,我們不外都是生活在垃圾世界,就覺得安然點(diǎn)了。我猜想,當(dāng)初用匯編寫UNIX操作系統(tǒng) 的那些編程員;就為了優(yōu)美、簡潔,發(fā)明了C語言;之后、沾沾自喜,做了個(gè)壞領(lǐng)導(dǎo)而不知;蛟S,那些高科技腦袋都喜歡在復(fù)雜、骯臟的地方鉆牛角尖;不像我們 這些業(yè)余笨鳥都是喜歡簡單。應(yīng)用程序只能行走在自己的對象、變量空間中;進(jìn)程間只能通過信號、消息來互通;通過動(dòng)態(tài)變量的提交來做大數(shù)據(jù)量的交換;這些、 硬件是非常容易實(shí)現(xiàn)的。但intel的cpu結(jié)構(gòu)那個(gè)4權(quán)限、內(nèi)存頁映射等等的非常復(fù)雜的硬件設(shè)計(jì),我看了幾遍才明白一些;我真不明白啊,這些聰明崽是怎 么想的!暈倒,為了私利;也不應(yīng)該阻礙人類的進(jìn)步啊!
有時(shí)候,優(yōu)美、簡潔、藝術(shù)真的沒屁用;編程思想才是關(guān)鍵!你linux操作系統(tǒng)牛氣,用C語言編寫的內(nèi)核將近千萬行的源代碼;就不說那個(gè)捂住口袋防盜的 windows了;還有個(gè)屁優(yōu)美、簡潔、藝術(shù)啊。鬼都沒法看完所有的源代碼啊。我一個(gè)業(yè)余笨鳥設(shè)計(jì)的APO操作系統(tǒng)還不到4K行代碼,linux 還不臉紅!不算設(shè)備驅(qū)動(dòng),APO操作系統(tǒng)內(nèi)核源代碼還不到1千行;所以,我要把數(shù)據(jù)庫、瀏覽器、word辦公軟件、xwindows等等都集成到內(nèi)核,F(xiàn) 在,是那個(gè)優(yōu)美、簡潔、藝術(shù)、強(qiáng)大應(yīng)該知道了。就說文件系統(tǒng),APO的、在有些項(xiàng)目就要比linux快近百萬倍。數(shù)據(jù)庫、等等方方面面都要比現(xiàn)代操作系統(tǒng) 強(qiáng)大的多。不吹了、牛死了;我其實(shí)一點(diǎn)都高興不起來;作為人類的普通一員業(yè)余愛好者,我只有一聲悲嘆!
天亮了、又是一個(gè)不眠之夜。
|
|