The situation is so much better for programmers today - a cheap used PC, a linux CD, and an internet account, and you have all the tools necessary to work your way to any level of programming skill you want to shoot for.
John CarmackHonestly, I spend very little time thinking about past events, and I certainly don't have them ranked in any way. I look back and think that I have done a lot of good work over the years, but I am much more excited about what the future holds.
John CarmackIf you aren't sure which way to do something, do it both ways and see which works better.
John CarmackThe idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
John CarmackEverybody's saturated with the marketing hype of next-generation consoles. They are wonderful, but the truth is that they are as powerful as a high end PC is right now.
John CarmackAn interesting question: is it easier to motivate a learned individual that never does anything, or educate an ignorant individual that actually produces things?
John CarmackI wanted to remain a technical adviser for Id, but it just didn't work out. Probably for the best, as the divided focus was challenging.
John CarmackYou can prematurely optimize maintainability, flexibility, security, and robustness just like you can performance.
John CarmackThe cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. ... The trick is to pick the features that don't fight each other.
John CarmackSome cynical people think that every activity must revolve around the mighty dollar, and that anyone saying otherwise is just attempting to delude the public. I will probably never be able to convice them that that isn't always the case, but I do have the satisfaction of knowing that I live in a less dingy world than they do.
John CarmackAt its best, entertainment is going to be a subjective thing that can't win for everyone, while at worst, a particular game just becomes a random symbol for petty tribal behavior.
John CarmackThe Escalation programmers come from a completely different background, and the codebase is all STL this, boost that, fill-up-the-property list, dispatch the event, and delegate that. I had been harboring some suspicions that our big codebases might benefit from the application of some more of the various โmodernโ C++ design patterns, despite seeing other large game codebases suffer under them. I have since recanted that suspicion.
John CarmackThe Xbox 360 is the first console that I've ever worked with that actually has development tools that are better for games than what we've had on PC.
John CarmackProgramming is not a zero-sum game. Teaching something to a fellow programmer doesn't take it away from you. I'm happy to share what I can, because I'm in it for the love of programming.
John CarmackIt is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today!
John CarmackSharing the code just seems like The Right Thing to Do. It costs us rather little, but it benefits a lot of people in sometimes very significant ways. There are many university research projects, proof of concept publisher demos, and new platform test beds that have leveraged the code. Free software that people value adds wealth to the world.
John CarmackSometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
John CarmackIf you're willing to restrict the flexibility of your approach, you can almost always do something better
John CarmackI really think, if anything, there is more evidence to show that the violent games reduce aggression and violence. There have actually been some studies about that, that it's cathartic. If you go to QuakeCon and you walk by and you see the people there [and compare that to] a random cross section of a college campus, you're probably going to find a more peaceful crowd of people at the gaming convention. I think itโs at worst neutral and potentially positive.
John CarmackIn the information age, the barriers [to entry into programming] just aren't there. The barriers are self imposed. If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to go through with it. We slept on floors. We waded across rivers.
John CarmackFocused, 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 CarmackOne of the big lessons of a big project is you don't want people that aren't really programmers programming, you'll suffer for it!
John CarmackThe important point is that the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don't fight each other.
John CarmackI recognize that I possess a very special intellect, but at the same time, I recognize that I'm lacking in a lot of areas. But being well-rounded is greatly overrated.
John CarmackBecause of the nature of Moore's law, anything that an extremely clever graphics programmer can do at one point can be replicated by a merely competent programmer some number of years later.
John CarmackProgramming in the abstract sense is what I really enjoy. I enjoy lots of different areas of it... I'm taking a great deal of enjoyment writing device drivers for Linux. I could also be having a good time writing a database manager or something because there are always interesting problems.
John Carmack