LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 07-25-2006, 05:06 PM   #1
ctkroeker
Senior Member
 
Registered: May 2005
Location: Paraguay
Posts: 1,565
Blog Entries: 1

Rep: Reputation: 50
Buying Programming Books


I want to learn programming. I think I'll learn C and Python, not sure in which order. I was wondering if anyone could point me to books that are for these specific languages, there are a lot, but I want to get something that is recommended.
I guess maybe I should read a book about the basics of programming, so could you recommend something for that as well?
I don't want to do this online, I wanna use an old-fashioned book, just so you know.
If you think I should rather learn another language first, please say so.
 
Old 07-25-2006, 05:35 PM   #2
Matir
Moderator
 
Registered: Nov 2004
Location: San Jose, CA
Distribution: Ubuntu
Posts: 8,507

Rep: Reputation: 117Reputation: 117
I gotta admit, physical books are nice. Especially for taking a break from the computer.

I would recommend Java for your first language. I don't like the way Python forces you to do things 'their way' and Java is closely related to both C and C++, so it'll give you a good foundation to move into either of those. It's also usable on a huge number of platforms with little to no change (if the program is well-designed) which is good if you want to distribute any of your work.

C is nice if you want to work on existing Linux utilities, as many (most) of those were written in C.
 
Old 07-25-2006, 06:40 PM   #3
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 40
I'm a big fan of the O'Reilly Nutshell handbooks. The Python one (by Alex Martelli) is very useful, though it can lean somewhat on the technical side sometimes. I have the first edition, although I see that a new edition just came out recently, ISBN 0596100469. Kernighan and Ritchie's "The C Programming Language" is considered the quintessential C reference. It's somewhat small, but so is the language, and it has a reference section that covers the major ANSI libraries. Its ISBN is 0131103628.

As far as general programming goes, there are many many books on that topic. For technique I recommend "The Pragmatic Programmer" by Andy Hunt and Dave Thomas. It covers a wide range of subjects all of which are relevant to programmers, but which don't often get the coverage they deserve. Its ISBN number is 020161622X. Another good one is Eric Raymond's "The Art Of UNIX Programming" (ISBN 0131429019); I also have heard good things about Kernighan and Pike's "The Practice Of Programming" (ISBN 020161586X).

Personally, the way I've learned to program is to try to cover as many languages and methodologies as possible, comparing and contrasting them along the way. Languages are merely tools which programmers use to try to solve problems. By becoming familiar with many different "tools" you can start to learn which ones solve certain problems well. And in the future you'll have the experience to be able to choose the best tool for the job.

I think C and Python are good starts - they both offer different ways of looking at the world. In addition, both are rather transparent in how they work. Java is also worthy of attention, even if for no other reason than it's extraordinary popularity. Lisp or Scheme are important to examine, as they present an alternative to the procedural style used by nearly all other prominent languages.

Lastly, I personally believe Ruby to be an excellent beginner language, because it has many different features to explore, while still being very productive and easy to use. It also gives a good starting point for comparing other languages, as Ruby has borrowed many things from its predecessors. If you end up looking at Ruby, the essential book is "Programming Ruby", ISBN 0974514055, by Dave Thomas with Chad Fowler and Andy Hunt.

Good luck to you in your new ventures. If you have any other questions or would like more advice, please post or feel free to email me.

Last edited by taylor_venable; 07-25-2006 at 06:43 PM. Reason: Grammatical errors fixed.
 
Old 07-25-2006, 07:38 PM   #4
PB0711
Member
 
Registered: Aug 2004
Location: London, UK
Distribution: Ubuntu 10.10, ubuntu 11.04, suse 9.2, OSX
Posts: 259

Rep: Reputation: 30
O'Reilly books all the way. I would also agree with Ruby. I have just started to learn Ruby and am very happy with the how it's all working. I am a interperted languange programer, so I cannot say anything about C, and Java for that matter. Well other than I believe the use and popularity of Java is decreasing at least in the Bioinformatics world. Mainly due to languages like php, python and ruby. I think!

SO basically anything from O'Reilly.
 
Old 07-25-2006, 08:04 PM   #5
Matir
Moderator
 
Registered: Nov 2004
Location: San Jose, CA
Distribution: Ubuntu
Posts: 8,507

Rep: Reputation: 117Reputation: 117
I really need to get around to learning Ruby and Python. I'm a computer science major and haven't even gotten around to learning Python... kinda sad.

On another note, it's a shame that O'Reilly books (which are the open source books) are kinda pricy... at least for a college student.
 
Old 07-27-2006, 02:27 PM   #6
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
Quote:
Originally Posted by Matir
I really need to get around to learning Ruby and Python. I'm a computer science major and haven't even gotten around to learning Python... kinda sad.

On another note, it's a shame that O'Reilly books (which are the open source books) are kinda pricy... at least for a college student.
i agree.. thats why for me amazon's used section is the only place to shop
 
Old 07-27-2006, 02:49 PM   #7
PB0711
Member
 
Registered: Aug 2004
Location: London, UK
Distribution: Ubuntu 10.10, ubuntu 11.04, suse 9.2, OSX
Posts: 259

Rep: Reputation: 30
yea and on amazon you don't pay tax which for a $50 book is a nice bonus. I have also found that while Barns & Nobel books will be $50 amazon will have the oreilly book new for $35. Programming Ruby is the best example.
 
Old 07-27-2006, 05:05 PM   #8
ctkroeker
Senior Member
 
Registered: May 2005
Location: Paraguay
Posts: 1,565
Blog Entries: 1

Original Poster
Rep: Reputation: 50
Or Ebay, although their not much cheaper than amazon...
 
Old 07-27-2006, 10:20 PM   #9
fudam
Member
 
Registered: Feb 2006
Distribution: FC
Posts: 86

Rep: Reputation: 15
Have you not done any programming at all? If not, I wouldn't suggest C be your first. It can be considered too cumbersome. I don't know Python, but if it's similar to perl I would think that would be a better choice as a starter language.

As for the books. I thought Ivor Horton's "Beginning C" was a good starter book for myself. Someone already mentioned Kernighan and Ritchie's "The C Programming Language" as a historically popular book, but I myself found it too dry and better as a reference than a learning tool.

O'Reilly books are also popular (or at least well marketed), but I find them hit or miss. I think they're "Learning" series is pretty good if you like to start slow. In contrast to taylor_venable, I've found that O'Reilly's "Nutshell" series are a painful to read if you're new to the subject (not enough instruction), and if you already know the subject then they're not deep enough (not enough detail).
 
Old 07-27-2006, 10:53 PM   #10
konsolebox
Senior Member
 
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,245
Blog Entries: 15

Rep: Reputation: 233Reputation: 233Reputation: 233
Hello. Did somebody else here read the book called "a book on c"? It's a simple C book but kind of complete.
 
Old 07-27-2006, 11:02 PM   #11
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,242

Rep: Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024Reputation: 2024
If you mean this: http://www.amazon.com/gp/product/020...lance&n=283155
I highly recommend it for anybody new to C. Note that it doesn't try to explain the concept of programming.
 
Old 07-27-2006, 11:19 PM   #12
konsolebox
Senior Member
 
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,245
Blog Entries: 15

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by chrism01
If you mean this: http://www.amazon.com/gp/product/020...lance&n=283155
I highly recommend it for anybody new to C. Note that it doesn't try to explain the concept of programming.
yes i'm sure. that's the one.
 
Old 07-28-2006, 05:35 AM   #13
introuble
Member
 
Registered: Apr 2004
Distribution: Debian -unstable
Posts: 700

Rep: Reputation: 31
http://www.iso-9899.info/wiki/Books
 
Old 07-28-2006, 08:47 AM   #14
Mega Man X
Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 63
I would recommend you buying pdf books instead. They are usually 50% cheaper and I found it much more practical when programming in my computer, so I can concentrate in what I'm doing, without losing focus from the screen. Besides, paperback books are a lot of waste of resources and the worst part is, they are always getting dated and you won't be able to use them in the future and most likely you won't be able to sell them again.

The only thing I can think of with books that are good, is, for example, if you have to take long train/busses rides to school/work. That is a good opportunity to read your books while travelling. Other than that, try getting pdfs . Here is a good place to look at:

http://www.apress.com/
 
Old 07-28-2006, 08:50 AM   #15
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
Quote:
Originally Posted by theFoo
I thought Ivor Horton's "Beginning C" was a good starter book for myself.
I also like Horton's books, having used his "Beginning ANSI C++: The Complete Language" and "Beginning Java 2".
 
  


Reply

Tags
book


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Books for Kernel Programming theexamking Programming 1 05-16-2006 08:45 AM
buying some books snapper64 Linux - General 1 10-22-2004 04:54 PM
Books on programming C++ for Linux jriis Programming 1 01-13-2004 03:35 AM
books on python programming wirednb Programming 3 09-05-2003 02:20 PM
looking for programming tutorials / books, etc markus1982 Programming 18 03-12-2003 04:33 AM


All times are GMT -5. The time now is 05:57 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration