新一代的 OGAS,数社平台

从我个人的角度来看 OGAS 或者类似的词汇,约等于 gczy 中的一个处于重要位置的平台或网络,也可以认为 OGAS 是 gczy 的数字化基础设施。

什么是 gczy

这里我给出自己的理解,不一定正确,论证过程请看我的B站视频open in new window,简单的说就是看我党的历史和成功经验以及我党的优点(注意,只看优点),这里不再赘述。 gczy

那么,gczy 的平台,到底和现今的平台有什么不同,或者说其设计原则是什么?

设计原则

OGAS 的设计,是从上面提到的定义推出来的,这里可能有不严谨的地方,欢迎指出。

1、统一

  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 ......
  2. 数据结构的统一,正例:tsRPC(60分)。反例:Get/Post。
  3. 编程与设计的统一,正例:无。反例:无处不在。
  4. 数据存储的统一,正例:ipfs(60分)。反例:SQLite+MongoDB+Redis+MySQL+ElasticSearch+PostgreSQL+MariaDB+SQLServer+Oracle。
  5. 通讯协议的统一,正例:无。反例:Get/Post/WebSocket/WebRTC/RPC/RESTful/GraphQL/gRPC/MQTT。
  6. 处理逻辑的统一,正例:OpenNARS(78分)。反例:无处不在。

2、可追溯

以下,前 3 点必定包含,其它可选。

  1. 数据定义中包含唯一id(我是谁)
  2. 数据定义中包含相关上下文的版本信息(我从哪里来)
  3. 数据定义中包含子对象、父对象(我与谁有关系)
  4. 数据定义中包含创建时间(我什么时候出生)
  5. 数据定义中包含修改时间(我什么时候变过)
  6. 数据定义中包含修改人(谁最近改变了我)
  7. 数据定义中包含权限信息(谁可以改变我)

3、自动化

  1. 任何需要人工编程的环节都应该进行反思。
  2. 杜绝任何知识炫耀,特别是大量消耗人力且不够自动化的环节(如对 Linux 命令行相关技能的炫耀)。
  3. 即便某个环节的计算量较大,但只要不消耗人力,都值得考虑。
  4. 把人力花在刀刃上,特别是实施自动化这件事情本身。
  5. 该用 AI 的地方,尽量用。

可行性

  1. 高度抽象的内核,代码处于万行级别,如深度学习、大模型、OpenNARS。
  2. 因为具有抽象特性,多以内核是通用,很容易发展出不依赖淘宝拼多多模式的其它应用,比如绘画或动画系统(给B站用户使用)、比如通用管理系统(给其它行业人员使用)。
  3. 分层设计(只构造元层(Meta Layer),即:编辑器、编译器、运行时,而其它的高层模块由设计师完成)
  4. 从界面上:参考现有低代码平台的可行性(而不是他们打到的效果),参考 figma 的设计效果(但不参考它的可编程性),参考 UnrealEngine 的 蓝图 的部分界面设计 或 Blender 的节点编程的部分设计,参考 Scratch、Blockly、Python 的部分界面设计(但不参考他们的弱类型)。
  5. 从性能上:参考现有原生平台的编译器、游戏平台的编译器(Unity 3d 将 C# 编译成 C++,最后编译成原生) 或 WASM 的编译器。
  6. 从逻辑上:参考 Flutter 的设计原则。

ogas

总结: OGAS 的需求(为gczy服务)与现有平台有巨大的不同,导致其设计原理有很大的不同,也因为这些不同,所以需要先转变观念,消灭对现有平台或软件的迷信,进而使得 OGAS 的实现成为可能,且 OGAS 的原则中也蕴含了能够助力其实现的因素,如高度的抽象性可以减少代码量。

Last Updated:
Contributors: poerlang