前有 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中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的