1. Re: Porting Euphoria to other platforms

[Robert asked about ideas on Euphoria's future]

I have a feeling that anything other than WinTel is just not going to be =
cost effective for RDS. Releasing the code seems problematic, as well - =
where's the incentive to pay RDS money if a superior port becomes =
available? Besides, just because you'vre released something to the =
public domain doesn't mean that people are going to pounce on it. You've =
got to do a lot of preaching and firing people up first - that's the =
tough part.

I'd want to maintain as much control over Euphoria as I could - keeping =
all the code in-house. Or at least the sequence engine. Given the tools =
available, anyone can write an interpreter. It's the sequence engine =
that makes Euphoria *really* special.  You might consider making the =
sequence engine "clean", and releasing everything *but* that - and =
making the binary available to people who are interested in makling the =
port. That way, you retain control over the most valuable part of the =
code, and give porters some percent of the profits from their port.

Mike's suggestion of a free "clean" (but unoptimized) version with =
little more than stdio is also interesting. I can imagine someone =
linking it to something like the Allegro game toolkit. Vrooom! But =
again, I'd be very hesitant about giving away the code.

I think that cross-platform support is an important part of the package.

I also think it would have been nice to have it built into Euphoria, =
rather than having to code it from scratch. It's good experience, and =
the resulting code is nice and small - no bloatware - but shouldn't we =
really be spending our time writing programs?

Why not follow these directions:

1. Rip out the DOS specific stuff from Euphoria, and make the code =
portable, or at least compilable with the GCC. Remove the optimizations; =
rewrite the bytecodes; remove most of the functions; whatever it takes =
to make Euphoria to a minimal (but portable) program. It may be easier =
to just make the sequence code portable, and write a clean version of =
Euphoria from scratch with LEX and YACC. Heck, for the purposes of this =
example, you don't need very much functionality at all.

2. Grab a cross-platform tool. Try out wxWindows, which is free, has =
been used a lot, has lots of documentation, and has been ported to =
Win32, X Windows and the Mac. The discussion group is current, and =
archived, so there's a free knowlege base available. As a bonus, there =
is *current* work on a 2.0 version for all three platforms, so you know =
it's got a future (the 2.0 release is available now, and is much =
leaner).

3. Include the GUI calls as native Euphoria calls. Don't put in the =
whole wxWindows toolkit - just enough to put up a "Hello, World" window. =
Steal the source from wxPython - it's an interpreted language that uses =
wxWindows to dynamically build windows. No point in reinventing the =
wheel.

4. When wxEuphoria is able to pop up a "Hello, World" window in Win32, =
find some fanatical Mac and X Windows programmers to help you with the =
port to those platforms. Or download GCC and Linux, and do it yourself, =
although that means learning Linux, installing it, etc. etc. etc... =
Hopefully, there's a lot of hints in the wxWindows documentation on how =
cope with cross-platform bugs, since lots of people have done something =
similar before. And you can always post to any questions to the =
discussion group.

5. Once it's running on all three platforms, ask yourself these =
important questions:

   A . Can I get excited enough about this product to finish it?
   B. Can I market this?
   C. Can I get it to market in a short amount of time?

Hopefully, the answer all of those is *yes*, and you've convinced =
yourself that, with this set of tools, it *is* possible to do this.

Even if you don't get the cross-platform stuff working, it would be =
*very* nice to have GUI support native in Euphoria. That would mean we =
could stop working on the Win32 libraries and concentrate on other =
stuff. smile

Just my two cents.

-- David Cuny

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu