Re: off topic/learning C [Long]
Unidentified Flying Banana, code named ktb, wrote:
>Hi, I posted to the Debian user's group the other day and asked for
>advice on which computer language to learn in order to program for
>Linux. The language I chose was C.
A most excellent choice. I personally think C is prolly the best over all
language there is for programming. However, that doesn't make it the best
in every instance. There are two major things to learn about a
programming. There is generic programming structure logic, and there is
I would recommend that you get the programming structure and logic down in
a simpler language. This will allow you to concentrate less on the
language, and more on just the logic it uses. Once you are comfortable
with that, then move into C and get into the real programming. For the
starting language, I would suggest either a simple programming language,
such as (structured) BASIC or Pascal, or else a good scripting language
such as Perl or Python.
>The book to learn from, "Practical
>C Programming" O'reilly. Well I tried to make my first program "Hello
>World" following the instructions in the book and guess what, I couldn't
>get it to work.
I've not used this specific book before, but I've also never met an
O'Reilly book I didn't find to be excellent. However, one man's excellent
book is another man's paper weight. Books are generally targeted towards a
specific audience, and usually work best for that audience.
For example, if I could keep only a single programming book of mine, I
would choose "The C Programming Language" Second Edition, by Brian
Kernighan and Dennis Ritchie, without a second thought. Many C
programmers, myself included, find this to be the best C programming manual
ever written. However, for someone with no programming experience at all,
this book would be nearly worthless. Make sure the book you are using is
oriented towards people with no programming experience, not just people
without C experience.
>If I can't learn to do the first simple program, from
>supposedly one of the best books to learn C in the Linux environment,
>I'm in trouble.
Not necessarily. Despite the claims of many people, C is not a naturally
intuitive language for someone with no programming experience. In fact,
it's one of the most difficult languages to learn with no prior experience.
Don't let one failed program stop you. Trust me, for every line of code
I've written that works, I've written 5 that didn't. ;-)
>I was wondering if any of you know of an email list
>such as Debian User's but for people learning C in the Linux
This I don't know, though I would be surprised if there wasn't something
out there. I do know that there are a couple of newsgroups that deal with
programming, and the C language in particular. YOu may be interested in
checking those out.
Another good place to get help, in my experience, is on Internet Relay Chat
(IRC). It's a good place where you can ask questions and get immediate
feedback. Try one of the larger networks and look for channels dealing
>I looked for tutorials online for programming in Linux but
>didn't find what I was looking for.
Try looking for more language specific tutorials, and you'll prolly be more
successfull. Another excellent resource available is the MacMillan
Computer Publishing Personal Bookshelf site. Once you register (don't
worry, it's free, although you are required to be on their once a month
spam list) you will be given access to around 200 computer related books
online, full text. For free. Most of the advanced programming books are
geared more towards C++ than C, but there is still alot of good information
there. You can also find numerous books on beginning programming and other
languages, such as Perl.
The site is at: http://www.mcp.com/personal
>I'm new to Linux and haven't
>learned a computer language before. I'm thinking about possibly going
>to school to learn programming but I'd like to try learning some myself
>before I take the big plunge. Any advice would be appreciated.
Another thing to remember is that programming, especially at the novice
level, is much easier when you are in an environement you are comfortable
with. Once you are more comfortable working in Linux, programming in it
will become easier as well.
Hope this helps.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Christopher Cashell firstname.lastname@example.org
* StarThorn @ IRC DALnet / SorceryNet
* Soon found at: http://www.flame.org/~topher
* "First they ignore you. Then they laugh at you.
* Then they fight you. Then you win." - Gandhi