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:
November 4: Social gathering
Next Installfest:
TBD
Latest News:
Oct. 24: LUGOD election season has begun!
Page last updated:
2002 Aug 26 11:40

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



begin Matthew Johnson <matthew@psychohorse.com> 
> 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) . 
 
i guess i'm the poster child for doing it yourself.  never took a CS
class in my life.

ok, well when my mom learned that i was programming in assembly language
at 13, she thought it would be a good idea to sign me up for a class on
LOGO offered by the local college(!).

don't laugh.  nobody knew anything back then.  she had no idea what she
was doing, and i greatly appreciate the sentiment even though i begged
her not to sign me up for the class.  i ended up spending the whole day
drawing naughty pictures with the turtle.

that was the only CS "class" i ever took.

> > 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 :).

don't underestimate the power of usenet.

if ALL sources of linux documentation were to disappear off the face of
the earth -- websites, HOWTO's, books, papers, etc, and i had to pick
just one source for all my linux documentation needs, i'd pick google
groups (usenet archives).

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

no.  good math comes from studying math.   good algorithms come from
studying good algorithms (or by really dissecting code and having long
conversations with knowledgable friends).

besides, there are so many kinds of programming that even if someone
disagreed with my sentiment would have to at least agree with "it
depends".

> > 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 :)).

matt, big macs don't usually appear on your doorstep whenever you want
one.  you usually need to make a trip to get one.

just get some book recommendations and then point your browser to
www.nerdbooks.com.   i'm not sure dave would have recommendations beyond
what people tend to buy.

i know this is heresy, but i'm not sure K+R would be a suitable book for
a first time programmer.  it's an elegant and subtle book, which is why
people like micah like it.

i've never read "learning C", but it sounds like the kind of book that
would be good for a first language person.

fwiw, i enjoyed "the new C primer" from the waite group, 2nd edition
(sams publishing).  it went at the right speed.

there's a guy named herb schildt who writes tons of books on C and C++.
stay away from his books.

http://groups.google.com/groups?q=%22herb+schildt%22&hl=en&lr=&ie=UTF-8&scoring=r&selm=BWH.94Mar12170626%40beach.cis.ufl.edu&rnum=4
http://groups.google.com/groups?q=%22herb+schildt%22&hl=en&lr=&ie=UTF-8&scoring=r&selm=36BFDF45.757D641A%40earthlink.net&rnum=29
http://dot.kde.org/991455700/991459479/991460555/991461655/991469245/

my first book on C was a herb schildt book.  this post exemplifies
exactly my own personal experience with this author:

http://groups.google.com/groups?q=%22herb+schildt%22&hl=en&lr=&ie=UTF-8&scoring=r&selm=EDw5JE.5oL%40igsrsparc2.er.usgs.gov&rnum=25

> > 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?

the answer to this question is the same as the answer to "at what point
do you have strong linux skills?".

who knows?  there's no answer to this question.

1. don't worry about the strength of your skill.  get good enough to do
what you want to, quickly, elegantly and efficiently.

2. stretch your horizons as far as your level of interest goes.

3. don't go further.

> Is it easier to get better by hacking 
> someone elses code and then compiling it to see what affect your changes 
> have?

no.  grow your own first.  trial and error is good, but you need a
foundation first.  get a good book first.

> > 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. 
 
a good creed to live by is: "if something confuses you, don't run from
it.  meet it head on".

printf() is a very basic, very easy function.  what makes it "difficult"
is its versatility.

and for heaven's sake.  don't pick a language because of the
transparency of one of its printing functions!

> 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, programming is like motorcycles.

some people (like me) love it and couldn't live without it.  i may never
be a jeff newmiller, but frankly, that's not my goal.  my goal is to
enjoy myself and, if possible, write things which my friends and i find
cool.

some simply don't find the need to do it.  they can take it or leave it.
if you find yourself with no motivation to get a good book, read it and
experiment with new found knowledge, then you might be in this category.
there's no crime in this.   programming isn't some +5 holy avenger. 

it's a past time for some.  it's the daily grind for others.   just go
with the flow.

pete
_______________________________________________
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:
O'Reilly and Associates
For numerous book donations.