Basic skills for a computer hobbyist?

Discussion in 'Mac Programming' started by Caezar, Mar 2, 2008.

  1. macrumors 6502

    Jun 9, 2004
    Between a rock and a hard place

    I do not have any formal education in computer science, but I do enjoy writing small programs at work using VBA. I am also learning Python right now, but my knowledge of these tools is somewhat limited.

    In your view, which skills should an aspiring amateur-developer acquire, in order to be able to start creating interesting applications? I was thinking of the following:
    - Unix (to go beyond the basics of OS X)
    - A scripting language (I chose Python, but it could have been Ruby, or VB & VBA in the Windows world)
    - GUI (wxPython for instance)
    - SQL
    - HTML, CSS, XML
    - Regular expressions

    What else?
  2. macrumors 603


    Oct 2, 2006
    The Land of Hope and Glory
    It depends what type of applications you want to develop. The skills you have listed would be great for a web developer.
  3. Moderator emeritus


    Jun 15, 2000
    Python is a great language to start out in. There are lots of ways to write GUI-based applications with it. On OS X you can use the Cocoa-Python bindings that are now available natively in 10.5 and via third-party in 10.4. With that, you can write a lot of "interesting" applications, but it really depends on what kind of apps you want to write. If you're wanting to write games, than Python isn't the language to learn.
  4. macrumors 68030


    Sep 13, 2001
    Portland, OR
    Python is certainly a good choice if you're wanting to pick up programming. If you're looking for something a bit more immediately useful, either shell scripting (for automating tasks on your computer), or web stuff (html/css/js) could be better choices.

    Regular expressions, while arcane and annoying, are useful almost everywhere.
  5. macrumors 6502a

    Aug 13, 2007
    Not where you live.
    I found that for sheer usefulness, Perl to be the outright winner.

    There are so many times that I've been able to whip up a Perl script to automate things that I can't honestly count (this was in my Windows days, I've no idea what Perl is like on the Mac).

    My point I guess is that you should learn something that you, yourself, personally will use and save time with. To that end I might try applescript (and will one of these days).

    Scripting languages *will* save you hours and hours of work. They're not as sexy as some killer web app, but I don't need sexy, I need more time back.

    Just one guy's opinion.

  6. macrumors 6502a


    Mar 8, 2007
    Cambridge, MA
    If you're learning Python, I'd also suggest picking up the Qt framework for cross-platform and GUI development. Qt has a python language binding, PyQt that enables you to make full use of the powerful and elegant Qt model without having to know C++. Qt is generally regarded as being superior to wxWidgets.
  7. macrumors 6502a

    Jan 27, 2008
    Is UNIX a staple at your office? Perl would be pretty helpful and still a requirement for a lot of IT jobs if you plan on making a career out of it. Java is also a valuable tool.

    I was in the same boat as you about 5yrs ago. Since then, I've learned the languages below, in the following order:

    Shell (not really a "language" but incorporates some methods common among scripting/programming)
    PHP + MySQL (great for a Web based front end)
    Perl (powerful language and my personal favorite. There is a gigantic perl community as well)
    C# (It's not just for Windows)

    My office is a 3000+ node mixed Linux/Solaris/Windows shop, with heavy emphasis on *NIX. My responsibilities lay solely in our *NIX environment, but I learned Java/C#/C++ so I could supply GUIs/Interfaces for our Windows users, to our *NIX environment.
  8. macrumors 6502a

    You should have enthusiasm, you will acquire frustration, try and learn patience :)

Share This Page