有没有著名的单兵程序员?


166

最近,我学习到越来越多的程序员,他们认为,如果他们一个人工作,他们会更快,并且质量更高。通常,这种感觉与他们在团队中进行最好的编程的感觉有关,总而言之,这个想法似乎很合理。如果他们正在做最好的编程,并且独自工作(也许更多),那么最终结果将是更好的软件。

我知道,只有您有足够的热情在规定的期限内按时完成24/7,并且纪律严明,这个想法才会奏效。

因此,在考虑了这个想法并试图学到更多知识之后,我想知道过去是否有著名的单臂程序员提供过任何(有用的)软件?


12
当小时数增加时,净生产率就会下降。不要仅仅因为他们投入更多的时间就认为其中的最好的。如果真是这样,那么任何人都可以成为一名优秀的程序员。
布赖恩

@Brian,嗯,是的,我有点同意,但是您知道持久性并为(学习和开发)编程花很多时间是所有著名软件
DFectuoso

哇,这家伙中谁会获得更多的投票很有趣,它的名单令人印象深刻
DFectuoso 2009年

5
大多数答案是错误的。例如,安德斯并不是一个人都自己构建C#或Turbo Pascal。
罗伯特·S。2009年

11
奇怪的是,要关闭的票数是恒定的,而这个问题有22票赞成票和14票赞成票,而只需要4票就可以关闭票吧?
DFectuoso

Answers:


273

约翰·卡马克

为《毁灭战士》,《德军总部》,《雷神之锤》等游戏编写引擎的人。阅读《毁灭战士》,这是他和约翰·罗梅罗所做的伟大历史。


4
只是不要问Daikatana :)
tsilb

18
Daikatana由罗梅罗(Romero)离开iD之后完成,不要认为卡马克参与的程度很高;-)

2
Carmack完全没有参与Daikatana。那是罗梅罗和他自己的公司。阅读《毁灭大师》,您会发现Romero在一开始就做得不错。
杰米·彭尼

4
我曾经读过90年代初期J. Carmack的博客/手指文章以及他写的几篇论文...他仍然是视频游戏引擎的爱因斯坦之一,从字面上看他是火箭科学家:)
David David

2
我同意,认为John Carmack将投票选出最佳程序员之一。

230

2
确实。他自己编写了TeX的每一行代码,我相信Metafont也是如此。[他经常与其他人讨论重要的决定,但所有代码都是单独编写的。]
ShreevatsaR

19
哦。别忘了他完全在笔记本上写了TeX ON PAPER,然后只是“打入”了……哦,他还在此过程中发明了一种新样式(精简编程)。
凯文(Kevin Won)

1
+1 Knuth-当整本书是高效数据结构和算法的极其密集的宣言时,很容易忽略“计算机编程艺术”的第二个词是“艺术”。但这确实是一种艺术形式,而不是科学或工程学科。

2
付不起不回答唐在哪里回答的任何问题
vrdhn

2
另外:在我的书中,任何为自己的错误付出代价的人(从字面上看!en.wikipedia.org/wiki/Knuth_reward_check)都很棒。他以“一个人军队”的概念,以11
丹埃斯帕扎

163

史蒂夫·沃兹尼亚克(Steve Wozniak)最初几乎苹果的编程人员。


8
他也设计了他们的早期硬件。
比尔蜥蜴

3
他的书“ iWoz”读起来很有趣。他是那个时代最伟大的发明家之一。

2
我记得沃兹(Woz)早在80年代就被认为是非常炙手可热的东西,因此,如果大肆宣传,它就已经停滞不前了。

2
传奇人物Woz用铅笔和纸将Integer BASIC手工组装成6502机器代码,然后将这些字节输入同样设计的Apple II监视器软件中,然后将这些字节保存到他设计的卡带接口中。所有这些使他可以在BASIC中实现Atari Breakout,以在业余爱好俱乐部中炫耀。
达伦(Darren)

4
@Darren:不仅仅是传说。我看过其中一部分的影印本-全部是手写的汇编代码,并且在其旁边是机器代码(也是手写的)。但是要记住的是,在当时并不罕见(我做了几次)。
杰里·科芬

161

理查德·斯托曼(RMS)。尽管最近因有关封闭源软件的政治言论而闻名,但在他的时代,他还是一名程序员。他单枪匹马地掌握了商业Lisp机器代码很长时间。Emacs和gcc是他创建的一些东西。

史蒂文·利维(Steven Levy)的《黑客》(Hackers)一书中对他有很好的描述。


那是一本好书!

9
柏林:像gcc,gdb和make?

10
RMS是一支只追赶商用LISP机器的单兵部队,这是因为他是唯一一个足够干又能干的人:)他自己做了最初的emacs,因为这个概念太复杂了,以至于其他任何人都无法理解。但此后,他很高兴与他人合作。
Tim Post

1
在他的辩护中,Symbolics公司的人们可能会在办公室和桌子周围设计Lisp机器,从而使RMS能够破解其设计和功能决策的MIT系统上的仿制品。为了使Emacs与XEmacs的分支保持同步,他将再次成为一支单兵部队。


143

克里斯·索耶(Chris Sawyer)。他在音乐和图形方面有一点帮助,但其他人全都是RollerCoaster Tycoon。令人惊讶的是,特别是考虑到物理引擎。最后但并非最不重要的一点是,整个游戏都是用汇编语言编写的。


14
不要忘记运输大亨,它可能比RCT具有更大的追随者。

7
也都在组装!
Malfist

1
西方最快的枪---你击败了我5秒钟:)你添加了关于汇编程序的东西---那就是我仍然发现的最惊人的东西:D

1
OpenTTD的存在证明了运输大亨的乐趣。

4
不知道是用ASM构建的。惊人。

140

11
Linus比纯开发人员更像是经理类型。linux的第一个版本确实很烂,只有在他让其他人参与之后,它才变得不错
Matt Briggs

3
究竟。Git是相同的方式。莱纳斯需要一支球队:)

9
好吧,莱纳斯军队。不管他开始做什么,庞大的军队似乎无处不在并产生巨大的东西。所以,没有Linus,没有军队:)
Marko

21
Linus的成功建立在没有单人武装的基础上。GPL是他的一个非常重要的决定。


98

Bill Joy-编写了vi以及csh,rlogin,rsh和rcp


76
有人给那个人买字典!

3
有些人可能认为这些程序是改用臭名昭著的好理由。或至少是vi和csh。;)
Chris Charabaruk

Java不是由James Gosling开发的吗?
布鲁斯·奥尔德曼


@Chris Charabaruk:尝试用ed进行一些编辑。无论如何,这并不是每个人的喝杯茶,但Vi仍比其前辈(而且也不是其潜在的继任者)有很大的进步。
杰里·科芬

97

仅仅为了完整性(与当今的编程“英雄”并没有真正的竞争力,而是她那个时代的真正“单兵” ;-):Ada Lovelace


5
Drats,您在我认识我之前就发布了。删除我的+1。

12
一个

93

John ResigjQuery javascript框架的创建者。


5
您在“ jQuery”上遇到了我

28
+是的,jQuery令人难以置信,使用jQuery Wight Loss插件,我在短短一周内就减轻了10磅。


88

拉里·沃尔Larry Wall)-Perl。

为了有趣地了解他的妙计,C程序员可以阅读1986年国际C混淆竞赛的优胜作品。该奖项归档在wall.c下。


他还写了补丁和iirc

我无法正确编译wall.c。为其他人工作:

1
我几乎不认为Larry Wall认为自己是perl的唯一作者。在Larry Wall的指导下,有大量的贡献者社区,与Guido和Python一样。如果您的意思是Perl 1.0,那么也许,除了Wall之外,我不知道当时有多少主要的贡献者。


75

布拉姆·科恩Bram Cohen),至少他的小项目现在引起了所有互联网流量的50%[需要引用]。


OOO,这些都很好。

3
您可以将其用于需要运输给人们的任何物品。
Svish

4
是的,例如,暴雪使用BitTorrent分发其魔兽世界补丁或从其在线商店进行数字下载。另外,Linux发行版将其用于DVD。我将它用作我的东西,因为4 GB Webspace是$$$。
Michael Stum

25
@svish-请给我一块巧克力,您能播种吗?
AShelly

1
Facebook使用BitTorrent将其1GB +的已编译二进制文件推送到其服务器。
2011年

72

Bjarne Stroustrup用于C ++的发明和第一种实现


3
另一个人实际上是一个协作者,而不是一个人的军队。C ++的设计和演进列出了许多从一开始就做出贡献的人。
杰里·科芬


60

Orino Eini aka Ayende Rahien,Rhino Mocks和其他出色的开源工具的作者。他是一些最好,最优雅的代码。


Oren必须在睡眠中编写代码,他的输出简直是巨大的。+1
马特·布里格斯

不仅如此,他还在自己的博客上发布了大量信息。我怀疑他实际上是3或4个人:-P认真地说,他正在从事商业产品,一堆开放源代码工具以及每天更新多次的博客。所有这些同时进行。
杰米·彭尼

他是机器。
伊恩·霍尔德

60

DJ伯恩斯坦。qmail,djbdns和许多其他文件。

噢,并起诉美国,以便这里的人们可以在互联网上自由发布加密工具。不完全是编程,而是完全一个人的军队。


djb是很棒的入门;我不确定还有多少其他条目是“单人武装”的程序员,但是djb肯定是要注意的。或者,所以我听说过互连网上的内容。
加拉夫

2
djb是您想锁在房间里并让密码的人之一。当与其他人交谈时,男人是一场步行的火焰大战,但男人肯定有一些天赋。
jer

在他的网站上查看他的一些讲义。我想上课。


54

这是那些没有“ Knuth”声望的伟大程序员之一-Fabrice Bellard。他编写了原始的FFmpeg发行版,是QEMU的项目负责人,发现了目前最快的pi算法,并且在“国际混淆C代码竞赛”中获得了一个胜利,但没有两次胜利。用我最喜欢的计算机科学教授之一的话说,那个人是摇滚明星。


1
两十年前,他还编写了许多MS-DOS程序员使用的程序:LZEXE。就像PKLITE(或现在的UPX)一样,但他绝对是先驱。
克里斯·杰斯特·杨

我只是喜欢“使X-Window配置成为DVB-T发送器”项目-bellard.org/dvbt。只是知道这个主意

5
看到他的Linux 在浏览器中运行后,我不得不给它+1。bellard.org/jslinux
Mark Ransom


50

_为什么自画像

_为什么为Ruby社区贡献了一些很棒的东西:

... 还有很多 :)


5
我想说的是,您将“著名”这个词推的太远了:)与这里的其他词相比。

2
我不认为Ruby的人都会同意:)

1
到目前为止,在所有人中,他是名单上唯一的一支军队。
stonemetal

是的,在他活跃的时候,疯狂的输出量。
tadman 2011年

杜德太不可思议了。在他编写出色的代码时,他也在编写出色的诗歌,歌曲和漫画。
Charlie Flowers

48

举例来说,请阅读本文,从中间说到的地方开始,

……私有公司Celera出现了要击败世界其他地区的联合科学团队,以实现对人类基因组测序的目标。Celera的方法并不严格,但比人类基因组计划的方法更快,并且出于一个可以理解的原因:Celera的目标不是推进科学发展,而是以任何公平或肮脏的方式赢得比赛,从而宣称这将是最令人惊讶的征服者人类历史奖。因为Celera赢得了测序基因组的竞赛,并且让它积极地申请了专利,所以可以想象,一个很小的公司此后可能对几乎所有的医学进展都要求专利使用费。不,他们本来可以声称对人类进化的未来感兴趣。

从表面上看,这个提议比私人公司对月球的宣称更荒谬。威胁是真实的,科学家对此感到恐惧。

加利福尼亚大学圣克鲁斯分校曾经名不见经的生物学大学生吉姆·肯特(Jim Kent)的英勇努力弥补了这种状况,他在40天的编码过程中非常愤怒,以至于他不得不将手腕浸入冰浴中每天晚上,编写一个程序来组装和公开人类基因组计划的地图。他比Celera提前一天完成了任务。

因此,肯特的隐身攻击几乎单枪匹马击败了Celera,这一壮举理应像Watson和Crick一样具有标志性。


1
他的手腕?那么,我本来会转向一种基于手指的技术。
丹·罗森斯塔克


31

西德·迈尔

共同创立了Microprose,并撰写了Sid Meier的《 Alpha Centauri》和Sid Meier的《 Colonization》 [2] [3],Sid Meier的《文明IV》等。


我对其他人一无所知,但我很确定他与Civ2没有太大关系。参见en.wikipedia.org/wiki/Civilization_II
Gaurav,

5
他也没有亲自写过《半人马座》。他以编写《文明1》而闻名,从那时起,他似乎主要从事协作/团队管理。

12
这就像让Bill Gates赢得Windows 7的荣誉一样。Sid Meier比其他任何人都更加成为经理。在最近的比赛中,他的名字似乎只是一个品牌...

1
@鲍勃 问题是-一个人的军队...过去写过软件...不是,这是该人唯一编写的最新软件吗?
asp316 2010年

1
有没有证据表明他自己写过《文明》?如果他这样做了,是由于偏好而不是必要?这就是该线程的含义。
Kirk Broadhurst,2010年

29

Chuck Moore-创建了Forth,将其移植到数十种体系结构中,设计了多个微处理器,制作了自己的CAD系统,获得了数百万美元的硬件专利,创建了colorForth ...等。


因为因素,我说“ Slava”。


22

约翰·巴科斯(John Backus)-Fortran

Stephen Wolfram-Mathematica配套

Sid Meier-文明

蒂姆·伯纳斯·李-万维网的发明者

菲尔·齐默尔曼Phil Zimmermann)-PGP


《魔兽世界》是一款很棒的游戏,无法想象只用一个人就能完成所有任务……令人惊叹
DFectuoso

我从没看过续集,但第一个总是归功于他。

3下注,无任何评论。真正讲述了一个人的性格。此外,世界上可能会像这样困扰着他们的事情,超出了我的范围……

22

这不仅仅是一种感觉,这是弗雷德里克·布鲁克斯(Frederick Brooks)写的20周年纪念版《神秘人月》中的一篇文章。我猜这实际上是非常常见的情况。无论如何,软件开发人员的个性使自己变得有些独立。我不知道主要的例子,但是您可能对我上面链接的书感兴趣。


您的想法并不遥远,但MMM的主题是“向较晚的软件项目中增加人力,使之更晚”,也称为布鲁克斯法则。
比尔蜥蜴

MMM上的“ No Silver Bullet”文章说:“经过研究后发现,最优秀的设计师可以更快,更小,更简单,更清洁,更省力地生产出结构。伟大与一般的设计方法之间的区别在于订购数量级。”
Esko Luontola,2009年

实际上,这只是那篇文章的主题。

但这是每个人都记得的那个!

首先,NSB的主题是“在两年内,将不再有任何技术或实践可以充当“银弹”,并使程序员的生产率提高两倍。其次,该文章甚至没有出现在原始MMM中。它被添加到20周年纪念版中。
比尔蜥蜴


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.