[Beowulf] Re: "hobbyists"

Lawrence Stewart larry.stewart at sicortex.com
Fri Jun 20 11:03:25 PDT 2008


On Jun 20, 2008, at 11:12 AM, Mike Davis wrote:

> Karen Shaeffer wrote:
>> On Fri, Jun 20, 2008 at 02:41:42AM -0400, Robert G. Brown wrote:
>>
>>>  c) some mix of mentoring by a guru and working your ass off.  A  
>>> bright
>>> and motivated person can teach themselves C, but I'll be damned if I
>>> think that they can teach themselves to code C >>well<< in less than
>>> years of painful mistake-driven lessons unless they have a guru or  
>>> some
>>> other way of learning some of the simple wisdom that makes it  
>>> possible
>>> to turn out decent, readable, code.  And even with a guru and  
>>> working
>>> quite hard, it still takes years, just fewer years.
>>>
>>
>> Today it is very straight forward. The 2.6.x linux kernel is an  
>> exemplary
>> body of superb C programming code. All you need is motivation and a  
>> network
>> connection. And the linux kernel email development lists have  
>> hundreds of
>> programming guru's pontificating and standing on soap boxes daily.
>>
>> Thanks,
>> Karen
>>
>
> Linus made this statement or a very similar one at a Linux Expo at  
> Duke back in 1998. In his version, he included the advice that if  
> you wanted to write good code, you should start by reading good  
> code.  Then  he went on to recommend the linux kernel.
>
> Reading code is IMHO one of the most important parts of learning to  
> write good code. It doesn't matter if the target language is f77, C,  
> or even (gulp) java. Reading well written code will help one to  
> understand how to construct it.
>
>
>
> Mike
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

There are many positive things to say about the Linux kernel, but  
"good code" is not one of them.

Well that is too broad an indictment -  There is good code in there,  
but the level varies widely.
Have you <<looked>> at the TTY drivers? Have you counted the number of  
"<< 9" s in the block code?
Tried to figure out which includes are actually active?  Tried to  
figure out which of the 17 ways to do
something is the "approved" one?

I have one of the copies of the "Lions" book - the annoted sources for  
V6. That is good code.  Written by
one or a very few exceptional programmers, not an agglomeration of a  
zillion patches.

And don't get me started about the ways in which Linux is ill suited  
to HPC. . . . well actually that
would be a pretty good debate for this forum.

The kernel is very reliable compared to pretty much anything, and that  
is worth a lot, but it isn't the place
to learn programming style.

-Larry








More information about the Beowulf mailing list