2000年4月14日,在美国威斯康星州密尔沃基的一家汽车旅馆里,人们发现了一具年轻人的尸体,检查得知这个人的死因是酗酒、饮酒过量导致的死亡。死者被发现的时候,手中还握着一个空酒瓶,房间中还有五个空酒瓶。这样一个酒徒的死也许在平时只是地方小报上的一条不起眼的新闻,但这个人的死却在互联网上掀起了轩然大波。无数人在网上发表评论与文章,纪念他的离开,寄托人们的哀思,因为他不是一个普通人,他叫菲利普·卡兹(Philip Katz),几乎全世界的每一台个人电脑上都有用他创造的压缩算法生成的文档,这种文档的后缀是“.zip”,这些文档的的开头都嵌有他姓名的字头缩写字母‘PK’。这位在全世界的电脑中留下痕迹的天才程序员终年仅37岁。 在DOS时代就开始使用电脑的玩家可能都会记得,那时候的处理器速度与存储介质的容量与现在相比简直不可同日而语,为了COPY(拷贝)一个游戏我们常常要更换数张软盘。从那个时候起,我们认识了ZIP文件,在没有Windows的年代,使用字符界面和命令行方式压缩的程序主要有PKZIP和ARJ两种,直到过渡到Windows时代,WinZip的出现才使压缩软件的规格得到了统一。互联网上无数的文件都以“.zip”的格式进行存储,压缩文件使用户能在最短的时间里将文件从网上下载回自己的硬盘中,在没有宽带,连MODEM都仅仅是14.4K的速率的那个年代,ZIP文件为我们节省了大量的宝贵时间与金钱。但很少有人知道ZIP文件的由来,很少知道它的创造者菲利普·卡兹。 在14年前,也就是公元1988年,那时候互联网还刚刚开始有了雏形,而最流行的是一种使用电话线拨号登陆别人在家里搭建的服务平台——交换信息的电子公告牌(BBS)系统。这种系统有些类似现在的论坛和新闻组,由于站长之间互相转信也成为了一个庞大的信息网络(惠多网)。老一点的玩家可能都有印象,在没有Internet的年代,中国大地上也曾有几十个这样的BBS存在,著名的字处理软件WPS的作者求伯君和CCED的作者朱崇君当年都是非常有名的个人站长。这种方式不但可以传递文本信息,也可以由用户上传文件到站点的计算机以供其他用户下载。由于电话线的接入速度慢的可怜,通过BBS传输较大文件实在是叫人痛苦的一件事。于是,使用文件压缩技术减小文件的体积并将多个文件压缩到一个封包中就成为了BBS用户的一项必须掌握的技巧。当时的美国BBS上,比较流行的是一种叫做ARC的压缩技术,由于它是一家商业公司开发的压缩技术,使用这种软件进行工作是需要付费的。那时候的菲利普·卡兹是一个沉迷于BBS上的毛头小伙,由于经常混迹于BBS上,对于ARC的收费非常不满的他自己开发了一个程序叫PKARC,这个程序于ARC完全兼容,可以压缩和解压缩ARC文件。这样一来,大批的ARC用户自然转而使用菲利普·卡兹的免费软件。ARC的制作公司一怒之下将菲利普·卡兹告上了法庭,法庭自然判决菲利普·卡兹禁止继续开发和传播PKARC。这种判决并没有磨灭菲利普·卡兹的斗志,而是激起了他要与ARC斗争到底的决心。在虚拟的世界中,自由、平等永远是真正的程序员永久的追求。他放弃了PKARC的开发,发誓要写出一款比ARC更好的压缩软件来打败ARC。这一场官司造就了一名编程天才的横空出世,也造就了一个后来在互联网时代的文件标准。几周以后,后来统治整个BBS世界乃至Internet世界的ZIP在菲利普·卡兹手中发出了第一声响亮的啼哭! 不名则已,一鸣惊人,这种名为PKZIP的程序可以将一个或多个文件压缩到一个后缀为“.zip”的文件中,无论从压缩比、压缩速度方面都超过了商业软件ARC。卡兹将PKZIP作为自由软件免费发放,使其如同草原上的星星之火般在全美的各大BBS上蔓延开来,用户以几何级数的增长,各大BBS的站长自发将原来使用ARC格式压缩的文件转换成ZIP格式,卡兹用他天才的头脑和顽强的毅力堂堂正正的击败了ARC,ARC的制作公司在PKZIP的强大攻势下很快就消声匿迹了。用自由软件打败商业公司的传奇故事很快传遍了整个BBS世界,疾恶如仇而又身手不凡的菲利普·卡兹如同数字世界的大侠般仗剑江湖,劫富济贫,以一人之力擎起了压缩软件的大旗。这段被人们津津乐道的传奇故事使菲利普·卡兹成为了很多热衷于编程的年轻人心中的偶像。此后卡兹一直继续着对PKZIP的开发和维护工作,PKZIP建立和统治了DOS时代的压缩标准。直到Windows的诞生,使用卡兹创造的压缩算法的软件Winzip的出现更使ZIP格式成为Internet的传输标准,ZIP压缩格式也成为压缩文档的事实标准。试问当今的电脑用户,谁敢说自己的电脑中没有ZIP文件? 可惜,这位天才程序员却从未在ZIP身上得到半点好处,坚持信念的结果往往是潦倒的生活,糟糕的个人生活和长期编写软件的巨大压力使卡兹染上了酗酒的恶习,最终断送了他那年轻的生命。他为世界贡献了一个伟大的免费软件,更为重要的是他缔造了一种大众化的压缩格式,然而却过早地离开了这个世界。他的名字也许多年后会被人们忘怀,但他创造的ZIP将在网上生生不息的流传,他的名字缩写嵌在了全世界数以千万的电脑中,他的传奇故事将永远流传……

纪念菲利普·卡兹(Philip Katz)相关推荐

  1. Winzip的创始人Philip Katz之死,老程序要细读一下。

    2am,夜深了,读到这编文章,很想跟大家分享共勉一下. WINZIP数据: 1,下载量:达到1亿4000万次 2,出名年代:DOS~2005年 3,收入:WinZip至今都没有获得太多利润 老CU都应 ...

  2. 名人故事之 Philip Katz

    WinZIP创始人 --Philip Katz 贾菡 / 文   Philip Katz,这个英年早逝惨淡一生的程序员,天才地缔造了ZIP这种压缩文件格式和Internet历史上最有名的共享软件之一- ...

  3. 你知道为什么zip始终不兼容rar吗?

     你知道为什么zip始终不兼容rar吗? <script language="javascript" type="text/javascript"> ...

  4. 在虚拟的世界中,自由、平等永远是真正的程序员永久的追求

    知乎上有人问:"一个人生前活的凄惨无比,但死后闻名于世.这样的名声意义何在?对他自己有什么意义吗?" 于是想起了 Philip Katz 的故事,我 2008 年写的第一篇博客就是 ...

  5. ZIP,一个没落天才的故事

    ZIP,一个没落天才的故事,Phil Katz不愿意为一个压缩软件付钱,就索性自己写了一个更好的算法,然后无偿公开.2000年4月14日,他被发现死于一家汽车旅馆,年仅37岁,死时手中握着一个空酒瓶. ...

  6. 留言板小程序开发笔记3

    在vim中的 "删除到" 命令, 使用 dt"关键字符", 这里的关键字符 包括: "space"空格, 这个是很强大,很有用的~ 如果严格地写代码, 那么, ...

  7. 今天找压缩算法,看到一段陈年往事

    此文章转载自2004.10的<大众软件>,原作者为 广东 GZ 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了9.0正式版.全世界自然一片沸腾,在世界各大 ...

  8. 压缩软件大比拼历史回顾:ZIP与RAR

    压缩软件大比拼历史回顾:ZIP与RAR 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了 9.0 正式版.全世界自然一片沸腾,在世 界各大知名下载网站中,WinZip9 ...

  9. Linux软件包企业实战案例

    通过前几章的学习,我们掌握了Linux系统基本命令,用户及权限等知识.Linux整个体系的关键不在于系统本身,而是基于Linux去安装和配置企业中相关的软件,数据及应用程序,所以对软件的维护是运维工程 ...

最新文章

  1. IOS开发(九):场景
  2. 万字长文,一文读懂Linux的常规操作(墙裂建议收藏)
  3. mybatis批量插入10万条数据的优化过程
  4. C++ 泛型编程-类模板
  5. 修改jceks.key.serialFilter解决KMS重启后Can‘t recover key for testkey from keystore file
  6. vmware虚拟机i copied it 和 i moved it的区别
  7. hive explode函数入门及其与lateral view的结合
  8. 易语言大漠插件模块制作使用系统字库找字
  9. 光网络时代网络工程师成长路线图
  10. VISIO中如何增加连接点
  11. 开发一个app需要多少钱?
  12. Ubuntu笔记本设置WiFi热点
  13. WIN10安装Debugging Tools for Windows
  14. 重构机器学习算法的知识体系 - 《终极算法》读书笔记
  15. 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)
  16. 四平方和定理(拉格朗日定理)
  17. android 判断App进程是否存在,处在前台,后台,前后台切换,service是否运行,设置为系统app
  18. 微信小程序中background-attachment:fixed兼容问题
  19. SwiftUI中应用Hero动画(Hero Animation)时一些需要填的坑
  20. python英文分句_教你如何对英文段落进行分句

热门文章

  1. AdaBoost从原理到实现
  2. 《新编鬼谷子金书》--致富奇书
  3. uploadify session java_解决uploadify使用时session发生丢失问题的方法
  4. QGradient渐变填充
  5. css3两种渐变(gradients)
  6. linux p2v迁移工具,使用clonezilla进行linux系统的物理机到虚拟机的P2V迁移
  7. 人民币兑换计算,请输入任意数目的人民币数值,要求分别计算出该数目人民币能够兑换多少美元与日元? 提示:1人民币元=0.1539美元,1人民币元=17.3352日元。
  8. android 的检测更新,android 版本自动检测更新
  9. c结构体中定义的成员指针赋值与结构体指针作为成员函数参数的使用
  10. OKR教练技术:OKR周期管理模型