It's a bit of a shame that the world at large doesn't get to see his code in NT. It is by far the most gorgeous C code I've seen. In fact, in the beginning, there have been times when I used to look up his code just to feel inspired (think of it as 'code inspiration').
Getting to meet him and work in the same team as him for the last few years has definitely been the highlight of my Microsoft career.
Also, my wife (HN username:arithmetic) will tell you that getting a autographed copy of Showstopper was one of the best gifts I've gotten her :)
Cutler is definitely under appreciated, but I agree he is a one man army in terms of what he has created.
I say under appreciated, because he seems like a rather quiet figure who does not do a lot of showboating or seek attention and because of those things he tends to be forgotten.
Also, is he not the lead developer on the Windows Azure Platform?
And that is not the whole of his career. If I am not mistaken, NT is the third os in which he has been the head dude: RSX-11/m, and VMS being the other two.
Yup. He also wrote a compiler book in the 80s. He once gave me a mini-lecture on old architectures from the 70s and how 'we kids had it easy these days'. It was awesome, even if I didn't catch any of the content until he started talking about x86 :)
That turns out to be one of the better engineered compilers, at least according to David Conroy (author of MicroEmacs, author of the first handful of compilers for Mark Williams, hardware engineer for DecTalk and who should be on this list).
I'm surprised to see Markus Alexej Persson (aka Notch) missing from that list for Minecraft. Between doing the coding and art, he's demonstrated that he can basically do it all.
Agree. Similarly for Tarn Adams (Dwarf Fortress) - I guess not so much the art in that case, but programming a cult hit like that by yourself is pretty impressive to me.
Really? Around the time of RollerCoaster Tycoon (and beforehand) games were written in Assembly language. I was writing games in assembly language back in the 80s and early 90s.
Certainly if you wrote games for the Atari ST, Amiga or any of the 8-bit platforms you would've written it in assembler. Compilers just weren't efficient enough at producing the fastest code possible at the time.
It's particularly odd because he was writing for DirectX/x86, and thus had lots of power compared to the contemporary console hardware. Wolf3D(1992) used C; Ultima 7(also 1992) used C++. RCT came out in 1999, when this transition was essentially complete, with the possible exception of a few holdout platforms, e.g, Game Boy Color.
On the other hand, Sawyer did have some rationale to continue going all-ASM, since he had been building up the engine code over the course of the decade, and when he first made it for Transport Tycoon(1994), hand-optimizing the rendering code was probably the only way to achieve a smooth high-res isometric renderer.
You raise a valid point - certainly for the Amiga 500 you knew you only had a certain number of platforms and CPUs and you could even make snap judgements like, "No-one's going to run Stunt Car Racer on a top-end Amiga 3000." - thankfully cookie didn't and Stunt Car Racer was awesome regardless of platform, but Mercenary on the other hand was never built with an 060/66 Blizzard board in mind and was impossible to play.
I think the PC world encouraged the use of higher level languages as waiting for VBL's became more important than squeezing all the juice you could because of the potential variations.
Thanks for your comment, it's inspired a new sense of respect for 486 progrmamers (25/33/50? SX, DX? - we can't worry about that, we have TIE fighters to render!)
Also, CPUs at the time were simple enough that you could just add up instruction timings and know how fast the code would run. But now you can get dramatic performance improvements by making assumptions about how today's microcoded superscalar pipelines happen to invisibly schedule instructions out-of-order, and compilers automate the required bookkeeping.
The Pentium Pro was not the average CPU for playing Roller Coast Tycoon though. Although in the process of writing this comment I found out that the P5 series was the first Superscalar processor and that Roller Coaster Tycoon needed at least a P90, so it may well have taken advantage of it.
Also, I know some programmers who generally program best if just left alone to do their job, instead of trying to get the 'team' to decide everything. Left to their own devices, they end up with the 'right'* answer in much less time than if forced to argue design with a team and then work with a team to implement it.
I know others that work best in a team and definitely benefit from talking out the entire design beforehand, and then coding pieces of it together.
So yes, there's a very good chance that those programmers who think they work better alone actually do work better alone. It's probably experience talking, and not just hubris.
* (Yes, I know there's no 1 'right' answer. The answers they come up with are always as good as they get, though.)
I'm so surprised Fabrice Bellard is so far down. The guy is absolutely one of the greatest developers I've ever ever had the luxury of reviewing the code of.
By comparison, DJB is a force of nature when it comes to programming, but reading his code can be a little difficult (try understanding qmail's source base as an example). I have to admit though, _why's is the most readable of all truly great code, despite the fact that it's at least mostly in ruby.
Agreed, and if you're talking about an army, DJB is a wonderful example. Not only can he write iron code, but he can successfully sue the government when they try to restrict it, while representing himself: http://en.wikipedia.org/wiki/Bernstein_v._United_States
"Some of his most notable contributions were the vi editor, NFS, and csh. Joy's prowess as a computer programmer is legendary, with an oft-told anecdote that he wrote the vi editor in a weekend. Joy denies this assertion.[2] Joy's accomplishments have been sometimes exaggerated; Eric Schmidt, CEO of Novell at the time, inaccurately reported during an interview in PBS's documentary Nerds 2.0.1 that Joy had personally rewritten the BSD kernel in a weekend."
"Joy was also a primary figure in the development of the SPARC microprocessors, the Java programming language, Jini / JavaSpaces and JXTA."
"BBN had a big contract to implement TCP/IP, but their stuff didn't work, and Joy's grad student stuff worked. So they had this big meeting and this grad student in a T-shirt shows up, and they said, "How did you do this?" And Bill said, "It's very simple — you read the protocol and write the code."
> "How did you do this?" And Bill said, "It's very simple — you read the protocol and write the code."
Love it. Reminds me of the Feynman Algorithm mentioned here on HN a few days ago. Regarding how Feynman came up with so much brilliant, groundbreaking work, that the steps he supposedly followed were:
I posted it on the page but one guy some here might like:
L. Peter Deutsch for writing the PDP-1 version of Lisp at the age 12 (he was the son of an MIT prof and was hanging out with MIT Hackers back in the 60s) he also wrote Ghostscript
Yes. James Clark's most impressive work was nsgmls, which was a correct and comprehensive SGML parser (one of the few that ever existed). The annotated SGML standard was 688 pages long, and it was still missing huge amounts of critical information.
I know some truly amazing Lisp hackers—some of the most productive programmers I've ever met—who considered nsgmls an amazingly and slightly disturbing feat.
I'm sad to see that there's not been any mention of Geoff Crammond (Revs, The Sentinel, Stunt Car Racer, Formula One Grand Prix). He was singled out even 'back in the day' for being the ultimate one-man army when it came to game development.
It's a bit of a shame that the world at large doesn't get to see his code in NT. It is by far the most gorgeous C code I've seen. In fact, in the beginning, there have been times when I used to look up his code just to feel inspired (think of it as 'code inspiration').
Getting to meet him and work in the same team as him for the last few years has definitely been the highlight of my Microsoft career.
Also, my wife (HN username:arithmetic) will tell you that getting a autographed copy of Showstopper was one of the best gifts I've gotten her :)