前有 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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型: