第二十九章:編程是一門(mén)藝術(shù)(三更)
書(shū)迷正在閱讀:重生之全能明星學(xué)霸不太易、紅樓之賈赦修仙記、[綜漫]在下才不要穿小洋裙、抗日之超級(jí)壯丁、紅樓之貴妃是個(gè)小花精、拯救二次元美女、他的陸太太很甜、抗戰(zhàn)雙子星、變身最強(qiáng)之病弱七實(shí)、大宋超級(jí)學(xué)霸
對(duì)于石墨烯鋰硫電池的夭折,林奇一直耿耿于懷。 這段時(shí)間林奇看了很多市面上,需要用到電池的大戶,尤其是人類最大的玩具。 林奇瘋狂的收集著能找得到的關(guān)于電動(dòng)汽車電池的所有資料,尤其是特斯鋰電動(dòng)車的資料。 特斯鋰電動(dòng)車,是電動(dòng)車歷史里面的水果機(jī)。 它的電池設(shè)計(jì)非常有研究的價(jià)值,只是目前出現(xiàn)在網(wǎng)絡(luò)的資料還是比較少,但是大概也能看出來(lái)一些東西。 特斯鋰電池不像其他電動(dòng)車用的電池那樣是一個(gè)大的電池,而是用了16個(gè)電池組,每組電池又有444節(jié)電池,總體上一共約有7104顆鋰電池。 如果有人看過(guò)特斯鋰電池組的拆解圖,就會(huì)發(fā)現(xiàn)里面密密麻麻的電池。 電池組內(nèi)每一節(jié)電池都有保險(xiǎn)絲連接著,如果一個(gè)電池有問(wèn)題了,也頂多就是影響了17104的行程。同樣如果電池爆炸了,也只會(huì)影響到一個(gè),不會(huì)造成大的影響。 但是這么多的電池,除了在結(jié)構(gòu)上把他們配置的整整齊齊以外。還需要非常優(yōu)秀的電池管理系統(tǒng),來(lái)統(tǒng)籌管理這些電池。 如果電池是士兵,那么電池組就是營(yíng)長(zhǎng),而電池管理系統(tǒng)就是將軍。 鋰電池在生產(chǎn)的時(shí)候,會(huì)存在個(gè)體差異,所以在充放電的時(shí)候,并不是每一個(gè)電池都完全相同的。 這種細(xì)微的差異會(huì)對(duì)電池產(chǎn)生很大的影響,所以就要電池管理系統(tǒng),通過(guò)一定的控制策略來(lái)盡量減小這種差異。 優(yōu)秀的電池管理系統(tǒng)batteryentsyste,簡(jiǎn)稱bs,難不難? 難,很難,非常難?。?! 一輛車有7104塊電池,需要一個(gè)系統(tǒng)來(lái)管理,讓它們協(xié)同工作,在充放電的時(shí)候盡量保持一致,延長(zhǎng)電池的使用壽命,增加電動(dòng)汽車?yán)m(xù)航里程。 電池本身的價(jià)格,加上電池管理系統(tǒng),成本約占了56。電動(dòng)車價(jià)格貴的鍋,電池背也得背,不背也得背。 林奇了解到了這些知識(shí)后,覺(jué)得自己有必要好好的學(xué)習(xí)一下編程,為以后的電池打下一個(gè)良好的基礎(chǔ)。 不然等到電池做出來(lái)了,但是因?yàn)槔芾硐到y(tǒng),而讓電池的性能下降了很多,那嬸嬸能忍叔叔都不能忍。 這也和林奇制定的在暑假學(xué)習(xí)一下編程的目標(biāo)完全契合。 編程是一門(mén)專業(yè)的學(xué)科,相關(guān)的學(xué)科更多。 先說(shuō)語(yǔ)言就有匯編、c、c 、java、basic、h、c、ython、erl、deihi、javascrit、ruby、d、r、sql、ak、、a、shell…… 軟件方面的學(xué)科有軟件工程、網(wǎng)絡(luò)通信、嵌入式、ios、tci協(xié)議、ud協(xié)議…… 硬件方面當(dāng)然了這就不是編程了,而是計(jì)算機(jī)和通信方面的一些東西了。 常規(guī)的家用計(jì)算機(jī)、超計(jì)算機(jī)、光子計(jì)算機(jī)、量子計(jì)算機(jī)、生物計(jì)算機(jī),通信有光纖通信、電纜通信、量子通信…… 每一個(gè)學(xué)科都值得一個(gè)人花費(fèi)非常大的精力去研究。 林奇現(xiàn)在學(xué)的只是其中的很小一部分,只是學(xué)了其中的一門(mén)編程語(yǔ)言,c語(yǔ)言。 如今的人們決定學(xué)習(xí)任何一門(mén)語(yǔ)言之前,都要先考察這個(gè)語(yǔ)言有什么成功項(xiàng)目。 唯獨(dú)c語(yǔ)言沒(méi)有必要問(wèn),因?yàn)槭澜缟咸嗟闹匾到y(tǒng)中,都有c語(yǔ)言的身影。比如cao作系統(tǒng)內(nèi)核、高級(jí)語(yǔ)言底層,還有流行的數(shù)據(jù)庫(kù)軟件等等。 這是一門(mén)時(shí)間悠久,但是一直到現(xiàn)在也還是在編程語(yǔ)言排行榜排前三名的一個(gè)語(yǔ)言。 林奇從網(wǎng)上買(mǎi)了一本《crirs第6版中文版》,仔細(xì)研讀。 從打開(kāi)記事本,寫(xiě)下第一行代碼之時(shí),不對(duì),應(yīng)該說(shuō)是從下單買(mǎi)這本書(shū)的時(shí)候,林奇就走向了一條不歸之路。 編程里面有些術(shù)語(yǔ)很奇怪,比如“x8”,這個(gè)東西,如果沒(méi)有學(xué)過(guò)編程的人,看了這個(gè)第一印象肯定是,x等于8,x是一個(gè)未知數(shù)。 但是在編程學(xué)過(guò)編程的人眼里,這個(gè)其實(shí)是一個(gè)賦值語(yǔ)句把8這個(gè)t類型的數(shù)據(jù)賦值給變量x。 入門(mén)程序第一個(gè)難點(diǎn)就是,知道這個(gè)是賦值,而不是一個(gè)方程式。 林奇寫(xiě)出了第一個(gè)程序“helloorld!”心情無(wú)比的激動(dòng),就像自己上小學(xué)的時(shí)候會(huì)寫(xiě)第一個(gè)漢字“一”一樣。 然后就是if、else、hile、for、sitch、case這些常見(jiàn)的判斷循環(huán)語(yǔ)句,能熟練地應(yīng)用這些語(yǔ)句,再加上內(nèi)置的很多的函數(shù),還有一些別人寫(xiě)好的公共的庫(kù)的函數(shù),見(jiàn)識(shí)的多了,知道他們是怎么和判斷、循環(huán)、賦值語(yǔ)句配合之后,就能寫(xiě)出來(lái)簡(jiǎn)單的程序。 不過(guò)在學(xué)習(xí)c語(yǔ)言的過(guò)程中,林奇發(fā)現(xiàn)了一個(gè)規(guī)律。 在寫(xiě)了很多簡(jiǎn)單的程序后,就能慢慢的寫(xiě)一些比較中等的,在之后就是比較大的項(xiàng)目了。 通讀完全書(shū),林奇感覺(jué)到c語(yǔ)言的設(shè)計(jì)肯定也是一個(gè)懂藝術(shù)的人。 越研究,林奇越覺(jué)得編程是一門(mén)藝術(shù),編程是美的。 學(xué)完了書(shū)上的知識(shí),也研究了一些github上的開(kāi)源項(xiàng)目,林奇覺(jué)得已經(jīng)算是入行了。 提高自己的編程水平有很多方法,最有效的就是又從github(全球最大的開(kāi)源的代碼站,里面世界各地的人上傳的各種各樣的程序),找到一些非常有名的開(kāi)源項(xiàng)目來(lái)學(xué)習(xí)研究,比如ngx。 后來(lái)林奇還上網(wǎng)看還能怎么繼續(xù)提高自己,無(wú)意中看到一個(gè)帖子,里面介紹說(shuō),寫(xiě)程序不管是任何的語(yǔ)言,都要會(huì)算法。 于是林奇又買(mǎi)了一本《算法導(dǎo)論》英文原版,之所以買(mǎi)英文的原版,是因?yàn)槁?tīng)說(shuō)翻譯后的有的東西不好理解,還是看英文原版的更好一些,主要是林奇的英文水平高,要不然即使翻譯的再不好也比看不懂要好很多。 學(xué)習(xí)這本書(shū)的時(shí)候,林奇的感覺(jué)是,苦中有樂(lè),樂(lè)中有苦,時(shí)而被里面的精彩算法迷的不行不行的,時(shí)而被里面的算法搞的半死不活的。 算法重不重要,有一個(gè)例子,網(wǎng)上有人說(shuō)的寫(xiě)程序就像開(kāi)一輛車,當(dāng)你不懂太多數(shù)據(jù)結(jié)構(gòu)跟算法的時(shí)候,憑借豐富的實(shí)踐經(jīng)驗(yàn)?zāi)阋部梢詫⑦@輛車開(kāi)好;但是,當(dāng)有一天這輛車出問(wèn)題跑不起來(lái)的時(shí)候,你不懂它內(nèi)部的運(yùn)行機(jī)制,你要怎么排除和解決問(wèn)題? 其實(shí)現(xiàn)在已經(jīng)不需要爭(zhēng)辯算法重不重要了,你打開(kāi)boss直聘直接搜算法工程師,看看現(xiàn)在的待遇,看看企業(yè)的要求,就知道這個(gè)東西到底有沒(méi)有用了。 人工智能的興起,也帶動(dòng)了算法工程師(主要是人工智能的算法,不過(guò)和普通的算法還是有些關(guān)聯(lián)的)變得炙手可熱。 林奇學(xué)完了《算法導(dǎo)論》,準(zhǔn)備找些東西練練手,于是就上網(wǎng)找資料,在一個(gè)討論算法的論壇里面發(fā)現(xiàn)了一個(gè)算法大賽,林奇興致勃勃的報(bào)了名。