編程語(yǔ)言 為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?
為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?我認(rèn)為,是構(gòu)建輪子還是直接使用開(kāi)源庫(kù),很大程度上取決于部門(mén)負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí)
為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?
我認(rèn)為,是構(gòu)建輪子還是直接使用開(kāi)源庫(kù),很大程度上取決于部門(mén)負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開(kāi)發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫(xiě)呢?我在項(xiàng)目開(kāi)始時(shí)不知道這個(gè)庫(kù)的存在,我不想以后再介紹它。
2)許多第三方庫(kù)依賴于許多其他第三方庫(kù)。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無(wú)疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開(kāi)源庫(kù)通常會(huì)頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫(kù)的更新無(wú)疑會(huì)花費(fèi)更多的開(kāi)發(fā)時(shí)間和測(cè)試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開(kāi)放源代碼庫(kù)出現(xiàn)問(wèn)題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開(kāi)源庫(kù)過(guò)于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過(guò)的書(shū)。
本文是作者《一個(gè)程序員的奮斗史》悟空問(wèn)答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究
程序員所有代碼都一個(gè)一個(gè)自己敲出來(lái)的嗎?
從這個(gè)問(wèn)題中,我們可以看到所有者沒(méi)有編寫(xiě)過(guò)代碼,或者已經(jīng)編寫(xiě)過(guò)代碼,但是很少。即使他做到了,也只是一個(gè)小系統(tǒng),他還沒(méi)有接觸過(guò)一個(gè)大系統(tǒng)
!這里我想說(shuō)三點(diǎn):第一,99%的程序員是從模仿別人開(kāi)始寫(xiě)程序的!第二個(gè)原因是你寫(xiě)的程序越多,就越復(fù)雜。”你寫(xiě)的程序越多,就越復(fù)雜,它們之間有很多共同點(diǎn),也有很多可以重用的東西。例如,大型軟件和成熟公司都有公共資源庫(kù),很多東西都可以為您使用。如果你什么都自己做,我想你什么都做不了。例如,通信中使用了許多rs-Rodley算法,這些算法既復(fù)雜又簡(jiǎn)單,但無(wú)論多么簡(jiǎn)單都不容易,你必須花時(shí)間去解決。在企業(yè)里,不是學(xué)校。它給你更多的時(shí)間去解決它!第三,限制!人不是萬(wàn)能的,不可能什么都懂,但是,在你的項(xiàng)目中,你需要一個(gè)功能,但是你不能,沒(méi)關(guān)系,只要有現(xiàn)成的解決方案,你不懂,沒(méi)關(guān)系,可以實(shí)現(xiàn),至于你現(xiàn)在不懂,沒(méi)關(guān)系,公司要的是結(jié)果!