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

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

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

開(kāi)通VIP
C語(yǔ)言已經(jīng)死了,5個(gè)需要忘卻它的理由
http://www.51cto.com 2006-12-20 11:06 作者:作者Ed Burnette、編譯李安民 出處:51CTO.com
【導讀】作者在讀過(guò)“為什么每個(gè)程序員都應該學(xué)習C語(yǔ)言?”和“每個(gè)程序員都應該學(xué)習C語(yǔ)言?我可不這么認為。”這兩篇文章后,感覺(jué)James對第一篇文章的駁論還是不夠深入,沒(méi)有切中要害,所以在本文中,作者拿出了5個(gè)充分的理由進(jìn)行說(shuō)明。
【51CTO.com獨家特稿】我用C語(yǔ)言編程已經(jīng)超過(guò)20年了。我寫(xiě)過(guò)C語(yǔ)言的編譯器、C語(yǔ)言的調試器、用C開(kāi)發(fā)的其他語(yǔ)言、游戲、客戶(hù)端程序和服務(wù)器程序,你說(shuō)吧!還有什么是我沒(méi)寫(xiě)過(guò)的。還有我的書(shū)架上充斥著(zhù)折了角的K&R和Steele的書(shū)。我太了解C語(yǔ)言了,但是,我討厭他。十分討厭!
當我讀到一篇博客,題目是“為什么每個(gè)程序員都應該學(xué)習C語(yǔ)言?”時(shí),我真是雞皮疙瘩滿(mǎn)地。如果你真的是個(gè)專(zhuān)業(yè)的程序員的話(huà),你肯定覺(jué)得這是個(gè)天大的笑話(huà),盡管作者的本意也許不是這樣的。這篇反駁的文章有點(diǎn)意思,但是還是沒(méi)有抓住本質(zhì)。所以我展開(kāi)了說(shuō)一下。有以下5個(gè)原因來(lái)說(shuō)明,為什么那些會(huì )C語(yǔ)言,并且使用C語(yǔ)言的程序員,現在不但應該去用別的語(yǔ)言,而且應該忘記他們學(xué)習C語(yǔ)言過(guò)程中的那些煩人的東西。
1、內存分配
僅僅關(guān)于這一點(diǎn)我就能寫(xiě)整整一篇文章了,也許能寫(xiě)一本書(shū),甚至還有可能寫(xiě)出能夠塞滿(mǎn)圖書(shū)館技術(shù)書(shū)籍那塊,那么多的內容。內存分配和存儲單元分配的存在確確實(shí)實(shí)是個(gè)大麻煩。你要不就是分配太少的內存不夠用,要不就是分配了太多內存浪費掉。這里的問(wèn)題就是:怎么把它初始化為零呢?還是干脆就不初始化它。但最撓頭的步驟還是釋放內存。所有已有的工具包都會(huì )幫助你確認,你是否已經(jīng)釋放了之前分配的每一位的內存,在釋放完之后是否永遠不使用它,并且會(huì )阻止你,永遠不要釋放它第兩次。更嚴重的是,分配內存和釋放內存在C語(yǔ)言中都是很慢的,非常慢。使用內存分配時(shí),要考慮的各種特殊情況,我真是連想都不愿意去想,只要問(wèn)題(對象)的大小合適,我更愿意使用??臻g或者事先分配的結構空間。如果這么做的話(huà),我就有更值得煩惱的事了。話(huà)說(shuō)回來(lái),發(fā)明垃圾處理器那人真應該得諾貝爾獎。
2、多線(xiàn)程
我過(guò)去是喜歡C語(yǔ)言的,真的。直到我開(kāi)始用C開(kāi)發(fā)并維護多線(xiàn)程的服務(wù)器。在為連接相沖突的線(xiàn)程保護數據方面,C語(yǔ)言沒(méi)有為程序員提供那怕一點(diǎn)點(diǎn)的幫助。你在使用單線(xiàn)程的日子里獲得的每一個(gè)直覺(jué)、經(jīng)驗,用在多線(xiàn)程的時(shí)候都是錯誤的。至少JAVA有表示同步的關(guān)鍵字和備有證明文件(但是是個(gè)很奇怪的文件)的記憶體,但即使是這樣,除非你使用新的javax.concurrent,否則也只能在那些巨大的平行擺放的機器們面前崩潰?;氐紺語(yǔ)言上:在模擬生產(chǎn)的環(huán)境下,堅持一個(gè)星期在數據中心調試一個(gè)死鎖(這事真的發(fā)生過(guò))。而JAVA卻只需要Ctrl+Break!天哪?。?!
3、指針
指針太難以控制了,太陰險了;我甚至沒(méi)有委婉一點(diǎn)的方式去形容它。我生命中每年都有幾個(gè)月被用來(lái)調試那些奇怪的指針問(wèn)題。我過(guò)去常常努力獲取所有的訣竅,比方說(shuō)難以理解的構成符、聯(lián)合體和偏移量,以及重用最后兩位做標記,還有所有其他的訣竅。但我發(fā)現這么做根本不值得。其他語(yǔ)言的靜態(tài)引用就可以解決了。
4、過(guò)早的優(yōu)化
說(shuō)到訣竅,你是否曾經(jīng)浪費腦細胞去研究究竟*p++是不是比p[i]快?你是否曾經(jīng)花時(shí)間去試著(zhù)做點(diǎn)變化來(lái)代替乘法,或者去嘗試使循環(huán)中的倒置運行更快的方法?還在為傳遞一個(gè)參數的速度和反對添加結構,并且傳遞它的速度一樣而苦惱不已?停吧!算法是速度的關(guān)鍵,程序員的水平?jīng)Q定了他會(huì )使用那些算法。知道這一點(diǎn)能讓你的程序更好,更快一點(diǎn)并且讓你的腦袋少扭幾個(gè)筋。好吧,有一些例子也許可以這樣做的……不,你就別那么做就行了!
5、測試
你最喜歡的C的單元測試的工具是哪個(gè)?嗯…一個(gè)也想不到?單元測試一定是一點(diǎn)也不重要,是吧?或者是太麻煩了,很難跟上進(jìn)度,浪費時(shí)間。你可以把這個(gè)時(shí)間用到更加有用的事情上,讓它只占用工作時(shí)間的1%,那還比較合適?;蛘咴跀祿行?,通過(guò)優(yōu)化的沒(méi)有標記的圖形來(lái)調試這個(gè)僅僅由100個(gè)同時(shí)在線(xiàn)使用者引起的問(wèn)題。
我本來(lái)應該繼續再說(shuō)一些原因的,但是5個(gè)現在就足夠了;說(shuō)完這些,現在感覺(jué)好點(diǎn)了。C以前是非常棒的…那是在1984年的時(shí)候。直到今天,那些用C寫(xiě)的新代碼都讓我感到驚喜…如果你讓我比較的話(huà),我覺(jué)得C++只是比C稍微好點(diǎn)。如果你想要學(xué)些老一點(diǎn)的語(yǔ)言,不妨嘗試Forth,Lis,或者APL。這些老式的語(yǔ)言起碼能教會(huì )你,用不同的而且優(yōu)雅的方式去思考你的程序。
作者簡(jiǎn)介
Ed Burnette是一位有著(zhù)豐富編程經(jīng)驗的程序員。他現在致力于使用JAVA和C來(lái)開(kāi)發(fā)OLAP客戶(hù)端和服務(wù)器。他業(yè)余時(shí)間喜歡研究Java、Eclipse和開(kāi)源軟件。他寫(xiě)了很多關(guān)于Eclipse的文章和書(shū)籍,另外他還是EclipseZone.com的主編。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
[討論]未來(lái)有哪些編程概念會(huì )消失? - 倪大蝦 - 博客園
Java基礎:JVM(Java 虛擬機)的詳細講解
【diannaoxitong】Java有哪些常用語(yǔ)?Java常用語(yǔ)言匯總
Java語(yǔ)言入門(mén)級的十二大特色詳細介紹
java的工作原理
怎樣選擇自己的第一語(yǔ)言?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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