Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Java Programming

JAVA vs. The World 14

willhelm asks: "I have a friend--and his boss, in a stroke of wisdom, has asked for any kind of "hard numbers" comparing Java to VB. Java being an interpreted language, is probably much slower than VB. However, theory and high-faluttin' rhertoric mean nothing to him. So I looked around and didn't find much, probably because there aren't a whole lot of applications that were written in Java and some other language. Are there any studies on performance of Java applications vs. other common application programming languages like C, C++, Delphi, VB and others like them?" Let's try and answer this one without rabid advocacy, please!
This discussion has been archived. No new comments can be posted.

JAVA vs. The World

Comments Filter:
  • by Anonymous Coward

    Tell your boss to look at Eiffel instead. Its fully compiled, and can do lots of optimisations that Java cannot. In particular it has proper generics, which mean that you can put things in a list without having to conditionally cast them back from Object.

    It also has design by contracting built in, so you can get all the advantages without having to use some crummy preprocessor hack, and all the libraries have it as well.

    All the library classes are fully regular. There is no wierd stuff with String having operators that you can't define in standard Java.

    See (for example) Eiffel Liberty Journal [elj.com]. This has links to pretty much everything else Eiffel-related on the planet.

    Paul Johnson.

  • by Anonymous Coward
    Hello,

    Well, for one person, nearly everything I use at work
    that has been release under UNIX and WindowsNT
    has (or will have in a month) Java front-ends for it.

    What I mean by Java front-ends...

    o HP OpenView (network management software)

    This tool is available under X as well as Win32.

    There was a vendor who released a package
    which will add on-to the UNIX HP OpenView
    Server to allow users to monitor thousands of
    nodes using a web browser and Java.

    The implementation from the third party was
    SO CLEAN that the Java version ran just as
    fast as the C++ version from HP, exept you
    could run the Java version over a dial up
    connection (while the C++ version requires
    an ethernet to connect remote maps... or
    at least a T1 line for reasonable use...)

    o Remedy Action Request System

    Remedy is releasing a Java client for their
    Action Request tool, the world-wide
    preferred help desk management framework.

    This means, if you have a help desk in your
    company, they use Remedy. If they use
    Remedy, expect their clients to be running
    in Java shortly...

    When? Not sure, it is projected to go production
    in 1st or 2nd quarter of this year - I am waiting
    to use it in my help desk facility.

    o Tax programs

    I did my tax programs in Java last year...
    it was an off the shelf application (bought
    it at OfficeMax - I did not realize it was
    a java app until I noticed the trademark...)

    o Most RDBMS's are including Java as
    another language to produce code which
    can be resident within in the RDBMS
    (Oracle is an example...)

    Soooo, if you need to code rules in an
    RDBMS so when a row of data is
    deleted that it will delete a similar row from
    another table to keep the stuff consistent,
    you have the option of coding in Java
    instead of learning a proprietary language.

    o Oracle Developer's Kit allows you to
    drag and drop build Java applications
    instead of drag and drop build X and
    Win32 applications...

    Well, those are the things that I am involved in
    at my office. We use a variety of platforms
    (Sun Solaris, NCR UNIX, Linux, and NT
    Servers, Sun Solaris, Linux, and NT Desktops,
    NCR UNIX and Linux Web Servers, and a
    Linux Firewall...) and if we could code in Java,
    it is a big help.

    The other two languages we use to code
    apps in is Shell, Awk, and Perl... we have
    a VB app (that was a PIG) that we are
    porting to Perl right now, possibly Java
    later on. We also have one app written in
    C... which may get ported to Java...

    Visual Basic is not all that fast... I would
    say it is not much different than Java,
    depending on WHAT you are doing in it...
    Visual Basic with ODBC, for example,
    is really a PIG. Don't even think about
    placing MS Access or MS SQL Server
    under it unless you do not care about the
    speed or memory requirements of your
    machine. If you have money to burn and
    you do not care about upgrading your
    apps and your hardware in order to
    keep up your OS, I guess it really does
    not matter.

    Most of the web server apps
    I have built have been in "awk" and they
    were as fast in "ksh" and "awk" on a 486
    with Oracle as they were running on a
    Pentium with MS Access and VB.
    I have upgraded my OS 3 times and
    then moved my application to a
    completely different OS/computing
    platform (Intel based NCR UNIX to
    SPARC Sun Solaris) and never had
    to change my application AT ALL
    (over a 4 year period of time.) This
    is what we are expecting to get
    out of the Java platform and it looks
    very promising.

    I hope this helps...
    David J. Halko
    NCR Integration Specialist

    P.S. - get app info on Java from
    www.jars.com
    www.developer.com
    www.gamelan.com
  • But try finding Eiffel software developers.

    And I would suspect that the products, documentation and support channels for Java are MUCH better.

  • by smcd ( 634 )
    Check out JavaWorld [javaworld.com] - they have done lots of performance tests in the past including ones with other languages (C/C++ I think).
  • Sorry, but anybody developing cgi's in ksh needs their head examining. I love ksh/bash/zsh, but they are totally inappropriate for cgi use because it's so bloody hard to make them secure. There are so many different levels of expansion you cannot protect against them all properly. And doing quoting correctly is a nightmare.

    Also, because there are so few features builtin to those languages (compared to say perl), you will probably find that the script is significantly slower in it's runtime.
  • IMHO, VB & Java are both about equivalent in terms of rapid development.

    Java, however, is object oriented. In general, I would say this gives Java a *huge* leg up. However, if your developers are not familiar with OO technologies, I would suspect this would be a disadvantage rather than an advantage. OO technologies make large-scale app design *much* easier, if and only if the OO design is done well. Java makes OO design much easier than it is in C++, but OO design still requires skill.

    That said, I have found that interpreted Java (which you should never have to use) runs about 1/100th the speed of compiled native code. JIT (Just-In-Time) compilers run about 1/20th to 1/10th the speed of compiled native code. HotSpot, the dynamic optimizing JIT that Sun will soon release, is hailed as the Holy Grail for Java, in that it is *supposed* to provide something like 1/2 to 1.1 times (yes, faster) the speed of native code. In my experience with pre-release versions, it quite simply doesn't cut the mustard.

    Based on my experience with Java (my company sells an SDK for doing high-level 2D & 3D graphics), the main slowdown in JIT'ed Java code is that array boundaries are still checked for every array access. I have seen tests where they turn off array bounds checking in the JVM, and the machine runs about 10x faster. However, the type of code I write & maintain do tend to have tons of array accesses in them, so your mileage may vary.

    All told, I think Java is an absolutely superb language. However, the speed sucks. Furthermore, the compilers available for Java still don't support Swing and/or AWT, the GUI interfaces for Java. As such, they are really only useful for server code, not client code.
  • I think it could be the other way around. Don't have any experience with big projects in VB but I know that even if it may be faster to develop in VB at first, it will be sooooo much harder to maintain. If there will be code changes at later date these will be much easier and faster to implemetent in Java code.
  • Several compilers exist for Java, so I suspect there is no speed advantage to either. Java has two advantages: it works on non-M$ platforms, and it isn't a hodge-podge of programming mis-paradigms. I see no advantages for VB.

    --
  • Have a look at the JVM built into OS/2 (v1.1.7a is the current version) of if you are stuck on Windoz then try IBM's new Win32 JVM (v1.1.7). These JVMs are in some cases 2 times faster then Micros~1 JVM and have been shown to be faster then TowerJ's compiled Java. These JVMs both have JIT's and it looks like they may just beat HotSpot if it ever ships. IMHO
  • I think I worded my question somewhat ambiguously.... I've actually programmed in all of these languages. I did my thesis, half in Java 1.0 and 1.1.x and half writing in C with VC++ with the Win32 API and all that jazz. And I've been doing some programming in VB since they released v.1.0 all those many years ago.

    So I wasn't really looking for a this languag vs. that language kind of thing. I was looking to see if there were "studies" on performance between Java and other languages.

    I'm looking for "studies" because Java _is_ in flux and changes pretty rapidly. I just want to know about performance.

    --willhelm
  • I think you can develop big
    programs faster with Visual
    Basic
  • There was a BYTE article a while back, that spoke of Java someday approaching to speed of compiled C++. And there is a native compiler (TowerJ I thinkI that is fast. But VB is still faster than Java.

    I think the javalobby had the link to the speed tests, but it was not in comparison with VB or any other language.

    It misght not be too bad an idea to pose this question to them.
  • Oh pooh !! :)

    I am an Eiffel developer and we are not rare.
    It is Eiffel jobs that are lacking. And while
    Java programmers might be a dime a dozen, beware
    dime-a-dozen quality. Eiffle is not the buzzword
    dejour. To my estimation, that recommends it.

    And Eiffel attracts a rather quality driven
    user/developer base. The commercial products
    are mature and well supported.

    Some links:

    Visual Eiffel:
    {Tight Win32 native code, some RAD tools}
    http://www.object-tools.com/

    ISE:
    {Large corporate projects, platform
    independence, various libraries}
    http://www.eiffel.com/

    SmallEiffle (GNU):
    {GPL release, helpful community,
    fast--very fast}
    http://smalleiffel.loria.fr

    ELJ:
    {Eiffel Libery Journal, online magazine,
    all the other links you might want}
    http://www.elj.com/

    -- Jeffrey Straszheim

As far as the laws of mathematics refer to reality, they are not certain, and as far as they are certain, they do not refer to reality. -- Albert Einstein

Working...