如果你死了,你的代码怎么代替你继续存在下去

2024-06-22 21:28

本文主要是介绍如果你死了,你的代码怎么代替你继续存在下去,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问你个问题,如果你写的程序代码特别耐用,特别引人注目,几乎全世界的人在用。那么问你个比较丧的问题,有一天你死了,你怎么维护你的程序代码呢?

你可能听说过这个人:Philip Hazel 。他在剑桥大学获得博士学位,1971 年加入 Cambridge Computing Service 担任软件开发者。他曾经负责过邮件服务,这段经历促使他决定使用 C 编译器和运行时为现代操作系统开发一个邮件传输代理(Message Transfer Agent 或 MTA)。

1995 年 3 月,Philip Hazel开始着手开发 Experimental Internet Mailer(就是大名鼎鼎的Exim),到 1995年11 月该项目完成了基本的邮件收发功能,他的同事想要试用 Exim ,但被他以还没写说明文档为由拒绝了(这可能是程序员拒绝发布无文档代码的已知第一个案例,非常非常的具有骑士精神)。

完成说明文档的初稿之后Philip Hazel才开始公开 Exim。

Richard Stallman 说服Philip Hazel将 Exim 的许可证切换到了著名的 GPL。Exim后来被移植到到包括 Linux 的其它操作系统,今天它是世界最流行的 MTA,其流行度超过了 Hazel 自己的预期。再后来邮件管理需要正则表达式,因为已有的方案满足不了需求,Philip Hazel就动手开发了自己的 Perl-Compatible Regular Expressions(PCRE)。

PCRE 的新版本 PCRE2 如今被 Git、Grep、MariaDB、nmap 在内的应用广泛使用。

Hazel 在 2007 年退休时将 Exim 的维护交给了其他人,神奇的是,如今高龄 80 岁的Philip Hazel还在维护 PCRE2,随着身体机能减退,精力不济,Philip Hazel正考虑转交其维护权。

Philip Hazel认为,维护一个成功软件所需的努力远远超过开发该软件本身,创业难,守成更难啊,因为目前还没有人接手维护 PCRE,Philip Hazel还在等待有资格的维护者能挺身而出将 PCRE2 带到未来。

如果你死了,你的代码怎么代替你继续存在下去?

#开源

这篇关于如果你死了,你的代码怎么代替你继续存在下去的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085459

相关文章

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st