ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have very little knowledge about computer programming (the last time I wrote a program, it was a Mad Libs thing in BASIC) but I would like to start learning. Unfortunately, most beginner programming books(ie Computer Programming for Dummies) are geared towards Microsoft Visual Studio. Can you recommend a good introduction to computer programming book that is geared toward Free Software?
http://newdata.box.sk/bx/c/
... there are print versions like this. The guide makes no platform assumptions.
This is the kind of thing you need to start out with. Then you move on to the use of specific libraries.
depends what you want to do (do you want to write Linux-specific programs and you have sufficient knowledge of a language; do you want to improve your knowledge of a specific language and are only concerned about linux as a generating-platform, do you want to know more about gui programming and widget sets, do you want to know more about linux/unix/posix as an execution environment?)
However, I'm going to recommend "Beginning Linux Programming" by Matthew Stones (wrox) as a book that does a good round up of the Linux environment (the shell as a tool for the programmer) before covering some of the basics of programming. Given its wide focus, you would probably be wise to consider it in combination with something that specialises more on the specific type of programming that you want to do (and the languages/tools that you intend to use).
For me, I thought it was a good book - I wouldn't recommend that you buy a book like this on-line; bookshops have the valuable facility that you can look at the book first and see whether it really appeals.
Before spending on books it would be well worth your time to try some of the many on-line tutorials, try looking at the Linux Format website where they have a load of tutorial stuff on a wiki. That way you can look at some of the languages and tools before parting with your hard earned.
Don't be scared away by the title, this book is the most basic book about standard unix, how it works, how to programm for it. And 99% of the material applies to linux.
A great book is C Programming by Kernighan & Ritchie (do a quick web search and you'll find why those two exactly). It's not a big book ("because C is not a big language"), and it's not geared towards any certain compiler or environment, though it contains a lot of things that refer (either directly or indirectly) towards UNIX (and Linux as well). It contains full code examples, code pieces with explanations, and a lot more - I read it some time ago, loaned from a library, and after it decided to buy it (surprisingly enough only two books were available in the whole country, trough the "big" bookstore I went into).
It's about C programming, but it'll teach you some general ideas as well, or at least it did for me. I had some programming experience before reading it, but had not done much really -- and I can say it's the best book I've read/tried to read over the years (most of the books I tried to read were just so off the wall that they weren't of much use).
It starts where they all start - "hello, world!" - and is easy to follow, but will contain enough to learn for you even if you have done some programming in the past.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.