深耕编程语言18年,对话 Rust、TypeScript、Nushell 核心贡献者 Sophia Turner | Open AGI Forum

news2024/9/22 5:38:54

作者 | Annie Xu

采访 | 卢威

责编 | Echo Tang

出品丨GOSIM 开源创新汇

编程语言的种类令人眼花缭乱,但成功的、常用的编程语言却是凤毛麟角。在深耕编程语言研发 18 年的 Sophia June Turner 看来,编程语言成功的关键在于其研发团队的透明度和机制建设。

在Mozilla工作时期,Sophia 加入了 Rust 团队。作为 Rust 的核心成员,曾参与设计了 Rust 报错信息格式,被许多编译器采纳,并与 Nick Cameron 共同创建了 Rust 语言服务器。她也曾作为 TypeScript 的核心贡献者,参与了 TypeScript 的创建

2023 年,由于 Rust 社区“内讧”,感到伤心的 Sophia 辞去了 Rust 项目的工作。而她自 2019 年主导开发的 Nushell 经过几年发展,已经成为了许多开发者口口相传的开源 Shell 神器,用 Rust 编写,安全性提高的同时,也降低了 Bug 率。

GOSIM 2024 欧洲站的现场,GOSIM 独家对话栏目 Open AGI Forum 特别邀请到 Sophia,CSDN&Boolan 首席顾问卢威主持对话。从 Rust、TypeScript 到如今的 Nushell,Sophia 与我们深入分享了对编程语言构建的思考与实践:

  • 成功的编程语言编码团队应当透明、开放、平等。团队成员了解和认可项目的目标和方向,并为之努力。否则,项目将很难有进展。

  • 开源项目获得成功的关键是建立起人才循环机制:即使某个人离开,项目也能生存下去。如果一个项目依赖于某个特定的人才能成功,那它发展得并不“健康”。

  • 不同组织群体的风格不同。Nushell 开放平等的沟通风格,鼓励团队成员共同参与讨论。当他们参与到对话时,他们实际上正在帮助创造 Nushell 的未来。

以下是本次采访的主要内容:

图片

从 Rust、TypeScript 到 Nushell,编程语言开发的背后

GOSIM:大家好,欢迎来到 Open AGI Forum。我是来自 CSDN 的卢威,在风景优美的荷兰代尔夫特,我们非常荣幸地邀请到了 Sophia June Turner ,欢迎 Sophia,你能先向我们的观众简短地介绍一下自己吗?

Sophia:大家好,我是 Sophia,我从事编程语言方面的工作已经18年了。

GOSIM:你参与创建了 TypeScript,后来加入了 Mozilla,专注于编译器错误处理、IDE 支持以及 Rust 的可用性相关工作。第一个问题是,在你看来,TypeScript 和 Rust 在设计理念和目标用户上的主要区别是什么?

Sophia:TypeScript 与Rust的不同之处在于,TypeScript 是基于 JavaScript 的编程语言,可以通过拓展类型进行发展。C 和 C++ 是每个人都知道的标准语言,它一开始就拥有更多受众。没有人觉得会有默认安全的系统语言,而 Rust 必须证明自己系统编程的安全性与可行性。

GOSIM:你参与了许多有影响力的项目,如 TypeScript 和 Rust,现在是Nushell 核心团队的一员。你在他们之间是如何过渡的呢?你采取了什么方法保持与这些多样化组织的有效沟通和协作?

Sophia:我觉得不同组织风格各异。在 Nushell,我们每周都有会议,任何人都可以参加,内部十分平等,没有谁是老板。有时他们会把我当作老板,但我尽量表现得不像老板,努力让任何想要任何有想法、有贡献的人都能参与到对话中。我认为,当他们参与到讨论时,他们也成为了 Nushell 的一部分,他们投身共创 Nushell 的未来。我很喜欢这种开放的风格。

GOSIM:在 Mozilla,你参与了 Rust 编译器错误处理和 IDE 支持。你能具体分享一些你所做出的改进或取得的成就吗?这些改进如何影响 Rust 用户的日常编程体验?

Sophia:我参与的一个令我感到自豪的事情是设计了新的报错信息格式——这也是我加入 Mozilla 后做的第一件事。目前这个设计已经被各种编译器和命令行工具所采纳。我不知道它的影响具体有多大,我只是非常开心我能做到这一点。

GOSIM:Rust 核心团队的经历对你产生了什么影响?

Sophia:Rust 核心团队增加了我在团队规模方面的认识。当我加入 Rust 核心团队时,每个团队中已经存在数百万 Rust 开发者和数百名 Rust 贡献者。这与我加入 TypeScript 时截然不同:TypeScript 的规模并不大,10 到 12人 的团队负责 TypeScript 的全部工作。这使我进行团队规模方面的思考。

图片

开源项目成功的秘诀:透明度与机制建设

GOSIM:那在你看来,成功的编程语言编码团队应该具备哪些品质或策略?

Sophia:我认为最重要的一点是透明度。团队成员需要理解项目的方向,能够对项目方向做出贡献,并且能够认同项目的理念。也就是说,你需要了解并在某种程度上赞成项目的方向,然后大家一起努力,我认为这一点非常重要。如果每个人都朝着不同的方向“使力”,项目很难取得任何进展,只会停留在原地。

GOSIM:作为 Rust 领导委员会的创始人之一,你如何看待社区治理在开源项目成功中的作用?

Sophia:我认为需要建立一种机制,即使某个人离开,项目也能生存下去。如果一个项目依赖于某个特定的人才能成功,那它不是一个健康的项目。项目发展初期可以接受这样的,但随着时间的推移、项目发展得更大,需要一种机制让它能够持续存在,减弱人员来去的影响。

GOSIM:你认为 Rust 社区在这方面有何独特之处?

Sophia:Rust 社区的独特之处在于它具有非常强烈的目标感,有着非常强烈的尝试理解当前状况、理解正确方向,并推动它向前发展的意愿。它不会让自身变得懒惰,它总是在尝试发展得更好。

图片

面向未来:Rust 与 Nushell 路在何方?

GOSIM:基于你在编程语言和开发工具方面丰富的经验,你对 Rust 未来发展的期望是什么?在未来几年,你认为它需要解决的关键问题或挑战是什么?

Sophia:我认为 Rust 才刚刚起步。Rust 正在进入不同的新行业,如几年前的汽车工业,它正在持续地发展。我不知道它的极限在哪儿,我认为它会继续成长。它未来发展面临两个关键问题:第一,它需要一个团队根据 Rust 公司和使用者的信息明确一个特定方向,并确保团队每个人都能理解并认可这个方向;第二,确保项目团队能够采取行动并朝这个方向前进。

GOSIM:对于 Nushell 的未来发展或新功能,最令你兴奋的是什么?

Sophia:目前最令我兴奋的是 Nushell 正面临一个关键的转折点。很多人在试用 Nushell 前一直在观望,但是越来越多曾经对 Nushell 持犹豫态度的人在尝试了最近的版本后表示:“很好,我不会再退回 bash,我不会使用其他 shell。”我们知道它具有吸引人们的潜质,让人们持续使用。但我们需要让 Nushell 变得更稳定,达到 1.0 版本,之后人们就可以开始用它构建真正的程序。

GOSIM:你是否计划在 Nushell 中利用 AI 或 LLM?

Sophia:还没有,我不是 AI 的专家,也不是 LLM 的专家,可能会有其他人引入这些内容来补全相关功能吧。

GOSIM:感谢 Sophia 带来的分享和讨论,感谢观看的开发者。今天的对话就到这里,我们下期再见!

延伸阅读:

关于 Rust 社区“内讧”可参见:

《Rust 社区管理再起“内讧”,外部专家遭排挤,核心成员主动请辞,立即生效!》

Sophia 也写了一篇博文详细地讲述了自己为什么离开 Rust 社区,链接:https://www.sophiajt.com/why-i-left-rust/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Azure OpenAI Embeddings vs OpenAI Embeddings

题意:Azure OpenAI 嵌入与 OpenAI 嵌入的比较 问题背景: Is anyone getting different results from Azure OpenAI embeddings deployment using text-embedding-ada-002 than the ones from OpenAI? Same text, same model, and the results are cons…

Learning vtkjs之Calculator

过滤器 公式计算器 Calculator 介绍 The Calculator filter is a fast way to add derived data arrays to a dataset. These arrays can be defined over points, cells, or just field data that is “uniform” across the dataset (i.e., constant over all of space). Va…

【小尘送书-第十六期】码农职场:IT人求职就业手册

大家好,我是小尘,欢迎你的关注!大家可以一起交流学习!欢迎大家在CSDN后台私信我!一起讨论学习,讨论如何找到满意的工作! 👨‍💻博主主页:小尘要自信 &#x1…

【JVM】垃圾回收机制、算法和垃圾回收器

什么是垃圾回收机制 为了让程序员更加专注于代码的实现,而不用过多的考虑内存释放的问题,所以在Java语言中,有了自动的垃圾回收机制,也是我们常常提及的GC(Garbage Collection) 有了这个垃圾回收机制之后,程序员只需…

华为路由常见 LSA 类型的产生及作用域和字段详细解读

华为路由常见 LSA 类型的产生及作用域 类型名称描述1路由器 LSA(Router LSA)每个设备都会产生,描述了设备的链路状态和开销。该 LSA 只能在接口所属的区域内泛洪2网络 LSA(Network LSA)由 DR 产生,描述该 …

在cPanelWHM中如何重置 MySQL 用户帐户密码

更改MySQL用户账户密码非常简单。服务器管理员可以在WHM中编辑任何MySQL用户的帐户。cPanel用户可以编辑其帐户管理的数据库的密码。 在WHM中更改MySQL用户帐户密码 打开WHM,在侧边菜单中的SQL服务下选择“Change MySQLUser Password”。Hostease的服务器产品提供稳…

NeRF学习——复现训练中的问题记录

代码复现的框架是基于:pengsida 的 Learning NeRF 希望各位可以通过学习 NeRF-Pytorch 的源码来自己复现一下试试看! 文章目录 1 Windows bug1.1 DataLoader 的多进程 pickle1.2 imageio 输出图片1.3 I/O 2 训练问题2.1 Evaluate 显存爆炸2.2 尝试一2.…

基于VScode和C++实现Protobuf数据格式的通信

目录 1. Protobuf 概述1.1 定义1.2Protobuf的优势 2. Protobuf 语法3、序列号和反序列化3.1 .pb.h 头文件3.2 序列化3.3 反序列化 4、测试用例 Protobuf详细讲解链接 1. Protobuf 概述 1.1 定义 protobuf也叫protocol buffer是google 的一种数据交换的格式,它独立…

递归题解集

目录 递归: 一、汉诺塔问题 1.题目链接:面试题 08.06. 汉诺塔问题 2.题目描述: 3.解法:(递归) 🌵算法思路: 🌵算法流程: 🌵算法代码&…

掌握SEO站外推广优化的五大绝招

对于网站运营者和数字营销人员来说,SEO站外推广是提升网站流量和排名的重要手段。以下是五个有效的SEO站外推广优化方法,希望对大家有所帮助。 1. 高质量的外链建设 高质量的外部链接(Backlinks)是搜索引擎排名的重要因素之一。…

Openboxes开发环境配置及本地化、API测试

目录 Openboxes简介 开发环境配置及启动 更新中文多语言配置 API测试 Openboxes简介 Openboxes是一款开源的仓库管理软件,提供了库存管理、采购管理、销售管理等功能,可以帮助用户高效地管理仓库及库存。并提供了丰富的API接口。系统基于java8 和Gr…

关于微信,qq小程序的登录,数据库-前端-接口解析

一、背景 当我们在对接微信平台,开发微信小程序时,用户标识是必不可少的。用户标识贯通了整个开发过程,所以获取到唯一的用户标识是必须的。 二、多平台兼容 因为考虑到一次开发,可多端运行,需要考虑兼容多平台兼…

SAP 财务管理系统 —— 企业财务智能化的领航者

在当今数字化时代,企业财务管理的智能化已成为推动企业持续增长的关键因素。SAP 财务管理系统通过智能化技术,帮助财务部门提高收入、控制成本并降低财务风险,释放财务数字化转型的价值。财务 ERP 作为 SAP 的核心组成部分,将帮助…

【机器学习】成本函数在逻辑回归中的形式以及逻辑回归的成本函数

引言 在机器学习中,逻辑回归是一种用于二分类问题的线性回归的扩展。逻辑回归的成本函数是用来评估模型预测结果与实际结果之间差异的函数 文章目录 引言一、成本函数在逻辑回归中的形式1.1 成本函数的具体形式1.1.1 对于单个训练样本 二、逻辑回归的成本函数实现2.…

股指期货的期现套利及其作用是什么?

股指期货市场提供了一种独特的投资机会,即通过期现套利策略来捕捉无风险利润。这种策略基于股指期货与对应的现货指数之间的价格差异。当这种差异超出正常范围时,投资者可以利用套利操作来实现稳定收益。 期现套利的核心在于同时买入现货指数的代表性投…

STM32DMA数据传输

我估计大多数人学这么久连听说都没听说过DMA,更不用提知道它是干嘛的。其实DMA的本质就是一个数据的搬运工。平常的时候当我们没有配置的时候,一直都是CPU在搬运数据,但是这个活又累又没有技术含量,所以DMA的重要性还是有的。 目…

centos8.5.2111切换阿里云镜像

备份 mv /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup下载最新的源 wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo http://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo更改第二个配置文件 cd /etc/yum.repo…

自定义CustomRatingBar控件

通过自定义RatingBar的样式实现⭐️⭐️⭐️指示器的方式功能过于受限,而且显示的样式阴影会受到影响。 系统自带显示: 自定义样式: 因此简单自一个符合要求的 CustomRatingBar 支持设置星星数量支持设置星星Rating(float)支持设置空显示…

计算机毕业设计选题推荐-健康饮食系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【优秀python 数据分析案例】基于python的穷游网酒店数据采集与可视化分析的设计与实现

1 需求分析 1.1 用户需求 1.1.1 背景与现状 穷游网是国内知名的旅游社区,在其网站上,用户可以自由分享旅行经验和攻略,也可以浏览其他用户的经验和攻略,以便更好地规划自己的旅行。而酒店信息是旅行攻略中不可或缺的一部分&#…