第八十五章 知識(shí)搜尋和積累
好不容易熬到了人流量逐漸變少,孟響有些迫不及待的找了臺(tái)離前臺(tái)最近的機(jī)器坐下。
開機(jī)后,他沒有先準(zhǔn)備環(huán)境,而是先打開了千度搜索,開始尋找自己想要的資料。
前段時(shí)間他全部的精力都集中在了課本之上,所以把計(jì)算機(jī)的東西丟在了一旁。而月考之后的這一周,他注意力主要也是集中在了書本上,完全沒有利用過最好的資料庫——搜索引擎,這會(huì),有了幾萬行代碼練習(xí)量的他才逐漸把注意力轉(zhuǎn)移過來。
磨刀不誤砍柴工,雖然張晨給了他許多建議,為他打開了這扇大門,但是里面具體要怎么辦,還是需要他去琢磨。
因?yàn)橛?jì)算機(jī)的世界也太廣闊了,不明確自己想要的,找出一條直接的路,他很難在短時(shí)間內(nèi)把知識(shí)變現(xiàn)。
孟響在首先在千度搜索里輸入“C語言代碼3萬行是什么水平”的關(guān)鍵字。
接著,一秒鐘的加載,千度就給他展現(xiàn)出了幾萬個(gè)答案。
他開始挨個(gè)往下看。
他這個(gè)結(jié)果的答案很少,但是類似的搜索結(jié)果有不少,比如,他看到了一個(gè)程序員總代碼量20W行是一種什么體驗(yàn)?
他好奇的點(diǎn)了進(jìn)去,20W行就能當(dāng)程序員了?他現(xiàn)在3W行豈不是說再過幾周就能……想到這里,他心里有些小激動(dòng)。
“編碼水平不僅僅是看代碼行數(shù)?!?p> “樓上的,我可以把一行拆成五行,也可以把十行合成一行?!?p> “代碼數(shù)量并不能反映一個(gè)人的水平,代碼質(zhì)量才行。”
“代碼是否原創(chuàng)是一個(gè)很重要的標(biāo)準(zhǔn),如果樓主你代碼都是移植的,200W行也沒什么卵用?!?p> 看到這,孟響有些臉紅,貌似他的3W行代碼大部分都是抄的,而自己寫的那部分也是在原有基礎(chǔ)上改了一改。
看來自己好像還有不少的路要走。
他鼠標(biāo)沒停,依然在往下翻,又一個(gè)新名詞跳進(jìn)了他眼中。
“多思考,多跳坑,多造輪子?!?p> 造輪子?
我一寫代碼的造輪子做啥?
孟響心里納悶。
他在千度輸入了“造輪子”之后,才明白這個(gè)名詞的意思和造汽車輪子不是一個(gè)概念。
他又開始查其他的一些名詞,大多都是關(guān)于寫代碼的用途,以及自己現(xiàn)在所處的層次,同時(shí)還有數(shù)據(jù)結(jié)構(gòu)和算法的用途等等。
花了半個(gè)多小時(shí)他才解開計(jì)算機(jī)世界一角的面紗,以及這幾個(gè)名詞之間的關(guān)系。
其實(shí)他現(xiàn)在準(zhǔn)備學(xué)的數(shù)據(jù)結(jié)構(gòu)和算法。
對一般的碼農(nóng)來說,并沒有什么卵用。
也就是說,一般的程序員并不需要用到算法和數(shù)據(jù)結(jié)構(gòu),并且這句話前面還能拿加上‘任何’兩個(gè)字。
數(shù)據(jù)結(jié)構(gòu)和算法他現(xiàn)在還不懂,但是根據(jù)搜索的結(jié)果表明,主要還是用來增加程序運(yùn)行效率的工具,一個(gè)適當(dāng)算法和數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,能夠大量提高計(jì)算機(jī)程序的運(yùn)行效率。
這就好比一個(gè)10L的容器,如果裝一個(gè)不規(guī)則的鐵塊,可能會(huì)造成大量空間的浪費(fèi)。
而適當(dāng)?shù)乃惴ê蛿?shù)據(jù)結(jié)構(gòu)的應(yīng)用,就是把這個(gè)不規(guī)則的鐵塊加工成符合容器所需要的形狀,以此達(dá)到空間最大化利用,減少浪費(fèi)和容易。
而在時(shí)間上同樣如此,兩點(diǎn)之間最短路徑是直線,而一般從其中一個(gè)點(diǎn)去往另一個(gè)點(diǎn),往往并不是走直線,其中無形之間就增加了許多路程和時(shí)間成本。但是好的算法應(yīng)用,可以盡可能減少這種路程和時(shí)間成本。
這讓他有些奇怪,為什么張晨,吳昊和謝洋都說這兩個(gè)東西很重要?而且連競賽也只注重這兩樣?xùn)|西。
他又開始查了一會(huì)兒。
從“算法有什么用”,到“數(shù)據(jù)結(jié)構(gòu)有什么用”。他又進(jìn)入了幾個(gè)不同的帖子。
“功利一點(diǎn)的話,算法不行,面試過不去?!?p> “公司在招人的時(shí)候,往往喜歡面試數(shù)據(jù)結(jié)構(gòu)和算法,其目的并不是在于這兩者本身,而是在于篩選智商高的程序員?!?p> “如果你只想專注寫if else,while,for ,switch這樣的語句,請忽視數(shù)據(jù)結(jié)構(gòu)和算法?!?p> “現(xiàn)在的計(jì)算機(jī)已經(jīng)比以前快太多了,如果你的軟件只是支持10個(gè)人,100個(gè)人甚至1000個(gè)人,并不需要數(shù)據(jù)結(jié)構(gòu)和算法,因?yàn)橛?jì)算機(jī)靠著本身能支持。但是如果是1W個(gè)人,10W人,100W人,甚至你想寫出淘寶,企鵝和千度這樣的大并發(fā)程序,你必須要了解這些?!?p> “他能決定的是你的上限,而不是下限?!?p> “.…..”
看了五六個(gè)各種論壇和平臺(tái)的帖子之后,孟響總算對這個(gè)有了一個(gè)大概的了解。難怪競賽也考的是這些,怪不得張晨三人都說要學(xué)這些。
總的來說,這兩樣對成為程序員基本沒有多大作用,甚至成為一個(gè)中級程序員都可以不怎么會(huì)這兩樣。但是再往上,需要了解的東西越多,看的代碼越多,如果不了解這兩種,前行慢慢會(huì)變得艱難。
“看來,他們對我的期望值挺高。”
孟響自言自語道,他認(rèn)為謝洋三人和網(wǎng)上論壇上留言的這些人想法一致了。
如果謝洋在這,估計(jì)一臉懵逼,他根本沒想過這些,甚至他自己連這其中的關(guān)系也不清楚。而張晨和吳昊,大概是往這方面想的。
“那么,算法和數(shù)據(jù)結(jié)構(gòu)一定要學(xué)的,這就像是內(nèi)功,在內(nèi)功不足的時(shí)候,確實(shí)沒有多大作用,但是越往后,作用越大?!?p> 孟響這么認(rèn)為。
他總算對這一塊的知識(shí)有了一定了解。
想到這,他有些激動(dòng)的在搜索框中再次鍵入了幾個(gè)字。
怎么成為一名黑客。
唰唰唰,千度展現(xiàn)出比之前更多的搜索結(jié)果。
“【C/C++語言】C語言程序設(shè)計(jì)視頻教程(譚浩強(qiáng)編,曾怡講。)”
“大型webgame全套網(wǎng)游源碼?!?p> “BT5無線蹭網(wǎng)利器光盤版+全套工具+視頻教程?!?p> “中國菜刀無后門版需要的請加QQ:XXXXXXXX”
“覓風(fēng)易語言輔助教程1-16課VIP教程?!?p> 打開一個(gè)黑客技術(shù)貼吧之后,迎面撲來的是無比嘈雜的鄉(xiāng)村山寨叫賣氣息。
各種吆喝,各種宣傳讓他有些懵逼。