前有 Python 之父加盟微软,后有 Adama 语言创始人发力开源,不甘退休的技术开创者们

本文主要是介绍前有 Python 之父加盟微软,后有 Adama 语言创始人发力开源,不甘退休的技术开创者们,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

整理 | 宋彤彤
责编 | 屠敏

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。目前,它的整个目的是在线棋盘游戏的娱乐,但这远远超出了棋盘游戏。然而,体现这些价值观还需要时间的长河来考验。

开源 Adama,服务大众

在 Jeffrey 开始准备进入退休时,他既期待又在思考,期待作为退休人员可以将全部的精力投入到该项目,同时又思考,自己真正想要从这个项目中得到什么,成功又意味着什么?他将遇到“是什么”、“为什么”和“怎么做”这有争议的“三位一体”。

Jeffrey 说,如果他开始了一种新的基础设施业务,创建了一种新的 SaaS ,这会很有趣,并且从中会有一些商业方面的事情需要学习,学习也很有趣。但 Jeffrey 写道,“基础设施是一个艰难的工作,因为你必须在腿上拴着一个铁球的情况下平衡推进。这种业务最终会成为一种‘监狱’,而我是偏向于最大限度的自由,”因此他不能 100% 独自完成。

但同时矛盾的是通过某种 SaaS 产品是展示他所现有东西的最佳方式,因此他开始反思为什么运行基础设施如此之难,“从本质上讲,它归结为最大限度地减少停机时间以最大限度地提高可靠性。我可以写很多关于构建可靠服务需要什么的文章,但关键是控制和预见混乱。困难的部分是要向客户坦诚面对现实。诚实可能是任何基础设施服务的工作,现实是难以抗衡的。”

当 Jeffrey 考虑到如果要理智地管理服务,设定合理的期望以及考虑定价计划的话,这是一个复杂又繁琐的过程,因此这个时候开源就能很好的发挥作用。不需要考虑上述的种种,只需要按照自己的想法来构建产品,对于自己打算发布的棋盘游戏产品,一周可以有 10 分钟的停机时间来供自己对故障进行改进。因此,这就是 Jeffrey 构建 Adama 的原因。

Jeffrey 构建 Adama,并用它来构建棋盘游戏。当用户将“micro-vm”与持久存储和套接字相结合时,潜力很大;它将网络,存储和计算三位一体融合在一起。到博文最后 Jeffrey 才开始理解到成功的意义,成功意味着人们会发现与 Adama 合作很有趣,同时它有助于构建在线产品或游戏。自己的产品受人欢迎、喜爱,这成就感不就来了嘛?

Jeffrey 表示 2022 年的使命是推出合理且最小的 SaaS 产品,使人们能够略微拿出小型 Web 资产来解锁他的棋盘游戏“野心”。对于大规模产品的话,他表示蓝图将可用,但需要进一步投资。

Adama 背后的故事

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

这篇关于前有 Python 之父加盟微软,后有 Adama 语言创始人发力开源,不甘退休的技术开创者们的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/522299

相关文章

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C