Re: C-linux programming
Other advantages are
unix scripting allows for a universal Make scipts that are easily proted across unix platforms. (I have ported Linux programs to Solaris and HP-UX with little intervention).
The configure script can set up almost everything required to taylor the C program to meet specific difference in you system (eg Athlon 64 vs Pentium 32, what libraries are available already on your system that can be used by the program etc.)
Version control is a given.
The C compiler is free and also includes C++, Fortran, Pascal, Java etc.
There is tons of unix C program source available to learn from.
For a beginner, using console type programs rather than X Windows or MS Windows is a reall advantage. I would hate to have to learn C programming using MS Windows.
I also use MSVC 6.0 and Borland builder for Windows so it ios worth mentioning the major disadvantage of Linux programming is the lack of a "Visual" set up that takes care of all the resources for GIU programs (like buttons, dialog boes etc). Such GUI front ends do exist but they are nowhere close to say Borland.
However, this "window" advantage opften makes for sloppy code.