[NTLUG:Discuss] Wanting to speak the language

Kevin Brannen kbrannen at pwhome.com
Thu Feb 24 21:34:07 CST 2005


Greg Edwards wrote:

> ...good stuff...
>
> If you want to build large programs you need to understand the 
> concepts of encapsulation and the use of libraries.  If you want your 
> programs to run in a reasonable amount of time you need to understand 
> how algorithms effect processing time.  If you don't understand the 
> differences between a bubble sort and a swap sort then you'll be 
> fighting performance issues constantly.  Without having a full grasp 
> on the differences between using dynamic and static memory for a 
> solution you'll be fighting data set size limitations.
>
> I know I'm going to piss some people off, but, I'm really tired of our 
> industry getting a bum rap due to unstable code written by hacks that 
> learned a language, but forgot to learn the process.  The process of 
> how to build stable, well structured software is infinitely more 
> important than the dialect used.  Learn the process first, then the 
> language used is nothing more than selecting the tool that best fits 
> the environment and learning the syntax of that language.
> ...


Amen!  If we were on SlashDot, you'd get "+5 insightful". :-)

There are a number of book on algorithms, but you'd really need a good 
overview book, and I don't have one to recommend.  Even though Perl is 
my favorite language, I'd steer you towards learning C as a first 
language too.  "The C Programming Language", usually called the "K&R 
book" 
(http://www.amazon.com/exec/obidos/ASIN/0131103628/qid=1109301680/sr=2-1/ref=pd_ka_b_2_1/102-7172213-2283313) 
is short and to the point.

Other books I highly recommend but which may not be wholly C based are:

* "Software Tools" 
(http://www.amazon.com/exec/obidos/ASIN/020103669X/qid=1109301756/sr=2-1/ref=pd_ka_b_2_1/102-7172213-2283313).  
Alas, this last one doesn't use C (but a flavor of Fortran called 
RATFOR), but it is a great book to help you understand programming and 
good programming habits.  And the RATFOR language they use looks a lot 
like C so you shouldn't have too much trouble with it.

* "The Practice of Programming" 
(http://www.amazon.com/exec/obidos/ASIN/020161586X/qid=1109301986/sr=2-2/ref=pd_ka_b_2_2/102-7172213-2283313). 
Covers C, C++, and Java, sometimes covering an example in all 3 languages.

* "Programming Pearls" 
(http://www.amazon.com/exec/obidos/ASIN/0201657880/qid=1109301986/sr=2-1/ref=pd_ka_b_2_1/102-7172213-2283313).  
Uses C and C++.

As many others have pointed out, find a project that interests you and 
dive in.  The interest will help keep you motivated during the "head 
scratching moments". :-)

Good luck!
Kevin




More information about the Discuss mailing list