1个C文件就写出Web服务器!这个60岁程序员大有来头

新闻 服务器
最近这个软件,在圈里很火。Hackernews上热度高达700+。

 [[405534]]

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

一个C文件,就写出一个Web服务器。

最近这个软件,在圈里很火。Hackernews上热度高达700+

1个C文件就写出Web服务器!这个60岁程序员大有来头

有网友直接问:他GitHub账号是哪个?

1个C文件就写出Web服务器!这个60岁程序员大有来头

但也有网友质疑说,这个源文件得有几万行代码吧。

1个C文件就写出Web服务器!这个60岁程序员大有来头

No,No,No!

只有2592行,而且完全开源!于是就有旁友打算回去抄代码。

1个C文件就写出Web服务器!这个60岁程序员大有来头

当然,到处还流淌着各种对大佬的仰慕,在这就不一一列举了。(手动狗头)

1个C文件就写出Web服务器!这个60岁程序员大有来头

究竟是谁打造了这一“精品”,背后到底是何方神圣?

Richard Hipp,一个已经60岁的技术大牛。

你没有听过他的名字,但你当前使用的手机,一定有几十甚至上千个他开发的数据库——SQLite。比如,微信的聊天记录就存在那里面。

[[405539]]

可以说,它是世界上装机最多的数据库,没有之一。

以至于最新的Web服务器一出,就有网友高呼:大神写个淘宝吧。

1个C文件就写出Web服务器!这个60岁程序员大有来头

打造世界上使用最广泛的数据库

说到Richard Hipp,就不得不提他的成名作:SQLite。

1个C文件就写出Web服务器!这个60岁程序员大有来头

SQLite是一款轻型的数据库,最初版本的大小只有900KB左右。

它最大的特点就是嵌入式,支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口。

所以,SQLite可以应用在非常多产品中,除了手机APP、电脑浏览器,甚至连电视机顶盒中也有它的身影。

并且,与同类数据库Mysql、PostgreSQL相比,它的运行速度也更快。

如此强大的数据库,Richard Hipp是怎么设计出来的呢?

这还要追溯到20多年前,他接下国防公司通用动力的一个项目说起。

当时,他要解决如何在导弹的小型计算机上安装数据库的问题。

美国海军所使用的Informix数据库体积太大、无法安装,而且它是一个单独运行的进程,即使想方设法安装成功,运行的效率也不高,甚至还要耗费大量人力来操控。

1个C文件就写出Web服务器!这个60岁程序员大有来头

由此,Richard想:“为什么不能直接从磁盘上读取数据呢?”

这样既能提高运行效率,也能减小数据库大小。

于是,他用C语言写了一个小文件,它可以被嵌入到任何程序中,并且大小只有900KB左右!

所以,你就能Get为啥这个新服务器,只有一个C文件了吧。(一直都很Richard风格)

假设要启动导弹上一个GPS程序,这个文件只需在其内部创建一个小数据库,就能来管理相应的数据。

第一版SQLite就这样诞生了。

之后,Richard对SQLite进行过多次更新。

2001年刚发布第二版后不久,摩托罗拉就给他打来合作的电话,希望把SQLite应用在他们的手机上。

2005年,Richard直接开源了SQLite,并于同年获得Google O’Reilly 开源奖。

而他最新发布的网络服务器Althttpd,其实从2004年就开始运行SQLite官网了。

1个C文件就写出Web服务器!这个60岁程序员大有来头

官网上介绍,Althttpd的处理能力还可以。

截至到2018年,Althttpd在SQLite官网每天处理约50万个HTTP请求(每秒5、6个),每天能够提供50GB的内容(约4.6兆比特/秒)。

网友:真·轮子哥

他学习编程的缘起,还要从中学说起。

大概是在70年代左右,当时Richard在读9年级。一次偶然的经历,让他看到电传打字机,背后都连着一个大型计算机。

大概是这个样子。

[[405543]]

他被震撼到了,于是下定决心说:必须要学会编程。

执行力超强的他,立马就去学校图书馆,将所有关于计算机的书都借出来。

实际上,只有三本。那天晚上,他就将三本书看完了,还开启了学习用BASIC编程的旅途。

随后不久,Apple II出来了。

[[405544]]

不太富裕的他,只买了一个主板,然后自己搭建键盘、电源,并将它们全部焊接起来。

这当中还发生了一个小插曲。

第一个主板不能用,他就电话给苹果。联合创始人史蒂夫·沃兹尼亚克就给他寄了另一个主板。

组装成功之后,他就试图在4K的内存中编写程序,这里面还包括视频内存。

当时还因为没有显示器,他就调制射频,将它挂在电视机的天线上。

虽然分辨率感人,整个屏幕只有40个字符宽,24行高。

直到现在,他仍然表示:

It was the most amazing thing in the world.

这样的创造因子,是从他父亲那里继承而来。

Richard这样形容他的父亲:“他是那种最原始的制造者,比如内燃机什么的”。

而Richard则将同样的想法——从零开始创造事物,放在了抽象的东西上。

接触到计算机之后,Richard喜欢上了编程,原因很简单:不需要用任何具象的材料,就能构建一个完全不同的世界。

事实上,他也一直在付诸实践。

SQLite之后,他接着写了分布式版本控制系统Fossil、Bug追踪系统 CVSTrac,以及解析器生成器Lemon。

每次都是因为遇到了一个问题,然后就自己去编写。

因此就有网友戏称:真·轮子哥。

1个C文件就写出Web服务器!这个60岁程序员大有来头

不过也有网友为他解释:自己写的工具确实更顺手。

1个C文件就写出Web服务器!这个60岁程序员大有来头

但还有比编写SQLite更难的事情

不过,对于这位大佬来说,还有比编程更难的事情。

那就是让他的妻子Ginger Wyrick嫁给他。(手动狗头)

[[405547]]

甚至在结婚之后,公司也改名了 ,Hipp, Wyrick & Company

并将所有股份转让给她。

Richard在接受采访时调侃,有时候一度不得不从她那购买一半的股票。

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2021-06-15 14:36:38

程序员职业经历

2018-09-10 09:18:30

程序员领导加班

2021-07-05 07:28:14

程序员菜鸟技术

2018-02-28 15:49:43

程序员年龄歧视工程师

2020-04-13 09:40:17

macOSSSH服务器

2015-02-02 10:13:43

程序员

2015-02-05 13:51:25

程序员

2020-07-30 07:33:30

程序员

2018-10-11 09:46:17

Web应用服务器

2018-09-06 13:06:46

程序员焦虑谷歌

2019-11-28 10:53:19

程序员技能开发者

2017-12-06 08:27:06

程序员职业技术

2017-11-10 08:58:49

Web服务器应用程序

2019-10-24 13:56:24

2017-07-20 09:54:43

无服务器程序员使用

2024-06-17 07:57:44

服务器NagarajuNCS

2010-03-15 08:37:00

程序员35岁

2019-11-11 09:45:06

程序员相亲择偶

2019-05-20 08:49:18

程序员女生嫁人

2020-08-13 17:00:55

PythonWeb服务器日志文件
点赞
收藏

51CTO技术栈公众号