l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
December 2: Social gathering
Next Installfest:
TBD
Latest News:
Nov. 18: Club officer elections
Page last updated:
2002 Aug 26 00:14

The following is an archive of a post made to our 'vox mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox] [OT] Learning to program
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox] [OT] Learning to program



On Sunday 25 August 2002 13:38, Micah Cowan wrote:
> matthew johnson writes:
>  > Found that very interesting too :).
>  >
>  > Thanks for sharing!
>  >
>  > To learn to programming, which is the best way? I'm an OK learner by
>  > myself, but not the best (find it better and easier to have a teacher
>  > who knows his or her stuff to ask the annoying questions to).
>
> It's cheapest to learn on your own - but effective *only* with the
> proper materials. You may find it best to do this, and have people on
> hand who are knowledgeable for just answering questions.
>

Sounds great, but how does that compare to someone who learnt to program 
whilst studying as part of a degree? I did try one of those courses that you 
can sign up just to do programming, but it lacked any real depth, plus they 
kept going over the same ground again and again (how many times can you write 
the same program in class, sure glad I emigrated out of there before getting 
hit with a large bill lol) . 

> USENET can be a *humongous* educational asset - but you need to adapt
> to its bizarre culture. In particular, newsgroups like comp.lang.c are
> *incredibly* helpful, but also hold to the older style of newsgroup
> interactions - they stick to a lot of the "standard" USENET rules
> which have been abandoned by many newcomer USENET groups. It is
> necessary to read all FAQs before attempting to post to USENET, and
> always read the group for at least a couple weeks before attempting to
> participate.
>

You mean RTFM...I know some older USENET people can get crusty :).

> Learning a programming language and learning to program are very
> different things - many people who know a language (or even three)
> don't know very much about programming. A good text, such as
> Sedgewick's "Algorithms in C", is necessary for learning to program
> (unfortunately, that book, as well as many others, assumes already
> that you know a particular language). Many of the best books on
> programming presuppose knowledge of a language, so that may be where
> you should begin.
>

Algorithms? How important is math to programming? Actually...Can you learn 
good math whilst programming?

> I'd recommend learning C, as it seems to be the most
> frequently-relied-upon language by the really good programming
> books. Most of what you learn of C can also be carried directly over
> to C++, should you decide to take that up as well - though there are
> several things you will also need to unlearn. There is simply no
> substitute for K&R2 - Kernighan and Ritchie's "The C Programming
> Language", 2nd Edition. There are many, many books on C available out
> there, and most of them suck. Supplement what you find in the book by
> interacting with comp.lang.c and/or alt.comp.lang.learn.c-c++.
>

Learning C...Rings a bell, not a book I have (course I took was C and C++). I 
do have learning Perl though, but will investigate learning C (waiting for 
Nerdbooks to say soemthing :)).

> Once you have some strong C knowledge, you might move onto "C
> Unleashed", by Heathfield et al. It was written by some of the most
> active participants to comp.lang.c, and covers a wide range of
> interesting topics, including some important, general programming
> concepts, in *very* easy-to-understand layman's terms. Once you've
> come to terms with that, tackle Sedgewick for some heavier
> stuff. Sedgewick's C style is not great, but it suffices to
> demonstrate the algorithms, which are the heart of his book(s).
>

At what point will you have strong C? Is it easier to get better by hacking 
someone elses code and then compiling it to see what affect your changes 
have?

> C on its own is quite useful in the UNIX/Linux world; but these days
> C++ seems to be in somewhat higher demand for systems programming. C++
> has some disadvantages to C in a few respects, and also throws in a
> lot of what some might consider to be little more than cruft; but it
> also makes a few serious contributions: in particular, error handling
> is exponentially easier (IMHO) using exceptions; and templates offer
> tremendous leaps forward in  generic programming (though not if you
> compare it to Ada). At any rate, it's worth learning at least
> something about C++ at some point.
>

From my lessons C++ seems to stand out as one I remember more, cout was easier 
for me to comprehend rather than printf (if I am correct on this last one, 
mkaybe not having %f or %c or whatever took that load off). And the main 
differences were using <stdio.h> vs <iostream.h>. Of course there was 
inheritence to deal with in C++ and classes, but it just seemed cleaner code. 

Perhaps getting in a group might help, plus stop being a lazy git would help 
too, ater a day at work nothing quite beats taking a nap, followed by playing 
games.

Matt

_______________________________________________
vox mailing list
vox@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.