Page 1 of 4 123 ... LastLast
Results 1 to 10 of 36

Thread: Developing software for multiple platforms

  1. #1
    WW is offline Iced Blended Vanilla Crème Ubuntu
    Join Date
    Oct 2004
    Beans
    1,532

    Developing software for multiple platforms

    I would like to hear about your experiences developing software
    for multiple platforms. Specifically, I'd like to learn more about
    writing code that is easily ported between Linux, Macs (OSX) and
    Windows. I have a project started in C++ that uses the FLTK
    gui library, but I am willing to rewrite using a different language
    and libraries if it will make it easier to port to multiple platforms.

    So far I've only dabbled in Python, but it looks like it would be a
    good place to start, especially since there are a couple GUI
    options: tkinter is "built in", and wxpython appears to be readily
    available.

    What are your experiences with developing software for multiple
    platforms? What has worked for you, and what hasn't?

  2. #2
    Join Date
    Oct 2004
    Location
    Melbourne, Australia
    Beans
    62
    Distro
    Dapper Drake Testing/

    Re: Developing software for multiple platforms

    Well the easiest way to write a program for cross platform use is to use Java. The backbone of this language is the 'write once run anywhere' philosophy. It has it's ancestry in C++ so it's not that big a leap. And the eclipse platform is a fantastic cross platform IDE.

  3. #3
    Join Date
    Nov 2004
    Location
    Reno
    Beans
    363
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: Developing software for multiple platforms

    Personally, I'm not a fan of Java. I find that it cripples far more programmers than it helps. As an alternative, there is an incredible amount of widget sets out there, wxWidgets, like you mentioned, works very well.
    dataw0lf
    -
    About Me
    Joshua "stderr / dataw0lf" Simpson, CCIE R&S and Security, RHCE

  4. #4
    Join Date
    Oct 2004
    Location
    portland oregon USA
    Beans
    642

    Re: Developing software for multiple platforms

    i dont mean to start a flame war between languages. i will be candid about my exp. with programming with certain languages.

    i think c++ with FLTK? is a fine choice for multi-os programming, if FLTK? is a cross platform library and you can compile using a cross platform compiler such as g++. personally the only languages i use by choice are the following:

    C
    python
    php
    sql

    the reason i use C is because if i need something speedy, C is a good choice. there is hardly any reason to do assembly for speed and if you do assembly your cross platform options become somewhat limited. plus, C is plenty fast for anything needing speed.

    the reason i use python is because i can write applications quickly. python is a great language to produce most applications, including games(with the pygame library). if you want to build a cool GUI app, python is good for that because of the cross platform GUI toolkit options. plus you dont have to wrap everything in a class like you do in java. python allows you to use OOP or not use OOP if you want to.

    the reason i use php is because it is a great language to do web work in. i use it to do dynamic web stuff all the time. php gets some sql then displays the results, it is a great language for dynamic web apps.

    the reason i use sql is because it is safer than working with flat files. sometimes all you need is a simple file, but databases make things so much nicer. searching, sorting, they rock the bomb. add in the ER model and things just start getting funner
    Cheerful Ghost - build your game list, write about awesome games and share that with the world. join us!

  5. #5
    Join Date
    Nov 2004
    Location
    Reno
    Beans
    363
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: Developing software for multiple platforms

    C
    python
    php
    sql
    Honestly, I couldn't have said it better myself. C is the obvious choice in Linux (kernel structure, etc). Python is quietly usurping Perl as the scripting language of choice on Linux (if you don't know why, try sorting through someone else's Perl code... or your own after not messing with it for months). PHP is *the* language for web programming. You can talk all you want about 'security' problems, but a program is only as secure as it's designer makes it. PHP's common adherence to the C and POSIX common libraries make it a very, very attractive choice to C programmers as well. And, SQL has just become the de facto standard nowadays. We could start a completely different flame war in a MySQL versus PostgreSQL argument

    dataw0lf
    -
    About Me
    Joshua "stderr / dataw0lf" Simpson, CCIE R&S and Security, RHCE

  6. #6
    Join Date
    Nov 2004
    Location
    Bacau, Romania
    Beans
    10

    Re: Developing software for multiple platforms

    My advice is to let other do the toil and if you're not satisfied with their work... do your own implementation. So... program at the highest level you can: use python not C, use wxpython not wxwidgets. If you're worrying about performance think about this: bad code can be written in any language but in higher level languages is easier to fix.
    This essay provides for an interesting reading.

  7. #7
    Join Date
    Oct 2004
    Location
    Cupertino, CA
    Beans
    5,092
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Developing software for multiple platforms

    I'd have to say that mono is a serious contender for cross-platform programming.

    Mono also is tons faster than Java for my apps, making it the language of my choice.
    Quote Originally Posted by tuxradar
    Linux's audio architecture is more like the layers of the Earth's crust than the network model, with lower levels occasionally erupting on to the surface, causing confusion and distress, and upper layers moving to displace the underlying technology that was originally hidden

  8. #8
    Join Date
    Nov 2004
    Location
    Reno
    Beans
    363
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: Developing software for multiple platforms

    Quote Originally Posted by jdong
    I'd have to say that mono is a serious contender for cross-platform programming.
    Mono also is tons faster than Java for my apps, making it the language of my choice.
    From what I've heard, I'd have to agree. Personally, I've never used it before (nor C#), but it's on my extensive 'TO-DO' list. Their porting of Gtk+ to .NET bindings (read: Gtk#) has gone over quite well, apparently. Heh, thanks for reminding me, I'm going to install it as soon as I get home.
    Cheers,
    dataw0lf
    -
    About Me
    Joshua "stderr / dataw0lf" Simpson, CCIE R&S and Security, RHCE

  9. #9
    Join Date
    Nov 2004
    Beans
    107

    Re: Developing software for multiple platforms

    I think the biggest appeal to mono isn't necessarily because it's the greatest language (although it by the looks a very nice language), but how much support there is. With such a core group of gnome programmers pushing this technology you can trust that:
    1. The bindings and things will be up-to date and done well (they are about to release the gtk# to gtk 2.6 bindings, they are staying a little behind on purpose)
    2. The tools to develop with it are top notch. Already MonoDevelop is about as good as it gets for linux and there is already work on a interface builder built in for it (so you don't have to use GLADE)
    3. The documentation will be good (already they have decent stuff but they won't release the next GTK# till every property is documented)
    4. You can get help from a large community.


    With support from Novell going into this (all their client side stuff for Linux will use Mono) it just appears to be the most accessible way to develop for gnome (and later KDE since QT# widgets are in development).

    It also has some interesting cross platform possibilities, although to really do this right you would want to use a seperate widget set for each OS, namely GTK#, SWF for windows, and QUARTZ# for apple (still under development). I like when programs look native anyway.

  10. #10
    Join Date
    Oct 2004
    Location
    portland oregon USA
    Beans
    642

    Re: Developing software for multiple platforms

    Quote Originally Posted by jdong
    I'd have to say that mono is a serious contender for cross-platform programming.

    Mono also is tons faster than Java for my apps, making it the language of my choice.
    mono looks pretty sweet. i think i will check it out someday.
    Cheerful Ghost - build your game list, write about awesome games and share that with the world. join us!

Page 1 of 4 123 ... LastLast

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
  •