前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源项目名称背后的故事【Programming】

开源项目名称背后的故事【Programming】

作者头像
Potato
修改2019-11-11 11:11:41
3.1K2
修改2019-11-11 11:11:41
举报

有没有想过你最喜欢的开源项目或者编程语言的名字是从哪里来的? 从 a 到 z,让我们来了解科技术语背后的起源。

图片来源:Opensource.com
图片来源:Opensource.com

你认为最奇怪的开源名称是什么?

  • awk
  • GNOME
  • Kubernetes
  • Mozilla
  • 在评论中告诉我们

GNOME,Java,Jupyter,Python。 如果您的朋友或家人曾窃听您的工作对话,他们可能会认为您从事文艺复兴时期的民间文学艺术,咖啡烘焙,天文学或动物学工作。 这些开源技术的名称从何而来? 我们向我们的作家社区征求意见,并汇总了一些我们最喜欢的技术名称起源故事。

Ansible

“ Ansible”这个名称直接来自科幻小说。 厄休拉 ·勒·吉因(Ursula Le Guin)的著作《 罗坎农世界 》( Rocannon's World )中的设备允许被称为ansibles(显然来自“ answerable”一词)的即时(超光速)通信。 Ansibles成为科幻小说的主要内容,包括在Orson Scott Card的《 Ender's Game》 (后来成为受欢迎的电影)中,该设备控制了许多远程太空飞船。 对于控制分布式机器的软件来说,这似乎是一个很好的模型,因此Michael DeHaan(Ansible的创建者和创始人)借用了这个名称。

Apache

Apache是一个开放源代码的Web服务器,最初于1995年发布。它的名字与著名的美国土著部落没有关系,而是指其原始软件代码的重复补丁。 因此,“ A-patchy服务器”。

awk

“awk(1)代表Aho,Weinberger,Kernighan(作者)” ——Michael Greenberg

Bash

“最初的Unix shell,即 Bourne shell,是以它的创建者命名的。 在开发 Bash 时,csh (读作“seashell”)实际上更受交互式用户登录的欢迎。 Bash 项目旨在通过使 Bourne shell 更适合于交互式使用,赋予它新的生命,Bourne shell通过使其更适合于交互使用而被命名为‘Bourne Again shell’,是‘重生’的双关语。” —— Ken Gaillot

C

“早些时候,AT & T 的 Ken Thompson 和 Dennis Ritchie 发现,可以使用高级编程语言(而不是低级和不太便携的汇编编程)来编写操作系统和工具,这很有意思。 有一个早期的编程系统叫做 BCPL (基本组合编程语言),Thompson 创造了一个简化版本的 BCPL,叫做 B。 但是 B 不是非常灵活和快速。 然后,Ritchie 接受了 B 的想法,并将其扩展成一个名为 C 的编译语言

dd

“我认为您不发表dd就不能发表这样的文章。我的昵称是Didi。正确的发音是,听起来像'dd'。 我从1993年开始学习Unix,然后学习Linux,然后我参军,来到了我单位中使用Unix(Ultrix)的少数几个部门之一(其余主要是VMS),那里的人说:“那么,你是一名黑客,对吗?你以为你知道Unix吗?好吧,所以叫dd的原因是什么?” 我不知道,试图猜测:“数据复制器?”所以他说,“我将告诉你dd的故事。dd是转换和复制的缩写(因为今天仍然可以在联机帮助页上看到任何人),但是cc已被c编译器采用,其名称为dd。 仅仅几年后,我听到了有关JCL数据定义和Unix dd命令的不统一,半开玩笑的语法的真实故事。 ——Yedidyah Bar David

Emacs

经典的反 vi 编辑器,这个名字真正的词源并不显眼,因为它来自“Editing MACroS”。然而,作为一个受到宗教谴责和崇拜的对象,它吸引了许多恶搞,比如“ Escape Meta Alt Control Shift”(为了欺骗它对键盘敲击的严重依赖)、“8兆字节和不断交换”(当时内存很大)、“最终 malloc ()的所有计算机存储”和“ EMACS 使计算机变慢” ——改编自专业术语文件 / 黑客字典

Enarx

Enarx 是机密计算领域的一个新项目。 这个项目的设计原则之一就是它应该是“可替代的” 所以名字的首字母是“ psilocybin”(著名的神奇蘑菇)。 人们普遍认为,管理者类型可能会有抵触情绪,因此考虑使用新的名称。 这个项目的两位创始人,Mike Bursell 和 Nathaniel McCallum,都是古代语言的极客,所以他们考虑了很多不同的想法,包括(tayna俄语,意为秘密或神秘,虽然俄语并不古老) ,crypticon (希腊语的完全私生子化) ,crypticon (希腊语的小秘密地方) ,arcanus (拉丁语的阳性形容词,意为秘密) ,arcanum (拉丁语的中性形容词,意为秘密) ,以及 rn (盎格鲁语,意为地方,秘密地方,衣橱,居住地,房子,或农舍)。 最后,由于各种原因,包括域名和 GitHub 项目名称的可用性,他们选择了 enarx,这是两个拉丁词根的组合: en-(意为内部)和-arx (意为堡垒、据点或要塞)。

GIMP

如果没有 GIMP,我们将何去何从? Gnu 图像处理项目已经成为开源项目多年了。 维基百科上写道: “1995年,Spencer Kimball 和 Peter Mattis 开始开发 GIMP,这是加州大学伯克利分校为实验计算设备而开发的一个为期一学期的项目。”

GNOME

您是否想知道为什么GNOME被称为GNOME? 根据维基百科,GNOME最初是一个缩写,代表“ GNU网络对象模型环境”。 现在,该名称不再代表该项目,并且已被删除,但名称仍然存在。 GNOME 3是Fedora,Red Hat Enterprise,Ubuntu,Debian,SUSE Linux Enterprise等的默认桌面环境。

Java

您能想象这种编程语言还有其他名称吗? Java最初被称为Oak,但是遗憾的是,Sun Microsystems的法律团队因其现有商标而否决了该名称。 这样就回到了开发团队的制图板上。 传说该语言的工作组在1995年1月进行了一次大规模的头脑风暴。许多其他名称都被扔掉了,包括Silk,DNA,WebDancer等。 团队不希望新名称与过度使用的术语“网络”或“网络”有任何关系。 取而代之的是,他们正在寻找更具动态性,趣味性和易记性的东西。 奇迹般的是,Java 满足了要求,团队也同意了!

Jupyter

当今许多数据科学家和学生在工作中都使用Jupyter Notebooks。 Jupyter的名称是笔记本中使用的三种开放源代码计算机语言的组合,这些语言在数据科学中很重要: JuliaPythonR

Kubernetes

Kubernetes源自希腊语中的舵手。 Kubernetes项目创始人Craig McLuckie在2015年Hacker News的回复中证实了这种词源。 他想坚持航海主题,他解释说,这项技术可以驱动集装箱,就像舵手或飞行员驾驶集装箱船一样。 因此,Kubernetes是选择的名称。 我们中的许多人仍在努力使发音正确(koo-bur-NET-eez),因此K8s是可以接受的替代品。 有趣的是,它与英语单词“ governor”具有相同的词源,与蒸汽机上的机械负反馈装置相同。

KDE

那K desktop呢? KDE最初代表“ Kool桌面环境”。 它由Matthias Ettrich于1996年创立。 根据维基百科,该名称是Unix 通用桌面环境 (CDE)一词的玩法。

Linux

Linux因其发明者LinusTorvalds而得名。Linus最初想将他的作品命名为“Freax”,因为他认为以他自己的名字命名太自负了。根据维基百科:“赫尔辛基科技大学Torvalds的同事AriLemmke当时不是FTP服务器的自愿管理员之一,他不认为'Freax'是个好名字。因此,他没有咨询托沃兹,就在服务器上将这个项目命名为‘Linux’”

以下是一些最流行的 Linux 发行版:

CentOS

Centos 是 Community Enterprise Operating System 的首字母缩写。 它包含来自 Red Hat Enterprise Linux 的上游包。

Debian

Debian Linux成立于1993年9月,是其创始人Lan Murdock和他当时的女友Debra Lynn的的合成词。

RHEL

Red Hat Linux的创始人马克·尤因(Marc Ewing)曾因祖父给他戴的红色康奈尔大学软呢帽而得名。 Red Hat成立于1993年3月26日。Fedora Linux最初是一个志愿者项目,为Red Hat发行版提供额外的软件,并以Red Hat的“ Shadowman”徽标命名。

Ubuntu

Ubuntu旨在广泛地共享开源,并以非洲ubuntu哲学的名字命名,Ubuntu哲学可以翻译为“与人分享”或“我之所以成为我,是因为我们都是这样。”

Moodle

开源学习平台Moodle是“模块化面向对象动态学习环境”的首字母缩写。 Moodle仍然是电子学习的领先平台。 全球有近104,000个注册的Moodle网站。

另外两个流行的开源内容管理系统是Drupal和Joomla。 Drupal的名字来自荷兰语“ druppel”,意思是“掉落”。 根据维基百科的记载,Joomla 是斯瓦希里语单词 jumla 的英语化拼写,在阿拉伯语、乌尔都语和其他语言中,jumla 的意思是“一起”。

Mozilla

Mozilla是一个成立于1998年的开源软件社区,“Mozilla项目于1998年创建了Netscape浏览器套件的源代码发布的开源软件社区。它旨在利用互联网上成千上万程序员的创造力,推动浏览器市场达到前所未有的创新水平。” 这个名字是Mosaic和Godzilla的合成词。

Nginx

“许多技术人员试图表现得很酷,说'n''g''n''x'。 事实上真正做了一些基本的研究的那部分人很快就会发现这个名字应该说成‘ EngineX',指的是强大的网络服务器,比如引擎。” —— jean Sebastien Tougne

Perl

Perl 的创始人 Larry Wall 最初将他的项目命名为“ Pearl” 。根据维基百科的说法,沃尔希望给这种语言起一个简短的名字,并赋予其积极的内涵。 在 Perl 正式发布之前,Wall 发现了现有的 PEARL 编程语言,并改变了名称的拼写。

Piet and Mondrian

“有两种编程语言以艺术家Piet Mondrian命名。一种叫做'Piet',另一种叫做'Mondrian'。[David Morgan-Mar 写道 ]:'Piet是一种编程语言,其中的程序看起来像抽象绘画。该语言以Piet Mondrian的名字命名,Piet Mondrian是几何抽象艺术领域的开创者。我本想把这种语言称为Mondrian语言,但有人用一种看起来很普通的脚本语言语言抢先一步。哦,好吧,我想我们不能都是深奥的语言作家。” ——Yuval Lifshitz

Python

Python 的创始人,吉多·范罗苏姆 · 马丁,是喜剧组蒙提 · 派森的粉丝,他给它起了一个独一无二的名字。

Raspberry Pi

Raspberry Pi以其微小但强大的功能和廉价而闻名,是开源社区的最爱。但是它那讨人喜欢(又美味)的名字是从哪里来的呢?在70年代和80年代,用水果来命名计算机是一种流行的趋势。苹果,橘子,杏子...有人饿了吗?根据2012年对公司创始人埃本·厄普顿的采访,“树莓派”这个名字就是对这种趋势的认可。树莓的大小也很小,但味道却很好。名字中的“Pi”暗示了这样一个事实:最初,计算机只能运行Python。

Samba

Server Message Block用于在 Linux 上共享 Windows 文件的服务器消息块。

ScummVM

Scummvm(SCUMM虚拟机)是一个可以在现代电脑上运行一些经典的电脑冒险游戏的程序。最初,它旨在玩用SCUMM构建的LucasArts冒险游戏,该游戏最初用于开发ManiacMansion,然后用于开发LucasArts的其他大多数冒险游戏。目前,ScummVM支持大量游戏引擎,包括SierraOnline的AGI和SCI,但仍保留名称ScummVM。一个相关的项目ResidualVM之所以得名,是因为它涵盖了ScummVM未涵盖的“剩余”LucasArts冒险游戏。Residualvm涵盖的LucasArts游戏是使用GrimE(GrimEngine)开发的,GrimE最初用于开发GrimFandango,所以ResidualVM名称是一个双关语。

SQL

“您可能知道[SQL]代表结构化查询语言,但是您知道为什么它通常发音为'sequel'吗?它是对原始'QUEL'(QUERY语言)的后续(即续集)而创建的。” ——Ken Gaillot

XFCE

XFCE是由Olivier Fourdan创建的流行桌面。 它于1996年开始替代CDE,其名称最初是XForms Common Environment的首字母缩写。

Zsh

Zsh是一个交互式登录shell。1990年,第一个版本的shell是由普林斯顿大学的学生PaulFalstad编写的。他在看到当时的普林斯顿大学助教Zhong Sha(zsh)的登录ID后对其进行了命名,并认为这听起来像是Shell的好名字

还有更多的项目和名称,我们没有包括在这个列表中。 请您一定要在评论中分享你的最爱。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 你认为最奇怪的开源名称是什么?
  • Ansible
  • Apache
  • awk
  • Bash
  • C
  • dd
  • Emacs
  • Enarx
  • GIMP
  • GNOME
  • Java
  • Jupyter
  • Kubernetes
  • KDE
  • Linux
    • CentOS
      • Debian
        • RHEL
          • Ubuntu
          • Moodle
          • Mozilla
          • Nginx
          • Perl
          • Piet and Mondrian
          • Python
          • Raspberry Pi
          • Samba
          • ScummVM
          • SQL
          • XFCE
          • Zsh
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档