7 replies
The subject says it all!

I'm on the lookout for a language to build desktop apps in. I've heard for years that Python is an amazing language, and lately I've been hearing good things about the ability to create GUI's with it.

So convince me. Why should I learn Python?
#learn #python
  • Profile picture of the author janicejan
    Python includes unittest and doctest modules in the stock install
    Any programmer that can overcome the hurdles of learning Java or C#
    can quickly/easily pick up Python as long as
    they're
    willing to unlearn some bad habits.
    {{ DiscussionBoard.errors[760071].message }}
  • Profile picture of the author Tyrus Antas
    1. Lots of libraries, specially in the GUI development field. You asked about GTK. Wxwidgets and QT are also valid options.
    2. Interactive development model allows for easy testing of changes.
    3. Very clean sintax, more so than PHP.
    4. A large community.
    5. Well documented with books and tutorials.
    I could go on...

    Tyrus
    {{ DiscussionBoard.errors[760334].message }}
  • Profile picture of the author iamboredr
    well its also for animation scripts
    {{ DiscussionBoard.errors[767468].message }}
  • Profile picture of the author Spencer Westwood
    I'll add in a few things..

    1. Cross platform development.
    Build a desktop app using 3rd party libs like wxpython or QT, use py2exe and py2app to package the app up and you've got both Windows and Mac apps.

    2. Use TurboGears or Django and you can webize your application in a few hours/days..

    3. Easy to learn (about a day) if you have any programming background.

    4. Interactive - update the script rerun job done - no compiling.

    I started learning it from a book (best way really can sink in away from the screen)
    Then tried out basic stuff. Added in gui builders, some third party libs and then moved onto trying out django on google app engine.
    The stuff works although it can be infuriating at first with the tabbed syntax and
    class object model.

    Kind regards, Spencer.
    {{ DiscussionBoard.errors[768717].message }}
  • Profile picture of the author mywebwork
    Well you guys have me sold! Where do I sign up?


    I've also been "sitting on the fence" regarding learning Python. I have lots of PHP experience and have been building desktop apps with Visual Basic since 1996. I've been looking for a cross-platform language that can be used for both online and desktop applications or widgets.

    Silly question - how does building cross-platform applications with Python stack up against something like Adobe Air? I'm probably just showing off my naivety by asking, but I have been playing with some of the Air samples and they are pretty neat.

    Thanks as always

    Bill
    {{ DiscussionBoard.errors[771089].message }}
  • Profile picture of the author EmphaticAbby
    Banned
    [DELETED]
    {{ DiscussionBoard.errors[771370].message }}
    • Profile picture of the author xiaophil
      Hi Bill,

      Python is by far my number one choice for automation.

      It enables very rapid production of solutions in hours that would otherwise take days or weeks in say C or C++.

      As far as scripts go, I haven't looked back from picking up Python almost ten years ago.

      Remember though that if you are producing a desktop app then you will have to distribute the interpreter and libraries along with your executable, which means considerable bloat for a small application.

      Your GUI toolkit will also require some thought:

      PyQt requires a commercial license unless your app will be GPL. The PyQt bindings are still not released under the LGPL, although Qt 4.5 itself is.

      WxPython would probably be the next logical choice for a commercial app. A bit of a learning curve but cross-platform and plenty of features.

      The downside with AIR, although it's very pretty, is that it needs the runtime which will slap about another 15MB onto the download requirement if your customer doesn't already have it.

      If you're still keen to use Python, here's the best write-up I have found on rapidly producing a Python desktop application and installer [PDF]:

      http://www.osdc.org.il/2006/html/qui..._innosetup.pdf

      I've been looking into this for a long time, for a balance of rapid development, small executable size and good customer experience.

      Feel free to PM me if you wish.

      Phil.
      {{ DiscussionBoard.errors[771565].message }}
  • Profile picture of the author Neil Morgan
    I must admit I'm sold on the Adobe Flex system that allows you develop web applications and also cross-platform desktop applications that run on Adobe Air.

    Some of the stuff you can do is pretty cool.

    A couple of examples of current "real world" apps that use Adobe Air are eBay Desktop, Twhirl and Seesmic.

    Cheers,

    Neil
    Signature

    Easy email marketing automation without moving your lists.

    {{ DiscussionBoard.errors[772114].message }}

Trending Topics