4 ms·
I disagree strongly about your definition of "great programmer". Your definition is of a "somebody who can program".
by Maro 16y ago
I disagree strongly about your definition of "great programmer". Your definition is of a "somebody who can program".
- RBerenguel 16y agoI know a lot of people who "can program" and when confronted with a problem would spend a whole afternoon deciding if they can do it in the main function or need to code separate pieces and then a week to really do it. A great programmer just picks the problem and writes the code that solves it.
- jemfinch 16y agoYou've rather obviously never been exposed to real great programmers. Your "can program" definition is actually describing a really bad programmer, and your "great programmer" definition describes most kids who make it past one semester of high school computer science class.
- RBerenguel 16y agoAs a side note, your 'obviously' probably means that most mathematicians I know are therefore not 'great programmers'. Ok, maybe my definition is flawed. But when they have to do some program to solve anything, they'll find a way to do it.
- RBerenguel 16y agoProbably not to 'real' great programmers. But I've given classes on numerical algorithms for the CS program in our university. None of these guys (and gals) except for one or two out of 70 or 80 will be better than "someone who can program".
- kenjackson 16y ago"Somebody who can program" have written probably 99% of used applications in the world today. From Bill Joy to Donald Knuth to David Cutler to Linus Torvalds to Guy Steele to Jamie Zawinsky to Guido van Rossum to John Carmack, and almost everyone in between. Great programmers somehow only appear to write books and give pristine examples of how you build infinitely extensible architectures.
- Maro 16y agoJohn Carmack produces the most maintainable and readable codebases. I happen to have the Quake3 source code up on my github at, so you can see for yourself: https://github.com/mtrencseni/quake3 https://github.com/mtrencseni/quake3 Donald Knuth is the author of literate programming, which is a framework for writing human-readable programs: http://www-cs-faculty.stanford.edu/~uno/lp.html http://www-cs-faculty.stanford.edu/~uno/lp.html
- kenjackson 16y agoHave you read how each of them actually write their code? Both write them precisely how the other poster noted. And I've read the Quake 3 code extensively. Great code, but certainly not pristine, and I'm sure if you handed it to code review to virtually anyone you know, they'd find a whole bunch of sylistic and architectural issues with it. Like take a look at the playerDie code. You're telling me you wouldn't have said, "Rewrite this?" if you a colleague handed this to you? And yes, Knuth is the author of literate programming, but that's not how the code started out. Read his letters on computer science. Tarjan wrote a similar thing, I think in his ACM Turing Award lecture. I picked those names because they are the best our industry has. But even with that, they all pretty much write code the way the previous post noted.