![]() |
Any good links for learning C?
Watching threads in the development sub-board is weird for me. I understand maths well enough that sometimes I can half follow what the code is meant to do, but don't know the syntax well enough to properly understand. I've been vaguely telling myself I should learn to code even if it's to just tinker around a bit for fun. Any good links for starting out? I used to be able to program a little in things like Basic, Fortran & Pascal so I'm not a complete coding Newbie (Though I've pretty much forgotten most of what I knew there).
|
I would recommend shelling out for "The C Programming Language, 2nd Edition" (Kernighan and Richie):
http://www.amazon.com/The-Programmin.../dp/0131103628 The coding style it espouses is IMO a little dated; but it is still the best book on programming I know of, both as a tutorial and as a reference. If you prefer a free book, I recommend this one: http://publications.gbdirect.co.uk/c_book/ There's a PDF version at the link above. Obviously, do the exercises. Maybe not so obviously, read other people's code. Angband is not a very pretty codebase at the moment, but it is handy for this. Disclaimer: I'm actually a pretty awful programmer. |
Reading a book is great if you can do it.
I can't do it. It's too abstract. I find the best way to learn something like C is to set a small goal I'm interested in, like say: - "add a new spell or combat feature to Angband" - "change the way that XYZ works" - "write a little program that sends me an email reminder when I'm supposed to do that thing I hate doing" - w/e you want. Have a language reference to look at, follow examples you can find online, and then Google for any problems you run into, usually ending up at some stack exchange page. The phrase "Cookbook" is sometimes a good start for example code on how to do something. I started learning C# from the O'Reilly C# Cookbook, coupled with a good reference, though I don't know of a specific book like that for C. |
Quote:
Can you get started here? Can you download angband source and compile? |
Quote:
|
Quote:
|
Quote:
Edit: OTOH let's be fair, I wouldn't recognize "pretty" code if it wore flowers and a bow-tie. |
Quote:
*runs and hides from rest of devteam* |
Learning to program in C is easy. It's learning to debug C programs which is hard. ;) And, of course, learning to write programs that other people can read and debug.
In general I agree with Therem Harth on this one: Kernighan and Ritchie is still the way to go. Except perhaps if you're going to be writing code where security is critical. K&R example code is often overly trusting of user-supplied input. I once mentioned this to Brian Kernighan, who told me that they had been aware of that even as they wrote it, but that in the computing environment of the time it didn't seem like a big issue. Fortunately for most of the things I do it still isn't much of an issue. |
This is what I did.
Read C for Dummies. Download an IDE. Started writing simple programs. Googled anything I didn't feel like looking up in a book. Worked for me, though I'm nowhere near good enough to delve into a "band" and have since moved onto other interests. |
All times are GMT +1. The time now is 03:29. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.