郑昀
26-06-14 22:56 微博认证:云纵世纪(天津)数字科技有限公司CTO

#it那些事儿# 一位日本程序员在1993年审视了所有现有的编程语言,觉得它们都无法让他满意,于是花了两年时间打造了自己的语言。他创建的语言成为了GitHub、Shopify、Airbnb和Coinbase的基础,这些公司都是建立在它之上的。

他的名字是松本行弘。

编程界的所有人都叫他Matz。他1965年出生,在筑波大学学习信息科学,1990年毕业,那时他的脑海里满是关于编程语言可能性的想法,以及对它们实际样子的安静不满。

他了解Perl。他不喜欢它。他说它有玩具语言的味道。他了解Python。他也不喜欢,因为他觉得它的面向对象特性像是后来硬加到一种从一开始就不是为此设计的语言上。他想要一种真正、完全面向对象的语言,易于使用,并且是为编写代码的人而建,而不是为运行它的机器而建。

他寻找那种语言。他找不到。

于是1993年2月24日,他打开了与同事石冢圭九的聊天窗口,输入:“我们现在决定代号吧。”

他们想用宝石命名,受Perl启发。石冢建议Coral。松本建议Ruby。Ruby比Coral少一个字母。Ruby胜出。

接下来的两年,他独自构建它,一点一点地完善架构。对象系统。字符串类。IO流。他后来说过,他在和刚出生的女儿说话时讨论具体特性,把她当作发声板,就像程序员用橡皮鸭一样。1993年8月,他终于写出了在屏幕上输出“Hello, world.”的那行代码。

第一个公开版本Ruby 0.95于1995年12月21日发布到日本国内新闻组。没有新闻发布。没有发布会。只是安静地发到邮件列表上。

一切之下的设计原则是别人从未将其置于首要位置的那个。松本称之为程序员幸福。他相信编程语言应该为编写代码的人的喜悦和生产力而建,而不是纯粹为机器效率而优化。Ruby设计中的每一个决定都经过这个过滤器。如果它让程序员的生活更艰难,那就是错的。

这种哲学在1990年代晚期吸引了日本一小群但忠诚的追随者。然后在2003年,一位名叫David Heinemeier Hansson的丹麦程序员发现了Ruby,并用它为他的公司构建了一个内部项目管理工具。他把这个工具命名为Basecamp。他提取了其下的框架,并在2004年公开发布。

他称之为Ruby on Rails。

在那个版本发布一年内,这个框架改变了网络应用构建的方式。Rails引入了“约定优于配置”的原则,这意味着开发者可以快速决定结构,因为框架已经设定了合理的默认值。过去需要几周的设置现在只需几天。过去需要几天的现在只需几小时。

Shopify在2005年开始使用Rails。几年后GitHub基于Rails构建。Airbnb、Twitch、Coinbase、SoundCloud和Zendesk都紧随其后。定义了人们对软件产品思考方式的第一代消费互联网公司,大多是由小团队在这样一个直接追溯到1993年一位对工具不满的日本程序员的框架上快速构建的。

Shopify现在每年处理超过2000亿美元的商业交易量。它仍在运行Rails。GitHub成为地球上最大的代码托管平台,并在2018年被微软以75亿美元收购。它从Rails起步。

松本多次说过,他创建Ruby出于自私的原因。他对每一个可用选项都如此失望,以至于构建了能让自己快乐的东西。他追寻的程序员幸福是他自己的。

围绕Ruby成长起来的社区采用了一句格言,它道出了他的一切。Matz很友好,所以我们也友好。他们将其缩写为MINASWAN。它传播开来,因为它是真的。他回复陌生人的邮件。他以耐心与社区互动。他把语言当作礼物,而不是产品。

他至今仍是Ruby的首席设计师。这门语言已有31年。它仍在改进中。

最后一个稳定版本是Ruby 4.0.4,于2026年5月11日发布。

一位对工具不满的程序员,在1993年的晚上构建了更好的东西。你用来购物、存储代码、预订旅行和观看流媒体的公司,都是建立在他创造的基础上。

他只是想在工作时快乐。

你知道吗?Ruby就在你每天使用的工具背后。

本文原作者:X@ihtesham2005

发布于 北京