oop – Alternative to Java

oop – Alternative to Java

To answer the direct question: there are dozens of languages that fit your explicit requirements. AmmoQ listed a few; Wikipedia has many more.

And I think that youll be disappointed with every one of them.

Despite what Java haters want you to think, Javas performance is not much different than any other compiled language. Just changing languages wont improve performance much.

Youll probably do better by getting a profiler, and looking at the algorithms that you used.

Good luck!

If your apps is consuming most of the CPU and memory on a single-user workstation, Im skeptical that translating it into some non-VM language is going to help much. With Java, youre depending on the VM for things like memory management; youre going to have to re-implement their equivalents in your non-VM language. Also, Javas memory management is pretty good. Your application probably isnt real-time sensitive, so having it pause once in a while isnt a problem. Besides, youre going to be running this on a multi-user system anyway, right?

Memory usage will have more to do with your underlying data structures and algorithms rather than something magical about the language. Unless youve got a really great memory allocator library for your chosen language, you may find you uses just as much memory (if not more) due to bugs in your program.

Since your app is compute-intensive, some other language is unlikely to make it less so, unless you insert some strategic sleep() calls throughout the code to deliberately make it yield the CPU more often. This will slow it down, but will be nicer to the other users.

Try running your app with Javas -server option. That will engage a VM designed for long-running programs and includes a JIT that will compile your Java into native code. It may make your program run a bit faster, but it will still be CPU and memory bound.

oop – Alternative to Java

If you dont like C++, you might consider D, ObjectiveC or the new Go language from google.

Leave a Reply

Your email address will not be published. Required fields are marked *