Find the answer to your Linux question:
Results 1 to 6 of 6
I'd like to learn how to program computers, mainly as just a hobby. I was just curious what you guys might suggest. I'm thinking my first book should be a ...
  1. #1
    Linux Newbie danbuter's Avatar
    Join Date
    May 2007
    Posts
    108

    Want to start learning how to program...

    I'd like to learn how to program computers, mainly as just a hobby. I was just curious what you guys might suggest. I'm thinking my first book should be a fundamentals of programming. Any suggestions?

    After that, I am wondering what language would be most useful/fun. I will be doing stuff with Linux, the internet, and OpenOffice. I suspect each one has a different language that is more appropriate . Thanks!
    Dan

  2. #2
    oz
    oz is offline
    forum.guy
    Join Date
    May 2004
    Location
    arch linux
    Posts
    18,082
    Welcome to the forums, danbuter!

    Glad you've joined us. Keep in mind that there are lots of free online programming books and tutorials that can be found with Google. I'll let others here recommend hard copy books.

    oz
    oz

    new members/users: read this first | new member faq
    no private messages requesting computer support - post them on the forums!
    please use the "report post" button to alert our forum admins to problematic posts rather than responding to them yourself.

  3. #3
    Linux User tech_man's Avatar
    Join Date
    Jan 2007
    Location
    USA
    Posts
    385
    For getting started, I strongly recommend learning python.
    'Tis better to be silent and be thought a fool, than to speak and remove all doubt.'
    --Abraham Lincoln

  4. #4
    Linux Engineer Thrillhouse's Avatar
    Join Date
    Jun 2006
    Location
    Arlington, VA, USA
    Posts
    1,377
    I may be a little biased in my response here but I would recommend starting with Java. I think there are two schools of thought on the question of which programming language one should start off learning first. The first camp says that programming should be made as easy as possible for the beginner because it's already hard enough and we don't want to scare anyone out of giving it a try. The second says that the most difficult language should be taught first because this will give the student a solid base from which to learn more about programming. I find myself somewhere in the middle. I think Java is nicely suited for the beginner. Many things are abstracted but you still get the fundamentals of computer programming: data types, functions, etc. On the other hand, if you were to start with a language like Perl, you wouldn't really get to the concept of data types because a scalar variable can pretty much hold anything. If you started with what I consider a harsh beginner's language like C, you might feel a little overwhelmed with something like pointers. I think Java is the happy medium between these two extremes. If you started with it, you could make the decision on whether you wanted to move to one end of this spectrum or the other. Then again, if you wish to program mainly for Linux, C++ would probably be the ideal choice. I guess I just have found in the past that Java is my "go-to" language whenever I need something done. It is extremely powerful, not to mention very popular at the present time.

  5. #5
    Linux User Dark_Stang's Avatar
    Join Date
    Jun 2006
    Location
    Around St. Louis
    Posts
    284
    I'm also very biased in my opinion... But I'd say start with C/C++. Java is nice, but it disguieses a lot of what's really going on from you. For example:You're using a linked list in Java. It takes care of moving all the pointers for you. If you use a linked list in C++, then you have to change all the pointers and nodes yourself. You have a lot more controle with these languages.

    I'd suggest picking up a C/C++ beginners guide or something similar at your local book store, or even hitting up a nearby community college and taking a summer class. Also, go with whatever operating system and compiler the book/class is teaching.

    There is one thing I want to stress. Choose an object oriented programming language. Like C/C++ or Java. This will give you a very strong grasp in programming if you choose to move on to other languages later.
    Two levels higher than a newb.
    (I can search google)

  6. #6
    Linux Enthusiast likwid's Avatar
    Join Date
    Dec 2006
    Location
    MA
    Posts
    649
    I think that a person should start off with non objective C programming. If you learn how to do things in C, doing them in most any other language will be easy.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •