国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
最完美的語言C ?大牛來帶你解讀真正的C 是否為完美的語言


       【【C語言編程】最完美的語言C ?大牛來帶你解讀真正的C 是否為完美的語言】http://toutiao.com/group/6491898175190729230/?iid=15906422033&app=explore_article&tt_from=copy_link&... 

C 很復(fù)雜,這門語言有太多的誘惑,程序員需要極度的自律。而C 設(shè)計(jì)成這樣也是因?yàn)锽jarne說過他不希望把自己任何的喜惡都加在語言上,他希望程序員自己去判定,完全信任程序員。然而,信息時(shí)代發(fā)展到現(xiàn)在了,程序員也已經(jīng)不像80,90時(shí)代一樣,似乎是少數(shù)人才可以做得事情,現(xiàn)在可以寫冒泡排序都可以找到一個(gè)編程開發(fā)工作,不需要理解計(jì)算機(jī)組織,不需要理解操作系統(tǒng)等等。而由于計(jì)算機(jī)基礎(chǔ)的缺失,這樣的程序員卻往往是需要語言來幫助規(guī)范的,需要語言幫他選擇,而非他來選擇語言的特性。而這樣的發(fā)展也是必然,如互聯(lián)網(wǎng)時(shí)代,很多時(shí)候就是需要可以快速構(gòu)建搶占市場,所以需要很快的搭建出來可運(yùn)行的業(yè)務(wù),而這時(shí)候很多情況下會選擇動態(tài)語言。當(dāng)然,這樣很多時(shí)候也會有代價(jià),當(dāng)達(dá)到很大規(guī)模時(shí),會回過頭借助Native的語言,如C 。
  也正是這樣,C 具有著很大的復(fù)雜性,融合OOP,GP等各種編程范式于一身,而這也是對新手不利的地方。雖然現(xiàn)在的C 已經(jīng)進(jìn)化了,C 11/14對于新手來說已經(jīng)算友善了,少了很多歷史殘留的坑,但是C 發(fā)展的路途增加新特性也是對新手的更大學(xué)習(xí)負(fù)擔(dān),如增加的右值引用,std::move,std::forward到底又是什么東西?
  學(xué)編程最重要的是實(shí)踐,就是寫代碼、看別人寫的代碼、再寫代碼,你看再多的書,不寫代碼,你還是不會編程。但是寫代碼也要講究方法循序漸進(jìn),不能剛學(xué)了幾天語法,就想寫個(gè)操作系統(tǒng)什么的,樹立這種不切實(shí)際的目標(biāo)只會讓你的自信受到嚴(yán)重打擊迷失自我。同時(shí)小編推薦一個(gè)學(xué)C/C 的學(xué)習(xí)群627819188無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!群內(nèi)有很多干貨和技術(shù)分享!
  C 的復(fù)雜性也體現(xiàn)在類型系統(tǒng)上,不知道多少人都被C 的隱式類型轉(zhuǎn)換給弄的頭昏腦脹,如為什么會有bool轉(zhuǎn)換這樣的東西。同時(shí),加入了泛型編程和右值引用后,那么類型推導(dǎo)也變得復(fù)雜。如:
  為什么明明是T&&,卻會讓我的類型推導(dǎo)出不同的類型,這個(gè)時(shí)候?qū)τ诔醮谓佑|的人都是不解。以前有句話叫做沒有讀過Effective C 的C 程序員不應(yīng)該讓他開發(fā),我覺得這句話現(xiàn)在也可以引申為沒有讀過Effective Modern C 的C 程序員不應(yīng)該讓他開發(fā),因?yàn)檫@本書寫的真的很好很透徹,而這本書就詳細(xì)解釋了這個(gè)例子的原因。
  下面我想說說上面幾個(gè)用戶提到的問題,如模塊化系統(tǒng),編譯慢,ABI,異常等問題。
  的確,C 在不斷的進(jìn)化,在不斷的改善,也同時(shí)增加了新手的學(xué)習(xí)。如上面有人談到C 沒有模塊系統(tǒng),編譯慢的問題,而C 17有一篇提案講述的正是這個(gè),叫做Module System,簡單的語法:
  而這篇提案也提到了有用戶答的私有成員問題,如在Module M聲明的foo是可見的,而bar則是完全不可見,而遠(yuǎn)非私有成員的不可訪問,但可見。
  而其實(shí)大家痛苦的很多地方,C 標(biāo)準(zhǔn)委員會的人也不是不知道,如ABI的問題,也有提案說想要做一個(gè)標(biāo)準(zhǔn),這篇提案是微軟的Herb提出的: https://isocpp.org/files/papers/n4028.pdf 而前一篇的Module System深得Bjarne的喜歡,而通過的幾率其實(shí)也是蠻大的了,而Herb這篇我不知道,說不定也已經(jīng)被斃了,只是我不知道。
  對于異常,大家都在討論用不用。可是,對于用戶來說,是否真的需要異常呢?我曾在一個(gè)回答中說C 的異常是很雞肋的東西,或者說的更直白點(diǎn),要用好C 的異常不容易,不是無腦的try throw就好,C 也不會像Java一樣會強(qiáng)制要求你,C 的設(shè)計(jì)就是程序員自己做主。
  而上面同樣說到?jīng)]有Metadata,沒有反射。而C 17也在考慮加入反射。是的,正如C 標(biāo)準(zhǔn)委員會之前定的計(jì)劃一樣,C 11是大改動,C 14小修改,C 17又是大改動。
  總體來說,C 真的很復(fù)雜,或許現(xiàn)階段還有ABI,還有編譯鏈接模型,還有類型系統(tǒng),模塊系統(tǒng)等的問題,其實(shí)C 也許都可以解決,但是解決完后又變復(fù)雜了,因?yàn)橐3峙c之前的兼容,還要保證高性能這一根本立足點(diǎn),這真是對智力的一大考驗(yàn)啊,所以我一直在說C 標(biāo)準(zhǔn)委員會的人都蠻碉的,比如C 11提出的Memory Model,真是把能抽象剝離的都抽象剝離出來了,很精細(xì)。
  我是很喜愛C 的,更是Bjarne的腦殘粉,也靠著C 在吃飯。我很欣喜的看著C 不斷的變好,但是也必須承認(rèn)C 還有很多不足,如很多小伙伴和我上面提到的很多問題都的確是客觀存在的。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
對九個(gè)超級程序員的采訪
程序員編程語錄
C 改變了世界,未來還要助力人工智能、大數(shù)據(jù)、機(jī)器學(xué)習(xí)的研發(fā)
C 之父給的C 學(xué)習(xí)路線圖(C 贈書)
C 之父Bjarne Stroustrup:程序員在數(shù)學(xué)上付出的努力,永遠(yuǎn)也不會白費(fèi)
推薦5本學(xué)習(xí)新的編程語言的書
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服