整理 | 宋彤彤 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
12 月 19 日,Adama 编程语言创始人 Jeffrey M. Barber 在 Adama 官网中发布博文,称“我退休了,接下来我可以好好地专注于我的开源项目。”尤记得在去年 11 月,64 岁的 Python 之父也曾表示退休太无聊,决定复出加入微软开发部门;而在 CSDN 组织的 1024 程序员节中,中国第一代程序员求伯君也表示,在自己退休的生活中,没事会写写代码、为自己写写游戏。
Python 想必大家都知道,但 Adama 你听说过嘛?技术大佬 Jeffrey 的退休生活又是怎么样的呢?
Adama:棋盘游戏编程语言
据悉,Adama-Lang 是由 JVM 驱动的棋盘游戏编程语言。它以数据为中心,可以构建微型持久的游戏服务器,从而从根本上降低棋盘游戏的工程和运营成本,其使命是简化在线棋盘游戏的构建。
它有以下功能,并且还在持续改进:
单一文件基础设施:单一文件负责所有的基础设施,将玩家连接在一起,享受持久和有状态的棋盘游戏体验。它就像一整套 AWS服务(如 EC2、Lambda、S3、SWF、SQS、DynamoDB 和 RDS)都在一个包里。
作为服务的 Dungeon-Master :Adama 允许玩家在各种连接中执行复杂的交易。用户不再操纵和查询数据,数据也不再操纵和监控用户!这改变了建模的游戏,也改变了在棋盘建模游戏中出现的人与人之间复杂互动。
“活”的文件:文档不再是坐在那里的“死”字节。相反,它们是有生命的、有表达能力的自动机器,包含用户希望它们拥有的任何意志,是存储和计算的结合产生的一个异常微小的新服务器模型。
那么,这个东西是什么呢?下面这个 GIF 动画来给你答案:
图片来源:GitHub
从上述可以知道该语言非常整洁。Adama 语言是一种布局状态,然后定义如何在封闭容器内操纵该状态的方法。状态的操纵由人们通过消息完成,文档的计算类似于 Excel。目前,它的整个目的是在线棋盘游戏的娱乐,但这远远超出了棋盘游戏。然而,体现这些价值观还需要时间的长河来考验。
在 Jeffrey 开始准备进入退休时,他既期待又在思考,期待作为退休人员可以将全部的精力投入到该项目,同时又思考,自己真正想要从这个项目中得到什么,成功又意味着什么?他将遇到“是什么”、“为什么”和“怎么做”这有争议的“三位一体”。
Jeffrey 说,如果他开始了一种新的基础设施业务,创建了一种新的 SaaS ,这会很有趣,并且从中会有一些商业方面的事情需要学习,学习也很有趣。但 Jeffrey 写道,“基础设施是一个艰难的工作,因为你必须在腿上拴着一个铁球的情况下平衡推进。这种业务最终会成为一种‘监狱’,而我是偏向于最大限度的自由,”因此他不能 100% 独自完成。
但同时矛盾的是通过某种 SaaS 产品是展示他所现有东西的最佳方式,因此他开始反思为什么运行基础设施如此之难,“从本质上讲,它归结为最大限度地减少停机时间以最大限度地提高可靠性。我可以写很多关于构建可靠服务需要什么的文章,但关键是控制和预见混乱。困难的部分是要向客户坦诚面对现实。诚实可能是任何基础设施服务的工作,现实是难以抗衡的。”
当 Jeffrey 考虑到如果要理智地管理服务,设定合理的期望以及考虑定价计划的话,这是一个复杂又繁琐的过程,因此这个时候开源就能很好的发挥作用。不需要考虑上述的种种,只需要按照自己的想法来构建产品,对于自己打算发布的棋盘游戏产品,一周可以有 10 分钟的停机时间来供自己对故障进行改进。因此,这就是 Jeffrey 构建 Adama 的原因。
Jeffrey 构建 Adama,并用它来构建棋盘游戏。当用户将“micro-vm”与持久存储和套接字相结合时,潜力很大;它将网络,存储和计算三位一体融合在一起。到博文最后 Jeffrey 才开始理解到成功的意义,成功意味着人们会发现与 Adama 合作很有趣,同时它有助于构建在线产品或游戏。自己的产品受人欢迎、喜爱,这成就感不就来了嘛?
Jeffrey 表示 2022 年的使命是推出合理且最小的 SaaS 产品,使人们能够略微拿出小型 Web 资产来解锁他的棋盘游戏“野心”。对于大规模产品的话,他表示蓝图将可用,但需要进一步投资。
Adama 的名字源于一只特殊的拉曼恰山羊,是 Jeffrey 和他的妻子一直养大的一只羊,很可爱、喜欢拥抱,但后来它因钙结石堵塞尿管而去世。Jeffrey 很喜欢它,因此以它的名字命名了这个项目。
在 Adama 官网中 Jeffrey 写道,Adama 编程语言的诞生是为了将伟大的棋盘游戏带入网络棋盘游戏 Battlestar Galactica,Jeffrey 很喜欢棋盘游戏,但每当他尝试一些棋盘游戏时,他会对自己所使用的的一切技术感到恼怒。
从本质上来说,他任务棋盘游戏代表了技术和产品复杂性的一个极限点,而传统的网络技术在这个点上“崩溃”了。虽然老式的游戏技术效果更好,但这些老式的技术也有自己的问题。因此,Adama 项目的第一个动机是为网络和老式游戏技术能够以一种凝聚力的方式共同工作来架起桥梁。
Jeffrey 已经为该项目工作和修补了一段时间,他称“Adama 是将 20 年的问题和经验整合到单一语言、运行时间和平台三者间的结晶。”同时这种语言的目的是利基和有限,他特别想坦诚表明这一点。他不想过度承诺这种语言将带来任何幻想的宏伟主张,但他坚信他们可以做得更好。
前有 Python 之父退休太无聊,加盟微软聚焦 Python 开发;现有 Adama 变成语言创始人退休后闲不下来,专攻开源项目!这退休生活,好不潇洒!技术大佬们的退休生活可谓是根本停不下来呀!那么你有想过退休之后想做什么吗?
参考链接:
https://github.com/mathgladiator/adama-lang
http://www.adama-lang.org/
http://www.adama-lang.org/blog/retirement-going-all-in
http://www.adama-lang.org/docs/why-the-origin-story