RE:malloc etc. on DEC Alpha



 >Unfortunately, many programmers (especially among scientists) still
 >think that it is sufficient to run a few test cases to validate their
 >programs. What one should do, and what many people in other fields are
 >already doing, is to think about debugging from the beginning of the
 >design process. Whenever your start to write a piece of code, your
 >first thought should be "How can I check whether I have made a
 >mistake?" Every program unit should be able to test the validity of
 >to remove the tests from production code. Choose variable and function
 >names that are sufficiently different from one another that typos can
 >be caught by the compiler. Use all available tools for checking your
 >code (ftncheck for Fortran, lint for C), and make use of all compiler
 >options that help in debugging (i.e. -C with f77). I could extend this
 >list, but all this has been published before. Whoever really wants
 >to write reliable code can do so with little effort.
 >
 >For some reasons that I cannot follow, scientists seem to ignore the
 >considerable progress that has been made in software engineering
 >during the last decades. Even big and much-used packages are in such a
 >bad shape that they seem to have been written by first-year students
 >as a programming exercise. I have heard excuses such as "I don't have
 >time to learn about programming techniques", but the people saying
 >that seem to have enough time to waste it on endless debugging and
 >on running programs whose results cannot be trusted.
 >I have been working in commercial software development (non-
 >scientific) for more than a decade, and I am sure my
 >company would have been out of business long out if it had
 >this "scientific" attitude towards software development.
 >
 	you should all read a book called "Code Complete" by Steve
 McConnell, published by the Microsoft Press.
 	to quote from the preface:
 The research and programming experience collected in this handbook will
 help you to create higher-quality software and to do your work more quickly
 and with fewer problems. This book will give you insight into why you've had
 problems in the past and will show you how to avoid them in the future. The
 programming practices described here will help you keep big projects under
 control and help you maintain and modify software successfully as the
 demands of your projects change.
 	Si.
 ---
 Simon Kilvington, srk - at - soton.ac.uk