<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冒號和他的學(xué)生們(連載18)——系統(tǒng)語言

    冒號和他的學(xué)生們

    ——程序員提高班紀(jì)事

    18.系統(tǒng)語言

    居高者形逸而神勞,處下者形勞而神逸                        —《洪應(yīng)明·菜根譚》


    問號忙問:“您打算比較哪些主流語言呢?”

    冒號回答:“就談?wù)劦谝惶谜n提到的最流行的十二種語言吧。按語法特征可將它們分為三類:C族靜態(tài)語言五種——CC++JavaC#D;非C族靜態(tài)語言兩種——VBDelphi;動態(tài)語言五種——PerlPHPPythonRuby JavaScript 。”

    嘆號表示懷疑:“這么多種語言怎么比較得過來?”

    冒號解釋:“我們主要比較第一類的C族語言,這些也是今后學(xué)習(xí)的重點,其他的只是泛泛而談。”

    引號猜測:“因為他們更重要?”

    “可以這么說。”冒號直截了當(dāng),“毋庸諱言,在當(dāng)今的主流語言中,C族語言應(yīng)用范圍之廣、使用人數(shù)之多、影響力之巨都是其他類語言所無法比擬的。它們之間的關(guān)系從名字上就能看出:C語言的前身是B語言;其后是C++Java曾被稱為C++++--,意思是在C++上增點東西再減點東西;C##就是四個疊起的加號;最后D語言干脆在字母上進(jìn)行升級。”

    句號推斷:“B語言、C語言、D語言,下一個該D++D#E語言了。”

    誰知冒號卻說:“E語言已經(jīng)有了,與Java的語法很像。甚至F語言也有了,但不是C族語言,而是Fortran族的。這不,微軟還在.Net平臺上推出了F#語言,不過這里的F指的是‘Functional’,即函數(shù)式。”

    逗號向往著:“不如直接搞個終極的Z語言,成為全世界程序員的唯一指定語言,多省事!”

    “這難度不亞于全人類共用一種語言。”冒號笑道,“愿望是美好的,我們還得面對現(xiàn)實。不扯遠(yuǎn)了,你們先談?wù)勔幌逻@些C族語言各自的特點吧。”

    眾人心想:老冒怎么跟國足一個毛病,老喜歡回傳,就是不直接射門,真是急煞人也!

    問號揀了個軟柿子:“C語言是C族老大,又是唯一的純過程式語言,當(dāng)然與眾不同啦。”

    引號一板一眼:“C++在過程式的基礎(chǔ)上又引入對象式和泛型式,同時保持了C的高效性和底層開發(fā)能力。”

    逗號接道:“Java既繼承了C++的優(yōu)點,又克服了C++的復(fù)雜性,雖然底層開發(fā)能力有所減弱,但具備平臺無關(guān)性。”

    句號不緊不慢:“C#兼具C++Java各自的優(yōu)點,但效率上不如C++,跨平臺方面不如Java。”

    嘆號后悔嘴慢:“剩下一個最陌生的D語言,在第一堂課之前還真沒聽說過,怎么擠上主流語言位置的?我想。。。呃,它總該比C++要高級吧。”

    冒號評價:“各位談得雖然簡單了些,也算八九不離十吧。下面我稍微展開些來講。”

    此時眾人有一個共同的愿望,希望老冒這次能痛快地單刀赴會、直搗黃龍。

    冒號似乎看出大家的心思,開始口若懸河:“關(guān)于C語言,前面多次提到。這是一把歷久彌新的寶劍,一旦出鞘,依舊寒光逼人,鋒利無儔。有了它,便如戰(zhàn)將有了佩劍,平添一分獨闖敵營的膽氣。盡管以現(xiàn)代的眼光來看,它存在不少缺點,但即使拋開C語言輝煌的歷史不談,單就其以如此高齡在諸多后輩沖擊之下仍屹立不倒而論,讓人無法對其多加苛求。”

    逗號提出異議:“但語言不是讓人崇拜的,而是讓人運用的。一門語言無論過去如何榮光,如果不適應(yīng)現(xiàn)代發(fā)展趨勢,還是可能被淘汰。”

    “說得非常好!”冒號竟然鼓起掌來,“迄今為止本課堂對于具體知識的講授并不多,但一直提倡獨立思考,不要盲從權(quán)威。如果你們能做到這一點,本班的目標(biāo)也就實現(xiàn)了一半。回頭再說說C語言,它源自Unix操作系統(tǒng)的開發(fā),以其良好的抽象性和可移植性取代了匯編語言作為系統(tǒng)開發(fā)語言。因其簡潔實用、靈活高效,很快從系統(tǒng)領(lǐng)域發(fā)展到其他領(lǐng)域而成為通用語言。隨著新興語言的崛起以及硬件性能的大幅提高,C語言的缺點也日益顯著:過于寬松的類型檢查、容易出錯的內(nèi)存管理、相對貧乏的語言特征等等。雖然自身還在發(fā)展,它的市場份額日益減少乃不爭的事實。但在相當(dāng)長的時間內(nèi),它在其所擅長的領(lǐng)域里仍會占舉足輕重的一席之地。如果C能借鑒C++命名空間、重載、異常處理和STL等非OO的特征,它的生命力絕不會比任何OOP語言弱。“

    引號咨詢道:“關(guān)于C語言的學(xué)習(xí),您有何建議?”

    “精讀K&R的《The C Programming Language》,此書不過二百頁,堪稱C語言的劍訣。其中的RDennis Ritchie,是C的創(chuàng)造者,同時也是Unix的締造者之一,是真正的大師。如今的大師,同博士、教授、院士等頭銜一樣,嚴(yán)重地通貨膨脹了。”冒號不無感慨。

    問號尖銳地問:“C++既保持了C的底層開發(fā)能力,又引入了OOPC的處境想必更加艱難吧?”

    冒號坦承:“這是不假。C++成功的一個重要因素是對C語言的兼容,由此吸引了大批的C程序員。但這不是沒有代價的,C++在兼容C的同時也保留了C的許多缺陷。Java成功的地方有很多,一個不容忽視的因素是它徹底擺脫了與C兼容的桎梏。由于C++C的改革不徹底,又過于龐雜,并且效率上不如C,這使得C仍有其生存空間。略有諷刺意味的是,對C++批判最激烈的往往來自C的社區(qū),比如Linux之父Linus Torvalds就曾激烈地批判過C++。”

    Linus?那可是我的偶像呢!”嘆號驚訝道。

    冒號勸誡:“如果你因為是他的粉絲而后悔學(xué)C++,那就是為他人的偏執(zhí)買單,不管那人名氣有多大。”

    句號指出:“C++最為人詬病的地方有:語法過于復(fù)雜,學(xué)習(xí)曲線陡、開發(fā)效率低;支持的范式過多;OOP不徹底;自省(Reflection)功能不足;支持指針操作導(dǎo)致安全隱患;沒有自動垃圾回收,容易內(nèi)存泄漏;沒有線程支持;沒有豐富的標(biāo)準(zhǔn)庫支持圖形界面、網(wǎng)絡(luò)編程等。”

    “罪狀不少哇!這些說法都有一定道理,但也有失公允。且聽我一一道來。”冒號當(dāng)起了辯護(hù)律師,“C++過于復(fù)雜這點沒錯,Stroustrup說過一句耐人尋味的話:一種語言不復(fù)雜是因為不成熟。成人肯定比兒童復(fù)雜,因為他要承擔(dān)更大的責(zé)任。大家不妨看看Java1.06.0的發(fā)展過程,是否應(yīng)證了這一點?當(dāng)然C++的復(fù)雜度的確高于其他語言,但如果不執(zhí)著于奇技淫巧,它絕非高不可攀。C++的開發(fā)效率相比JavaC#,差距主要在兩個方面:一是標(biāo)準(zhǔn)庫不夠完善,二是需要手工回收垃圾。關(guān)于前者,的確是C++的一大軟肋,標(biāo)準(zhǔn)庫竟然連企業(yè)應(yīng)用中最常用的圖形界面、網(wǎng)絡(luò)編程、數(shù)據(jù)庫處理等都不能涵蓋,嚴(yán)重障礙了生產(chǎn)力。其實C++也有苦衷,不像JavaC#那樣有大公司的鼎力支持,只靠效率極為低下的標(biāo)準(zhǔn)委員會來維護(hù)。98年的一個標(biāo)準(zhǔn)直到03年還在修訂,下一個標(biāo)準(zhǔn)至少要到09年。連Stroustrup都在哭窮,說沒有足夠的人和時間來開發(fā)標(biāo)準(zhǔn)庫,可為何廣受贊譽(yù)的Boost庫至今仍徘徊在標(biāo)準(zhǔn)門外?考慮到Boost的創(chuàng)辦人大多出自標(biāo)準(zhǔn)委員會,其他無此背景的類庫恐怕更難登C++之堂了。相比之下D語言更慘,雖然天生麗質(zhì),苦無豪門青睞,只好一直待字閨中。”

    嘆號感慨:“金錢才是技術(shù)的最大推動力啊!”

    “話糙理不糙。”冒號也很無奈,“此外,C++不支持自動垃圾回收,是因為Stroustrup固執(zhí)地認(rèn)為這該由library來支持。一方面,C++主張RAIIResource Acquisition Is Initialization)原則,通過析構(gòu)函數(shù)(destructor)或智能指針(smart pointer)能在大多數(shù)情況下有效地解決內(nèi)存釋放問題;另一方面,盡管自動垃圾回收機(jī)制逐漸為大眾接受——據(jù)說C++0x也將部分地支持它——但這種機(jī)制也存在缺陷。比如一個Java程序如果在某一時段極耗內(nèi)存,由于自動垃圾回收的不定時性,不能保證及時清理內(nèi)存,可能會拋出OutOfMemoryError。另外,自動垃圾回收機(jī)制并不能完全避免內(nèi)存泄漏問題,Java程序的內(nèi)存泄漏可能會比C++的更多,因為C++程序員對此更有戒心。”

    問號直奔要害:“您如何看待CC++中的指針?”

    冒號欣然接招:“指針是CC++最大的特色,其他語言要么不支持,要么支持得有限。CC++可以說是成也指針,敗也指針。用得好可以是削鐵如泥的神兵利器,用得不好則可能是自我毀滅的罪惡淵藪。但由于二者定位于系統(tǒng)語言,而指針對于底層操作是必不可少的。同樣道理,二者的數(shù)據(jù)類型的轉(zhuǎn)換比其他靜態(tài)類型語言更自由,也是源出于此。”

    句號總結(jié):“能力越大,責(zé)任越大,風(fēng)險越大。

    “正是此意!”冒號重重地敲了一下桌子,“此話既適用于編程語言,也適用于程序員。至于C++缺少對自省功能的支持,也是因為追求效率,不愿在元數(shù)據(jù)上花時間和空間。說到C++支持的范式過多,程序員過于自由,代碼不標(biāo)準(zhǔn)難維護(hù),這就如同埋怨餐館提供的菜式過多以致難以擺出一桌酒席一樣可笑。最后,指責(zé)C++不是100OOP的說法更是荒謬之極。OOP又不是金子,含量越高越好。試圖把一切都裝進(jìn)OOP的箱子里的想法無異于削足適履。典型的如Java中的Math類,邏輯上壓根兒就不存在什么Math對象,清一色的static方法和常量就是最好的諷刺。在C++中只要在mathnamespace中定義一些自由函數(shù)就可以了,自然而簡潔。”

    引號發(fā)覺:“您好像把對C++所有的責(zé)難都化解了。”

    “可恨之人必有可憐之處嘛。”冒號俗語反用,“其實C++仍有不少亟待改進(jìn)之處,D語言就是很好的啟示。D語言的提供了可控制的垃圾回收器;支持動態(tài)數(shù)組(dynamic array);支持契約式設(shè)計(design by contract);廢除了CC++ 令人頭痛的頭文件(header file)等等。這些都是C++程序員夢寐以求的特征。”

    逗號很奇怪:“為什么D語言名氣這么小?”

    句號吟道:“千里馬常有,伯樂不常有,大腕伯樂更稀有。”

    眾樂。

    冒號結(jié)語:“CC++同為系統(tǒng)語言,決定了它們的理念是:優(yōu)化機(jī)器的時間而不是人的時間優(yōu)化機(jī)器的記憶而不是人的記憶;假設(shè)編譯器是愚蠢的而程序員是聰明的,因此賦予程序員更多的權(quán)利、義務(wù)與責(zé)任。無視這種背景和理念而去與其他語言相較,必不著筋節(jié)。需要強(qiáng)調(diào)的是,常見的‘C/C++’的說法很不科學(xué)。CC++雖有千絲萬縷的聯(lián)系,但一個簡單,一個復(fù)雜;一個純過程式,一個集過程式、對象式、泛型式和元編程于一體。貌合神離,不宜混為一談。”

    嘆號一個問題憋了半天,不吐不快:“我有一個問題:如今電腦性能這么高,CC++如此強(qiáng)調(diào)運行效率還有必要嗎?”

    “絕對有必要!”冒號斬釘截鐵,“其一、縱向看,用戶的耐心與電腦的速度成反比,早年一個386人們就滿足了,如今卻忍受不了586;其二、橫向比,相對緩慢的系統(tǒng)競爭力也低;其三、在一些領(lǐng)域如人工智能方面,普通電腦的速度還遠(yuǎn)遠(yuǎn)不能滿足要求,超級計算機(jī)的存在就是明證;其四、仍有些程序跑在資源有限的機(jī)器上,比如嵌入式系統(tǒng)。”

    引號再次要求:“能推薦一些C++方面的書嗎?”

    冒號直言:“學(xué)好C一本書足矣,學(xué)好C++即使推薦十本仍有遺珠之憾。可以說C++是苦了編程者,甜了著書人。開個小書單:初級——《C++ Primer》和《Thinking in C++》;中級——《The C++ Programming Language》和《Effective C++》系列;高級——《The C++ In-Depth》系列。這里還要特別推薦一下《The Design and Evolution of C++》,從中你可以看到 C++的設(shè)計和演變的來龍去脈,極具啟發(fā)性。C++是匹無轡無鞍的野馬,看似桀驁不馴,若能順性而御,必能足踏飛燕,行千里而不勞。”

    posted on 2008-06-05 13:05 鄭暉 閱讀(3168) 評論(27)  編輯  收藏 所屬分類: 冒號和他的學(xué)生們

    評論

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-05 15:37 dennis

    c要是向C++靠近,那才是悲劇的開始  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-05 21:29 ron

    感謝。
    回味,繼續(xù)聽課。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-05 21:31 ron

    尺有所短寸有所長,選擇一門語言,就是選擇一類應(yīng)用。贊。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-05 21:44 白色天堂

    每種語言都有自己特點和適用范圍,但c++的問題就是野心太大,想從底層開發(fā)到企業(yè)級應(yīng)用都能適合,最后的結(jié)果就是個四不像,特性越加越多,語法越來越復(fù)雜,但什么都作不好。我不看好c++的前途,Linus的看法是有他的道理的。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-05 22:16 鄭暉

    @白色天堂
    如果你認(rèn)真看看Linus的原話,你會發(fā)現(xiàn)他的狂傲、無知與偏執(zhí)。他根本不懂c++,甚至不能算是c的專家,連Ritchie都承認(rèn)c可能被包括c++、Java在內(nèi)的語言替代。c++的問題與野心無關(guān),c#同樣想從底層開發(fā)到企業(yè)級應(yīng)用通吃,關(guān)鍵是c++標(biāo)準(zhǔn)委員會推進(jìn)改革的力度和效率不夠。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言[未登錄] 2008-06-05 23:50 過客

    @鄭暉
    頂你,說得好~~~
    某些人用不好C++就說C++不好,無異于沒錢坐飛機(jī)卻對別人說害怕飛機(jī)失事才不去坐。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 05:50 ELLE

    c#也不比c++簡單,況且c++很注重性能。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 09:27 Matthew Chen

    c++的復(fù)雜源于多方面的原因,如lz提到了不少,但其實大多數(shù)原因正是因為他本身的復(fù)雜所引起的,這有點惡性循環(huán),你不夠好用人家就不支持你,所以你就停步不前,越來越不好用。
    oop不一定是萬金油,但是oop就是要作萬金油,一切邏輯上可感知的都可以是對象,從這點上來說,Math是很正常的。
    歷史發(fā)展和進(jìn)化的軌跡是曲折的,退步和埋沒都很正常,不要以為金子總能發(fā)光,和氏璧為人所知的時候?qū)υ瓉碇С炙闹魅藚s已經(jīng)沒有任何價值了。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 09:55 鄭暉

    @Matthew Chen
    >>>不夠好用人家就不支持你
    微軟以前也支持c++,但一方面不能掌握標(biāo)準(zhǔn),另一方面要與Sun競爭,搞個J++被Sun告,只好自己搞c#,與c++是否好用并無太多關(guān)系。
    >>>一切邏輯上可感知的都可以是對象,從這點上來說,Math是很正常的。
    一切都可以當(dāng)作對象,但不代表那么做是合適的。
    Math不是對象,只是類,沒有人會new一個Math。對于Math這種永遠(yuǎn)不會有非static的方法和域、永遠(yuǎn)不必有instance的類,無論從邏輯上還是從語法上看,都應(yīng)當(dāng)是命名空間。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 13:22 dennis

    @鄭暉
    你對Linus的評價太讓人吃驚了,沒想到。這個系列到現(xiàn)在已經(jīng)沒啥意義了,一直停留在形而上學(xué)的討論,令人乏味。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 13:50 鄭暉

    @dennis
    我對Linus的評價是否過分,看看他的的原話就知道了。(參見
    http://advice.cio.com/esther_schindler/linus_torvalds_why_c_sucks)
    他在linux上的成功不代表他就是編程語言上的專家,至少在這方面的造詣遠(yuǎn)遠(yuǎn)在Ritchie和Stroustrup之下。如果因此得罪了你的偶像而引起你的不快,在此致歉!但我堅持自己的看法。
    此外,形而上學(xué)的討論是有意義的,太執(zhí)著于局部技術(shù)的程序員,缺乏對技術(shù)的全局感知能力,尤其容易在日新月異的技術(shù)面前迷失方向。至于具體的技術(shù)細(xì)節(jié),本系列稍后將會涉及,還請多提意見!  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 13:54 ezcat

    我就是喜歡這個系列討論的形而上學(xué),標(biāo)新立異,蘊(yùn)含智慧。提出了很多編程上深層次的思考,揭示了很多自己所不了的東西,實在大開眼界。它本來就不是XX語言學(xué)習(xí)手冊,教你一板一眼的該怎么寫,怎么用。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 15:30 dennis

    @鄭暉
    sorry,我說話都是比較直接的,不好意思。關(guān)于linus那番話,國內(nèi)c++大牛也有很多討論,其中不乏認(rèn)同的人,我這個不用cpp的人沒資格評價。我只是覺的評價不應(yīng)該帶太多感性色彩,您恐怕是c++的忠實擁護(hù)者,不覺的對linus也談不上c專家的評價太偏激了一點?  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 15:35 dennis

    @鄭暉
    形而上學(xué)的討論當(dāng)然是必要的,整體的認(rèn)知才能對細(xì)節(jié)有所深入。只是看到現(xiàn)在,我還沒發(fā)現(xiàn)開始適當(dāng)?shù)厍腥爰?xì)節(jié),因而比較失望。還是期待您的后續(xù)。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 15:51 鄭暉

    @dennis
    沒關(guān)系。國內(nèi)關(guān)于linus那番話的討論我倒真不清楚,只是個人看法。說linus談不上c專家,或許有些偏激,也可以理解為我的專家標(biāo)準(zhǔn)太高了:-)
    我不是任何語言的忠實擁護(hù)者,任何語言都有可愛之處和可恨之處。c++最吸引人的地方是它為程序員提供了最大的發(fā)揮的空間,雖然這不是沒有代價的。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 21:04 白色天堂

    Linus當(dāng)初的評論我看過,他只是從os開發(fā)人員的角度說了對c++的看法,而且我不覺得有什么很出格的地方。反而你說他連c都不熟悉,不知道到底是誰偏執(zhí)。

    我說c++應(yīng)用范圍太廣你拿c#來類比純屬無聊,我還沒聽說有人打算用c#來些os的。

    c++獲得的支持并不少,所有對java有商業(yè)支持的大公司幾乎都有研究c++,不存在支持不夠的問題,c++還是這幅鳥樣只能說他的根本就有問題,除非推倒重來。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 21:09 白色天堂

    c會被c++和java取代,這種話說出去會笑死人的。c++死18次c都不會死。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言[未登錄] 2008-06-06 22:08 Matthew Chen

    @鄭暉
    當(dāng)時微軟開發(fā)的vc++,標(biāo)準(zhǔn)還沒制定,另外java的崛起也在這個時候,從兩個方面反映了c++都有對商業(yè)應(yīng)用支持不夠的地方:標(biāo)準(zhǔn)化和統(tǒng)一的通用性,“不好用”這個詞很廣泛,很好用,所以我才挑的它。
    命名空間確實是和包還有靜態(tài)類都不同的東西,就像是允許函數(shù)和類的混合集合吧。也許從你的角度來說是不合適的,但從較純粹的oo的java來說,考慮一下效率和實現(xiàn)難易,卻也只能是“合適”的了。
    你這里好啊,大家都平靜一點討論,不要太吵。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-06 22:47 鄭暉

    @白色天堂
    請仔細(xì)閱讀Linus的原話,看看我有沒有冤枉他。僅摘錄一段:“C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C."(C++ 是一門極其糟糕的語言,因為有大量不合格的程序員在使用,使得它更加糟糕,它非常非常容易產(chǎn)生徹頭徹尾的廢物。非常坦白地說,即使選擇C什么都不做而僅僅是把C++程序員趕出去,這本身就是使用C的一個巨大的理由。)此外還有對boost、STL等偏激的言論,這里不一一說明。

    另外,請不要偷換概念,我并沒有說他不熟悉c,而是說他未必稱得上專家。我眼中的專家,雖不必到Ritchie和Stroustrup之類的大師水平,也當(dāng)接近,Linus?差得太遠(yuǎn)。

    我還沒聽說有人打算用c#來些os的”,你沒聽說不等于沒有,Singularity、SharpOS都是。“純屬無聊”這樣的話有欠禮數(shù)。

    “C語言正在被C++,也可能是Java所替代”,這是Ritchie說的,還會笑死人嗎?(google 一下“傳奇的締造者——C語言之父訪談”)
    c++雖然讓人詬病的地方很多,但仍是少數(shù)成功的語言之一,這是不容置疑的。說“C++鳥樣",有失風(fēng)度。

    爭論使人接近真理,爭吵使人遠(yuǎn)離真理。   回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-08 03:50 YYX

    @鄭輝
    對于OOP,Bruce Eckel 提出,對于開發(fā)設(shè)計來說,可以把一個對象看作一個服務(wù)提供者,很明顯Math就是這樣一個數(shù)學(xué)運算的服務(wù)提供者  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-08 09:50 鄭暉

    @YYX
    在本系列連載8“并發(fā)范式”中我就提出“對象式系統(tǒng)是服務(wù)型公司,每個對象是一名服務(wù)員”。但請注意,Math是類而非對象,它的使用與一個namespace沒有任何不同。當(dāng)然,任何函數(shù)或函數(shù)集合(僅僅包含自由函數(shù)的namespace可以認(rèn)為是函數(shù)集合)都可以認(rèn)為是服務(wù)提供者。但引入對象或者OOP最大的目的是:一、賦予對象以狀態(tài)、并對此封裝;(Math沒有任何狀態(tài))二、通過繼承來代碼重用(Math沒有狀態(tài),不必產(chǎn)生instance,也就不可能從父類Object那里得到什么好處。)

    至于Java為什么如此設(shè)計,本系列下篇將會有所涉及,歡迎討論!  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-11 14:12 藍(lán)劍

    上面的好多人都犯了自以為是的錯誤,找理由支持的時候就說好些例子,其實,你們找到的那些例子你自己都不知道是什么,都不理解,就憑一句話來支持你的觀點?
    舉例:
    1:你對Linus的評價太讓人吃驚了,沒想到。--這位讀者是不是真正去理解事情的本源了?
    2:c++獲得的支持并不少,所有對java有商業(yè)支持的大公司幾乎都有研究c++。--不知道這位朋友是怎么得出的結(jié)論?信口開河是不對的。

    另外,請不要把某一個方面專長的人作為神來看待,正如一個音樂家,可能在其他方面是弱智。一個專家說屁是香的,我們要學(xué)會質(zhì)疑而不是去追捧。
    linus他很好,只是在Linux方面而已,你讓他干別的,他不一定能行。
    現(xiàn)在技術(shù)五花八門,能精通一方面就不錯了,想多能很難,全能是不可能的,即使是蓋茨也不行。說實話,Linus比蓋茨差遠(yuǎn)了,大家追捧他緊緊是開源而已。

      回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-14 13:28 dennis

    @藍(lán)劍
    得了吧,你認(rèn)為別人自以為是,您又何嘗不是如此?
    -----------------
    另外,請不要把某一個方面專長的人作為神來看待,正如一個音樂家,可能在其他方面是弱智。一個專家說屁是香的,我們要學(xué)會質(zhì)疑而不是去追捧。
    linus他很好,只是在Linux方面而已,你讓他干別的,他不一定能行。
    現(xiàn)在技術(shù)五花八門,能精通一方面就不錯了,想多能很難,全能是不可能的,即使是蓋茨也不行。說實話,Linus比蓋茨差遠(yuǎn)了,大家追捧他緊緊是開源而已。
    ---------------------------
    這樣的大話、空話,在我看來基本等于放P。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-14 13:29 dennis

    爭論這么多,沒見有人拉出段代碼來評價一番,口頭的大道理誰不會講?至于linus那番話的背景和爭論,不了解的自己看孟巖、劉未鵬、云風(fēng)等人的blog去。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-15 19:24 鄭暉

    @dennis
    >>>爭論這么多,沒見有人拉出段代碼來評價一番,口頭的大道理誰不會講?
    任何關(guān)于語言的紛爭注定是無果而終,即使拋開大道理拿出代碼來講小道理,也是徒費口舌。關(guān)于語言,一言蔽之,“沒有糟糕的語言,只有糟糕的程序員”。糟糕的語言根本不會流行,糟糕的程序員卻“流行”得很。

    >>>至于linus那番話的背景和爭論,不了解的自己看孟巖、劉未鵬、云風(fēng)等人的blog去。
    雖不愿再談此事,但如果真想了解背景,出于實證精神還是應(yīng)該去看看原文,而不是某某的blog。平心而論,Linus是在別人首先發(fā)難的情況下才有此番過激言論的,不可完全當(dāng)真。只是作為IT名人挑起激烈的語言之爭,顯非明智之舉。君不見C、C++和Java的創(chuàng)始人在一起尚惺惺相惜、相談甚歡,其他人等卻爭得面紅耳赤,是否有些滑稽?

    最后,博客上的交流既是心靈的聚會,也是一種難得的緣分。希望諸位能忘掉彼此之間因一時的情緒之言而造成的不快(說話與編程一樣,哪能一點bug都沒有呢?),冰釋前嫌,保持平和寬容的心境,共同探討,共同進(jìn)步! 感謝大家的熱情參與!  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-06-15 19:46 dennis

    @鄭暉
    還麻煩您留言了。你誤會我的意思了,我對這個爭論其實一點興趣都沒有,因為肯定爭不出結(jié)論:) 看到藍(lán)劍同學(xué)的一番回復(fù),都是套話空話,忍不住回幾句。你讓linus是去干其他的可能不行,同樣,你讓蓋茨去賣餛飩他也可能不行,這不是典型的廢話?借您寶地,打攪抱歉。  回復(fù)  更多評論   

    # re: 冒號和他的學(xué)生們(連載18)——系統(tǒng)語言 2008-08-05 17:13 leweslove

    作者寫這篇的時候是否會料到有爭論呢?  回復(fù)  更多評論   

    導(dǎo)航

    統(tǒng)計

    公告

    博客搬家:http://blog.zhenghui.org
    《冒號課堂》一書于2009年10月上市,詳情請見
    冒號課堂

    留言簿(17)

    隨筆分類(61)

    隨筆檔案(61)

    文章分類(1)

    文章檔案(1)

    最新隨筆

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲va久久久噜噜噜久久| 久久亚洲精品无码aⅴ大香| 小小影视日本动漫观看免费| 无码天堂va亚洲va在线va| 亚洲女女女同性video| 亚洲男人的天堂久久精品| 亚洲福利一区二区三区| 亚洲狠狠ady亚洲精品大秀| 亚洲毛片无码专区亚洲乱| 亚洲国产精品专区| 亚洲av永久无码精品三区在线4| 亚洲avav天堂av在线网爱情| 亚洲jjzzjjzz在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 成人黄网站片免费视频| A片在线免费观看| 97视频免费观看2区| 四虎免费影院ww4164h| 成人免费看吃奶视频网站| 午夜免费啪视频在线观看| 91精品国产免费网站| 三年片在线观看免费观看高清电影| 七色永久性tv网站免费看| 久草免费福利资源站| 在线精品一卡乱码免费| 久久综合给合久久国产免费| 13一14周岁毛片免费| 久久中文字幕免费视频| 亚洲人成免费网站| 卡一卡二卡三在线入口免费| 亚洲av麻豆aⅴ无码电影 | 国产大片线上免费观看| 免费精品无码AV片在线观看| 四虎免费影院ww4164h| 日本人护士免费xxxx视频| 亚洲人成网站在线观看青青| 无码乱人伦一区二区亚洲| 亚洲中文久久精品无码1| 国产在亚洲线视频观看| 99久久婷婷免费国产综合精品| 久久午夜伦鲁片免费无码|