[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