登入使用能幫助您收藏更多喜歡的好書,
希望大家都能多多登入,管理員在此感激不盡啦!
《崛起於2009》作品相關:計算機思想(一)
  本文中反覆提到了一個詞,“思想”。

  什麽是“思想”?“思想”是個籠統的概念,泛指解決問題的思路和手段。

  “思想”中被提及頻率最高的,當屬“面向對象”思想。那麽什麽是“面向對象”?

  首先說“對象”,“對象”是一個指代詞,相當於日常用語的他、她、它,並不具體指什麽東西。所以“面向對象思想”就好解釋了,就是使用ta的方式,去解決問題。

  世間萬物都可為對象,比如把“手機”當做對象,那麽消費者拿到手機之後,並不需要去研究手機是怎麽製造的,也不需要了解手機的運動原理,反正只要知道怎麽去使用它,接打電話也好還是娛樂也好,就可以了。

  面向對象的實現,依靠的封裝、繼承、多態等方法,最終達到的目標是是提高效率。比如說,手機就是一個封裝好的對象,讓用戶使用手機前先去理解手機的原理,這既不科學也不效率。

  計算機面向對象思想的誕生,就催生了許多面向對象的解決方案,這裡面最廣泛被用到的就是面向對象框架。

  面向對象框架最大的作用便是分工協作,提高開發效率。比如說甲負責項目中的某個功能,需要使用乙的開發功能,互相約定好參數和返回值即可,並不需要去關心對方代碼怎麽寫的。

  java是一個純面向對象式語言,大名鼎鼎的j2ee和j2me便是面向對象框架。而市場佔有率近年來逐步攀升的php,也有著屬於自己眾多的框架,比如Yii和ci。甚至還有一些傻瓜式框架,比如ECShop、dedecms、discuz,提供給非計算機專精開發者使用。

  但是值得一說的是,過分的迷信某個框架是不可取的,框架只是一種輔助手段,最終決定代碼是否優秀的依舊還是人。

  比如說Yii框架,被無數不知情的吃瓜眾吹捧過,其結構複雜、功能完善,上手慢,但熟練以後,相較於其他框架能夠得到更高的開發效率。

  但是強大就意味著可塑性差,DIY潛力有限,這在面對億級數據時便顯得心有余而力不足。也因此,其貌不揚結構簡單的ci框架,以及在其基礎上各種改造而來的自研發框架,便在最高的層次發揮了巨大的作用。

  面相對象與之相對的便是面向過程。在面向對象思想如此強勢的通知局面下,面向過程依舊有著自己的一片天地。

  面向過程就是直接面對問題,像流水帳一樣一次把代碼弄出來,沒有MVC。其缺點是代碼又臭又長、可讀性和可維護性差,但是它的優點是面向對象無可取代的:少了“安排”對象的資源消耗,面向過程的執行效率更高,在面對海量負載以及腳本任務中,面向過程都扮演著重要的角色。

  由此可見,計算機行業裡,並不存在說哪個技術一定是最先進的,哪個框架一定是最完美的。適合自己的,符合當下要求的,才是最好的。

  真正的武林高手,一花一葉都是順手拈來,絕不會拘泥於某一個招式,所以本書從來不去強調哪門技術又或者框架,以免給人誤導。

  就說Python這門語言,作為一門shell層執行腳本,並且還是個面相過程式語言。恐怕十年前的人們打死也想不到,它會在AI領域大放光彩。

  以上說的計算機面相對象,或者MVC框架,都是狹隘的面向對象。廣義的面向對象思想,

則是廣泛存在於世間萬物的。  比如說手機,這個說過了。再比如說菜刀切菜,菜刀的材質有必要去弄清楚嗎?

  再具體到本書中假設的情況,面向對象的本質是分工協作,並忽視“部分”做“整體”的一個手段,是社會分工越來越細的必然產物。

  比如說研發手機,手機裡每個配件的技術是怎麽實現的,這個完全不用考慮,就可以把他們當成“對象”,反正只要知道這些配件組裝到一起,植入系統後就是一個正常的手機,這就夠了。

  再比如研究傳感器,委托索尼研發imx,索尼怎麽做到的,這不需要去深究,反正就是提出要求,得到成果。傳感器是一個對象,整個過程也是一個對象。而研究傳感器的原理,是自身技術儲備和其他儲備都達到要求後,才需要考慮的事情。

  再比如說,怎麽做一個物流機器人出來?都知道是,那麽具體是怎麽實現的呢?

  首先是整體分為總控和個體,總控系統開發人員並不需要去了解具體小機器人是怎麽做的,只需要按照方案來做一個基於坐標的二維電梯程序即可。

  小機器人的項目負責人也不需要事必躬親,他只需要把項目再細拆下去即可, 具體可以拆解為:運動神經系統、導航系統等。

  導航系統負責和總控對接,處理指令並向運動系統分發指令,決定行進路線、停走功能和是否卸貨。

  運動系統依照優先級,首先要依靠各類傳感器處理避障問題,而後解決回充問題,最後再考慮要不要接收導航系統傳來的指令。

  再具體一點,避障就是一個問題,可以交給一個小型的開發團隊去做;LDS以及紅外傳感器等,又是更小的組成部分,向避障開發組提供支持開發。

  再具體一點,LDS怎麽做的,激光脈衝怎麽發射的,關我毛事……

  這就是計算機項目的解決思路了,無論多麽大的項目,都是拆分拆分再拆分,最終拆解成一個個可以實現的小項,從而使整個項目可以得到有效快速的執行。

  再比如說,本書中立的一個:怎麽做一個機器人。

  同樣,拆分。

  機器人首先是拆分成“大腦”和軀乾兩部分,大狗以及後來的科技樹,統統屬於軀乾。

  視覺、聽覺等非運動部分,則歸於大腦。

  高度成熟的機器人,兩者缺一不可。

  人類的許多動作,其實是神經反饋的結果,比如說看到肉肉就想吃:首先得看到肉肉,然後才能指揮身體去吃。

  神經反饋後面會寫。

  不說了,我餓了,要去吃肉肉了……

  祝大家元旦節快樂!

  鑒於元旦將至,我就斷個更慶祝一下吧……好好的節日,真的怕毒死人,下個章節可能有點毒……
鍵盤左右鍵 ← → 可以切換章節
章節問題回報:
翻譯有問題
章節內容不符
章節內容空白
章節內容殘缺
上下章節連動錯誤
小說很久沒更新了
章節顯示『本章節內容更新中』
其他訊息