Faster, smaller, simpler: yours for $99

I’m, ahem, conducting some market research. In the time-honoured tradition made defacto by our dear friends at Sun, it’s for an unannounced product in partnership with an unnamed vendor, and if I told you any more I’d have to kill you.

Should a certain little pioneering company offer you a product that turned your Java games into Windows executables that were

a) approximately same size as their C++ counterparts, with no runtime
b) faster than the server VM

for $99, would you be interested?

Have a quick think:

Blazing fast C++ speed, instant application startup, tiny downloads. And yet you can still deploy the very same code on Windows, Linux, and MacOS using Webstart. The best of both worlds is at your disposal.

Are you drooling yet?

Cas :slight_smile:

Well, not literally drooling, but interested under two conditions: (1) there needs to be an evaluation version I can try (15-30 days trial is fine by me, for example), to prove that your compiler works without problem with my code. (2) And it better support the Swing/AWT (unlike Jet). As a matter of fact, it ought to support the entire JDK, in my opinion. I’m open to reasons why this has (as of yet) not been done.

If this is so, then I’m extremely interested.

What about a compiler to generates native Windows, Linux, and Mac. :o

Just set a flag telling it what to build and away you go, a native Mac binary just like that. Need one for Linux, too? No problem! BAM! I’d spend much more than $99 that could maintain my “write once, run away” attributes of Java, but build natively.

Is this, infeasible?

EDIT: I talk English good. Tried to fix grammar a bit.

You’d have to prove that it was faster than the reference Sun JVM. With the latest JVM automatically using things like SSE, class shared archives, heap self tuning and GC improvements, personally I doubt it.

Run a thorough benchmark and give us some numbers :slight_smile:

[quote]And yet you can still deploy the very same code on Windows, Linux, and MacOS using Webstart.
[/quote]
So it’s like 3 compilers? Generating 3 executables?
It would for me be just a temporary solution to the current JRE download issue (I have no serious issues with performance or start up time).
So in that respect, being able to deploy native executables using web start is not a very good reason for me.
Now I am (moderately) interested, although I too like to see it work first.

Erik

I think what he is saying, correct me if I’m wrong, is you can create a native executable for Windows only. Just saying that the other OSs can run through the jre via webstart the regular byte code.

If not, and all platforms are native… Ignore my previous post.

[quote]Well, not literally drooling, but interested under two conditions: (1) there needs to be an evaluation version I can try (15-30 days trial is fine by me, for example), to prove that your compiler works without problem with my code. (2) And it better support the Swing/AWT (unlike Jet). As a matter of fact, it ought to support the entire JDK, in my opinion. I’m open to reasons why this has (as of yet) not been done.

If this is so, then I’m extremely interested.
[/quote]
When I tried JET several years ago, it worked fine out-of-box, and with exotics like Java3D (exotic at the time, because of the .dlls) just fine. But it was much bigger in memory and a tad slower than the default JVM of the time.

[mod]
I am just using JET as an example. I am not saying this woudl be JET, just explaining my experiences.

Now, who said anything about Jet :P?

We’re talking Win32 only here. This is a mass-market product aimed at backroom coders who are currently using Blitz, Delphi, VB, Darkbasic, and ripped off copies of MSVC from work.

MacOS simply requires no native compiler; in a fit of wisdom Jobs saw wisely that bundling it with the OS was the Right Thing, and they’ve got a top-class VM implementation for all to use, ready-distributed.

Linux… isn’t a market. Enough said. But something could be done on that front.

AWT and Swing support will not be included. This product concept is based solely on the LWJGL project. SWT support is trivial to add of course; with any luck that means Xith support too in the near future.

WRT Jet execution speed: Jet is stunningly fast. My experiments with Jet and Alien Flux show it to start up almost instantly and run like the clappers from the off; it’s roughly the same performance as the server VM, except of course for that massive difference in startup time.

Cas :slight_smile:

We would be selling a time-limited trial version of the software, probably softwrapped or similar, with instant online unlocking, like Alien Flux.

Cas :slight_smile:

Frankly, $99 is chicken **** for the features that you have described. I’ve always wondered if this would be a lucrative way that Sun could make money out of Java - provide such an exclusive tool for a fee only to those interested.

Specifically, can better -than-or-comparable-to-server performance be guaranteed for heavy duty polymorphic code ? Just been trying out Jet to compile my ~100K Java + Java3D code. The size of the exe is ~8.5mb. And the performance - overall OK, except that it is slower than client VM in certain specific cases. Need to contact their support to find out if there are avenues for improvement.

And why is it specifically a game VM ? game only or otherwise, I would be very interested.

Just removed my vote (maybe temporarily), I haven’t really decided if I would really benefit. For instance I plan to make a start up config menu using Swing. I’d have to create such a gui in openGL instead. No thanks: Too much work for too little :-/. And I heard SWT is not any good on anything but windows (I haven’t tried it on other platforms myself though).

Some questions:

  • will there be licensing restrictions related to having to use it in a LWJGL based game? I could imagine it could be very useful for creating small command line utils for example.
  • Isn’t $99 way too cheap? I mean, for such a specialized product how will anybody ever make a buck?

So I’m interested in seeing it, but undecided about its usefulness to me ::slight_smile:

Erik

[quote]AWT and Swing support will not be included.
[/quote]
My vote has been changed from yes to no. If it doesn’t support the entire JDK, I’m not interested, even if it’s free. I’m happy with Java as is, so give me native everything, or don’t bother me.

Pardon me if I am wrong, but doesn’t Jet already support the whole JDK??

From what I perceived, this…errrr…compiler is to be used directly with LWJGL and only suporting, I hope, a few Java key libraries, such as util.

This really sounds interesting for small developers (such as myself)

Yes, I think JET supports the whole JDK. There’s just this license issue with using AWT where you have to include the whole JRE in your distribution.

If you have to distribute the JRE with a Jet compiled app, what was the point of using Jet in the first place? Performace? Perhaps, but there are better ways of getting good performance than trying to fix it by compiling to native code.

Perhaps my definition was unclear. I want to be able to compile to native code, and get the full benefits of native applications. That includes not having to distribute a JRE with my app.

My possible interest in this project has to do with distribution issues. My app already runs in bytecode - if I can’t get away with not distributing a JRE, then I’m not interested in a natively compiled application.

I’m already NOT using Jet. If this new project can’t address the reasons why I, and many others still haven’t gone to Jet, then what’s the point? Yes, Jet is expensive, but I really don’t think that’s the reason for some developers. I’m as poor as the next indie programmer, but if I had to scrimp and save for 18 months to get a product that actually did what I expected, what I thought I could assume when it comes to natively compiled applications, then I’d do what I could to make it happen.

Does the price tag make it a more attractive solution? Of couse! and I’m sure that will be enough for plenty of people. However, a sub-standard tool at any price is still a sub-standard tool.

Quick dumb question: does Jet works directly with the bytecodes, the .class files, or with the source code?

[quote]What about a compiler to generates native Windows, Linux, and Mac. :o
[/quote]
gcj

[quote]Quick dumb question: does Jet works directly with the bytecodes, the .class files, or with the source code?
[/quote]
Pick one.

Gimmie Awt/Swing support and I’ll get you the money :slight_smile:

There’s the rub: if you want AWT/Swing support and native compiled EXEs, currently you have to pay $800 for Jet Professional + JetPerfect. What’s more, by the time AWT and Swing support is compiled to native code, you’ll have a particularly large binary anyway (as I have discovered - just one tiny accidental reference to AWT in AF caused the executable to bloat by 4MB).

This solution is for backroom game coders who would like to deploy on Windows. It is not a solution for

a) Big Game Studios, who either have the resources and clout to ship a JRE with their game, or are able to buy Jet Professional anyway;

b) MacOS, which doesn’t need it;

c) Linux, which is not a viable market for this product;

d) Anyone who feels that AWT & Swing are necessary to write games.

but it is a solution for:

a) Developers who want an end-user friendly deployment option on Windows;

b) Developers concerned with performance (there are situations where AOT compilation is still much better than the current client VM JIT compilation)

Because of the nature of the Java community, there already exists a ton of code to do many of the things that people need to do which costs nothing. There’s LWJGL, to take care of the tricky stuff. There’s Xith3d, to do scenegraph rendering, or the Monkey Engine. There’s SPGL for sprites. There are several widget libraries in development for LWJGL (Spaghetti development would likely resume if there is enough interest).

As I have said, this product is directly competing with Blitz Basic on price. It soundly trounces it on functionality and deployment options (because you can still deploy anything you write on Webstart as usual). It completely beats Blitz on performance. It also lets you use vastly more powerful IDEs to do your development.

The tool is likely to be supplied with an Eclipse 3.0 plugin, and shipped with Eclipse too, along with tons of other resources.

I’ll shortly provide an example of what it produces :slight_smile:

Cas :slight_smile: