On Fri, Mar 14, 2008 at 11:46:40PM -0500, Gabriel Sechan wrote:
The myth of Linux: that Linus is a great programmer. He isn't. He's good, I'd hire him. But he isn't great.
I suspect we're working with different definitions of what makes a good programmer, then.
What he is is a great manager. He's very good at making decisions that, while perhaps not optimal, are good enough to work. He's good at motivating people to work, and dealing with all the people issues of the job. I'd hire him as a manager quicker than I would as a programmer.
I'm not sure he is all that good at motivating people to work. I'm not sure he'd do all that good of a job on a project that the individual developers weren't already highly motivated on. The attributes you describe, such as making decisions that work are to me what make someone a good programmer. His personality iritates people. He jokes about being a better programmer than anyone else. The other programmers he speaks with understand the humor, but the manager types just think he's a jerk. If I could find people like him, I would hire them in an instant.
The coding style for linux is in that vein. It isn't optimal, mainly because their is no optimal answer, its all personal preference. In fact, 8 spaces is probably one of the least popular choices- most people seem to prefer 2-4. But by choosing one and sticking with it, he avoids all the pointless bitching about it. Actually, picking 8 may be a stroke of genius in that reguard- he makes everyone band together in their hatred :)
The professional kernel developers I know will fight you nearly to the death in support of 8-space-wide-but-tabs-and-only-tabs indentation. Some assume any code indented less is horrible code, without even looking at it. It very much becomes a matter of what one is used to. Having worked for about 6 months now exclusively on kernel code, it's growing on me. I moved from an indentation of 2 to 8. The indentation setting _does_ affect the code I write. With 8-wide indents, there is a tendency to not nest constructs. This works fairly well for the kinds of things you find in the kernel. It doesn't work well for a language like Java or C# where the beginning of a function body is already 2 or 3 levels in. Dave -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
