Slashdot Mirror


Industry Leaders Discuss Java Status Quo

prostoalex writes "JavaPro magazine published a wrap-up report on Java discussions at the recent JavaOne. If you missed JavaOne, the video Webcasts of McNealy, Schwartz, Gosling et al. are available from this site. The round table mentioned above gathered people from Sun, Oracle, Borland, Novell, Motorola and others. The discussion topics included: Java vs. NET, integration issues, the impact of open source and top problems that Java is facing today."

68 of 390 comments (clear)

  1. Enough! by cK-Gunslinger · · Score: 5, Funny

    Java Script, Java Beans, Java Swing, Java Status Quo!? Enough!

    1. Re:Enough! by L.+VeGas · · Score: 3, Funny

      Java Script, Java Beans, Java Swing, Java Status Quo!? Enough!

      I thought this sounded familiar. It's the lyrics from that old Ink Spots song. Java Jive.

      Java script,
      Java bean,
      Java jive,
      Java swing
      Java status quo?
      Java gotta go!
      Go cat go!

  2. Make JavaOne Open Source! by Lieutenant_Dan · · Score: 3, Funny

    I think it would benefit the Open Source developer community if the minutes of the conference were made public. That would enhance the understanding that the hundreds of millions of Java developers throughout the world have of Java.

    We need to be more agressive in building the respect and visibility of Java in the corporation. Only by doing so can we establish the necessary paradigm to determine the direction that the IT world, nay, the society in general has to take.

    It makes me mad when I look across the look and see the cookie-cutter drones that spout Windows drivel without questioning their origins and more importantly their destinies.

    Why must we live such a drab and empty existence? Why can't we challenge authority figures and build a better tomorrow. Not by force, mind you, but by knowledge. It is the only way to world peace.

    So in summary, if you don't support Java, you're against world peace.

    --
    Wearing pants should always be optional.
    1. Re:Make JavaOne Open Source! by kill+-9+$$ · · Score: 5, Insightful

      I'm personally a little tired of the argument that Java is bad because its not open source. While Sun's implementation of the JVM is closed, Java as a language is light years from being a closed source, completely under Sun's control kind of thing.

      1) JVM is an open specification (how you implement it and whether that is open or closed is up to you) There are many JDK's/JVM's that you can use to run Java programs other than Sun's (IBM, Kaffe, or whatever the open source one is (and I'm sure there are more than just that, etc)

      2) You get the source code for all of the classes/libraries that come with java when you download Sun's JDK. These include the core classes like java.lang.String, etc, etc. The only thing missing, as stated above is the source code for the compiler/interpreter and other tools.

      3) There are open source JVM's (i.e. kaffe, etc) although I've found them to be lacking, but they'll get there

      So the argument that Sun has control of Java is moot, you can build/run/install and entire Java application without ever touching Sun tools.

      Is Java/JVM totally free? Depends who you ask. Its free/open enough for me, personally, but I can see how some open source fanatics can get their panties in a bunch over this.

      Also, unlike M$ products, I think the design of Java's classes shows insight, and well thought out design, so in a way I for one am for Sun keeping a bit of control over the language and "core" classes, but thats my opinion of course.

      --

      -- A computer without COBOL and Fortran is like a piece of chocolate cake without ketchup and mustard
  3. Java Status Quo by Richy_T · · Score: 3, Funny


    import music.blues.12bars;

    public void static main(){
    and.I.Like(It).I.Like(It).I.Like(It).I.Like(It);
    I.la.la.la.Like(it).la.la.la.Like();
    Here(We).go(o);
    Rocking.all.over.the.(World);
    }

    1. Re:Java Status Quo by BigBadBri · · Score: 3, Funny
      You missed

      int MAX_CHORDS = 3;

      --
      oh brave new world, that has such people in it!
  4. Hey They Mentioned Me! by stoolpigeon · · Score: 5, Interesting

    I'm a full time VB programmer who is looking to move away from microsoft tools as well as microsoft platforms.

    I started out not knowing anything but ms products- learned VB in school and landed my first job writing database apps. As I learned more, and my employer's needs grew- we started realizing that MS was too expensive and we looked for alternatives.

    Now we use linux and open source tools. I am learning to handle a system and use software that has been built by the open source community. I've even tweaked some code here and there for our own purposes.

    While all this has been going on- I've been trying to look to the future and work on some projects of my own. I really wanted to learn a language that would be portable, and have good tools I could afford. I've finally opted to go with Java.

    Java seems the simplest way to be able to work cross platform and have access to sufficient resources without having to shell out big bucks. In fact my development platform right now is a RedHat box with eclipse and Sun's JDK. I'm about 2 months into what I hope will be a long relationship. I think the article is right in that what is good for Linux is also very good for Java.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    1. Re:Hey They Mentioned Me! by molarmass192 · · Score: 4, Interesting

      He's using Eclipse so more than likely he's also using the SWT GUI lib. The "slow and visually buggy" you're referring to is in AWT and much more specifically Swing. It's gotten better in 1.4.2 but the fact is that SWT is the way to go if you're targeting desktop apps since it results in apps that are indistinguishable from native apps in look, feel and speed. The only remaining drawback is the memory overhead but even this can be controlled via careful use of System.gc.

      That said, I'm a C++ person myself and totally agree that you can write tighter and faster apps using C/C++. However, if you MUST have a portable *GUI* application (ie. Win and Lin), Java really does make things very very easy for those without C/C++ backgrounds.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    2. Re:Hey They Mentioned Me! by stoolpigeon · · Score: 4, Informative

      It was a java app that really swung me over. I needed a GUI based telnet app that would allow a user to click on buttons that would send control characters to the host. (I work in a call center). I needed it to run on linux and I wanted something open source that I could modify. So I headed over to sourceforge and ended up with something that is working very well.

      You can find it here

      It can be run as an applet or application. (Something else I like is how easily you can move java to web stuff and vice versa) I run it as an application. It works well. And it didn't do everything just the way I wanted- so now I am fixing it to do just what I need. (that's an open source thing more than a java thing- but I love it) My IDE- Eclipse, is also a Java app that works well, on both platforms by the way. It does not seem slow or buggy to me.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    3. Re:Hey They Mentioned Me! by Ribo99 · · Score: 2, Informative

      What apps have you been using?

      I used Borland's JBuilder 4 on Linux at my last job four years ago for all of my developement with fantastic results.
      Most of the developers at my company use Eclipse for their development, a pure java IDE that beats the pants off of any other IDE I've used or seen. The only reason I don't use it is because of the lack of VI keybindings, I use good ol' Vim instead.

      The point it moot anyway, Java really shines in the Enterprise side.

      --
      I wear pants.
    4. Re:Hey They Mentioned Me! by stoolpigeon · · Score: 2, Informative

      I use it every day. Sorry it didn't work for you.

      .

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  5. Re:Microsoft should have owned them a long time ag by Sheetrock · · Score: 4, Interesting
    You raise a good point (well, except for the hyperbole about combining the game industry.) During this time of massive layoffs and outsourcing, maybe the Open Source paradigm is actually shooting us in the foot.

    I'm not saying that everybody needs to stop contributing their pet projects to the communal good, but maybe the deal doesn't need to be made sweeter for these scummy companies that are building cheap foreign and selling expensive domestic. I'm starting to think that (L)GPLv3 should involve a clause invokable by the author of a project so covered that it not be used in any commercial application whether source is included or not.

    The biggest irony is when movie companies using Free Software turn around and lobby our government to harm users of Free Software. This free ride shit has got to stop, there.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




  6. Re:Microsoft should have owned them a long time ag by Jeremiah+Cornelius · · Score: 2, Funny
    Microsoft needs to stop the GPL, before it ruins the whole US economy, if we could just outlaw the GPL Microsoft wouldnt need to hire Indian programmers anymore.

    Monoculture produces great minds, like yours!

    You - and Mr. Gates - are quite welcome to whaterver is left, after the pursuit of your brilliant agenda.

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
  7. Re:One issue with Java vs. .NET by Bigby · · Score: 2, Insightful

    Java isn't slow; Java is a language. Since when could languages be slow? It is Java vs C# and JVM vs .NET. But even that isn't a good comparison.

    Sun JRE is slow. The JVM runs as another layer on top of the OS, so of course it will be slower than if it were native to the OS. All Sun has to do is make a JM (Java Machine) chip that can be put into motherboards to do the processing at the hardware level, not hardware-os-software level. Then M$ will have a problem competing.

  8. Re:What are you thinking?! by HeelToe · · Score: 2, Interesting

    I've not seen anyone take this tack with respect to OSS before. Care to back up your assertions? I'd like to hear at least anecdotal evidence from CIOs who are realizing this situation and capitalizing on the wealth of free software out there by saving local headcount and getting things done remotely.

    Or is this just an opinion?

  9. Missed opportunities by Octagon+Most · · Score: 4, Interesting

    Does anyone else find it a little disconcerting that, "according to a recent Evans Data Corporation survey, developers who are migrating now from Visual Basic are moving to Java and C# in roughly equal numbers." What good is a few years head start and breathless hyperbole from the entire technology industry when Microsoft can simply create a new competitive product and quickly catch up? Java may well continue to be quite successful even though it has under-delivered, but that could mean little with C#, .NET, and whatever else comes out of Redmond. Does Java have enough momentum to thrive?

    1. Re:Missed opportunities by LarryRiedel · · Score: 3, Insightful

      "...developers who are migrating now from Visual Basic are moving to Java and C# in roughly equal numbers." What good is a few years head start and breathless hyperbole from the entire technology industry when Microsoft can simply create a new competitive product and quickly catch up?

      That quote does not imply that C# is even starting to catch up with whatever lead Java has in developer base.

      Java may well continue to be quite successful even though it has under-delivered...

      I think Java has many flaws and weaknesses, but I also think it has more than delivered on its goal to be the successor to the platforms that preceeded it.

      Larry

    2. Re:Missed opportunities by Glock27 · · Score: 4, Interesting
      Does anyone else find it a little disconcerting that, "according to a recent Evans Data Corporation survey, developers who are migrating now from Visual Basic are moving to Java and C# in roughly equal numbers." What good is a few years head start and breathless hyperbole from the entire technology industry when Microsoft can simply create a new competitive product and quickly catch up?

      You're looking at this the wrong way. Try this phrasing instead: "Microsoft is losing half of it's VB developers to Java, rather than having them move to C# [or VB.net]".

      Also, remember that C#/CLR is little more than warmed-over Java/JVM with the Microsoft label - it's not as though it's actually a different product...other than not being cross platform that is. ;-)

      Java may well continue to be quite successful even though it has under-delivered, but that could mean little with C#, .NET, and whatever else comes out of Redmond. Does Java have enough momentum to thrive?

      Will the 'whatever else comes out of Redmond' run on anything besides Windows? If not, Java will have a strong niche for the foreseeable future. Personally, I think Java and the JVM will outlive C# and the CLR. On the other hand, there is nothing preventing someone from coming out with a Java implementation for the CLR...

      Java has the momentum to thrive, not just survive. Red Hat's recent offer to support an open-source implementation may prove to be another positive inflection point for Java....we'll see.

      One thing that is very positive for Java - it is widely used in educational curricula, especially at the university level. That is a huge advantage over .Net.

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    3. Re:Missed opportunities by __past__ · · Score: 2, Interesting
      In fact, I think it is only because of Java's relative weakness that it has succeeded that well.

      It was never meant to be the best language possible, it was meant to be better than C++ (and honestly, how hard is that!?). A language with which you can develop mostly boring software using lots of mediocre, exchangable developers in a half-way predictable amount of time. A limited, but not too confusing step up from what everybody used back then in the early nineties in the direction of what smart people have known scince the early sixties - without scaring anyone. Nothing more, nothing less.

      While this obviously is not very sexy, it is where a lot of the money is, and Java succeeded quite well in this niche. But, it also made some basic preconditions of real productive, high-level, state-of-the-art languages acceptable for the general public (like, hiring managers), garbage collection and bounds-checking being prominent examples, as is OO, even if there were other successfull OO languages before (Smalltalk was and is not unheard of in the enterprise), and people believing that Java's broken and crippled OO model is the very definition of object-orientedness is a shame.

      I for one believe that I have an easier time to advocate use of high-level languages thanks to Java - at the expense to having to use Java itself even where it is obviously not good enough. But hey, otherwise I could be forced to use C++...

  10. I still don't get the allure of Java by CoughDropAddict · · Score: 4, Interesting

    This is not a troll.

    Why does anyone use Java, ever? In what situation does it offer anything that justifies the pain and inconvience that it incurs?

    Can you think of even one Java application that you use on your desktop and like?

    Can you think of a single language/runtime that feels so out of place no matter what platform you're running on? A platform that makes you deal with CLASSPATH, non-native and slow widgets, and shell scripts to set a thousand environment variables before starting your "portable" application?

    Can you think of a single problem domain where Java offers greater portability than the competition? Standard C, C++ or Python (depending on your desired level of abstraction) are just as portable as Java as long as your libraries/toolkits are cross-platform. And programs written in these languages just fit in, they find their libraries without fuss, they start up rapidly (in comparison) instead of seemingly spawning an OS within an OS.

    I've felt this way about Java since the moment I first tried it, and I'm still at a loss. I just don't get why so many people decide that Java is the solution for them.

    1. Re:I still don't get the allure of Java by cfscript · · Score: 2, Interesting

      i'm very, very new to java, so i can't deny anything you're saying, however a lot of it seems like fud to me. i hope some senior java guy tells me where i make my mistakes.

      Can you think of even one Java application that you use on your desktop and like?

      limewire?

      Can you think of a single language/runtime that feels so out of place no matter what platform you're running on? A platform that makes you deal with CLASSPATH, non-native and slow widgets, and shell scripts to set a thousand environment variables before starting your "portable" application?

      erm.. perl? isn't this what jar's are created for?

      Can you think of a single problem domain where Java offers greater portability than the competition?

      VB?

      java is the solution for me because i want to spend my time -writing applications-, not fussing about with threads and low-level nonsense -IF I DON'T NEED TO-.

      i like java. i like the syntax, i like the documentation, and i like the portability. now, everyone start crying how System.out.print() doesn't work on HP-UX or another JVM not created by sun..

      --
      Are you MORE than your SPINAL COLUMN?
    2. Re:I still don't get the allure of Java by bytes256 · · Score: 4, Interesting

      The "portability concerns" you mention are really quite minor, have you ever attempted to write a semi-complex cross-platform piece of software that strayed beyond the Standard C and C++ libraries? Also, Python is just as much of a pain to integrate into your system if you must also deploy on windows...users have to install Python, and if you use any non-standard Python modules, you're stuck with a reallly ugly mess. Java includes a lot of nice things by default that are at best afterthought add-ons in other portable programming languages. Also, with Swing, you can make your app fit in perfectly with the underlying OS, also with today's fast computer systems and continued improvements in JIT technologies, Java really isn't bad performance-wise, and only stands to improve as time progresses. As far as apps I like that are written in Java? I could list dozens of websites, limewire, Eclipse, Ant, JavaCC Even with traditional cross-platform approaches, you are still left with the task of handling dependencies and integrating into the system. How is integrating your Java app into the system any different than making an InstallShield wizard for your C++ app on windows? The allure of Java for me is simplified development of the actual application. Sure, installation concerns are still there, but how does that differ from C++?

      --

      Slashdot, the site where everything's made up and the points don't matter
    3. Re:I still don't get the allure of Java by stoolpigeon · · Score: 4, Insightful

      I will relate to you my experience and the largely subjective reasons I ended up moving towards Java. I am still new at it, and open to other tools- but this is where I am at right now.

      I'm not trying to defend my choice but rather- just answering your question by describing what happened to me.

      All the code I had written outside the classroom- prior to a couple months ago was written in VB6. That is what I get paid to do. As I've learned more, read more, and dealt with things like MS licensing for a company app that exceeded the cost of the server it ran on by a large margin, I've decided that I want to move to tools that don't leave me depending on MS.

      I took a c++ class at a community college- I learned how to write stuff that ran from the command line. It was cool but I wanted to see the kind of progress I had working with VB. Writing GUI based apps in C++ was in a word daunting.

      At the same time, working on a project to move a group of people at my company off of windows to linux, I needed to start working with an App written in Java. I found that I could do GUI work that ran on linux and windows with the same code.

      Yes it took me a few tries to get things to run on each system. But I only had to figure it out once.

      To be frank- and this may get a negative reaction- but if I didn't read /. I wouldn't know what Python is.

      Java is accessible, launches you quickly into results that are enjoyable and runs on both platforms without too much effort.

      And once again my disclaimer-- I'm not interested in arguing why Java is or is not better. As someone new looking to move away from something that has grown undesirable- Java has attracted me the most. This article encouraged me - because my one concern was- "will java be around for a while". I think so.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    4. Re:I still don't get the allure of Java by oops · · Score: 4, Insightful
      Why do people use Java ?

      [background: I work in technology for the financial centres in London]
      • multi-platform
      • a huge, standardised API
      • a large base of expertise available (especially at the moment)
      • it's especially productive for most programmers

      None of these are really technical reasons for Java being good at anything, but the combination allows enterprises to hire people easily, not have to cross-train them, and to get products out the door (usually within their own environment).

      None of the places I've consulted at use Java extensively on the desktop. Mostly it's used for back-end work. Front end is Microsoft / web, with a little Swing occasionally.
    5. Re:I still don't get the allure of Java by pohl · · Score: 4, Insightful

      Java shines in problem domains where you have a long-running service that needs to be secure, robust, scalable, and quickly mutable to changing requirements. If you don't live in that world, your confusion is understandable. Your post is not too different from usenet posts back in the day where Mac/Windows users didn't understand the appeal of unix. From their perspective, nobody used unix and it was extremely unfriendly. What they didn't know was that sometimes large organizations need to create large, custom internal systems that live long and adapt quickly. Java is no panacea there, but it's better than the alternatives.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    6. Re:I still don't get the allure of Java by gfxguy · · Score: 2, Interesting

      I use Java all the time and I love it.

      I will agree with you on many points, but the language is clean and I like the structure. After programming in Java for several years, I'm learning how to better deploy my in house applications to minimize impact on users (ie. they don't have to download new apis or set paths or environments variables).

      On the plus side, I'm also involved in a lot of web programming, and use JSP, with servlets and beans and MySQL has been a bit difficult to learn (and configure!), but the inherent security and flow of the website (linking .jsp pages to servlets, back to jsp pages, all the while passing information around with java beans) has been great.

      Moreover, there's the simple applets that are really quite useful - especially in the deployment.

      I agree that something like a word processor and games will run horribly, but there's the other 90% of programming - small tools and utilities with simple interfaces (if any UI at all) for which Java has served me well. I've even done image processing - I've compensated for the slow start up time for java by having the batch functionality built in (ie. you don't keep calling the java app over and over, you give it the values it needs to process the whole series of images). With no UI and startup time kept to a minimum, you'd be hard pressed to show a similar application written in C++ being substantially faster.

      I will admit some bias - I came from the luxery of programming C++ with all the tools and libraries available on SGIs, which was great. But the industry moved more and more towards Windows and so I decided to learn Java. We've been on Windows for several years now, I was able to adapt, and everything is done in Java, Perl, via a Linux based website, etc. I've managed to work on Windows without getting trapped, and it's all been much to the satisfaction of my department.

      --
      Stupid sexy Flanders.
    7. Re:I still don't get the allure of Java by ashultz · · Score: 2, Interesting


      Have you actually tried writing a serious app in Java? Having worked on big apps in C, C++, and Java, I've liked it a great deal.

      Of course, I don't really do GUI stuff much, and don't really care so much about how good the GUI is. That's someone else's problem.

      I also feel like you're understating the requirements to get a typical C program running. You seem to have used well-packaged other programs and badly-packaged Java, but that's just a packaging problem. I've certainly had my share of C etc. programs which won't run because they need a library that's available somewhere to be set to something and good luck finding out.

      Your milage obviously varies, but it doesn't sound like you've tried very hard.

    8. Re:I still don't get the allure of Java by lobsterGun · · Score: 4, Funny

      >this is not a troll......

      Please allow me to translate

      > Dear Mr. Moderator, please mod this up. I realize that it is posted every single time that slashdot posts an article on java, but this time it's serious. thanks.

    9. Re:I still don't get the allure of Java by CoughDropAddict · · Score: 2, Informative
      The "portability concerns" you mention are really quite minor, have you ever attempted to write a semi-complex cross-platform piece of software that strayed beyond the Standard C and C++ libraries?

      Yes, I am a significant contributor to the audio editor Audacity. It runs on Windows, Linux, and Mac OS X. It uses cross-platform libraries to do:
      • GUI (wxWindows)
      • Audio I/O (portaudio)
      • PCM sound file i/o (libsndfile)
      • mp3 decoding (libmad)
      • id3 tagging (libid3tag)
      • pcm resampling (libsamplerate)
      • time and pitch stretching (soundstretch)
      • vorbis encoding and decoding (libogg/libvorbis)
      • XML parsing (expat)

      Also, with Swing, you can make your app fit in perfectly with the underlying OS

      Swing does not fit in perfectly by any means. Even someone who knows nothing about computers can tell you it looks different and feels different.

      How is integrating your Java app into the system any different than making an InstallShield wizard for your C++ app on windows?

      You don't even need an InstallShield wizard for apps written in C++, all you need is a .zip with the app and the DLLs. You don't even need that if you link statically, all you need in that case is an .exe! There's no comparison with the chore of making sure a JRE is installed, that it is a new enough version, and that your app can find the java vm and all it's libraries.
    10. Re:I still don't get the allure of Java by Dr.+Bent · · Score: 4, Insightful
      In what situation does it offer anything that justifies the pain and inconvience that it incurs?
      Here's three off the top of my head:
      • Enterprise Applications - The vast majority of the performance costs of Java occur at start time, when HotSpot is just starting up. Once you get the app up and running (like, for example, on a server), the difference in performace is usually negligable. This is especially true if you are a decent Java developer and understand what Java does well and what it doesn't.
      • Embedded devices - There are hundreds of millions of Cell Phones, PDA's, and smartcards out there today that are running Java. Each make and model can have a different processor, memory size, display, etc...but your Java application will run on all of them.
      • Web-Deployed applications - The ability to push an application out onto the web via a Java Applet or Webstart application, and have it run on every machine in your company, can save millions of dollars when deploying to a large orginization. Java is able to do this in a way that is reliable and secure.
      Are you going to use Java to write a Windows desktop application? Probably not. But how many new Windows desktop apps are there left to write? That's why there are more developers using Java than any other language.
    11. Re:I still don't get the allure of Java by forgetmenot · · Score: 2, Insightful

      Given your antipathy towards Java I take it you tried it once perhaps Loooooong ago, didn't like it, and now spew the same antipathy today as if nothing has changed. Not trying to criticize your view or anything but they "were" valid... years ago.

      I've used Java from day one, loved it, and use it everyday in my career. It's changed a lot from when it first came out and my love for it has only increased.

      People like me, who love Java, tend to do so because
      a) We do not have to worry about the underlying OS (mostly) - Great for IT shops supporting many machine architectures.
      b) The richness of the standard libraries means programmer's can concentrate on the "business" logic - so again, it's great for IT.

      As far as classpath and look and feel goes - neither one is an issue. Simply jar everything you need into one file. Make sure the java runtime is in your bin path and away you go. Even the look and feel can be switched to whatever is appropriate for the OS (Windows, Motif..) quite painlessly. Speed being the thing most people seem to bitch about isn't much of an issue anymore either. And as far as the build environment goes NOTHING beats ANT for shear beauty and ease of use. (And I used to be a make/perl zealot before I was pressured into trying ANT. Never looked back).

      So I can't help but feel your views are based upon an impression of the the very early stages of Java when quite frankly it was still learning to walk. And I can't help but notice that your comparisons to C/C++/Python have to be qualified with "depending on" and "as long as".

      Now.. if you had instead stated.. Java is ok but JNI sucks rotten clams. I would be more inclined to agree with you. Java really needs a better way to interact with native dll's and shared .so files.

    12. Re:I still don't get the allure of Java by bytes256 · · Score: 2, Interesting

      Swing does not fit in perfectly by any means. Even someone who knows nothing about computers can tell you it looks different and feels different. That's why Swing includes the "Native" look and feel, which does, in fact, look and feel Native. Yes, default Swing doesn't fit in to any system, but Native certainly does. Also, how is that different from the widget set of OpenOffice.org or MS-Office, etc.? You don't even need an InstallShield wizard for apps written in C++, all you need is a .zip with the app and the DLLs. You don't even need that if you link statically, all you need in that case is an .exe! There's no comparison with the chore of making sure a JRE is installed, that it is a new enough version, and that your app can find the java vm and all it's libraries. Well to achieve the same thing with Java you just need to distribute a .jar file and tell your users to install the JRE version x.x from www.java.com Not MUCH harder, now is it? The problem with just packaging your program as just a .zip or an .exe (in the case of C++ programs) is that it doesn't integrate into the system...user's typically expect an installer, uninstaller, menu entries, and posibly even the option to create a desktop shortcut at install time. Manually creating these entries is trivial, but most users don't expect to actually have to do it themselves.

      --

      Slashdot, the site where everything's made up and the points don't matter
    13. Re:I still don't get the allure of Java by sloppydawg · · Score: 4, Interesting

      The justification comes in the form of a rich and robust API that included crypto, disk/network/serial io, collections, graphics, http(servlets), J2EE, database connectivity, and the list goes on. The relatively open JCP makes it highly likely that new technologies that are actually needed on a widescale basis will make their way into the language and API set in decent time. Sure libraries and API's are provided for various other languages and platforms but rarely are those 100% consistant so if you want to develop for more than one platform you are stuck learning each platforms API's, syntax, and system idiosyncrocies. With Java the only time you spend is on learing the ideosyncrocies of each platforms JVM implementation and rarely do you need to use/learn an entirely different API. So as a developer the 2 things I value most are time and flexiblity. Java for me offers the best balance of the 2 for me. Anyone who develops for a living knows that the time spent coding the inital release of a program is small in comparision to that programs evolution over time. If I decide to develop in let's say Python, C++ or C# if the code I write today needs to be ported to say AIX later I'm going to have to rewrite at least some of my code to make that happen. With java I'm only tweaking a few things and then I'm up and running. Also Sun and the JCP are constantly working to make sure JVM implementations improve overtime so if let's say a technology such as hyperthreading comes around I don't need to rewrite my code to take atvantage of that SUN will modify the JVM for that architechture so I get all the perks without any of the time investment.

      The applications written in Java that I use and like are 1 the IDE I use Eclipse which comes with all types of great plugins that let me do everything from debug an opensource J2EE container to work with my RDBMS platforms on the back end. I've also been using Freenet a great P2P app with lots of cool ideas that radically change the way information is distributed and consumed. Jabber a IM client written entirely in java. And think of it from a users perspective. If I'm going to spend time learning to use an application do I really want to have to go looking for a brand new application to fill that ones need everytime I want to purchase a computer that runs a different OS than the one I had before. No it's a waste of time and money. My only hope is either that the vendor of said product is generous and ports their application to both platforms or that they decided to write the application in an OS neutral technology such as Java.

      In repsonse to: Can you think of a single language/runtime that feels so out of place no matter what platform you're running on? A platform that makes you deal with CLASSPATH, non-native and slow widgets, and shell scripts to set a thousand environment variables before starting your "portable" application? I suppose you think it would be eaiser to port an application written in C,C++ yourself (assuming you even have the source). Of my favorite applications listed above I haven't had to do any of this to get them to run on mutiple platforms (MS 95 - XP, FreeBSD, Linux (many distros)) so don't knock the entire Java platform just because the few applications you've tried this on reqiured a lot of work to get running. You are describing and implementation detail specific to the applications you run.

      And you say: just as portable as Java as long as your libraries/toolkits are cross-platform. ...provided you even have access to the source what if you are encorporating 3rd party libraries into your code. If they're not Java their is no guaranty this will be possible. You will be left begging the vendor, believe me I know.

      And my last reason to use Java over C++, C is that garbage collection doesn't have to be integrated into my application, buffer overflows aren't an issue (at least at my application level) and just as a programmer of a Windows Application isn't resposible for se

    14. Re:I still don't get the allure of Java by Wraithlyn · · Score: 3, Informative

      "Can you think of even one Java application that you use on your desktop and like?"

      Sure... Borland JBuilder, versions 3 through 9. Awesome IDE.

      "Do you deny that it still takes a shell script to start most Java apps on Unix?"

      Yes. Package it in an executable JAR. Runs on any Java system. Hell, with JBuilder 8 Enterprise I can easily build native executable wrappers for Win32, Mac, Linux and Solaris.

      "Do you deny that developing and building Java apps requires that you adjust you CLASSPATH in order for the compiler to find the locations of third-party libraries you are linking against?"

      Yes. See previous point. Or, do what we did, write our own dynamic ClassLoader bootstrap which searches out required libraries and loads them automatically.

      This is really the heart of your pet peeve against Java, isn't it? You struggled with some annoying CLASSPATH crap, it frustrated you, and you decided you hated the entire language? I do understand... that stuff is tedious when you're trying to get into it.

      "Do you deny that running Java applications still requires you to obtain a JRE from Sun?"

      You don't have to go to Sun. There are plenty of third party JREs.

      "And that many applications require at minimum a certain version of the JRE?"

      All software has system requirements, what's your point?

      Got some more questions?

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    15. Re:I still don't get the allure of Java by forgetmenot · · Score: 2, Insightful

      Do you deny that it still takes a shell script to start most Java apps on Unix? The latest Ant apparently still does this, for example.

      uh... yeah? But even if you do, so what? Last I looked shell scripts weren't that big of a deal. Hell, if you can write the app I'm sure you're more than capable of writing a little itty bitty shell script to launch nicely with your favorite settings and perhaps even change your background to a nice picture of Lucy Liu while you're at. who cares.

      Do you deny that developing and building Java apps requires that you adjust you CLASSPATH in order for the compiler to find the locations of third-party libraries you are linking against?

      ANT solves this for you during compile time, and runtime really isn't an issue anymore. In fact, if you find yourself setting the classpath in your environment you're probably doing something wrong or using the wrong tools.

      Do you deny that running Java applications still requires you to obtain a JRE from Sun? And that many applications require at minimum a certain version of the JRE?

      Nothing requires you to use Sun's JRE if that's what you're opposed to. But again, so what? If it's the requirement for a JRE in general you don't like, then again I ask.. so what? Smalltalk apps only run through a Smalltalk interpreter. .NET apps need the .NET runtime. VB apps need that massive dll linked or available on the system... Pretty petty point to base a dislike for a language on. And for IT users.. it's especially moot.

    16. Re:I still don't get the allure of Java by ebuck · · Score: 2, Interesting

      The "allure" of JAVA really has very little to do with JAVA itself.

      A big part of the "allure" of JAVA has to do with the history of your average programmer.

      The typical programmer used to go to collage where they learned C / FORTRAN / COBOL or if they were lucky, mabye PASCAL. Then they went into industry where they solved a problem, wrote an app, and all was well. That is, until the bugs came rolling in. Somewhere between fixing the bugs, including new features, interfacing with the new library x.so (or x.dll) techniques to deal with code complexity were cobbled together. Some were better than others, and those currently stand as best pratices.

      JAVA is revolutionary (and has allure) because for once, a commonly used language offered a new paradigm (object oriented programming) and enforced (no backwards compatibility) all of the "rules". This means that in JAVA I really do feel comfortable not paying attention to the guts of class X because I know that class X cannot mess up my bit of code unless I allow it to do so.

      My only gripe with C++ is not that it cannot do what JAVA has done, it is that it allows the rules to be broken via backwards compatibility with C. So to have the same level of confidence modifying a C++ program as I have in JAVA, I need to read the whole thing to make sure it is Object Oriented (TM) and not just touched up C.

    17. Re:I still don't get the allure of Java by Phouk · · Score: 2, Interesting
      Java is good at many things - huge standardized thoroughly documented libraries, lots and lots of commercial and oss tools and projects, availability of and demand for Java programmers etc. etc. But there's one kind of problem that you can only solve in a reasonable way with Java, AFAIK: huge "enterprise" apps. These apps require a technology that, among others...
      • is cluster-capable
      • can scale to big iron (dozens of cpus upwards)
      • can interface with mainframe apps
      • supports transactions where a single transaction can span several databases and/or mainframe apps and/or message queues
      • supports web services, web front ends and GUI clients
      What other technology can support this? Correct me if I'm wrong, but AFAIK, with C++/Corba, you have to build a lot of that yourself, or integrate several non-standard solutions to do it. With .NET, you are limited to Windows (Mono is not there yet), and Windows doesn't run on big iron.
      --
      Stupidity is mis-underestimated.
  11. The report on ASP? by TenDimensions · · Score: 2, Funny

    I find it interesting that the published report is via ASP...

  12. Re:One issue with Java vs. .NET by Sheetrock · · Score: 4, Interesting
    Well right, I mean implementation, but I haven't met an implementation yet that felt smooth.

    What I'm getting at is that a little goes a long way with display updates. Having a 'silken mouse' under Windows NT+ meant that even under heavy load the interface felt smooth and responsive (well, until you tried to open a window or do something requiring CPU) -- with Win9X/ME the mouse would jerk around under even mediocre load. X-Windows also felt like it was sluggish until I discovered you could 'nice -n -10' it. On the AS/400, heavy priority is given to interactive applications but batch jobs (which only run in the background) and compiles are typically executed at a lower priority.

    My point is that they need to optimize the speed with which displays and user interface updates are performed to achieve the effect where the user feels like the application is crisp -- even if it impacts performance in other areas. It's a subtle user interface trick that they've missed out on, although I'll admit that Java 2 is making things a little better.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




  13. The IDE's baby by glenist · · Score: 5, Interesting

    Maybe Iâ(TM)m ignorant, but I donâ(TM)t think there is an IDE for java that comes close to Visual Studio. While VS.NET might have its problems, it is integrated very tight. As a developer I donâ(TM)t want my time taken up with simple tasks, Iâ(TM)d rather work on the interesting bits.

    1. Re:The IDE's baby by MojoMonkey · · Score: 2, Informative

      www.eclipse.net

      --

      ----- "Blame the guy who doesn't speak English." -- Homer J. Simpson
    2. Re:The IDE's baby by durdur · · Score: 3, Informative

      IntelliJ is an excellent Java IDE.

    3. Re:The IDE's baby by zeno_lee · · Score: 5, Informative

      I've used Visual Studio, Eclipse and IntelliJ IDEA

      Eclipse www.eclipse.org is excellent and is backed by the industrial strength of IBM. It's open source and it's completely free.

      IntelliJ IDEA www.intellij.com is also excellent, but it's not free.

      Never tried Borland Jbuilder.

      In my opinion as far as IDE's go Visual Studio, IntelliJ IDEA, and eclipse are on the same level.

    4. Re:The IDE's baby by lokedhs · · Score: 2, Informative
      Like others have stated, take a look at IDEA.

      I doubt there is a single feature in the .NET IDE that IDEA doesn't do better (except for GUI builder, of course, since IDEA doesn't have one. It's a tool for developers, after all[1]. :-) ).

      Check out this review. Or this one.

      [1] Actually, a GUI builder is coming in the next version, but it's still in alpha state.

    5. Re:The IDE's baby by faaaz · · Score: 2, Informative

      jEdit would be the tool for you. Plain and simple at first glance, install some plugins and it will blow you away.

      --
      we come in peace / shoot to kill
  14. Re:One issue with Java vs. .NET by Knight2K · · Score: 2, Insightful

    At the risk of publishing a 'me too', I agree with the above post. Java is slow if you write a slow program that doesn't respect the platform and language's unique features and quirks, just like any other language (consider the uneven implementations of STL in C++).

    Many programs do use Swing and do it with acceptable performance; JBuilder is one example that comes to mind. Writing a responsive Swing app is possible, it just requires knowledge of the UI toolkit and how to appropriately use it... you can write crap code in QT as well. Eclipse is also written in Java; if the backend was written poorly, it wouldn't matter how fast SWT was, but as it stands the user experience is generally quite good.

    I would also like to 'me too' the parent's comment about Sun's JVM. The recent changes in JDK1.4 (concurrent garbage collection, etc.) should help somewhat, but JRockit and Jikes show it is possible to write faster JVMs. Sun just hasn't done it yet.

    Sun seems good at the theory, but crappy at implementations. The first time I tried NetBeans (a Swing-based app) it was horribly unresponsive and the second time, it had a terrible look and feel... they relied too heavily on JavaBeans and generic layout heuristics so that every dialog was not appropriately laid out or sized.

    Anyway my $.02.

    --
    ======
    In X-Windows the client serves YOU!
  15. Multilanguage support would be nice by ShatteredDream · · Score: 3, Interesting

    It would be very helpful if there was an analog to VB.NET for Java. Java is a language and a bytecode/runtime standard. I don't see why Sun hasn't worked hard to make the Java platform support other languages like Basic, Python and others. They really should have taken Jython to a new level: a Python compiler that generates Java bytecodes from Python source code. Or it could be Ruby for all I care. I just find Python to be an easier language to do stuff quickly in.

    Java is too hard for many people to understand, something like Python or BASIC as an alternative language that targets the same runtime would help them fend off .NET. Not that I really see much of a difference, it's sort of like being asked to root for either the Soviet Union or NAZI Germany during the Battle of Stalingrad. Sun's only more OSS friendly than Microsoft because they want a big stick to beat MS with. If Sun had no competition, they'd be the same tyrants that Microsoft are.

    I will say that in regard to .NET and J2EE I think Mono is safe because Microsoft is in a damned if you, damned if you don't situation. If they go after Mono, they reduce their claim that .NET is open and cross platform to steaming pile of rubble a la the WTC. If they don't, they have a potentially serious competitor that makes much of Windows' advantages disappear. Microsoft has to play catch up with Sun here and they're SOL if they don't let Mono grow. By the time Mono is truly mature, Microsoft will probably be a shadow of their former selves. Germany is already moving away from buying their products and the USDoD is quietly opening up to OSS. If Microsoft loses the USDoD then it's over for them in the US Government because the USDoD accounts for the majority of the federal work force

  16. Re:One issue with Java vs. .NET by 73939133 · · Score: 4, Insightful

    Java isn't slow; Java is a language.

    No, Java is a platform with multiple implementations of the compiler/JIT and (effectively) a single implementation of the libraries.

    Java compilers/JITs achieve very good performance, having little overhead compared to analogous C code.

    But the Java platform falls short in several areas.

    First, the VM has an enormous memory footprint, and it starts up very slowly. VM sharing is supposed to address this, but it hasn't materialized. .NET addresses this by letting you pre-compile CLR code into binaries; that doesn't make the code run faster, but it makes programs start up faster.

    Second, Java's native code interface (JNI) is inefficient and Java cannot efficiently access native data structures. That makes it difficult to reuse existing, mature C/C++ libraries, and to interface efficiently with operating system facilities.

    Third, Java's libraries are not designed for speed: their APIs impose a lot of overhead, and the actual implementations aren't very good either. Also, Java's libraries are designed for generality first, and speed and high-quality cross-platform support distant seconds (things like Java2D just don't run very well on all platforms).

    Sun JRE is slow. The JVM runs as another layer on top of the OS, so of course it will be slower than if it were native to the OS. All Sun has to do is make a JM (Java Machine) chip that can be put into motherboards to do the processing at the hardware level, not hardware-os-software level.

    Raw CPU performance is not the issue. Java code runs very fast in Sun's current implementation. A Java native chip would not help at all (and would be impossible to make succeed in the marketplace anyway). The problems with Sun Java performance are platform design problems. In a sense, Sun's focus on CPU performance has distracted them from addressing the real performance problems.

  17. Hardware acceleration by agslashdot · · Score: 2, Informative

    javachip was prototyped, but never marketed - yet another execution failure at Sun. At on point, Sun declared "Java implemented right was not slow". It then hired coders to implement a "Java compiler in Java". Result ? The Java compiler in Java was 20 TIMES SLOWER than the Java compiler written in C! These were never widely published, but just do a search on Technical Abstracts on sun.com, you'll find them.

    1. Re:Hardware acceleration by Kombat · · Score: 2, Informative

      First of all, the Java chip was and is marketed. It is present in thousands of mobile devices and dumb terminals.

      Secondly, you clearly demonstrated your total and utter ignorance when you said:

      [Sun] then hired coders to implement a "Java compiler in Java". Result ? The Java compiler in Java was 20 TIMES SLOWER than the Java compiler written in C!

      Why would Sun "then" hire Java programmers, when they already employed the very creators of the language? Who knew Java better than those that already worked for Sun and who had created it? Why would they then go out and hire some more Java programmers to re-write the Java compiler?

      Finally, also picking on your last, ludicrous statement, the Java compiler was always already written in Java. Its in the com.sun.tools.java.Main class. The Java compiler is a circular-recursive parser, but I wouldn't expect you to know what that means, so let me break it down for you. It means that the language's compiler is written in the language itself.

      The Java INTERPRETER is the one that's written in C. You know, that little java.dll file - that's the Java interpreter. It's written in C. When you run "javac" to compile some Java files, all javac.exe is is a native bootstrapper which loads and executes the Java compiler from the tools.jar file. How do you think they ensure that the Java compiler behaves exactly the same on every platform? Because it's the same compiler - the exact same code - written in Java!

      Either you're an incredibly ignorant moron who knows just enough about Java to cause some damage, or I've just been successfully trolled.

      --
      Like woodworking? Build your own picture frames.
    2. Re:Hardware acceleration by Kombat · · Score: 2, Informative

      One final slap in your face: on my system, almost all of the .EXE tools in my jdk/bin folder are within a few hundred bytes of each other in size (they're all about 29 KB). Don't you think that's pretty amazing? First of all, to fit an entire compiler in just 29 KB of executable, but also, for 20 different tools and utilities, which perform dramatically different tasks, to all be almost the exact same size???

      Do you think maybe it's because they're all just native bootstrappers for different Java programs, and thus, are all almost the exact same, identical C source code (just calling different Java classes)?

      How could you make such an ignorant post and not know this stuff?

      --
      Like woodworking? Build your own picture frames.
  18. Java is not just client apps. by niola · · Score: 5, Interesting

    I see a lot of the usual anti-Java posts on here. "It's slow", "The screen flickers", "The widgets suck."

    Just like any other technology, implementation is more key to the quality than the technology itself. I have seen some REALLY bad Java client side applications, but then there are some that are awesome. The GUI installer for Oracle is Java Swing. It looks identical on every OS you install it on (aside from options that may or may not be available to install on a given platform), and it works really well. Another example is Veritas' VMSA software. It is Java Swing, allows you to run it on multiple platforms, and you use it to manage your Veritas volumes on multiple hosts, networks etc. If an organization spends a $100k+ on a storage system, you can bet your ass that they would be mighty pissed if they had some "slow shitty client software" messing things up.

    And don't even dis Java on the server side either. Java on the server side does not have to be slow like everyone thinks. One example is the application server Orion. You want to have some fun, go to http://www.orionserver.com, download it, and install it. Then do some apache bench comparisons between it and even a tuned Apache and Orion will serve static HTML pages faster. For even more fun, whip up a JSP with a database call to Postgres or Oracle, and bench that against Apache still serving static content. Orion will actually serve dynamic DB-generated content as fast or faster than Apache can handle static HTML.

    I guess the point I am trying to make is don't just make blanket statements and put down a technology because of a bad experience. It is all about the implementation. Best technology with a shitty implementation will suck no matter what.

    --Jon

  19. You can make a portable C++ app. by BoomerSooner · · Score: 2, Insightful

    You just need to do a good bit of planning before implementation.

    Windows: MFC front end, C++ back end
    Linux: gtk front end, same C++ back end
    OS X: obj c front end, same C++ back end

    It's more work but every platform has nuances that users like. Unless it's a true native app your users will generally not like it. As my boss says "Make it pretty first, that's what sells. Make it work next." Unbelieveable but true.

    1. Re:You can make a portable C++ app. by __past__ · · Score: 3, Informative
      Macro? Crossplatform? GUI? Better Backends? Did I hear lispworks?

      Oh, it's about static languages. Never mind.

  20. What Java needs is GPL and experimentation by expro · · Score: 3, Interesting

    I have developed lots of significant things in Java, but have repeatedly been confronted with bad / stupid limitations of the environment and implementations. Even expending considerable resources and being a full Java licensee, it has never been possible to get simple issues resolved within a reasonable time frame. Occasionally I see something being addressed 5 years or more after the corresponding project gave up on Java because of the lack of a reasonable response. Other issues are never addressed. As such, I do not trust the Java base to deliver the necessary tools, fixes, etc. I see release after release that fixes some things and breaks a number of others and there is no real recourse.

    Swing is far worse for many applications than some of the toolkits it displaced. There need to be some larger set of viable competing UI toolkits, not just relying on Sun because they control the environment.

    Another big problem is lack of a more efficient incremental class loader. I gave a presentation at Sun many years ago explaining how this could revolutionize web applications. I helped create prototypes that never made you wait and incrementally downloaded as needed, but there was never the ability to integrate the solution into the environment as would be possible in a GPL environment. As a result, you have the dilema that on the one hand, you would like to only load what a particular user will execute, but on the other hand, loading it class by class using the default class loader and http is completely unacceptable for complex applications, so you wind up with a jar file, and you may as well have had an executable file, as far as modular download goes. This is part of what makes it, for example, prohibitive to use your own UI library instead of Swing, because it cannot be incrementally downloaded.

    Sun wants to control things, but does not innovate nearly as quickly as an open community would solving their own real-world problems.

    If Sun would GPL Java, I would come back to it in a major way. But often the sorts of things I might add are the same sorts of things Sun protested when Microsoft tried, such as tight XPCOM support in Mozilla so that it has equal browser integration to Javascript, Python, etc. Sun clearly wants to suppress this sort of thing.

    As such, what can be done with Java is largely limited to Sun's imagination, rather than that of the community. JCP does not seem realisticly useful or credible. Perhaps it is for some, but not for me and many I know of, for whom that perception is everything. I could go on and discuss a thousand issues. The wait time for required innovations is just too long from Sun.

    I know I have been out of Java for some time. If this is suddenly different now, then I hope to hear about it. Any GPL effort started now from scratch should define a new open standard unless Sun is willing to work with a standards body to standardize its offering, IMO.

  21. Re:One issue with Java vs. .NET by peterdaly · · Score: 2, Informative

    Two Points:
    1. I believe Java is great for applications that do not have a fat client GUI. "Server-Side" components, and web applications, etc. seem to perform just fine.

    2. Java is used the most by in house development teams. Many times in this evironment, the advantages of developing in Java outway the speed problem experienced by the users of a FAT GUI.

    As a side note, I use IDEA for Java development, which is an IDE written in Java. The UI seems very responsive on my 1ghz linux laptop. Not sure what they do different than everyone else.

    -Pete

  22. Java 1.5 by Sanity · · Score: 4, Insightful
    I am a long-time Java user, and over the past year have done some C# work. While I was obviously very familiar indeed with Java, its language, and its API, I must say that I was quickly seduced by C# convenience features like the "foreach" loop and auto-boxing (where you don't have to worry about converting between an "int" and an "Integer").

    Turns out that Java 1.5 will have these features and more - one thing I am really looking forward to is generics.

    The final advantage of C# over Java was that a C# program looked like it belongs on Windows - same widget set, same "feel". This is a bigger deal than most people realize. Windows users grow accustomed to doing things a certain way, and they don't like it when you try to impose something different on them. Swing just doesn't cut it in this regard.

    1. Re:Java 1.5 by Captain+Bumpsickle · · Score: 4, Informative

      You could always use SWT instead of Swing - it looks like it belongs on Windows (or it blends in with GTK, if you're under Linux).

  23. Re:One issue with Java vs. .NET by maraist · · Score: 4, Interesting

    Java is slow if you write a slow program that doesn't respect the platform and language's unique features and quirks, just like any other language (consider the uneven implementations of STL in C++).

    See the issue is not really with the JVM, but with the tradeoffs of the language. While it's possible to write somewhat snappy engines like jrocket, or integrate OS features like the windows version, there are certain fundamental issues which can not be handled transparently.

    Firstly, hands-off memory management. It's difficult to heuristically discover deterministic memory patterns which would allow inner-loop optimizations. (I'm not even aware of anyone even trying this). The lack of explicit deletions/frees (even if only advisory) is bad in my opinion. It has fostered enormously wasteful memory utilization in enterprise level applications. And when your building blocks aren't efficient, how can you hope to build efficient apps. I use the java-based idea editor, and scrolling or doing a screen refresh requires one or more garbage collections, and I've already given the VM most of the memory on my system.

    To a lesser role, the default virtualization of methods is a slow-down. To some degree a JIT can heuristically generate deterministic call-trees to remove the virtualization (e.x. if no subclasses are used/found), but this can be really nasty in the general case. This is much worsened when interfaces are used (method/variable lookups are non-constant in time, to say nothing of the overhead). And lastly, there is a growing trend in using reflection for general processing. This just about throws all optimizations out the window.

    While I definately see the value in multiple inheritance (or at least java's interface version), and a language definately needs to dynamically map itself somehow, Sun's particular decisions do not lend themselves to high performance inner-loops; even if hardware accelerated.

    Thus the only way to write performant / memory-safe programs is to make all your inner-loops use static/final, and to re-invent the standard libraries where-needed. And this is to say nothing of the libraries that can not be reverse-engineered (GUI, OS-interacting, etc). Though theoretically you could write material using jni, what's the point?

    If you need jni to make something usable (in the common case), then the language isn't practical.. jni is for porting or special cases.

    See, I agree with you basic point which is that java is a language, and this has little to do with the mapping to the machine-code. Ideally, java can be treated just like c, and written directly to assembly (gjc). However, due to the points above, even gjc has to use wrapper functions for these java-specific idioms, and thus the inner loops are no faster than in a nicely optimized jit.

    And as I said above, none of this matters, if the APIs of the language encourage practices which do not scale. SUN learned this about their GUI in 1.0, and I'm seeing more and more performance friendly topics arising. However, much core can't be changed.

    I am not completely familiar with .NET's VM, but suspect that they excluded many of the going-forward limitations of java.

    I think java is a wonderful language to program in, but all too often, modern software requires a scale that java just can't seem to comfortably live in. And thus I have my doubts about it's future.

    --
    -Michael
  24. desktop apps is not the only software development by Kunta+Kinte · · Score: 3, Interesting
    Why does anyone use Java, ever?

    then, to justify...

    Can you think of even one Java application that you use on your desktop and like?

    You're assuming that desktop applications is the only applications being developed. You are incorrect.

    Java is a powerful server side development language. Ever heard of J2EE? This is an entire framework, complete with a component protocol, called JavaBeans. Other protocols provided or supported by J2EE allow the J2EE server components ( called containers ) to provide services to the web applications it runs. Or maybe you're heard of JSP, aka Java Server Pages? Which is much like PHP on steriods. An HTML embedded scripting language

    J2EE standard has been honored reasonabley well in the industry, with much of the J2EE components built easily moved from one application server to the other.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  25. As Sybase Neil McGovern said... by Quatzalcoatl · · Score: 2, Funny

    Java is for elite-programmer. Is that a niche market?

  26. Re:One issue with Java vs. .NET by lokedhs · · Score: 2, Interesting
    As a side note, I use IDEA for Java development, which is an IDE written in Java. The UI seems very responsive on my 1ghz linux laptop. Not sure what they do different than everyone else.
    IntelliJ know how to program, that's why. Swing makes it so damn easy to develope GUI application that anyone and his one-eyed limp dog on a bad-hair day could write one up.

    The problem is that while it's easy to make a user interface, it's a lot harder to make one well. I guess you could say that Swing is the victim of its own success.

  27. Re:#1 challenge? it doesn't solve the problem anym by Ribo99 · · Score: 4, Insightful

    (sun won its suit against microsoft that it was unfairly squeezing out the java vm - then promptly sued microsoft for posting the microsoft jvm on windowsupdate.com because the license from sun didn't explicitly allow that. they won the suit and for some time windows users just couldn't get their hands on a vm. and if that doesn't decimate any gains from using java, i don't know what does)

    What are you talking about? Windows users have always been able to get their hands on a JVM, just not the Microsoft one because of the lawsuit. Nothing stopping users from downloading one of the many other implementations of the JVM on Windows.

    --
    I wear pants.
  28. .net interoperability issues -- bigtime... by kremvax · · Score: 3, Informative
    Now that MS is dropping IE support for Mac entirely, and has never offered anything workable for linux, .net component interoperability issues for non-windows systems should be a glaring problem for enterprise deployment.


    I mean, if you're using .net for what .net does best (prebuilt rapid deploy compenents), there are *lots* of .net components that just won't work without ie.


    Java isn't a perfect language, but at least it supports linux, mac, solaris, atari, commodore, ti-99, etc.

    --
    --- Little Atomo - The Amazing Thinking Robot from Atomocom! http://www.youtube.com/watch?v=GIP9KisHi4k
  29. Java is the new COBOL by The+Famous+Brett+Wat · · Score: 5, Insightful
    Well, it got modded up to 5 last time, but it looks like it needs saying again. Here's the cut-and-paste of it.

    Slightly off-topic, but I'm in the process of perusing the job ads again, and based on the proliferation of J2EE/EJB and other Java stuff I'm seeing, I think that Java is the new COBOL. Not that the languages bear any similarity whatsoever, but Java seems to have found a niche as the new lingua franca of business apps. It has competition, to be sure, but based on the history of COBOL, I would be so bold as to put my pundit hat on and say, "Java programming will be a safe bet for long-term employment in the computing industry." The jobs aren't necessarily all that interesting, but they look a whole lot more secure than the bleeding edge tech jobs which come and go in a flash.

    The whole C# and .Net thing is a potential competitor in the same arena, but I don't think that Microsoft's inclusion (or not) of Java is going to matter much. I always figured that Java was intended to allow cross-platform desktop app programming, but the niche it seems to be filling is a back-end role. Personally, I had expected Perl to fill this role as the new COBOL, but demand for Perl seems to be way down, except as one of those "we also expect you to know Perl" type things, which never actually turns out to be important in the job.

    --
    proof, n. A demonstration that a conclusion is implied by certain premises and axioms.
  30. Re:Microsoft should have owned them a long time ag by larryleung · · Score: 2, Insightful

    Please stop perpetuating the american companies are evil FUD. Most american companies actually care about their customers. Yes, they want to make money but every company needs to to survive. Thats just how the economy works. Most american companies are fairly ethical due to the critical public. You should criticize but don't make pointless generalizations like this. Its really unproductive.

    Besides, its not like companies in other countries don't use the same scummy tactics as american companies. But apparently youre too blind to see this. Go get yourself a dose of reality: go try doing business in a third world country. You'll quickly find out that ethics quickly goes out the window due to even less accountability. The little guy gets *royally* screwed by the local warlord/ corrupt politican/dictator.

  31. Why is this trolled? by irritating+environme · · Score: 2

    Very good points, and I'm a diehard java fan. I was thinking the same thing when I read this article. LIttle quick on the troll bomb there, mods.

    --


    Hey, I'm just your average shit and piss factory.
  32. "Who ARE these guys?" Well, where was IBM? by Stefan+of+Orange · · Score: 2, Informative
    I wrote this piece for Java Pro magazine and had no role in the selection of the panelists. As a reporter, I wanted to add a couple comments of my own.

    Here's the link again for those who are curious:
    http://www.ftponline.com/reports/javaone/2003/roun dtable/

    1. I have heard that Gosling says he works so much on forward-thinking projects at Sun that he'd prefer others to comment on the real-world use of Java today in industry.

    2. As for why IBM developers weren't there, all I can say is that they were invited (as they were last year, when they participated in the roundtable discussion). However, they refused to come, and indeed boycotted JavaOne entirely.

    The person who began this thread should've read further down the first page of the article: "Moderator Simon Phipps began by welcoming some new faces at the table and arching his eyebrows in surprise at the one big no-show this year: IBM's apparent boycott of JavaOne. Despite IBM's absence, they were not ignored in the ensuing conversation."

    Later during the Java Technology Achievement Awards, cosponsored by Sun and Java Pro magazine, Mark Bauhaus, vice-president of Java Web services at Sun, commented on IBM's no-show at this year's JavaOne, despite their wins at the event. Although this line didn't make it in the final report online, I heard him say, "All of the other J2EE players are here with enthusiasm: BEA, Oracle, Borland, you name it. It is too bad that one of our important partners evidently chose not to participate."

    The report on that event is here:
    http://www.ftponline.com/reports/javaone/2003/awar ds/