“请你告诉我,我该走哪条路?” “那要看你想去哪里?”猫说。 “去哪儿无所谓。”爱丽丝说。 “那么走哪条路也无所谓了。”猫说。
...
*“如果你走错了路” “我会开出一条路来” *
——《爱丽斯漫游奇境》
抽象
一.
如同文艺中有一种通觉的概念,一个作品会试图让你看到音符,听到色彩, 获得超越感受器管区别的体验/先验直觉,
在技术领域,抽象给人强大的能力,能够超越当前的问题范畴,让人解构并重构已获得的知识和技能,应用到似乎上不相关的问题上,
二.
20世纪数学已经发展到了高度复杂精深,数学分支非常繁杂,专家的精力也可能只了解其中少数领域的细节,
数学家创造了一个新的抽象理论,叫做《范畴论》,但范畴论作为所有数学的基础,一言以蔽之,它是研究抽象的理论,人们发现,不同的数学分枝用范畴论的方法能够联系起来,
这大大提高了不同理论分之的共同沟通能力,于是,一个领域走到死胡同的研究,被“不相关”领域所启发,获得了新的能力。
《范畴论》亦成为编程语言的理论基础,在函数式编程语言如haskell ,idris,haskell抽象出 Arrow, Monad等规范,将一个类型上的结构,映射到其它的类型上,(其它语言的特性,haskell能自己发明出来),
我猜想,未来的编程语言也会逐渐从手工作坊式的经验方法论转到坚实理论支撑起的现代软件架构。
三.
我们停止谈论过于抽象的范畴理论,想一想现实的例子,
比如说神经元模块(makeblock一产品),它通过抽象统一了虚拟设备和现实的电子模块,继续抽象到非设备模块的的数学,逻辑,和网络节点上,
个人觉得可惜不足之处,是神经员APP捆绑在硬件体系上, 大大限制了这个APP的可能的应用,
神经元体系本应在 IoT 创造领域发光发彩,
原型
抽象的概念需要原型去理解,
原型的好处有两点,
- 直达本质
我放弃使用IoT这个名词,
我使用,资源,连接,协作,交互的抽象概念,再用尽可能简单的原型表达, - 快速验证
当你用简单的手段实现了原型,就有足够的说服力成为产品,
资源的原型
计算力是一种资源,存储是一种资源,某个传感器是一种资源,智能小车也是一种资源,
统一使用service API表示资源,有图象算法的计算服务,有数据对象存储服务,有传感器的数据接口,有智能小车作为整个对象提供API。
Actor, children Actor
连接的原型
连接的目的是为了资源在同一个环境下,因此和linux 的 mount一样,建立连接后,所有资源就在同一的环境下,
协作的原型
现实世界是一个协作的世界,无论是多线程 / 多进程/远端服务,尽可能地模拟世界的协作方式,
世界的运转原理是什么?
基础服务 + 方便的交通 / 通信
actor in stage,
交互的原型
以消息,生命周期为根,树状的逻辑结构,
最终会是图形化编程的某种方式,
思维导图?
网友评论