<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          真正的編程能力!

          共 2445字,需瀏覽 5分鐘

           ·

          2021-05-20 02:55

          大家好,我是二哥呀!

          有票圈的讀者應(yīng)該知道了,我家大助理周五去鄭州考試了,留我和小助理在家,家里沒(méi)了領(lǐng)導(dǎo)(噓),很多事情就懶得做,比如說(shuō)周五在票圈的抽獎(jiǎng)贈(zèng)書,我就不想統(tǒng)計(jì),只能等她晚上回來(lái)后再統(tǒng)計(jì)了。

          平常這項(xiàng)工作都是交給大助理做的,畢竟二哥在家是很有地位的,排第三,前面兩位是老婆和女兒,也就是大助理和小助理。

          我票圈維護(hù)的還是挺用心的,另外就是所有微信發(fā)我的問(wèn)題我都會(huì)一一回復(fù),不論大小,不論難易,只要我有時(shí)間和精力,都盡可能給大家一點(diǎn)點(diǎn)幫助,絕不吝嗇。

          周五發(fā)圈送小傅哥的書,點(diǎn)贊人數(shù)直接就爆了,你瞧,微信這么牛逼的 APP 在加載頭像的時(shí)候都很吃力!

          之前有讀者評(píng)論說(shuō),“二哥,你不能只抽前 100 名的呀,你得考慮后面同學(xué)的感受”,不是我不想考慮,而是實(shí)施起來(lái)很困難,每次我都要先清一波手機(jī)內(nèi)存,再來(lái)統(tǒng)計(jì),但仍然無(wú)濟(jì)于事,加載很慢。所以,一句話,大家看到我發(fā)圈了,就立刻馬上贊就對(duì)了,別猶豫,手速一定要快,畢竟是個(gè)多線程并發(fā)的事!

          另外,我發(fā)現(xiàn)一個(gè)規(guī)律,中獎(jiǎng)的讀者一般都是平常點(diǎn)贊比較勤快的,雖然沒(méi)有什么科學(xué)道理,但確實(shí)是個(gè)事實(shí)。

          好了,廢話先說(shuō)到這。接下來(lái),給大家分享一篇我在知乎上發(fā)現(xiàn)的好內(nèi)容,尤雨溪(我一個(gè)后端都膜拜的前端大神)都點(diǎn)贊了。

          以下是原文。

          來(lái)源:https://www.zhihu.com/question/31034164/answer/50423838


          什么才算是真正的編程能力

          計(jì)算機(jī)科學(xué)有兩類根本問(wèn)題。

          • 一類是理論:算法,數(shù)據(jù)結(jié)構(gòu),復(fù)雜度,機(jī)器學(xué)習(xí),模式識(shí)別,等等等。
          • 一類是系統(tǒng):操作系統(tǒng),網(wǎng)絡(luò)系統(tǒng),分布式系統(tǒng),存儲(chǔ)系統(tǒng),游戲引擎,等等等等。

          理論走的是深度,是在追問(wèn)給定的計(jì)算能力約束下如何把一個(gè)問(wèn)題解決得更快更好。而系統(tǒng)走的是廣度,是在追問(wèn)對(duì)于一個(gè)現(xiàn)實(shí)的需求如何在眾多的技術(shù)中設(shè)計(jì)出多快好省的技術(shù)組合。

          搞ACM的人,只練第一類。很可惜的是第二類能力沒(méi)有簡(jiǎn)單高效的測(cè)量考察方法,不像算法和數(shù)據(jù)結(jié)構(gòu)有ACM競(jìng)賽,所以很多系統(tǒng)的苗子都因?yàn)槿鄙偌?lì)和正確引導(dǎo)慢慢就消隱了。

          所以比爾蓋茨才會(huì)說(shuō),看到現(xiàn)在學(xué)編程的人經(jīng)常都把編程看作解各種腦筋急轉(zhuǎn)彎的問(wèn)題,他覺(jué)得很遺憾。

          做系統(tǒng),確實(shí)不提倡“重復(fù)發(fā)明輪子”。但注意,是不提倡“重復(fù)發(fā)明”,不是不提倡“重新制造”。恰恰相反的,我以為,系統(tǒng)的編程能力正體現(xiàn)在“重新制造”的能力。

          能把已有的部件接起來(lái),這很好。

          • 但當(dāng)你恰好缺一種關(guān)鍵的膠水的時(shí)候,你能寫出來(lái)嗎?
          • 當(dāng)一個(gè)已有的部件不完全符合你的需求的時(shí)候,你能改進(jìn)它嗎?
          • 如果你用的部件中有bug,你能把它修好嗎?
          • 在網(wǎng)上繁多的類似功能的部件中,誰(shuí)好誰(shuí)壞?為什么?差別本質(zhì)嗎?
          • 一個(gè)開(kāi)源代碼庫(kù),你能把它從一個(gè)語(yǔ)言翻譯到另一個(gè)語(yǔ)言嗎?從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái)嗎?能準(zhǔn)確估計(jì)自己翻譯和移植的過(guò)程需要多少時(shí)間嗎?能準(zhǔn)確估計(jì)翻譯和移植之后性能是會(huì)有提升還是會(huì)有所下降嗎?

          系統(tǒng)編程能力體現(xiàn)在把已有的代碼拿來(lái)并變成更好的代碼,體現(xiàn)在把沒(méi)用的代碼拿來(lái)并變成有用的代碼,體現(xiàn)在把一個(gè)做好的輪子拿來(lái)能畫出來(lái)輪子的設(shè)計(jì)藍(lán)圖,并用道理解釋出設(shè)計(jì)藍(lán)圖中哪些地方是關(guān)鍵的,哪些地方是次要的,哪些地方是不容觸碰的,哪些地方是還可以改進(jìn)的。

          如果你一點(diǎn)理論不懂,還是應(yīng)該學(xué)點(diǎn)的。對(duì)于系統(tǒng)性能的設(shè)計(jì)上,算法和數(shù)據(jù)結(jié)構(gòu)就像在自己手頭的錢一樣,它們不是萬(wàn)能的,但不懂是萬(wàn)萬(wàn)不行的。

          怎么提高系統(tǒng)編程能力呢?

          土辦法:多造輪子。

          就像學(xué)畫畫要畫雞蛋一樣,不是這世界上沒(méi)有人會(huì)畫雞蛋,但畫雞蛋能馴服手指,感受陰影線條和筆觸。所以,自己多寫點(diǎn)東西吧。寫個(gè)編譯器?渲染器?操作系統(tǒng)?web服務(wù)器?web瀏覽器?部件都一個(gè)個(gè)換成自己手寫的,然后和已有的現(xiàn)成部件比一比,看看誰(shuí)的性能好,誰(shuí)的易用性好?好在哪兒?差在哪兒?為什么?

          更聰明一點(diǎn)的辦法:多拆輪子。

          多研究別人的代碼是怎么寫的。然而這個(gè)實(shí)踐起來(lái)經(jīng)常很難。原因:大部分工業(yè)上用的輪子可能設(shè)計(jì)思想和技術(shù)都是好的,但設(shè)計(jì)和制造過(guò)程卻很爛,里面亂成一團(tuán),讓人乍一看毫無(wú)頭緒,導(dǎo)致其對(duì)新手來(lái)說(shuō)非常難拆。這種狀況其實(shí)非常糟糕。所以,此辦法一般只對(duì)比較簡(jiǎn)單的輪子好使,對(duì)于復(fù)雜的輪子,請(qǐng)量力而行。

          輪子不好拆,其實(shí)是一個(gè)非常嚴(yán)重的問(wèn)題。重復(fù)發(fā)明輪子固然是時(shí)間的浪費(fèi),但當(dāng)輪子復(fù)雜而又不好拆的時(shí)候,尤其是原來(lái)造輪子的人已經(jīng)不在場(chǎng)的時(shí)候,重新發(fā)明和建造輪子往往會(huì)成為無(wú)奈之下最好的選擇。

          這是為什么工業(yè)界在明知道重復(fù)發(fā)明/制造輪子非常不好的情況下還在不斷重復(fù)發(fā)明/制造輪子的根本原因。

          程序本質(zhì)是邏輯演繹的形式化表達(dá),記載的是人類對(duì)這個(gè)世界的數(shù)字化理解。

          不能拆的輪子就像那一篇篇丟了曲譜的宋詞一樣,能讀,卻不能唱。


          分享的最后,二哥必須得說(shuō)兩句。

          印象中,我感覺(jué)自己的編程能力突飛猛進(jìn)的時(shí)刻好像有兩次。

          第一次是在外企的時(shí)候,研究日方提供的框架源碼,然后當(dāng)組件不滿足需求的時(shí)候親手造出來(lái)了那么兩三個(gè),當(dāng)然是在基于原有的組件基礎(chǔ)上,但就這么兩三個(gè)重組后的組件,讓我在團(tuán)隊(duì)中的地位瞬間就抬升了很高一個(gè)檔次,因?yàn)閯e人都在用輪子,并且還用不好,我卻可以造輪子了。

          后面之所以被領(lǐng)導(dǎo)破格提升為小組長(zhǎng)也是因?yàn)檫@茬事,緊跟著后面的那次漲薪幅度也比較大。

          第二次是我開(kāi)始系統(tǒng)化分享技術(shù)博客的時(shí)候,因?yàn)橐o大家講清楚,那必須得多拆輪子,不論是讀書、讀博客、讀源碼,還是看視頻,首先得做到自己確實(shí)把要講的事情給研究透徹了,然后才能按照自己喜歡的方式行文,達(dá)到通俗易懂、風(fēng)趣幽默的效果。

          同樣的,多造輪子,多拆好拆的小輪子,應(yīng)該是提高編程能力最好的辦法了。

          對(duì)了,如果你想加我好友的話,掃上面的二維碼吧,坑位有限,早來(lái)早得,再錯(cuò)過(guò)就真沒(méi)了!加了好友你至少可以做 3 件事:

          • 免費(fèi)咨詢問(wèn)題;
          • 參加票圈抽獎(jiǎng);
          • 做個(gè)點(diǎn)贊之交。

          逃)

          瀏覽 50
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩欧美一级中文字幕 | 国产swag在线播放 | 国产三级小视频 | 黄色小片免费视频 | 日本黄A三级三级三级 |