新一代的 OGAS,数社平台
从我个人的角度来看 OGAS 或者类似的词汇,约等于 gczy 中的一个处于重要位置的平台或网络,也可以认为 OGAS 是 gczy 的数字化基础设施。
什么是 gczy
这里我给出自己的理解,不一定正确,论证过程请看我的B站视频,简单的说就是看我党的历史和成功经验以及我党的优点(注意,只看优点),这里不再赘述。
那么,gczy 的平台,到底和现今的平台有什么不同,或者说其设计原则是什么?
设计原则
OGAS 的设计,是从上面提到的定义推出来的,这里可能有不严谨的地方,欢迎指出。
1、统一
- 编程语言的统一,正例:Flutter(70分) 统一了函数调用和样式设置、秦始皇统一了文字、我党统一了简体字、普通话。反例:HTML+CSS+DIV+JS+Java+CPP+C#+JavaScript+Python+PHP+Ruby+Swift+Objective-C+Kotlin+Dart+Go+Rust+Crystal+Lua+Lisp+Perl+R ......
- 数据结构的统一,正例:tsRPC(60分)。反例:Get/Post。
- 编程与设计的统一,正例:无。反例:无处不在。
- 数据存储的统一,正例:ipfs(60分)。反例:SQLite+MongoDB+Redis+MySQL+ElasticSearch+PostgreSQL+MariaDB+SQLServer+Oracle。
- 通讯协议的统一,正例:无。反例:Get/Post/WebSocket/WebRTC/RPC/RESTful/GraphQL/gRPC/MQTT。
- 处理逻辑的统一,正例:OpenNARS(78分)。反例:无处不在。
2、可追溯
以下,前 3 点必定包含,其它可选。
- 数据定义中包含唯一
id
(我是谁) - 数据定义中包含相关上下文的
版本信息
(我从哪里来) - 数据定义中包含
子对象、父对象
(我与谁有关系) - 数据定义中包含
创建时间
(我什么时候出生) - 数据定义中包含
修改时间
(我什么时候变过) - 数据定义中包含
修改人
(谁最近改变了我) - 数据定义中包含
权限信息
(谁可以改变我)
3、自动化
- 任何需要人工编程的环节都应该进行反思。
- 杜绝任何知识炫耀,特别是大量消耗人力且不够自动化的环节(如对 Linux 命令行相关技能的炫耀)。
- 即便某个环节的计算量较大,但只要不消耗人力,都值得考虑。
- 把人力花在刀刃上,特别是实施自动化这件事情本身。
- 该用 AI 的地方,尽量用。
可行性
- 高度抽象的内核,代码处于万行级别,如深度学习、大模型、OpenNARS。
- 因为具有抽象特性,多以内核是通用,很容易发展出不依赖淘宝拼多多模式的其它应用,比如绘画或动画系统(给B站用户使用)、比如通用管理系统(给其它行业人员使用)。
- 分层设计(只构造元层(Meta Layer),即:编辑器、编译器、运行时,而其它的高层模块由设计师完成)
- 从界面上:参考现有低代码平台的可行性(而不是他们打到的效果),参考 figma 的设计效果(但不参考它的可编程性),参考 UnrealEngine 的 蓝图 的部分界面设计 或 Blender 的节点编程的部分设计,参考 Scratch、Blockly、Python 的部分界面设计(但不参考他们的弱类型)。
- 从性能上:参考现有原生平台的编译器、游戏平台的编译器(Unity 3d 将 C# 编译成 C++,最后编译成原生) 或 WASM 的编译器。
- 从逻辑上:参考 Flutter 的设计原则。
总结: OGAS 的需求(为gczy服务)与现有平台有巨大的不同,导致其设计原理有很大的不同,也因为这些不同,所以需要先转变观念,消灭对现有平台或软件的迷信,进而使得 OGAS 的实现成为可能,且 OGAS 的原则中也蕴含了能够助力其实现的因素,如高度的抽象性可以减少代码量。