Shop OBEX P1 Docs P2 Docs Learn Events
Propeller Applications (.net 2.0? etc.) - Cross-Platform Test Fest Time! — Parallax Forums

Propeller Applications (.net 2.0? etc.) - Cross-Platform Test Fest Time!

jazzedjazzed Posts: 11,803
edited 2009-10-09 16:04 in Propeller 1
I like writing Propeller applications in SPIN/PASM. I also like writing applications for the Propeller that will run on a user's "Host PC" as a Propeller client interface and would like to support all PC types: Mac, Linux, Windows, etc....

To continue supporting Propeller applications written for the user's PC, I have to consider directions of the market and product maintainability to serve the community.

Can you (forum participants) enlighten me as to how many people do or don't have Mono or other .net implementations installed on their Linux or Mac Host PC? If you don't have it, perhaps you can explain why not?

I'm having a hard time understanding the "resistance" to .net on platforms other than Windows (beyond the oligopolist power of Microsoft and others). As a user I am very annoyed that I have to put up with the .net startup time ... which is caused by the just in time JIT compiler used in application deployment. The JIT is used so that .net can deliver your application in your native language on your selected micro-processor (not just Intel x86).

There are of course cross-platform development environments other than .net. Java is fine, but also requires installing some minimal version engine and as I understand it will does not allow internationalization for the user. Perl has CPAN, but that for me was a 2 hour download/install and I won't push that on anyone. Python has a self-contained application deployment ability but that looks like a longer term development investment whose value is questionable. If there are other cross-platform development environments I have not mentioned, please tell me.

The application I do have out there that uses .net 2.0 and does not try to install .net has had many downloads and I get comments from users who appreciate my effort. Whatever I do for the Propeller community, I want to serve useful software to as many people as is possible. Does .net 2.0 serve that need for anyone except Windows users?

Edit: Changed thread title.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve

Propeller Tools Post Edited (jazzed) : 9/20/2009 6:54:42 PM GMT
«134

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-17 18:57
    There are other cross-platform development environments, but none of them are in as wide-spread use as Java or Python. I'm thinking of things like TK/TCL, some open-source Pascals, Smalltalk, and others. RealBASIC has a very nice cross-platform development platform, but it's not free. I have a MacBook and do have Mono which seems to work fine. I can also run Windows XP under Parallels Desktop and have .net 2.0 installed there.

    I don't care for .net, mostly because of the control by Microsoft (oligopolist power, etc.) I don't know enough about the internals to judge it technically. I would prefer not to have to use Mono or .net 2.0, but that's not realistic. It would be nice for you (and others) to test whatever you release on more than one operating system. It's too easy to use .net 2.0 features that don't work right in Mono, etc.
  • HannoHanno Posts: 1,130
    edited 2009-09-17 19:35
    Hi Steve,
    ViewPort, PropScope and 12Blocks all use .net 2.0. My windows users haven't had any problems with it. I have tried ViewPort on my Mac and under Linux using mono.net. I'm currently using Propellent, which is only available as a windows dll, so it's not currently possible to get the complete ViewPort experience on non-windows platforms. Many people prefer non-windows (like me), but since they're still missing support for a handful of applications they have a windows pc/virtual pc around for that. ViewPort has run nicely on Mac/Linux under emulation for the last 2 years that's good enough for me.
    Hanno

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Download a free trial of ViewPort- the premier visual debugger for the Propeller
    Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
  • heaterheater Posts: 3,370
    edited 2009-09-17 19:44
    Oh boy, big can of worms, or is it Pandora's box.

    I could start my traditional one hour long rant against all thing Microsoft/.Net/Java but I will restrain myself.

    Instead I'd like to point out that as far as I know mono/.net is not "done" on Linux. I could be wrong but I don't think the state of the art is such that any and all Mono/.Net apps will work on Linux.

    Also, as you must be aware there are many other alternatives. Eg...

    BradC has done a great job creating a cross platform Propeller IDE in Pascal/Lazarus. Small, fast, it works. My company has had similar success with Lazarus.

    There are many cross platform GUI libraries. Just recently I have been doing professional work in Qt for the first time. I'm quite impressed with it and amazed at the fact that it compiles and runs on Linux/Windows/Mac and elsewhere so easily. I'm looking forward to seeing some of these apps running on the Nokia M900 Linux based phone in the near future.

    A big question here is, are you willing to provide the source?

    The big plus of Java/Mono etc is that you can provide the same closed binary blob to everyone and expect it to run. If the runtime is available for that platform. How well that works in practice I'm not sure. Sometimes I think that keeping the source closed is the only possible reason for such systems.

    If you distribute the source then someone will get it compiled and running taking care of different library versions etc etc. So Qt would be a sure winner.

    An overlooked option is the Win32 API itself strangely enough. LTspice is a great spice circuit simulator package from Linear Technology written for Windows. It runs perfectly under Wine on Linux. I get the feeling Linear are purposely sticking to that subset of Windows that works faultlessly under Wine.

    www.linear.com/designtools/software/

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • TreeLabTreeLab Posts: 138
    edited 2009-09-17 19:49
    I am partial to the variants of Delphi/Pascal that are available; in particular, we have used the Lazarus front end to the Free Pascal Compiler (fpc) on both Windows and Linux systems and it seems to work well. Python as well, but I have many megs of pascal support code, so I am reluctant to do Python on large codes.
    Cheers!
    Paul Rowntree
  • jazzedjazzed Posts: 11,803
    edited 2009-09-17 20:37
    @Mike, thank you for your Mac user perspective and thoughtful response.
    Do you ever run Python based GUI programs as either scripts or "frozen binaries" on a Mac ?

    Python seems like a good option because it has language features that I use often and applications can be built as frozen binaries so that users have the option to run an executable program rather install this, that, and the other blah feature. I'm not at all thrilled by the Tkinter GUI maker though. and Python itself is pretty strange.

    @heater, I tried mono on Suse Linux a couple of years ago and I never got it working after trying for days. I've yet to load it on Ubuntu and have honestly been afraid to do that out of fear of the unknown. The topic was not intended as some can of worms; if it becomes that, I will ask it to be removed. As far as giving away the source goes, well I'm more inclined to do what is of benefit to most people (including me). If it is of benefit to me as an investment or otherwise, I act accordingly. So far Propeller has been an interesting intellectual investment, and some day there may be fiscal value in it.

    This is not some kind of an attack on .net or programs that use it. As an experienced .net developer it is very attractive for various reasons including the best in class GUI tools and multiple programming language choices. As a user however I'm confounded when I launch a program and it does not provide immediate feedback because of JIT compiling.

    Anyway, there are only so many options I will consider going forward. I've produced CLI based binaries that will work on any PC (per binary WIN32, Cygwin, x86 Linux), but the truth is that GUI is king. I'm a big fan of Java because it and C# are the application languages I enjoy the most.

    Any negative user experiences with Python would probably dissuade me very quickly, but Python is worth more study at this point.

    Thanks to all of you who have taken time give feedback.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools
  • heaterheater Posts: 3,370
    edited 2009-09-17 21:09
    Jazzed: If you have a couple of hours free have some fun and try out the Qt SDK qt.nokia.com/downloads.

    It's available for Windows, Mac, Linux and others. Just recently the licensing has been changed, there is an LGPL option, so you can be as closed or open as you like.

    Comes with an excellent IDE, tons of excellent documentation and piles of excellent examples and demos.

    I have no agenda with Qt except that I am impressed with it and the ulterior motive of wanting nice cross platform tools for the Prop [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-09-17 21:25
    Steve,

    at least you have options. [noparse]:)[/noparse]

    I liked working with Trolltech's Qt - that might be a good option. (not sure why it's now on nokia, however.)
    Python's pretty light weight - and it will be around for a long time. There are TONs and TONs of libraries out there - all are simple to pull in.
    Java ... well, what to say? other than its quite the standard.

    I'd lean toward Python, but that's my personal preference - since you've got options - maybe just go with what you *like* to code in.

    - H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • BradCBradC Posts: 2,601
    edited 2009-09-18 00:34
    PyQt is an interesting little study and works across a few different platforms. HP use it on Linux for their printer management tools and it seem to do the job ok. I like python myself, but I've bumped up against the odd version compatibility issue previously when deploying. I guess that gets solved with frozen binaries.

    I am fairly firmly anti-mono for a number of reasons, but the main one is any time someone else starts to get ahead Microsoft starts waving around a patent portfolio. It's only a matter of time until they do that again and render your investment in cross-platform worthless.

    WINE is an interesting option but fairly limited to x86 32bit. I used to write a lot of Delphi programs targeting Win95OSR2 that would run nicely under WINE (there are a few tweaks, tips and traps to avoid to ensure they behave nicely and consistently however and these are a moving target as WINE evolves). Problem with that is you leave Mac PPC users out in the dark, and evidently there are still a few of them (/us) around.

    There is always C and a cross-platform widgetset. As heater said, Qt is now LGPL.

    I'm a fan of native development. It's a lot easier to optimise for size/speed when you know precisely what the low level stuff is doing. It does mean managing multiple toolchains (and in my case multiple widget sets).

    It's never an easy thing to chose a platform. If you are a big fan of Java, why not target that instead? At least there is no danger of your VM being sued out of existence.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lt's not particularly silly, is it?
  • waltcwaltc Posts: 158
    edited 2009-09-18 00:45
    Wouldn't touch .net or anything that uses it, not that it matters since I run a W2k system.

    Personally I prefer the native code development in like Delphi, Java or C++ over .net for Prop tools. Microsoft can stick .net where the sun doesn't shine.
  • Mike GreenMike Green Posts: 23,101
    edited 2009-09-18 01:03
    jazzed,
    Honestly, I haven't done much programming for my Mac (or Windows for that matter) for a couple of years. I've used Python and AppleScript (and some shell scripts) for small GUI-like tasks with some Mac-only GUI interfaces. Most of the programming I've done lately has been for the Propeller. At one point I did a lot of PalmOS programming in Pascal and C, but that platform is on its way out.
    Mike
  • jazzedjazzed Posts: 11,803
    edited 2009-09-18 02:17
    Thanks again to everyone for your input.

    Looking at the Qt option the LGPL seems to be saying if I distribute my application with Qt shared libraries and not statically linked, I get to keep my intellectual property investment (sources) however I choose or give it away if that has value. It doesn't resolve needing to maintain multiple platform setup methods. I do like the Qt IDE and GNU tools (177MB download eek[noparse]:)[/noparse] and the IDE has lots of examples for getting started. The build/startup process was a little consuming. More to explore in Qt obviously.

    At this point, I think Java really suits my goals for ease of use and deployment near term. Java may seem a little goofy to Windows users, but it is fine as an application (not an applet except in client-server situations) for using system resources like serial ports.

    I'm still working on the OctoProp infrastructure, but will have some cycles to dedicate to a program ... hmm, will that be ???

    Cheers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-09-18 02:41
    Steve, this does not answer your questions, but here is why I use windoze...

    I have a few specific programs that I use that only run under windoze. So I have to use windoze, period.
    I don't want overheads in running under another operating system.
    I hate being locked in, but they are the facts of life I suppose.

    If I had a choice, I would not use .net
    If I had a choice, I would use a Mac
    I want a GUI interface. I hate command lines and scripts.

    A note to Jobs: Please license your operating sytem... There is still time to kill msoft !

    FWIW: Yesterday I was forced (no workie otherwise) by msn to download the latest version which is supported by flash adverts. It also sets defaults to use their new Bing search engine and msn? homepage. I chose to not accept the new defaults. Big Brother at work !!!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade, RetroBlade,·TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • RaphiRaphi Posts: 1
    edited 2009-09-18 03:09
    Job's can't license his OS: it only runs on Macs.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-09-18 03:25
    Of course he can smile.gif It could run on other hardware and in particular pc's with specific hardware smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade, RetroBlade,·TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • potatoheadpotatohead Posts: 10,261
    edited 2009-09-18 03:57
    I prefer cross-platform tools. However, I prefer tools period [noparse]:)[/noparse]

    These days time is something I must manage. I'm most often on a WinXP machine, and it's got most all the latest goodies installed on it.

    JIT is kind of a bummer. Always wondered if it were not possible to write a small win32 API wrapper that gives the feedback, then launches the .net mess?

    Put simply, none of this is a significant worry for me at this time. Thanks for asking. When I can afford to worry, I do things where I can run them on open OSes and that operate with open standards.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • heaterheater Posts: 3,370
    edited 2009-09-18 04:53
    The reason Trolltech's Qt is on the Nokia site now is that Nokia bought Trolltech.

    The reason Nokai bought Trolltech/Qt is that they want to use on their next generation phones/tablets etc which are currently ARM based. I'm looking forward to splashing out on the new N900. It's not often I go crazy for the latest shiny thing.

    When Nokia bought Trolltech they promptly released Qt under the LGPL removing most peoples worries about it's "open sourcedness" thus guaranteeing it wide developer support and a long life. For serious closed commercial app development there is still a commercial licence with support etc etc. for a price...

    As my old project manager at Nokia said "I don't want any more of Bill Gate's fingers in my project than absolutely necessary".

    Java: May seem goofy to windows users it also seems very goofy to me. Big, slow, and basically a pain on Linux. Can any one point me to an example of a realistic modern Java app that I can just drop and go with on Linux and Windows and Mac?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • RevAaronRevAaron Posts: 30
    edited 2009-09-18 05:07
    For something like this, using .NET will effectively limit you to Windows. If you're keen on not using Windows, it'll involve some very deliberate design and programming decisions during development.

    Perl is just as easily reployed in a single-executable file as Python. Both (and other languages) suffer from the fact that you'll need to build binaries for each platform still. Not the end of the world, but in my experience doing development of a *desktop* Python app on one OS and deploying to others involves a lot of testing, some headaches, and a lot of if statements to handle where the app is running. While the interpreter and many GUI toolkits for Python, C, Perl, Ruby, Lua, Io, and a dozen other languages are cross platform the entire system isn't in the way that you can just check a box to say "spit out Windows and Mac apps, too!" An interpreter running on multiple platforms isn't the same as the entire language and library being built for multiple platforms.

    With regards to OS X on PCs: It'll never happen, but it is just a matter of licensing. OS X can run on PCs already- it's run on PCs since 1996 or so. [noparse]:)[/noparse] You might have to have a supported video, network, sound card, etc but nothing else terribly special beyond that. Runs on my Eee PC, though not perfectly.

    As far as languages in wide use that'll do cross platform with the kind of ease you want the only real choice is Java. I say that as someone who would much rather be coding in Smalltalk, Python, or Ruby... But one option that no one has mentioned thus far is to use Jython or JRuby. Both provide to you the language, but with full access to what Java can do- all the libraries, etc.

    As far as deploying anything Java based- it isn't that big of a deal on Windows as some folks in the thread may think. You don't have to leave your users with an installation of th JRE- you can give them one ZIP that has it all rolled up and ready to run. Or an installer. At least on Windows and OS X. Want a great example? Go download the Arduino IDE at arduino.cc. It'll run, and run right, whether or not you have a JRE installed; or whether you have the right version.

    Packaging the VM with the app is something you can't do on .NET.

    @waltc: Native development with Java? Java isn't any more native than .NET; in fact, it's considerably less so all told. Both use a virtual machine to run non-native bytecode.

    That all said, I've no love for Java. If it were me, I'd do it in Squeak Smalltalk. Truly cross platform, none of the slow start up times of Java or .NET- the app is stored as a memory snapshot; more like waking your computer up from hibernation than doing a reboot. But I'm getting too old to try to play forum language zealot... [noparse]:D[/noparse]

    Aaron
  • heaterheater Posts: 3,370
    edited 2009-09-18 05:32
    Another example please. Here is how to get Arduino running on Debian (compare to running BST). None of this is an issue for me if I want to do it, but I'm sure many would not want to have to waste there time.
    Aruino said...

    Install on Debian

    This guide was an update to the previous(Arduino 0010) which itself was an update of Arduino 0007. The new guide should work for Arduino 0013 and Debian Lenny.

    1. Install dependencies

    $ sudo apt-get install openjdk-6-jre gcc-avr avr-libc avrdude

    binutils-avr should be installed automatically.

    2. If you've already installed a form of java then

    $ sudo update-alternatives --config java

    and select the number relating to /usr/lib/jvm/java-6-openjdk/jre/bin/java.

    3. Download the arduino ide, extract it and open the file "arduino". It'll run and ask you where to put your sketches.

    4. Configure your port. This is so you can read/write the arduino.

    Tools/Serial Port/dev***

    This should be all that is required to run 0010 ide in Debian Etch

    [noparse][[/noparse]NOTE] You may come into serious issues when it comes to amd64 and Debian Lenny. ATM, the above guide only works for Debian Lenny i386
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • VIRANDVIRAND Posts: 656
    edited 2009-09-18 08:16
    I have two .NETs (web domain names)

    Microsoft never told me what theirs is for, nor how to use it, and the name sure is confusing,
    and I know it is slow and expensive and doesn't do anything I need done, so why would I buy it?
    My friend "Lemming" says:"Cuz everybody else is DOING IT!"
    That's why two people I know warned their bosses not to switch from Lotus to Outlook, but they did anyway.
    Then they were all laid off because their businesses went to hell.

    Also, I have a general No-EULA policy, and Microsoft is the rule, not the exception.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-09-18 14:37
    heater said...
    The reason Trolltech's Qt is on the Nokia site now is that Nokia bought Trolltech. [noparse][[/noparse]...]
    Heater, thanks for explaining this - very interesting development. Good to hear of Nokia's intention to support open source, long term.· Qt is high-quality - looks like it will only get better!
    BradC said...
    PyQt [noparse][[/noparse]...]
    Yes! I don't know why I forgot it.
    RevAaron said...
    [noparse][[/noparse]...] Io ... Jython or JRuby ... Squeak Smalltalk
    Wow Rev!

    I about fell out of my chair seeing all four of those in one post [noparse]:)[/noparse])··· Io and Squeak are my top favorite languages.

    @Steve - Jython might give you the best of both worlds.· You'd just have to try it/java to see what the worst case scenario does RE the JIT.

    Would you consider putting out a really simple·mockup/prototype in a couple of these flavors - and let us try them out for you?· The contributors to this thread represent a good mix of platforms.

    - H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • potatoheadpotatohead Posts: 10,261
    edited 2009-09-18 14:42
    I run OS X on my Thinkpad regularly. One of the high end CAD applications I do technical sales, support and training for has a MAC port. There are a few out there running it, and lugging around a MAC just wasn't worth it. An evening spent learning some arcane Darwin boot loader tricks, another one editing .kext files, and it's all good. I just went down to the Apple store and bought the OS.

    And that's kind of a bizzare thing really. These days it's rare to just go and buy an OS. I thought it was kind of fun.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • jazzedjazzed Posts: 11,803
    edited 2009-09-18 15:56
    CounterRotatingProps said...
    Would you consider putting out a really simple mockup/prototype in a couple of these flavors - and let us try them out for you? The contributors to this thread represent a good mix of platforms.
    - H

    That's an interesting idea in some form. I'm afraid a Propeller related PC application would take time for all the flavors so something simple and comparable should be used. Maybe all the contributors who are application developers can post some simple GUI program?


    A "Cross-Platform Test-Fest" Challenge
    • Let's say the user program lets you enter 2 numbers and produces a result sum similar to this:

      calculatorform-example.png
    • This is an example from Qt, so there it's just a matter of figuring out the deployment.
    • The post should contain program(s) and instructions (including platform downloads if necessary).
    • The post should not contain source code.
    • Anyone who posts a program for testing should run on or more of other's programs and provide feedback.
    • This should be very simple and not so time consuming for the experienced professional developer.

    I'll do the Java Application. Others should sign-up for their favorite method with a post.

    Adventurous Propeller programmers can produce a similar Propeller GUI "Graphical User Interface" wink.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools
  • RevAaronRevAaron Posts: 30
    edited 2009-09-18 16:13
    heater said...
    Another example please. Here is how to get Arduino running on Debian (compare to running BST). None of this is an issue for me if I want to do it, but I'm sure many would not want to have to waste there time.

    That's the unfortunate thing about Linux, in general. Folks who aren't willing to dink around a bit would find much of it a waste of their time. A Python app that could be packaged cleanly for Windows or OS X typically isn't for Linux. My personal guess is that this has a lot more to do with the fact that most Linux users are willing to spend some of their time in exchange for the flexibility and smaller download of a package that only has the project itself, not an entire JVM, SDK, etc.

    To get a newer version of the ERIC Python IDE going on an Ubuntu 9 machine I wasn't just able to download and run one file. It involved a similar amount of rigamarole.

    apt-get install python-kde3 qt3-assistant qt3-designer qt3-linguist qt3-doc pyqt-tools python-xml pyqt-tools
    



    And since I didn't have (and don't use) KDE, this involve a LOT of time spent downloading and installing- there are a lot of dependencies not listed there. Quite a bit more than the Arduino IDE did. Ended up having to add symlinks as well, though I didn't have the benefit of handy instructions, as in your Arduino IDE example- it just didn't work, and I had to figure out how to get it to work.

    My goal isn't to refute heater, just point out that Python and Java deployment both present their own headaches. Both can be packaged for a relatively pain-free deployment on OS X and the Mac; Java will be the easiest, but it's quite possible for either. I just installed a perl + gtk personal wiki app on my Windows machine with only a few clicks, no different than a native app.

    @CounterRotatingProps: Really? Awesome! I used to be very active with the Squeak community, mostly working on WinCE and Linux PDAs and mobiles. Dyapad was my thing. Done some stuff for Alan Kay for the OLPC, though it's been a while since I had the time to contribute much. Love to encounter fellow Squeakers in the wild! Io is a lot of fun- seemed like it had a lot of momentum at first- is that still going? Couldn't get any Flux examples to work last time I checked out what was going on in SVN. All the same, good stuff.

    Aaron
  • jazzedjazzed Posts: 11,803
    edited 2009-09-19 01:59
    Hi. Attached is a Java file JavaSum.jar that contains the sum of two numbers demo.

    Running the JavaSum program:
    • Java 6 runtime must be installed in your system.
    • Save the attached .jar file to a directory (folder).
    • With the latest Java 6, you can just click on the .jar file in your folder in Windows.
    • For the command Window "cd" to the saved directory, then enter: java -jar JavaSum.jar

    Google Chrome makes the JavaSum.jar file download as JavaSum.jar.zip ... not what you want.
    You must change the name to JavaSum.jar after opening the download folder.

    With Internet Explorer 7 or FireFox, just click on the attachment and allow the program will run [noparse]:)[/noparse]

    For the Java 6 Virtual Machine:

    The first page to try is http://java.com ... Click the big blue "Free Java Download" button.
    Java 6 was installed on my Ubuntu Linux box by default, so I clicked the "Verify Now" link.

    The java.com download page should detect your computer O/S automatically. There is a page with
    links/instructions for download/install for the four major PC systems if the page above doesn't work:
    http://java.com/en/download/manual.jsp

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools Post Edited (jazzed) : 9/19/2009 4:20:47 AM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-09-19 02:33
    What an interesting thread!

    Re Jazzed "...users have the option to run an executable program rather install this, that, and the other blah feature"

    Yes! I agree. I have three machines all running XP that I do most of my coding on. But no matter what I do, .net refuses to install on one of them. And it is very slow on all three.

    I just realised, Brad's BST program we are using for the zicog is a self contained program that didn't need any installing. Sweet. I have a handful of others collected over the years. I really like the idea of a single program that is self contained and does not need any external .dll files (ie the program still works if another program decides to update that dll), and is self contained to the point it runs instantly rather than needing the user to go off to some site and download more files/install programs (which get blocked by the corporate firewall).

    There is a version of winzip for instance that zips up files so they are self extracting.

    I'm not sure I have the answer, but thanks++ to the posts above as I see some interesting things I'll be downloading and testing.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/build
  • James NewmanJames Newman Posts: 133
    edited 2009-09-19 02:58
    C/C++ and http://www.wxwidgets.org/ is the way to go imo.
  • AribaAriba Posts: 2,690
    edited 2009-09-19 03:56
    Here is my entry to that "Cross-Platform Test-Fest" Challenge:

    I use PureBasic which has ports for Windows, Linux and MacOS. For such simple Apps no adaption of the source code is necessary to port it to other platforms.

    I have no MAC, so only Windows and Linux versions are in the ZIP.

    Tooks me 10 minutes to program the Windows version (Visual Editor, then searching the right properties in the Help file, then compiling ). And another 5 minutes to port it to Linux (including start up my EEE-PC and transfer via SD card).

    No Installing is necessary, no download of Frameworks, RunTimeLibraries or whatelse... just run it.
    On Linux GTK2-library is necessary, but I think this is included in every Linux distribution.

    PureBasic is not free (gratis), but for simple programs there is a Trial version without time limit. Only code size is limited and optimazion is disabled: www.purebasic.com/download.php


    Andy
  • jazzedjazzed Posts: 11,803
    edited 2009-09-19 04:36
    Nice work Andy. Window version works fine. I'll try the Linux version later.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve

    Propeller Tools
  • BradCBradC Posts: 2,601
    edited 2009-09-19 08:13
    jazzed said...
    Hi. Attached is a Java file JavaSum.jar that contains the sum of two numbers demo.

    Running the JavaSum program:

    Works here on Ubuntu 8.04
    brad@bklaptop2:~$ java -version
    java version "1.6.0_14"
    Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
    Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
    
    



    Took _ages_ to load though as java was not in the pagecache and I've got a slow 4800 RPM disk in this machine. Was ok the second time around.

    <edit>
    Tested Andy's linux app too. Nice and small. Loads fast.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    lt's not particularly silly, is it?
  • heaterheater Posts: 3,370
    edited 2009-09-19 08:26
    Interesting challenge:

    So far it reminds me how much I hate Java [noparse]:)[/noparse]

    Here is how I got JavaSum running on my Debian Lenny. Baring in mind that I already have a working Java install. Starting as a naive user...

    1) java -jar JavaSum.jar

    FAILED something about missing javax.swining.GroupLayout not found.

    Lets see what Java package we need ...

    2) su

    3) apt-cache search java

    4) apt-get install sun-java6-bin

    FAILED - unable to fetch some archive or other.

    OK Lets up date our package list as suggested in the failure message..

    5) apt-get update

    Wait, wait, wait....

    and try again

    6) apt-get install sun-java6_bin

    Wait, wait, wait...

    7) Agree to obnoxious pop up license form.

    8) Then again "Do you agree with the ....." Yes.

    Wait, wait, wait....

    9) exit su.

    10) java -jar JavaSum.jar

    FAILED

    Go to Google and look for some advice...

    11) update-java-alternatives -j java-6-bin

    FAILED "alternative does not exists"

    12) apt-get install sun-java6-jdk

    Wait, wait, wait....

    13) exit su.

    14) java -jar JavaSum.jar

    SUCCESS.

    Total time 25 minutes and one cup of tea. Not bad for Linux really [noparse]:)[/noparse]

    Now to see what this has broken in my set up...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
Sign In or Register to comment.