(OBSOLETE) C Language Programming Resources (OBSOLETE)

This is an obsolete circa year 2001 page that deals with programming in C.
Many of the links and advice are decades old and broken.
Some are timeless. You have to figure out which is which.


Additions and Resources


Algonquin C Programming Information (circa 1999)

Is Clarity More Important Than Correctness?
If your program is clear you can make it correct.
Can you be sure your program is correct if it isn't clear?

- J. Blustein <jamie@csd.uwo.ca>, How to Debug.

These first items are selected to be of use to people writing programs in the Algonquin environment in 1999.

Help with debugging

Use of the MEM package is made obsolete with the VALGRIND software under Linux.

You can make sure all your malloc/free function calls are matched by using the MEM software package. It replaces these C Library function calls: malloc, calloc, realloc, strdup, and free. Select here for details. You can pick up the software itself by selecting here.

Modern environments use valgrind to debug memory leaks.

Miscellaneous

Highlights and Excerpts from the WWW

These are items that I think C programmers should see.

Rob Pike on C program style.
A program is a sort of publication. It's meant to be read by the programmer, another programmer (perhaps yourself a few days, weeks or years later), and lastly a machine. The machine doesn't care how pretty the program is - if the program compiles, the machine's happy - but people do, and they should.
Henry Spencer's 10 Commandments of C Programming
...Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end...
An excellent C topic reference
This points to many useful topics about C programming, including a bit of C history such as the B programming language that I used before I learned C: B didn't believe in type­checking, period. There was only one type, the machine word, and the programmer was responsible for applying to a variable only such operators as made sense.

C on the World Wide Web

Security Issues in C Programs

The Internet is full of security incidents arising from code that forgets to check for buffer overflow. This is a serious programming error, and I don't accept student code that does not protect itself against overflowing its own internal buffers. Check the size of the buffer before you append anything to it!

C oddities


Internet Free Zone Level 1 logo Support free and non-commercial Internet.
Valid HTML 4.01 Strict Any Browser logo This site works best in Any Browser, a campaign for non-specific WWW.
Creative Commons License logo This work is licensed under a Creative Commons License.
Hacker Ideals Emblem The real definition of Hacker

Page Author and Webmaster: Ian! D. Allen idallen@idallen.ca