Fog Creek Software
Discussion Board




John Carmack Programming Skiils


Is it true that John Carmack is among the "best" programmers in the world ?

Is he smarter programmer than Charles Simonyi for example ?

StormBringer
Tuesday, April 29, 2003

They are both really great programmers.

Li-fan Chen
Tuesday, April 29, 2003

I don't buy into all this crap about the "best" programmer or this programmer is better than that one.  It's literally a bunch of BS.  I am just as good a programmer as John Carmack or Joel Spolsky or Charles Simonyi or whatever "bigname" you can think of.  Do these people magically write "better" code than everyone else.  No.  They work at it just like you and I.  In the end there are no "best" programmers, there are only ones that persevere to solve the problem at hand and ones that are lazy and give up.  When I was going to school, I would sit in the computer lab and people would come up to me and ask, "Can I ask you a question? You're the best programmer here."  I would then help them out and they would go on there merry way.  They were lazy.  They didn't want to pursue the problem any further and knew that I would answer their questions for them.

I think a more appropriate title to this post would be, 'John Carmack - More Perseverance than I could muster.'  Unless of course you don't consider yourself lazy, then you should'nt have made the post to begin with.

AnyMouse
Tuesday, April 29, 2003

Charles Simonyi is the dumbest programmer ever - he invented the abomination known as Hungarian Notation.

To compare someone who writes code that is as good as what Carmack writes is blasphemy. ;)

And the horse you rode in on
Tuesday, April 29, 2003

AnyMouse,
Are you saying that we all have equal abilities? We are all worth the same? It's just random luck that some people (always the same people) are at the ends of the bell curve? You then are a commodity with nothing to offer. 

Ayn
Tuesday, April 29, 2003

Clearly I'm the best.  How else would I have all this time to post?


Tuesday, April 29, 2003

While best is hard to measure, I think its incorrect to say that there are different levels of skill.  I vaguely remember something in peoplesoft about 10% did 50% of the work. 
I have to assume youre being facetious, because I cant imagine anyone really believing that.

The best programmer currently sitting in my chair.
Tuesday, April 29, 2003

Measured in economic productivity, John Carmack is undoubtedly one of the most successful programmers ever. His code (together with the artistic contributions from the other id software staff) has brought in ungodly sums of money. Carmack now runs his own little space program, even...

However as others point out, his success is probably due to perseverance and hard work just as much as "genius insight." He does seem to stay ahead of the curve in terms of his software architecture and algorithms, but I'd say that is mostly due to his willingness to study problems in great detail and hack around until he finds a good solution.

Carmack might be the opposite of what Joel calls an "architecture astronaut." He doesn't care what buzzwords apply to his software, as long as it works.

If you go and read some of John's code, it's actually pretty ugly. There's plenty of duct tape and chewing gum in Quake as well as insightful design. CS purists would barf over his primitive coding style. But you can't argue with his results!!

Dan Maas
Tuesday, April 29, 2003

If John Carmack was such as brilliant programmer, then why does each new version of Quake require a totally new, completely rewritten 3D game engine?

runtime
Tuesday, April 29, 2003

Because he can.

Nat Ersoz
Tuesday, April 29, 2003

who is he anyway?

Not-a-trend-follower
Wednesday, April 30, 2003

His biography is coming out pretty soon:

http://www.randomhouse.com/randomhouse/catalog/display.pperl?0375505245

(holy cow, amazon.com is DOWN right now...)

Dan Maas
Wednesday, April 30, 2003

runtime,

Its simply because with each generation of quake or doom video cards improve leaving more options and possibilities to be filled.

The latest issue of wired (
http://www.wired.com/wired/archive/11.05/doom.html ) does mention that John thinks that the latest engine will be good enough for a far few years. The latest (Radeon 9xxx, Nvidia FX) cards can be programmed directly so far fewer tricks are needed to do get a desired effect, for instance a  fluorescent light can now be programmed to ensure any reflections are fluorescent rather than having to find workarounds to hide previous limitations on lighting imposed by older cards.

Ben Thompson
Wednesday, April 30, 2003

Michael Abrash, himself no slouch, worked for id during the Quake I project.  As I recall he was also writting columns for Dr. Dobbs at the time (he moved up a few notches from Programmer's Journal!) and when telling a story about something, he mentioned Carmack's amazing ability to work flat out for long hours with complete concentration in order to solve a nagging problem.

Carmack is a completely self-taught 3D graphics developer and has pretty much brought to life on everyday PCs things that were hard to imagine at one time not so long ago.

And yeah, that Hungarian Notation stuff is one of the biggest loads ever.  Great idea, makes your code look like complete unreadable shit.

Mitch & Murray (from downtown)
Wednesday, April 30, 2003

>If John Carmack was such as brilliant programmer, then
>why does each new version of Quake require a totally
>new, completely rewritten 3D game engine?

I am astonished at the utter lunacy of this statement.

B. Wildered
Wednesday, April 30, 2003

Especially since the answer is so obvious:

To take full advantage of the new hardware capabilities that have appeared in between every generation of engines.

Guy Gervais
Wednesday, April 30, 2003

> I don't buy into all this crap about the "best"
> programmer or this programmer is better than that one. 
> It's literally a bunch of BS.

Do you know what litterally means?

Moe and Ron
Wednesday, April 30, 2003

Literally means factual.  Which is what I meant to say.  Your spelling of the word is wrong.

AnyMouse
Wednesday, April 30, 2003

His spelling may be wrong but he knows the correct usage of the word, which is more than you do.

Stephen Jones
Wednesday, April 30, 2003

Bear in mind also that Simonyi's main contribution was providing an organizational backing that enabled tens or hundreds of people to work on software at the same time. I've heard it said that he was to software what Henry Ford was to automobiles.

And as for Hungarian being unreadable why is cboName more unreadable than NameCombo?

Stephen Jones
Wednesday, April 30, 2003

>> "His spelling may be wrong but he knows the correct usage of the word, which is more than you do."

Ever hear of a metaphor?

AnyMouse
Wednesday, April 30, 2003

Haven't hear of one, but I have heard of one.

Steve Jones (UK)
Wednesday, April 30, 2003

I love grammar nazis and how they add nothing relevant to the discussion! They're super!

Scotty
Wednesday, April 30, 2003

Don't feed the trolls, folks.

Yes, John Carmack is an absolutely amazing programmer.  He used graphical tricks to accomplish something that people literally claimed was impossible.

Perhaps some folks don't remember Carmack's history.  Back during the dim, dark days of the 90's, John Carmack wrote the game "Wolfenstein 3D", the original first-person shooter.  Experts claimed that it was impossible to display real-time 3D graphics on a 286, but Wolfenstein 3D did.  (It wasn't "true" 3D, but it still amazed everyone at the time.)  Carmack and company went on to write DOOM, the most popular computer game to that date.

Is John Carmack more productive than every other programmer?  I don't know.  But he's certainly one of the most innovative and creative thinkers in programming, in terms of coming up with brilliant solutions to technical problems.

Brent P. Newhall
Wednesday, April 30, 2003

I've occasionally looked into what Carmak was doing, since he's such a great programmer. I've saved the following quotes from him. Basically he's all about working really hard.

"Putting creativity on a pedestal can also be an excuse for laziness. There is a lot of cultural belief that creativity comes from inspiration, and can't be rushed. Not true. Inspiration is just your subconscious putting things together, and that can be made into an active process with a little introspection.

Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better." - John Carmack

"An interesting question: is it easier to motivate a learned individual that never does anything, or educate an ignorant individual that actually produces things?" - John Carmack

Glenn
Wednesday, April 30, 2003

>> "Haven't hear of one, but I have heard of one."

Did it occur to you that you're digging yourself in deeper all the time.

>> "I love grammar nazis and how they add nothing relevant to the discussion! They're super!"

And you are adding something?  Beam me the f*** up Scotty or should I say f*****g jacka**.


Wednesday, April 30, 2003

The problem with misusing literally is that you think you are saying one thing, while you are actually saying another.

That is, you are attempting to make something metaphorical, when you are actually doing the opposite.

It's not grammar fanaticism. It's using words correctly so you are not misunderstood.

Matt Christensen
Wednesday, April 30, 2003

I aint much on book learning and such.


Wednesday, April 30, 2003

For more than a hundred years, critics have remarked on the incoherency of using literally in a way that suggests the exact opposite of its primary sense of “in a manner that accords with the literal sense of the words.” In 1926, for example, H.W. Fowler cited the example “The 300,000 Unionists... will be literally thrown to the wolves.” The practice does not stem from a change in the meaning of literally itselfif it did, the word would long since have come to mean “virtually” or “figuratively”but from a natural tendency to use the word as a general intensive, as in They had literally no help from the government on the project, where no contrast with the figurative sense of the words is intended.


Wednesday, April 30, 2003

It's a perfectly cromulent word.

The Word
Wednesday, April 30, 2003

You really should give credit where credit is due when posting a quote like this:

http://www.bartleby.com/61/91/L0199100.html

Michael Eisenberg
Wednesday, April 30, 2003

I wrote that for the American Heritage Dictionary thank you very much.

 
Wednesday, April 30, 2003

Ah, you must be the famous "et al." listed in the bibliography.    Even more prolific than "ibid" and "anon".  My apologies. :)

Michael Eisenberg
Wednesday, April 30, 2003

Arguing on the Internet...

http://www.fohguild.org/forums/showthread.php?s=5be553d272f5d91037b4b170c376ea0f&threadid=6733

FYI not mine
Wednesday, April 30, 2003

Yeah, but would I be literally retarded?

Matt Christensen
Wednesday, April 30, 2003

Best programmers? That's the PR line. "Very good programmers adept and/or inadvertently successful at positioning themselves for widespread recognition" is more like it. Not to be trollish, but it's incredibly naive of some folks here to not "get" this fact almost instantly.


Sometimes this homage to a nonexistent "star system" in this industry strikes me as juvenile to the max.


The people being cited in this article as examples of "best" programmers all have one or more things in common (even Joel, and I don't mean that in a disparaging way). They all worked on high profile products that were mass-distributed (this seems to be mandatory); they were solo acts who did something singular and crucial for that product's release (also mandatory); and they generally filled some role that cemented their names in people's minds (writing articles, for instance.)


There are countless excellent programmers in this industry who toil in obscurity. You haven't heard of them because they don't write, their names aren't hitched to widely known products, and they may not live in an area with a strong technology base. They may have filled a virtual Simonyi's or John Carmack's role on a relatively obscure vertical market product for the booming golf ball washing telemetry industry, for instance. :-)


However, I do tend to believe that the "best" programmers wind up filling key roles on important products, regardless of their mastery of wider fame. Someone very good simply won't settle for "understudy" roles. But that very good to excellent person may want a quality of life that precludes living anywhere near downtown Palo Alto ... so you have an industrious person supporting his or her family, and working way too hard in some "fly over" area to mess with submitting articles to programming magazines.

Bored Bystander
Thursday, May 01, 2003

I agree with Bored 100%. For example, most people would be hard pressed to name one programmer from Ultima Underworld, a product that was released two months before Wolfenstein 3D and was much more advanced from both a gameplay and technological perspective.

Gerald
Thursday, May 01, 2003

"If John Carmack was such as brilliant programmer, then why does each new version of Quake require a totally new, completely rewritten 3D game engine?"

Because that is the best way to develop games software. Code re-use between different generations of games harder is just as ludicrous as re-using code from a ZX81 on a Athlon-1600.

Mr Jack
Thursday, May 01, 2003

I think its probably time to mention Hitler.

Simon Lucy
Thursday, May 01, 2003

I thought this only worked on Usenet?

Chris Nahr
Thursday, May 01, 2003

Hitler was killed in Castle Wolfenstein at the last level... don't you remember ?

Phil
Thursday, May 01, 2003

I thought "Hitler" was the next generation after "Presidential Election 2002" :)

Stephen Jones
Thursday, May 01, 2003

There was a presidential election in 2002 ??

runtime
Thursday, May 01, 2003

Yes, in many countries. Just not the US.

Joe Grossberg
Thursday, May 01, 2003

Yes there was, and the process was followed properly - even if people ignorant of the process set out in the Constitution refuse to get educated about it. Bush won, Gore lost - luckily.

a.c.
Thursday, May 01, 2003

That was 2000, not 2002. :-p

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, May 01, 2003

"there is no such thing as the 'Best' programmer"

absolutely. But some are better than others and Carmack SMOKES Simonyi IMHO. And they both SMOKE me.

fool for python
Thursday, May 01, 2003

Well put, fool for python.

There are plenty of things that Carmack isn't the best at, even in the programming arena.  Carmack can't write the best AI's.  But he's extremely skilled, and seems to show a natural talent for it.

Brent P. Newhall
Friday, May 02, 2003

Here's a link to a book that details the rise of Carmack and Romero, supposedly to be released at the end of the week:

http://www.amazon.com/exec/obidos/asin/0375505245

anon
Friday, May 02, 2003

*  Recent Topics

*  Fog Creek Home