“請你告訴我,我該走哪條路?” “那要看你想去哪里?”貓說。 “去哪兒無所謂?!睈埯惤z說。 “那么走哪條路也無所謂了?!必堈f。
...
*“如果你走錯(cuò)了路” “我會開出一條路來” *
——《愛麗斯漫游奇境》
抽象
一.
如同文藝中有一種通覺的概念,一個(gè)作品會試圖讓你看到音符,聽到色彩, 獲得超越感受器管區(qū)別的體驗(yàn)/先驗(yàn)直覺,
在技術(shù)領(lǐng)域,抽象給人強(qiáng)大的能力,能夠超越當(dāng)前的問題范疇,讓人解構(gòu)并重構(gòu)已獲得的知識和技能,應(yīng)用到似乎上不相關(guān)的問題上,
二.
20世紀(jì)數(shù)學(xué)已經(jīng)發(fā)展到了高度復(fù)雜精深,數(shù)學(xué)分支非常繁雜,專家的精力也可能只了解其中少數(shù)領(lǐng)域的細(xì)節(jié),
數(shù)學(xué)家創(chuàng)造了一個(gè)新的抽象理論,叫做《范疇論》,但范疇論作為所有數(shù)學(xué)的基礎(chǔ),一言以蔽之,它是研究抽象的理論,人們發(fā)現(xiàn),不同的數(shù)學(xué)分枝用范疇論的方法能夠聯(lián)系起來,
這大大提高了不同理論分之的共同溝通能力,于是,一個(gè)領(lǐng)域走到死胡同的研究,被“不相關(guān)”領(lǐng)域所啟發(fā),獲得了新的能力。
《范疇論》亦成為編程語言的理論基礎(chǔ),在函數(shù)式編程語言如haskell ,idris,haskell抽象出 Arrow, Monad等規(guī)范,將一個(gè)類型上的結(jié)構(gòu),映射到其它的類型上,(其它語言的特性,haskell能自己發(fā)明出來),
我猜想,未來的編程語言也會逐漸從手工作坊式的經(jīng)驗(yàn)方法論轉(zhuǎn)到堅(jiān)實(shí)理論支撐起的現(xiàn)代軟件架構(gòu)。
三.
我們停止談?wù)撨^于抽象的范疇理論,想一想現(xiàn)實(shí)的例子,
比如說神經(jīng)元模塊(makeblock一產(chǎn)品),它通過抽象統(tǒng)一了虛擬設(shè)備和現(xiàn)實(shí)的電子模塊,繼續(xù)抽象到非設(shè)備模塊的的數(shù)學(xué),邏輯,和網(wǎng)絡(luò)節(jié)點(diǎn)上,
個(gè)人覺得可惜不足之處,是神經(jīng)員APP捆綁在硬件體系上, 大大限制了這個(gè)APP的可能的應(yīng)用,
神經(jīng)元體系本應(yīng)在 IoT 創(chuàng)造領(lǐng)域發(fā)光發(fā)彩,
原型
抽象的概念需要原型去理解,
原型的好處有兩點(diǎn),
- 直達(dá)本質(zhì)
我放棄使用IoT這個(gè)名詞,
我使用,資源,連接,協(xié)作,交互的抽象概念,再用盡可能簡單的原型表達(dá), - 快速驗(yàn)證
當(dāng)你用簡單的手段實(shí)現(xiàn)了原型,就有足夠的說服力成為產(chǎn)品,
資源的原型
計(jì)算力是一種資源,存儲是一種資源,某個(gè)傳感器是一種資源,智能小車也是一種資源,
統(tǒng)一使用service API表示資源,有圖象算法的計(jì)算服務(wù),有數(shù)據(jù)對象存儲服務(wù),有傳感器的數(shù)據(jù)接口,有智能小車作為整個(gè)對象提供API。
Actor, children Actor
連接的原型
連接的目的是為了資源在同一個(gè)環(huán)境下,因此和linux 的 mount一樣,建立連接后,所有資源就在同一的環(huán)境下,
協(xié)作的原型
現(xiàn)實(shí)世界是一個(gè)協(xié)作的世界,無論是多線程 / 多進(jìn)程/遠(yuǎn)端服務(wù),盡可能地模擬世界的協(xié)作方式,
世界的運(yùn)轉(zhuǎn)原理是什么?
基礎(chǔ)服務(wù) + 方便的交通 / 通信
actor in stage,
交互的原型
以消息,生命周期為根,樹狀的邏輯結(jié)構(gòu),
最終會是圖形化編程的某種方式,
思維導(dǎo)圖?