軟體開發之道

stpeace發表於2018-01-12

       電子在原子核周圍旋轉,構成了原子,原子構成了分子。

       電子的定向移動形成電流, 各種電子元件一起組成基本的電路。

       類比電路, 數位電路, 各種邏輯閘電路。

       邏輯閘電路組裝成各種晶片。

       繼續組裝可以構成積體電路, 超大規模積體電路, 於是有了各種各樣的開關, 數以億計的開關。

       可以通過撥弄各種開關來控制cpu, 但是這樣很麻煩, 於是在紙帶上打孔, 表示0/1, 對應開關, 控制一次後, 輕鬆地同樣控制第二次, 實現程式化操作, 簡化了重複操作, 於是紙袋上的孔就有了程式的感覺, 這就是程式儲存和控制的啟蒙。

       紙帶打孔太麻煩,還是用可修改0/1標記的儲存才更好, 所有的程式都在儲存中, 這就是程式儲存的發展。

       通過程式直接操作硬體太麻煩, 還是讓作業系統和驅動程式來做吧。 同理,二進位制的機器語言太麻煩, 還就用匯編語言、高階語言吧。編譯器和彙編器來轉換, 放心。

       在作業系統上, 用高階語言寫程式, 貌似很好, 但寫著寫著, 也累, 每次都要寫類似的通用程式, 於是框架出現了, 框架處理了一些通用的邏輯。當然, 還有一種特殊的操作, 即在作業系統上, 虛擬出一臺硬體機器, 其實就是虛擬機器, 虛擬機器有cpu, 有記憶體, 有這有那, 在這臺虛擬的硬體機器中再安裝作業系統, 再搭建框架。

      在框架中, 寫程式, 實際上就是朝框架式大廈結構中插入磚、窗等, 相當於是業務外掛開發。有時候,開發業務外掛時,可能還會用到資料庫、第三方庫之類的東西,實際上就是別人提供API,然後你呼叫API的行為。

      層層抽象後,越來越接近本質。


      所謂的邏輯, 只是各種開關的組合, 而軟體開發就是倒騰和控制各種開關, 僅此而已。





相關文章