166

Lately I have been learning of more and more programmers who think that if they were working alone, they would be faster and would deliver more quality. Usually that feeling is attached to a feeling that they do the best programming in their team and at the end of the day the idea is quite plausible. If they ARE doing the best programming, and worked alone (and more maybe) the final result would be a better piece of software.

I know this idea would only work if you were passionate enough to work 24/7, on a deadline, with great discipline.

So after considering the idea and trying to learn a little more, I wonder if there are famous one-man-army programmers that have delivered any (useful) software in the past?

DFectuoso
  • 111
  • 12
    Net productivity drops when hours go to high. Don't assume the best of the best are there merely because they invest more time. If that were the case, anyone could become a great programmer. – Brian Feb 09 '09 at 20:31
  • @Brian, well yea, i kind of a agree, but your know being persistent and giving a lot of time to (learning and developing) programming is a huge part of the key element of all the famous software – DFectuoso Feb 09 '09 at 20:41
  • Wow it will be interesting who of this guys will get more votes, its quite an impressive list – DFectuoso Feb 09 '09 at 21:00
  • 5
    Most of the answers are wrong. Anders didn't build C# or Turbo Pascal all by himself, for example. – Robert S. Feb 10 '09 at 02:01
  • 11
    Its weird that the number of votes to close is constant, while this question have 22 up votes and 14 favs, it only needs 4 votes to have it closed huh? – DFectuoso Feb 10 '09 at 17:21
  • @Brian: "Net productivity drops when hours go to high"... that's a statistical truth but there's no reason it's a universal one. Passion makes hours fly by. –  Feb 18 '10 at 15:06
  • I offer these counterpoints to your assertions/assumptions: 1. A lot more programmers /believe/ they do better work than their colleagues than /actually/ do. 2. Inflated egos can be the reason they prefer to work alone. 3. It is a truly rare individual who is insanely smart, incredibly productive, and is well liked by the people who work with her/him. – dthorpe Feb 13 '11 at 04:04
  • @DFectuoso -- perhaps you could bring this up in one of the "meta" questions like this one [here][1] [1][http://meta.programmers.stackexchange.com/questions/2389/how-long-will-this-forum-survive-if-the-moderators-keep-closing-questions]. – James Anderson Oct 12 '11 at 01:40

111 Answers111

273

John Carmack

The guy that wrote the engine for the Doom games, Wolfenstein, the Quake games, etc. Read Masters of Doom, it is a great history of what he and John Romero have done.

  • 4
    Just don't ask about Daikatana :) – tsilb Feb 09 '09 at 23:12
  • 18
    Daikatana was done by Romero after he left iD, don't think there was much Carmack involved ;-) –  Feb 09 '09 at 23:17
  • 2
    Carmack wasn't involved with Daikatana at all. That was Romero and his own company. Read Masters of Doom, you'll find Romero did some pretty good work in the beginning. – Jamie Penney Feb 10 '09 at 00:19
  • So its not really fair to say Carmack was a one man army. –  Feb 10 '09 at 01:19
  • Romero didn't do any of the graphics engine stuff AFAIK. That was purely Carmack. – Jamie Penney Feb 10 '09 at 02:58
  • 4
    I used to read J. Carmack's blog/finger posts in the early 90's and what few papers he wrote... He is and still one of the Einsteins of video game engines and he's literally a rocket scientist :) – David Feb 10 '09 at 05:44
  • 2
    I would agree, think John Carmack will voted for one of the best programmers out there. –  Feb 10 '09 at 07:20
  • 1
    Carmack's games are as games rather dull but his programming is somewhere near insanely impressive and godlike so his name has to be upvoted. –  Feb 10 '09 at 07:41
  • i ve read wiki, he is great –  Feb 10 '09 at 11:21
  • @Esko "Carmack's games are as games rather dull but his programming.." I'd say yes, but they're dull in an attractive way. – mlvljr Apr 02 '10 at 10:06
  • 1
    Carmack is also building sub-orbital spacecrafts. Rocket science is actually not rocket science for him... – elmattic Oct 27 '10 at 12:03
  • Is that a one-man show? He cooperated a lot with other people to get stuff done, for example he worked with Michael Abrash o the first Quake engine.. – Nils Feb 13 '11 at 10:54
230

Donald Knuth

  • 2
    Indeed. He wrote every line of code of TeX himself, and I believe the same is true of Metafont as well. [He often have discussions with other people about important decisions, but all the code was written alone.] – ShreevatsaR Feb 10 '09 at 04:50
  • 19
    oh. don't forget that he wrote TeX ON PAPER in a notebook completely then just 'typed it in'... oh and he invented a new style (Literate programming) in the process too. – Kevin Won Feb 18 '10 at 04:12
  • 1
    +1 Knuth - it easy to overlook that the second word of The Art of Computer Programming is "art" when the whole book is an extremely dense manifesto of highly efficient data structures and algorithms. But it really and truly is an art form rather than a science or engineering discipline. –  Feb 18 '10 at 04:19
  • 2
    Can't afford not to upvote any question where Don is the answer – vrdhn Feb 13 '11 at 11:53
  • 2
    Also: Any guy that pays for his own mistakes (literally! http://en.wikipedia.org/wiki/Knuth_reward_check ) is awesome in my book. He takes the concept of "one man army" to 11. – Dan Esparza Oct 05 '11 at 16:38
163

Steve Wozniak pretty much was apple's programming staff for the first bit.

Jason Baker
  • 9,615
  • can't believe I didn't think of the Woz. +1 – Matt Briggs Feb 09 '09 at 20:50
  • 8
    He designed their early hardware too. – Bill the Lizard Feb 09 '09 at 20:55
  • Woz did some of the early Apple programming, but he was really a hardware guy. –  Feb 10 '09 at 01:24
  • 3
    His book 'iWoz' is an interesting read. He is one of the greatest inventors of his era. –  Feb 10 '09 at 06:38
  • Honestly I can't help feeling that Apple at that time were not very special or even very innovative. I am almost sure there were greater minds at other companies. Woz has just been boosted by modern day Apple hype, mythology and in part history fabrication. – kotlinski Feb 10 '09 at 23:26
  • 2
    I remember Woz being known as pretty hot stuff back in the 80s so if it's hype, it's been going on a loooooong time. –  Feb 17 '09 at 07:36
  • 1
    'Some of' the early software? In the Apple ][ with Integer BASIC, practically every byte was by Wozniak, IIRC. I don't know of any other personal computer ever sold for which that was true. –  Feb 04 '10 at 05:53
  • 2
    Legend has it Woz hand-assembled Integer BASIC into 6502 machine code using pencil and paper, then typed those bytes into the Apple II monitor software, which has also designed, and then saved those bytes to a cassette interface, which he also designed. All so that he could implement Atari Breakout in BASIC to show off at the hobby club. – Darren Feb 12 '11 at 23:27
  • 4
    @Darren: that's more than legend. I've seen a photocopy of part of it -- all hand-written assembly code, with machine code (also hand written) next to it. The thing to keep in mind, however, is that at the time that wasn't terribly rare (I did the same several times). – Jerry Coffin Feb 13 '11 at 03:22
161

Richard M. Stallman (RMS). While known recently for political rants about closed source software, in his day he was quite the programmer. He single handedly kept up with commercial lisp machine code for quite some time. Emacs and gcc are some of the things he created.

There's a great description of him in the book in Hackers by Steven Levy.

Steve Rowe
  • 421
  • 1
  • 3
  • 4
  • That's a great book! –  Feb 09 '09 at 22:19
  • I liked his work with emacs, but it is too bad I haven't heard about any other projects. –  Feb 10 '09 at 07:17
  • 9
    Berlin: like gcc, gdb and make? –  Feb 10 '09 at 07:26
  • 10
    RMS was a one man army keeping up with commercial LISP machines only because he was the only one nuts enough and able to do it :) He did the initial emacs on his own because the concept was just too complex to articulate to anyone else.. but after that, he happily worked with others. –  Mar 04 '09 at 04:39
  • I didn't realize he wrote gcc as well. Learn something new every day. – Jason Baker Mar 07 '09 at 00:38
  • 1
    In his defense, Symbolics people would design Lisp machines probably sitting around offices and tables, allowing RMS to hack up imitations on MIT systems of their designs and feature decisions. He would become a one-man army again to keep Emacs apace with the XEmacs fork. –  Mar 24 '09 at 19:23
  • 11
    http://xkcd.com/225/ – Jason Jun 19 '09 at 08:33
  • Even the original MIT Emacs was a collaborative effort, incorporating the work of many developers in an extended community. One of the early "open source" efforts, as Emacs was only distributed with the source. – John Saunders Feb 12 '11 at 22:43
143

Chris Sawyer. He had a little help with music and graphics, but otherwise RollerCoaster Tycoon was all him. Amazing, especially given the physics engine. Last but not least, the entire game was written in assembly language.

  • 14
    Don't forget Transport Tycoon, which probably has a bigger cult following than RCT. –  Feb 09 '09 at 20:38
  • 7
    All in assembly too! – Malfist Feb 09 '09 at 20:41
  • @Chris: And I was in my 30's and playing that game. Are you trying to make some of us feel old? –  Feb 09 '09 at 21:34
  • I just thought that Chris was like 15 now until I checked his profile. Someone stole some years somewhere. ;) –  Feb 09 '09 at 22:34
  • 1
    Fastest gun in the West --- you beat me by 5 seconds :) Good thing you added the thing about assembler --- that's what I still find the most striking thing :D –  Feb 10 '09 at 07:13
  • Erik: Indeed, just look at OpenTTD. –  Feb 10 '09 at 07:52
  • 1
    That OpenTTD exists is a testament to how enjoyable Transport Tycoon was. –  Feb 10 '09 at 15:34
  • Is it sad that I still play that game from time to time? –  Feb 11 '09 at 18:44
  • 4
    Had no idea that was built with ASM. Amazing. –  Feb 12 '09 at 06:35
  • is there any reason other than "because I can" he ever gave for doing it in ASM??? – Epaga Feb 12 '09 at 10:40
  • Because computers were slow back then, and this game didnt use a videocard to make fast moving first person roller coasters! –  Feb 13 '09 at 17:49
  • Simucal++. I remember TTD as one of the most stable games I could play on my mid-range Win95 Pentium 1. Running in a fullsize DOS window, I remember it hanging once, total loss of keyboard and mouse - for about six minutes. Then it just came back to life and carried on trucking. Unbelievable. – Gaurav Feb 13 '09 at 17:52
  • +1 Erik for 1st person to mention Transport Tycoon. I loved that game liked 10 years ago and had the urge to play it a year ago, so installed it and played it - still good :) –  May 11 '09 at 10:43
  • Wow, I loved RCT, I can't believe it was done in assembly. I need to go play it again just based on that fact! –  May 14 '10 at 02:55
  • Written in what?! –  Feb 13 '11 at 00:06
  • He wrote that in assembly?! Jesus Christ. I think I need to go boil my brain now. – Maxpm Feb 13 '11 at 00:49
  • OpenTTD development is pretty impressive as well-- it was all started by one guy who disassembled the game and translated the entire thing into C. – sysrqb Feb 13 '11 at 01:49
140

Linus Torvalds

  • 11
    Linus is more of a manager type then pure dev. the first revision of linux really sucked, it was only after he got others involved that it got good – Matt Briggs Feb 09 '09 at 20:40
  • 3
    Exactly. Git is the same way. Linus needs a team :) –  Feb 09 '09 at 20:47
  • ditto, and Linus would be the first to tell you where his strengths lie, and dev is not his best skill. Great guy, btw. – jro Feb 09 '09 at 20:47
  • Agreed - but there's no disputing that he's famous and has delivered useful software :) – Andy Mikula Feb 09 '09 at 21:17
  • Development is a good skill of Linus. He designed and wrote the initial version of Git in about 2 weeks, which was functional. –  Feb 09 '09 at 23:00
  • 1
    Linus doesn't belong here... he doesn't believe in one-man-army programmers –  Feb 10 '09 at 01:51
  • "the first revision of linux really sucked" If you look at the original code I agree. It is suck a mess and probably still hurts the Linux kernel today. And I still wonder if the monolithic approach was the best way to go. –  Feb 10 '09 at 07:21
  • 9
    Well, Linus is the army. Whatever he starts, the huge army appears out of nowhere and produces something huge. So, no Linus, no army :) – Marko Feb 10 '09 at 15:41
  • Linus wrote his initial kernel on his own because only he appreciated the monolithic design at the time. Once it was out, he happily welcomed other contributors. I think the OP wants examples of a consistent one man army .. someone who just always wants to work alone. –  Mar 04 '09 at 04:41
  • 21
    Linus's success is based on not being a one-man-army. The GPL was a very important decision of his. –  Mar 24 '09 at 19:24
  • 2
    http://xkcd.com/225/ – Jason Jun 19 '09 at 08:34
  • @tinkertim - there are no such people. Working with others and being ready to compromise is as improtant as programming knowledge itself. The ones you think that always work alone are just the ones that were much more in the spotlight, so you never thought about the others. –  Aug 26 '09 at 14:39
98

Bill Joy - wrote vi as well as csh, rlogin, rsh, and rcp

  • 76
    Someone buy that man a dictionary! –  Feb 09 '09 at 20:54
  • 3
    Some might consider those programs to be a good reason to use the word infamous instead. Or at least vi and csh. ;) – Chris Charabaruk Feb 09 '09 at 23:33
  • Wasn't Java developed by James Gosling? – Bruce Alderman Feb 20 '09 at 15:13
  • 3
    Not to mention the TCP/IP stack for BSD: http://archive.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index2.html –  Oct 01 '09 at 01:46
  • @Chris Charabaruk: try doing some editing with ed sometime. It's not everybody's cup of tea by any means, but Vi is still a tremendous improvement over its predecessors (and not a few of its would-be successors as well). – Jerry Coffin Feb 13 '11 at 03:25
97

Just for completeness (not really competitive with today's programming "heros", but truly a "one-man-army" in her times ;-): Ada Lovelace

93

John Resig, creator of the jQuery javascript framework.

HenningJ
  • 416
Sampson
  • 503