A big yes to Scott's remarks. The first law of programming is: "Write as you would be written unto".
Apologies to Kingsley. Phil -----Original Message----- From: Scott David Daniels [mailto:scott.dani...@acm.org] Sent: Tuesday, 23 June 2009 7:14 a.m. To: python-list@python.org Subject: Re: Good books in computer science? Chris Jones wrote: > .... Maybe I'm nitpicking, but the one thing I don't understand is how you > practice programming. > > The term makes obvious sense when you're talking about your golf swing, > acquiring competitive driving skills, playing tetris.. > > But programming..?? It is practice in the same way as learning to write well requires practice. Writing good code is a writing skill, as well as a precision of thought exercise. The basics of Computer Science are well-covered in TAOCP Volumes 1-5 (not all yet available in stores :-). You _must know data structures and fundamental algorithms, but after that what you write is a way of expressing clearly what you learn in a field. The field may be as narrow as "the field of Ink-Jet Printer automated testing for models XXX through XYZ of manufacturer Z," but in some sense the programs should clearly expr4ess that knowledge. If you read books on learning to write clearly, even if they are oriented to (non-fiction) writing in English, none of them advocate intensive study of a theory with little practice. You can follow the advice in those books (with a "loose" interpretation of the instructions) and improve your code. What the best teach you is be succinct, clear, unambiguous, and try new things regularly. It is only this variation that can help you get better. Read what others write about how to write code, but remember you will have your own style. Take what others write about how to code as a cook does a recipe: you should be understand what is being attempted, try it the authors way to see what new might surprise you, and carry away only what you find you can incorporate into your own process. How we pull stuff from our brains is as varied as the brains themselves. We bring a host of experiences to our writing, and we should similarly bring that to the programs we write. --Scott David Daniels scott.dani...@acm.org -- http://mail.python.org/mailman/listinfo/python-list