Subject: Re: good guide to programming style
To: None <netbsd-help@NetBSD.org>
From: Simon Truss <simon@bigblue.demon.co.uk>
List: netbsd-help
Date: 01/23/2007 12:20:02
George Georgalis wrote:

> Unfortunately "good" programming is not something I can just define
> in a short training session. And, it's too easy (and painful) to
> just identify poor programming techniques or mistakes.  So, I'd
> like to put some kind of training together and was wondering if
> anyone here could provide some interesting websites to help the
> process?

Good list of links, not seen all of them before.

They sound like abstract problem solvers so help them link their work to 
software engineering discipline, include something like design patterns 
and basic design techniques such as abstract data types and OO.

Make sure they are familiar with the basic tools, version control, bug 
tacking, test methodology, performance analysis etc. You started on that 
with unix philosophy and shell scripting.

They are experts in their field so they really need an overview of 
techniques and strategies. Introduce the main concepts explaining when 
and why they are useful, leave them to work through the detail of copy 
constructors and finite precision of float and doubles. All this needs 
to be backed up with copious detail such as standards documents and 
reference material.

Might be worth checking out computer science departments web sites, they 
often have course material online.

Great books:
Numerical Recipes
Design Patterns (Gang of Four)
Computer graphics principles and practice.
Knuth: The Art of Computer Programming

http://c2.com/doc/oopsla89/paper.html A Laboratory For Teaching
Object-Oriented Thinking
http://ootips.org/ Object Orientation Tips
http://www.softdevarticles.com/

Simon