Results 1 to 7 of 7

Thread: Programming applications for Ubuntu

  1. #1
    Join Date
    Nov 2008
    Location
    Ohio
    Beans
    66
    Distro
    Ubuntu 12.04 Precise Pangolin

    Programming applications for Ubuntu

    Hey guys, I want to start learning how to program, are there any open source applications I can get to start, If you know any books that might help me learn that would be great!

  2. #2
    Join Date
    Mar 2006
    Location
    brooklyn, ny
    Beans
    290
    Distro
    Xubuntu 11.10 Oneiric Ocelot

    Re: Programming applications for Ubuntu

    I'd suggest learning emacs as an editor, and try python as a first language but use ipython for better interactive mode. A good tutorial is located at http://docs.python.org/tutorial/

  3. #3
    Join Date
    Nov 2007
    Beans
    25
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Programming applications for Ubuntu

    gcc and g++ are what I recommend, they are the free versions of c and c++. Python is a really good one to start with because it has a good interactive help program, and the documentation is really really good.
    It also depends on what you plan to do with programming. If you want to do some good old fashioned hacking, I'd say start with c or c++(gcc and g++). But python is a little easier to understand, and you can whip out some pretty simple programs, really quick.
    "No man is an outcst if he views the whole world as one city" - C.S. Lewis

  4. #4
    Join Date
    Jul 2007
    Location
    Reykjavík, Iceland
    Beans
    1,555
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Programming applications for Ubuntu

    I do not suggest you to start playing with Java like most schools teach as first programming language. But if you are going to do that, get Eclipse, it might be strange but it corrects your mistakes

    There are also simpler languages to learn like scheme that is interesting (but perhaps not the most useful language there is)

  5. #5
    Join Date
    Mar 2006
    Location
    brooklyn, ny
    Beans
    290
    Distro
    Xubuntu 11.10 Oneiric Ocelot

    Re: Programming applications for Ubuntu

    I guess you need to clarify why you are trying to learn to program. If you have some ideas you want to program efficiently and quickly with a quick learning curve, I'd suggest python. Its powerful and fast and has tons of modules written to do nearly anything you want to do, and is object-oriented (but you don't have to put everything into classes unlike say java). By being very high-level you spend less time debugging silly things like forgotten braces or semi-colons or type-mismatching or memory management or worry about memory leaks or programs crashing from pointing to meaningless memory locations. It also forces good, consistent spacing habits which makes the code easier to read (and spotting incorrect indentation (when using a good editor), is simpler than counting nested levels of parentheses).

    If you want to become a computer scientist or programmer, I'd learn a good object orientated language like java and ultimately learn C++. You can find countless tutorials in all these languages. Languages such as C++ make you keep track of a lot more things as you program, which ultimately is good if you do it right (e.g., in general if done optimally a C++ program will work faster than a python program), and have a deeper understanding of what truly is going on (allocating/freeing memory from the heap, performing type checks yourself, etc.)

    I wouldn't suggest learning C, personally I learned many bad habits programming in C that took me time to unlearn in programming in C++ (e.g., C doesn't support object-oriented programming, or generic programming, so the way you learn to think to program doesn't involve things like encapsulation, polymorphism, inheritance, exception handling, etc.). When you write a C++ based on C-type algorithms, you miss the benefit of being able to access the fancy C++ features.

    I should note that when speed is really necessary and the high-level nature of python slow you down, you can get ~99% of the efficiency of the C++ program, by having the complex parts actually run as C++ code through say boost.python. And python already has many modules written that have the C++ side of things already written, to give you the execution speed of C++ without the hassle.

  6. #6
    anewguy is offline I Ubuntu, Therefore, I Am
    Join Date
    Jun 2007
    Location
    Sometimes I visit earth
    Beans
    5,435
    Distro
    Ubuntu 12.04 Precise Pangolin

    Wink Re: Programming applications for Ubuntu

    Indeed, with C you can learn some things that are hard to "unlearn" when you move to an object oriented language. You will see Python mentioned a lot, and since I have no knowledge of it I can't offer any advice on it. Personally, and this is just my opinion, if you just want to learn to program, pick an "easy" language first". If you really want to be productive, then take the plunge and go for C++ and use GTK for building your GUI's. Why? Well, I know there are other languages such as Java and it's GUI which are transportable to other operating systems, but I have found it relatively easy to program something in C or C++ with GTK in Linux and then port it to Windows. Yes, the Windows system will need GTK for Windows installed, and if you want to compile on the Windows machine you will probably need something along the lines of Mingw or another such tool that offers gcc for Windows.

    Again, just my opinion - there are many others as well. It begins with knowing just what you want to do - that can make a difference in which language to pick to learn.

    Hope that helps a little.

    Dave

  7. #7
    Join Date
    Apr 2007
    Location
    Houston, Texas
    Beans
    95
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Programming applications for Ubuntu

    There are several very good C++ (Thinking in C++) and Java (Thinking in Java) books written by Bruce Eckel that are available for free online at his website:

    http://www.mindview.net/Books

    I learned a lot from both of these books and highly recommend them.

Bookmarks

Posting Permissions

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