[NTLUG:Discuss] Linux Programming Classes??

Darin W. Smith darin_ext at darinsmith.net
Tue Jul 1 13:42:00 CDT 2003


My opinion is:
 1) Take a good course on programming in C.  It matters not whether it is 
for Linux or not.  I also second the notion that learning Pascal first 
would be helpful, but it is not required.  It really depends on your 
experience and your ability to adapt to structured programming.  Any data 
structures course would serve you well, also.
 2) After learning C, go buy and go through 2 books:
1)  "The UNIX Programming Environment" by Kernighan and Pike
2)  "Beginning Linux Programming" by Matthew and Stones
 The first one I consider required reading for anyone wanting to develop on 
a *nix-like environment.  It is dated, to be sure, but you will come away 
understanding the basic toolset very, very well.  It is also a quick read.
 The second is baby-food, but can serve as a good reference to the 
beginner.
 If you want to do kernel-level development, you need to read "Linux Device 
Drivers" by Rubini.
 Learn C well first, and do your exercises using gcc if possible.  By the 
time you are through learning C, you will know almost all you need to be 
dangerous.  Read Kernighan & Pike's book and you will be *really* 
dangerous.  Where you go after that is up to you.
 I would also suggest, in light of the comment that learning Pascal before 
C is an advantage; that if you decide to move on to C++ you first learn 
Ada.  Yes, Ada.  Ada is largely Pascal with abstract data types.  It is 
"almost" object-oriented.  It will prepare you well for C++, and after 
you've been in C++ for a while, you may really wish everybody used Ada.  In 
hindsight, I really appreciate it--especially the ability to enforce ranges 
on custom data-types.

-- 
D!
Darin W. Smith
AIM: JediGrover
"If you pick up a starving dog and make him prosperous, he will not bite 
you. This is the principal difference between a dog and a man." --Mark 
Twain "Pudd'nhead Wilson's Calendar"



More information about the Discuss mailing list