1. [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

One of the major complaints of Euphoria has been its lack of portability.  =
I know some work has been done creating Tcl wrappers in Euphoria and a =
port of Euphoria was supposedly made as a Java class (David?).  The major =
complaint of Java has always been its speed.  I just read a few reports =
about the Jikes compiler which is supposed to be a lot faster than javac.  =
How that affects the run-time speed I don't know.  Jacl is a Tcl/Java =
project.  Does anyone have any experience with these projects?  If so, how =
do you think they could affect Euphoria development?

Mike Sabal

new topic     » topic index » view message » categorize

2. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

I'm not complaining about portability.

MS-Windows is my preferred platform (except for AmigaDOS, of course). Its
flakey but mostly works and there's LOTS and LOTS of software available for
it.

MS-DOS is far too old fashioned and restricting. Its basically a toy or
child-like OPSYS.

Unix is great fun for programmers but a nightmare for users and
administrators.

------
Derek Parnell
Melbourne, Australia
(Vote [1] The Cheshire Cat for Internet Mascot)

----- Original Message -----
From: "Sabal Mike" <MikeS at NOTATIONS.COM>
To: <EUPHORIA at LISTSERV.MUOHIO.EDU>
Sent: Friday, November 10, 2000 7:29 AM
Subject: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria


One of the major complaints of Euphoria has been its lack of portability.  I
know some work has been done creating Tcl wrappers in Euphoria and a port of
Euphoria was supposedly made as a Java class (David?).  The major complaint
of Java has always been its speed.  I just read a few reports about the
Jikes compiler which is supposed to be a lot faster than javac.  How that
affects the run-time speed I don't know.  Jacl is a Tcl/Java project.  Does
anyone have any experience with these projects?  If so, how do you think
they could affect Euphoria development?

Mike Sabal

new topic     » goto parent     » topic index » view message » categorize

3. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

Mike Sabal wrote:

> I know some work has been done creating Tcl
> wrappers in Euphoria

I spent some time looking into that. A number of years ago, the pTk (for
"portable Tk") project tried to make Tk (the GUI portion) independant of
Tcl. This was moderately successful, but was eventually dropped because it
became too complex, and Tcl/Tk was upgraded to be cross-platform, which puts
the pTk code several versions behind. I spent some time a couple of days ago
looking for any new developments along these lines, but didn't see anything.

If you were so inclined, you could still combine Tcl/Tk together with
Euphoria. I'm under the impression that's how tkPython and tkPerl work. The
disadvantage is that it's a bit clunky - you are asking Tcl/Tk to do the
work for you, and have to install both Euphoria and Tcl/Tk to get this to
work. Speed can be an issue, since Tcl is slow, and (from the interfacing
point of view) Tcl treats everything as a string.

In addition, Tk is a bit funky to work with, and lacks complex widgets like
notepads. The best part of Tk is the canvas, which is enormously powerful.


> a port of Euphoria was supposedly made as
> a Java class

That's still out there, at:

   http://www.lanset.com/dcuny/java.htm

Basically, it's a translator that will turn Euphoria code into Java code,
which can then be compiled and run under Java. The point where I got hung up
was figuring out how to handle routine id's. I started working on a Win32Lib
clone, but ran into a chicken-or-the-egg type of problem, and couldn't make
my way out of the mess.

There are some other problems to my approach. I tried to keep a 1:1 match
between a line of Java code, and a line of Euphoria code. If I were to do it
again, I'd take an approach much more like what Robert is doing with his
translator.

The resulting code wasn't fast, but I suspect that it would run at a usable
speed.


> Jacl is a Tcl/Java project.

There have been quite a number of projects that attempt to replace the Tk
toolkit with something native. The most recent that I've seen has been
Java-Gnome, at:

   http://java-gnome.sourceforge.net

I suspect that Robert won't be taking Euphoria in the Java direction.
There's no pointers, an no nice ways to map how he implements sequences into
Java. It can be done, but the approach is fundamentally different.


Currently, I'm making yet another attempt to wrap the GTK+
(http://www.gtk.org). Right now, I'm working on a program to convert the
include files (all 142 of them) into Euphoria code that can link to the
DLLs. I'll let people know if and when I start making progress.


I think a better approach would be have a cross-platform library built into
Euphoria. Some free candiates include:

   wxWindows (best) http://www.wxwindows.org
   V http://www.objectcentral.com
   Zinc http://www.windriver.com/zinc
   ZooLib (new) http://zoolib.sourceforge.net
   GraphApp http://www.cs.usyd.edu.au/~loki/graphapp
   FLTK http://fltk.easysw.com/

With some of these toolkits (like GraphApp), it's possible to create a DLL
instead of building it into Euphoria. But others (like V) make it difficult
to do.

Adding the library natively would also mean that Robert would be declaring a
particular API as official, and he'd have to spend time developing and
supporting it. Since the source is closed, it would add quite a bit to his
current burdens.

Size is also a factor; most of toolkits generate fairly large executables.

Picking a toolkit can lock you onto a particular platform. For example, most
toolkits don't support the Mac or DOS.


Another option would be to stick to the Win32 API, especially given the
completeness of Win32Lib.

Wine (http://www.winehq.com) runs Win32Lib programs on Linux x86 machines,
and there's even talk of porting it to the Mac OS X.


I don't mean to leave DOS out of this, free libraries for DOS are about as
infrequent as non C++ libraries. One exception is SciTech's MGL library
(http://www.scitechsoft.com/dp_mgl.html). But I think a more interesting
contender is Microwindows (http://microwindows.censoft.com). Microwindows
can currently run subsets of the Win32 API (including a number of controls)
in DOS, the Linux framebuffer, and even on handheld machines. Ports of FLTK
and GTK are in process.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

4. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

On Thu, 9 Nov 2000, Sabal Mike wrote:

> One of the major complaints of Euphoria has been its lack of portability.
> I know some work has been done creating Tcl wrappers in Euphoria and a
> port of Euphoria was supposedly made as a Java class (David?).  The
> major complaint of Java has always been its speed.  I just read a few
> reports about the Jikes compiler which is supposed to be a lot faster
> than javac.  How that affects the run-time speed I don't know.  Jacl is
> a Tcl/Java project.  Does anyone have any experience with these
> projects?  If so, how do you think they could affect Euphoria
> development?
>
> Mike Sabal
>

The Jikes compiler (as far as I know) is basically javac written in C
instead of Java, so it compiles much faster. Run time performance is about
the same, I think. I download David's Euphoria/Java and made some small
tweaks so it's a bit faster, though it still doesn't do enough
optimization to approach Euphoria's speed. However, a hand written Java
program can easily beat an equivilent Euphoria program. Here's the results
of the sieve benchmark (though i only ran each once, so they're not
perfect):

Euphoria/Java with my tweaks, compiled by javac -O: 373 sieves/second
Euphoria/Java with my tweaks, compiled by jikes -O: 396 sieves/second
C++ with gcc (no optimization options): 16023 sieves/second
gcc with -O3 -fomit-frame-pointer: 46560 sieves/second
gcc with -O3 -fomit-frame-pointer -march=pentiumpro: 51600 sieves/second
hand written java w/ javac -O: 40051 sieves/second
hand written java w/ jikes -O: 34633 sieves/second
Euphoria for linux: 7536 sieves/second

Jeff

new topic     » goto parent     » topic index » view message » categorize

5. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

On 9 Nov 2000, at 14:24, Cuny, David@DSS wrote:


> I don't mean to leave DOS out of this, free libraries for DOS are about as
> infrequent as non C++ libraries. One exception is SciTech's MGL library
> (http://www.scitechsoft.com/dp_mgl.html). But I think a more interesting
> contender is Microwindows (http://microwindows.censoft.com). Microwindows can
> currently run subsets of the Win32 API (including a number of controls) in
> DOS, the Linux framebuffer, and even on handheld machines. Ports of FLTK and
> GTK are in process.

David, after i looked at the pics at
ftp://microwindows.censoft.com/pub/microwindows/ScreenShots/ , i can't
help but wonder why we need windoze at all. It looks to me like all the
necessary toys are there, and with a DOS "kernal" that will fit into 64K
bytes, what advantage does win95/98/2k/CE/ME have, other than installed
userbase?

Kat

new topic     » goto parent     » topic index » view message » categorize

6. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

On 9 Nov 2000, at 14:24, Cuny, David@DSS wrote:

> I don't mean to leave DOS out of this, free libraries for DOS are about as
> infrequent as non C++ libraries. One exception is SciTech's MGL library
> (http://www.scitechsoft.com/dp_mgl.html). But I think a more interesting
> contender is Microwindows (http://microwindows.censoft.com). Microwindows can
> currently run subsets of the Win32 API (including a number of controls) in
> DOS, the Linux framebuffer, and even on handheld machines. Ports of FLTK and
> GTK are in process.


I was especially impressed by micro3.exe running in a dox box on win95 at


Have you tried any Eu programs on Microwindows?

Kat

new topic     » goto parent     » topic index » view message » categorize

7. Re: [GEN] Java,Jikes,Jacks,Jacl, & Euphoria

Kat wrote:

> advantage does win95/98/2k/CE/ME have [over
> Microwindows], other than installed userbase?

Unlike Wine, you can't actually *run* any Windows programs in Microwindows,
unless you recompile them with the Microwindows library. And while it's
implemented a lot of the GDI API, (so you can draw and blit to your heart's
content), there are a lot of missing controls.

I've gone through a lot of the sample code (especially relating to
controls), but I've never been able to get the code to compile.

Then again, I tried using a rather anemic compiler.


> Have you tried any Eu programs on
> Microwindows?

Again, I think you are confusing it with Wine. Unlike the Win32 and Linux
versions, the DOS version of Euphoria isn't capable of linking to an
external C library, unless you do clever things with the compiled version.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu