Slashdot Mirror


James Gosling on Java

prostoalex writes "It's been ten years since the official introduction of Java - a programming language combined with virtual machine and a class library. ZDNet published an interview with James Gosling, the creator of Java, who talks about the project's past, present and future."

64 of 356 comments (clear)

  1. Want to talk to The Man? by Saeed+al-Sahaf · · Score: 5, Informative

    If anyone is interested in conversing with James Gosling one-on-one, he (amazingly) hangs out at DevShed.com in the forums, likes to aswer questions, and my guess is he knows what he's talking about when it comes to Java. Even more amazing is that as smart a guy as he is, his social skills leave a lot to be desired (read some of his posts in the Lounge).

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    1. Re:Want to talk to The Man? by AKAImBatman · · Score: 3

      my guess is he knows what he's talking about when it comes to Java.

      I should hope so! He did invent the thing, after all! :-)

    2. Re:Want to talk to The Man? by greg_barton · · Score: 2, Interesting

      ...his social skills leave a lot to be desired...

      I'm not sure what bad social skills you speak of, but here's how I usually approach that: if someone is really capable, they can be eccentric, even arrogant. If they're stupid, forget it. Gosling is definately a skilled individual, so he gets some asshole points, imho.

    3. Re:Want to talk to The Man? by ari_j · · Score: 4, Insightful

      Even more amazing is that as smart a guy as he is, his social skills leave a lot to be desired

      In what way is that amazing? I think that most of us here on Slashdot are in a reasonably high percentile when it comes to intelligence, and probably fewer than 10% of the members here have social skills any better than an 11-year-old girl's.

      On a side note, I somehow doubt he's going to hang out at DevShed so much after your soon-to-be +5 comment generates traffic. Imagine the personal e-mail equivalent of a good, old-fashioned Slashdotting. ;)

    4. Re:Want to talk to The Man? by CompSci101 · · Score: 4, Funny

      ...his social skills leave a lot to be desired...

      Not surprising.

      The bastard took my pointers and templates away. My *pointers and templates*!

      Rude fucker.

      C

      --
      The Sun is proof that we can't even do fire properly.
    5. Re:Want to talk to The Man? by Saeed+al-Sahaf · · Score: 2, Informative

      Thank you. Your comments are appriciated, and will be evaluated by our team. Please do not respond, we will contact you if we need more information.

      --
      "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    6. Re:Want to talk to The Man? by murdocj · · Score: 2, Insightful
      I'm not sure what bad social skills you speak of, but here's how I usually approach that: if someone is really capable, they can be eccentric, even arrogant. If they're stupid, forget it. Gosling is definately a skilled individual, so he gets some asshole points, imho.

      What I've found is that people who are really, really sharp don't need to be assholes. They're smart, everyone knows they are smart, and they don't have anything to prove. It's the wanna-be's who try to pull off the "I'm a brooding genius" ploy that tend to be assholes.

    7. Re:Want to talk to The Man? by ari_j · · Score: 2, Insightful

      I agree with you 100%. The problem is that you've just epitomized "poor social skills" quite succinctly.

    8. Re:Want to talk to The Man? by ari_j · · Score: 2, Insightful

      Not stupid at all. It's just that you lack social skills like the rest of us. As we've shown, the two are mutually exclusive. ;)

    9. Re:Want to talk to The Man? by Da+Fokka · · Score: 2, Insightful
      So it is more like "social mainstream opinion" and has nothing to do with skills as someone not wanting to e.g. talk about the weather are clearly capable of doing so if they wanted.

      First of all, for some people it's surprisingly difficult to do just that. Social phobiae, anxiety disorders and similar disorders are surprisingly common, especially in the geek-population. For peopl e with one of these conditions, smalltalk is difficult and something rather avoided.

      Secondly, The 'skill' is not just being able to have an information-sparse conversation about the weather. Smalltalk is the grease of social conduct. The simple fact that most people do prefer some talking about the weather, the Michael Jackson case or some lame movie before easing into more serious matters makes not wanting or being able to do just that a disadvantage in social conduct.

    10. Re:Want to talk to The Man? by Ed+Avis · · Score: 2, Insightful

      'Probably' less than 10% of the male population as a whole have social skills any better than an 11-year-old girl's. It's unreasonable to hold men and women to the same standard in this area.

      --
      -- Ed Avis ed@membled.com
    11. Re:Want to talk to The Man? by andy_fish · · Score: 3, Funny

      He gave you your templates back.

      But your pointers? He's gonna keep those. Cause you've been bad.

      --
      & I wish I knew the password to your heart . . . &
  2. Not a bad interview by BronxBomber · · Score: 5, Insightful
    except...

    Why the hell did the interviewer decide to turn it into a "how did/does/will Java work with MS technologies" diatribe?

    I mean, theyre so disparate in ideaology, while I can understand some of the relationships, why on earth bring them up with the creator of a language that MS has deliberately shunned when they couldnt get it to work "their way"?

    Very puzzling. Poor journalism in my opinion.

    --
    ...both interiorlly, and exteriorlly.
    1. Re:Not a bad interview by Decaff · · Score: 4, Informative

      Why the hell did the interviewer decide to turn it into a "how did/does/will Java work with MS technologies" diatribe?

      I mean, theyre so disparate in ideaology, while I can understand some of the relationships, why on earth bring them up with the creator of a language that MS has deliberately shunned when they couldnt get it to work "their way"?


      Because neither Microsoft .NET (their "Java") or Java are going to go away. Both will be around for a long time, and both are going to have to integrate.

      Java is evolving to work better with MS technologies in three ways: First, the Desktop Integration APIs, which allow the portable use of Browsers and features like the systray within Java applications, Secondly, by developing Java GUIs to make them indistinguishable from other Windows applications on Longhorn without losing portability, and Thirdly, with the use of Web Services to allow .NET programs to call Java, and vice versa.

  3. Ruby on Rails driving change? by jarich · · Score: 2, Interesting
    Did anyone else that the "ease of configuration" for building applications might be driven by the Ruby on Rails push? (http://rubyonrails.org/) Competition is good, isn't it?

    Also, why does Sun waste all the effort on NetBeans? I'm sure it's a very capable IDE, but isn't nearly everyone else using Eclipse? Where would Java or Eclipse be if Sun put all the engineering time from NetBeans into a more useful project? I guess here I don't see the value of the competition as much...

    1. Re:Ruby on Rails driving change? by pdbaby · · Score: 2, Informative

      As far as I'm concerned, everybody (that I know in the java world) is (and has used for some time) Borland's JBuilder. It's an amazingly nice IDE that's of far higher quality IMO than Eclipse (although the swing interface does drive me a little mad)

      --
      Global symbol "$deity" requires explicit package name at line 2. - If only $scripture started "use strict;"
    2. Re:Ruby on Rails driving change? by mabinogi · · Score: 2, Interesting

      Anyone who says JBuilder is better has most likely never used anything but JBuilder, short of installing and compiling Hello World.

      When I first started using JBuilder instead of gvim, I was pretty impressed - there were all sorts of things it did that you just couldn't do in a standard text editor - code completion, refactoring, etc.

      Then I tried Eclipse, and I saw how good those features can be when they actually work.

      At my workplace most of the other Java developers use JBuilder, because that's what we paid (obscenely) for, and because they've never used anything else.
      I use it when I need to ensure that my Eclipse projects still work with JBuilder, and when dealing with their projects for one off fixes that don't warrant migrating the project to Eclipse.

      From what I can tell, JBuilder is the best IDE in the industry for pretty wizards that break your code, and check box features you never need that PHBs use to justify their $6000(Au) per developer investment.
      Eclipse on the other hand just makes writing code easy.

      I haven't used any other IDEs so I can't comment as to whether or not Eclipse is any better than them, but I _do_ know that JBuilder doesn't even come close when it comes to the everyday writing of Java code.

      --
      Advanced users are users too!
    3. Re:Ruby on Rails driving change? by pdbaby · · Score: 2, Interesting

      I couldn't disagree more -- I've used various versions of Eclipse and its editor feels like a toy next to JBuilder (comparing the latest version of Eclipse 3 to JBuilder 2005). Yes, unfortunately JBuilder has a lot of bloat that I don't use. It's the actual coding interface that feels rock solid to me: it gets indentation right and does lots of handy things that make my life a lot easier (fori0foo.length). I could just write my code. It flowed (as much as Java code can flow) right out of me. It should be noted that I don't trust most of JBuilder's wizards. I'll only use with any confidence the basic things like "add field" and "surround with try/catch" when I forget about a library's exceptions

      By comparison, my experiences with Eclipse was just like my (short) experience with Macromedia Director's code editor: I was battling the editor to get it to do things My Way so I could write my code. Things like auto-closing of quotes seemed like a handy feature, but ended up causing a lot of friction between me and the editor.

      Perhaps Eclipse meshes better with the way you write your code. When I use JBuilder or Visual Studio 2005 the code feels like it's flying onto the screen. I'm not as stressed and I finish my day happy, not wanting to kill The Idiot who thought [insert niggle here] was a good idea.
      I can write code in Eclipse as well as I can in JBuilder (and likewise with notepad), but I'm much more productive in JBuilder.

      --
      Global symbol "$deity" requires explicit package name at line 2. - If only $scripture started "use strict;"
    4. Re:Ruby on Rails driving change? by LnxAddct · · Score: 3, Interesting

      Eclipse claims to have about 45% of the Java IDE market, however that is about as accruate claiming that Firefox has 67 millions users. Eclipse uses the download count to get an estimate, I'd guess its closer to maybe 30%. I believe Netbeans is around 15%-25% and rising fast. Netbeans has won multiple awards in many areas for IDE design. Eclipse is really just a foundation and corporations pay big bucks to get in on it. Eclipse's drive isn't the community, the foundation members decide where eclipse is going. Eclipse is a good basic IDE but for anything extensive, you need to download a ton of plugins and/or buy proprietary ones.

      With a default install of Netbeans, you get a full IDE with regular java programming capabilites and standard features (code completion, java doc, etc...), GUI application tools, it includes a great RAD for gui interfaces. You get WebServices programming capabilities with a fully integrated IDE and application server. With 2 other downloads on netbeans.org, you get a full J2ME development environment,including a gui tool to create interfaces for mobile phones, along with about 10 different phone emulators. You also get an enterprise level memory and performance profiler.

      All in all, Netbeans is much better integrated and provides many more features. Eclipse hasn't really innovated for well over a year now, and many of its sub projects are hardly under development anymore. Netbeans used to have a bad reputation because it was a memory hog, slow, and for many years it was under stagnant development. In the past 2 years though, its made a complete 180 and is fast, full featured, and probably the best IDE in the market. Give it a shot if you haven't and use it for a bit. Its free, so its not like you're losing anything.
      Regards,
      Steve

    5. Re:Ruby on Rails driving change? by AndrewR81 · · Score: 2, Informative
      As fitting as "Eclipse" is, they were actually targeting Microsoft. From Eclipse: Behind the Name:

      Back in 2003, when Sun Microsystems Inc. was considering whether it might join the then soon-to-be-independent Eclipse Foundation, one of the key concerns, aside from technical issues, was the name Eclipse.

      Sun said it would not join an organization named Eclipse, and the foundation agreed to change the name. The Santa Clara, Calif., company didn't want to join an organization whose name was perceived as encouraging the demise of Sun, company executives said at the time.

      It turned out Sun wasn't the target of the Eclipse moniker, though. In his keynote at the EclipseCon 2005 conference in March, Lee Nackman, chief technology officer and vice president of Design, Construction, and Test Tools at IBM's Rational Software division, said Microsoft Corp. was actually the company IBM wanted to "eclipse" and was the true object of IBM's attention.

      "Our target was Microsoft," Nackman said. "Microsoft was clearly the market leader and was on a path to become the dominant tools platform. It was clear there'd be competition for developers... So around 1998 we felt, key to the competition around application servers and middleware, we needed to bring developers to Java-based middleware ... IBM's middleware business depended on bringing developers to our Java-based middleware."

      [snip]

      "But the name seems so perfect a knock against Sun. How could it not be? Well, according to a source, some of the early Eclipse originators had a retreat where one of the themes was the universe and many code names emerged involving celestial themes. Eclipse stuck. And while Sun was not necessarily the primary target, "these were really smart people, and I don't think the visualization and competitive implication was lost," a source said."

    6. Re:Ruby on Rails driving change? by njcoder · · Score: 3, Informative
      1. Better out of the Box support for web applications. The web tools are more mature and capable than what Eclipse is working on. You don't have to pay for things like a JSP editor or bother to download it.

      2. Out of the box EJB support that is good.

      3. Out of the box webservices support.

      4. A much better, more mature GUI Editor that's going to get even better in 4.2. (Not sure if VE is in eclipse 3.1)

      5. Cool auto comment tool

      6. Bundled Tomcat and Full J2EE compliant app server.

      7. This guy's blog to read :)

      8. This one is subjective but to me... i don't find the interface as cluttered or ugly as Eclipse. Obviously other's disagree. Also even the the windows are not native, the layout is much closer to what native dialogs look like on windows. With Eclipse, the dialog boxes just seem weird. Error messages look and feel like they don't belong, etc.

  4. underhyped? by wwest4 · · Score: 5, Funny

    > (Sun CEO) McNealy: We absolutely underhyped [Java].

    Uh, Scott; that's not the way the rest of us remember it.

  5. Job Descriptions by Committee by ari_j · · Score: 4, Funny

    Yep, it's been 10 years since Java was officially introduced. It should come as no surprise that I was being turned down for jobs 2 years ago because the jobs in question required 10 years of Java experience. (And 5 years of C#/.NET experience as well. And I think at least one required post-doctoral work in Physics, Astrology, and Film.)

    1. Re:Job Descriptions by Committee by DoktorSeven · · Score: 5, Insightful

      Furthering the off-topic rant, you're right.

      Basically every job requires you to become a salesman. You sell yourself on a piece of paper, then come in to close the deal. News flash, employers: I'M NOT A SALESMAN, nor am I trying to be.

      I sit behind a desk in a dark corner of your offices and make stuff work. Human interaction is a very small part of the deal. And there's no salesmanship at all. So... why do job interviews and the whole stupid hiring process treat me like I should be this expert salesman?

      All they'll get from this process is some snake oil salesman pretending to be a systems administrator / programmer / IT person / etc that will have no idea what he is doing, but since he's such a MAGNIFICENT "people person", they look the other way!

      But when *I* screw up, Mr. Anti-Social, it's not the same.

      Complete crap. And yes, I, too, am fucking bitter. Sue me.

      --
      This is a sig. Deal with it.
    2. Re:Job Descriptions by Committee by suitepotato · · Score: 2, Funny

      In 1995, I was asked for a minimum of three years experience in Windows 95.

      In 1999, I was asked for a minimum of four years experience in Windows 98.

      In 2002, I was asked for a minimum of six years experience in Windows 2000.

      Thankfully, no one is asking for an amount of TCP/IP experience that predates the protocol as I would have been a kid at the time. Telecom is so much more straightforward to get a job in than end-user desktop support. Though... I did once get asked for twenty years experience in Token Ring. It took me a whole day to get the severe wide-eyed "WTF?!" look off my twenty-six year old face. Two more days to pick my jaw off the floor and stop muttering to myself.

      --
      If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
    3. Re:Job Descriptions by Committee by Quattro+Vezina · · Score: 2, Informative

      It's funny you should mention that...

      One former professor of mine uses the phrase "10 years of Java experience" as an indicator of when to throw out a resume. He does some consulting work, and companies tend to ask him to go over the resumes of their applicants and junk those that he feels are unqualified. First, those who don't have CS or SE degrees get thrown out. Second, he throws out anything with obvious lies such as "10 years of Java experience".

      When you posted that, I immediately thought of that story, because it really shows how some people can be utter dumbasses.

      --
      I support the Center for Consumer Freedom
    4. Re:Job Descriptions by Committee by uncommonlygood · · Score: 2, Insightful

      This reminds me of a newspaper article I read the other day. You possibly fall into the category of "competent jerk". People prefer a lovable fool, that's just the way the world works.

      Fortunately being likable really isn't that difficult. Just a case of saying please and thankyou at the right times, and being patient with people, even if you know they're being morons.

    5. Re:Job Descriptions by Committee by GCP · · Score: 2, Insightful

      Pretty worthless consultant. I have ten years of experience with Java, having used it since it was an alpha version, and I wasn't alone in those days.

      And most skilled developers with long experience do NOT have CS degrees, as most skilled artists don't have art degrees. Those of us from a physics background tend to bring more math skills to a job than those with CS degrees. Those with degrees in other domains are also frequently more valuable that CS degree holders, since most development tasks are more about the problem to be solved than about the computers.

      There are certainly tasks where the computer is the domain--compiler writing or algorithmically challenging problems, for example--but the CS degree is just another domain specialty. Software is used for everything these days: medicine, art, music, genealogy, archaeology, astronomy, etc. It is ridiculous to assume that software development is exclusively a problem in the CS domain.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  6. Re:My favorite quote by Anonymous Coward · · Score: 2, Informative

    FYi, parent is trolling. There's no such quote in the article.

  7. Page 2 and scripting languages by MarkEst1973 · · Score: 5, Informative
    The entire second page of the article talks about scripting languages, specifically Javascript (in browsers) and Groovy.

    1. Kudos to the Groovy authors. They've even garnered James Gosling's attention. If you write Java code and consider yourself even a little bit of a forward thinker, look up Groovy. It's a very important JSR (JSR-241 specifically).

    2. He talks about Javascript solely from the point of view of the browser. Yes, I agree that Javascript is predominently implemented in a browser, but it's reach can be felt everywhere. Javascript == ActionScript (Flash scripting language). Javascript == CFScript (ColdFusion scripting language). Javascript object notation == Python object notation.

    But what about Javascript and Rhino's inclusion in Java 6? I've been using Rhino as a server side language for a while now because Struts is way too verbose for my taste. I just want a thin glue layer between the web interface and my java components. I'm sick and tired of endless xml configuration (that means you, too, EJB!). A Rhino script on the server (with embedded Request, Response, Application, and Session objects) is the perfect glue that does not need xml configuration. (See also Groovy's Groovlets for a thin glue layer).

    3. Javascript has been called Lisp in C's clothing. Javascript (via Rhino) will be included in Java 6. I also read that Java 6 will allow access to the parse trees created by the javac compiler (same link as Java 6 above).

    Java is now Lisp? Paul Graham writes about 9 features that made Lisp unique when it debuted in the 50s. Access to the parse trees is one of the most advanced features of Lisp. He argues that when a language has all 9 features (and Java today is at about #5), you've not created a new language but a dialect of Lisp.

    I am a Very Big Fan of dynamic languages that can flex like a pretzel to fit my problem domain. Is Java evolving to be that pretzel?

  8. Re:My favorite quote by suitepotato · · Score: 2, Informative

    FYI, grandparent should have been modded informative and parent modded funny.

    --
    If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
  9. Re:My favorite quote by Decaff · · Score: 2, Insightful

    "I knew it was slow, but I figured computer power would eventually catch-up and run things at a reasonable speed. It appears I was wrong."

    On the 10th anniversary of Java - a joke that was out of date 5 years ago. (And, I remember the same thing being said about C++ 20 years ago).

  10. Re:Gosling? by MyLongNickName · · Score: 2, Funny

    Psssst.... "James", not "Josh".

    tard.

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
  11. Scripting language talk... by MrDomino · · Score: 3, Insightful

    From TFA:

    When people talk about scripting languages, they often talk about things that are more toward having a developer be able to slap something together rally quickly and get a demo out the door in minutes. How fast the thing runs or how well the thing scales or how large a system you can build tend to be secondary considerations. ...

    This is nit-picking, I know, but I was under the impression that scripting languages were actually defined by the presence of an actively-running interpreter during execution, making it possible to, e.g., construct and execute statements at runtime with things like PHP's exec() or Lua's do(file|string) functions (see: http://www.lua.org/pil/8.html for discussion on dofile and Lua's status as a scripting language). I wasn't aware that capability for rapid prototyping or language speed had anything to do with it.

    Taking that into consideration, then, would Java with JIT qualify as an interpreted or compiled language? I'm not sure, myself---any thoughts?

    That aside, a solid interview. Java looks to be pretty interesting; though in its current form it does bug the hell out of me (System.out.println()? Yeah, yeah, OO, but come on, three nested levels of scope just to get to a command line?), its progress has been impressive, and it's an innovative idea.

    1. Re:Scripting language talk... by Decaff · · Score: 4, Insightful

      This is nit-picking, I know, but I was under the impression that scripting languages were actually defined by the presence of an actively-running interpreter during execution,

      Not necessarily. There have been many languages that have actively running interpreters, and even compilers that are available to modify code at run-time (Smalltalk and LISP are examples), but they are still not considered 'scripting' languages.

      The definition of 'scripting' languages has become blurred.

      Taking that into consideration, then, would Java with JIT qualify as an interpreted or compiled language? I'm not sure, myself---any thoughts?

      Not by itself, as you can't type new expressions or interact with the code once it has started running. There are some interesting tools such as 'BeanShell', which does allow this to be done with Java code.

      (System.out.println()? Yeah, yeah, OO, but come on, three nested levels of scope just to get to a command line?),

      It makes sense once you get used to it. The 'System' class provides globally available (static) objects. One of these is 'out' - an instance of an output object that is bound to 'stdout'. println() is simply a method of that object.

      Previous versions of Java have required code to be explicit about the classes providing such static objects. The latest version (5.0) allows (after the correct 'import' statements) you to write

      out.println();

    2. Re:Scripting language talk... by StrawberryFrog · · Score: 2, Insightful

      (System.out.println()? Yeah, yeah, OO, but come on, three nested levels of scope just to get to a command line?

      TFA makes it clear that making "hello world" easier was not the priority, making large systems easier was.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

  12. Re:Article Summary: by Decaff · · Score: 4, Informative

    Unfortuately things can happen like a GC cycle at a bad time that can cause annoying slowdowns at the worst moment.

    As Java is now used in real-time control applications, that is certainly avoidable.

    bloated: the java class libraries are huge and so deploying a java environment (and you can't assume a decent java system will already be installed by default) is a huge undertaking

    Not really. Java can be installed as a single rpm or tgz. Its over 10 mb, but given the size of a CD-ROM, or broadband download speeds, that is hardly a 'huge undertaking'.

    and who would seriously wan't to release thier software as java bytecode when jad is arround?

    There are plenty of bytecode obfuscators around.

  13. 10 years by Anonymous Coward · · Score: 3, Funny

    It's been ten years since the official introduction of Java

    And the damn thing still hasn't finished loading.

  14. In java's defense by jbellis · · Score: 2, Insightful

    Nobody writes Java with Vim or even Emacs JDE for very long. The productivity increase a real IDE like Eclipse provides is phenomenal. System.out.println is 6 or so characters of typing with code completion. (But the real win is being able to do things like say "show me all the places my constructor is invoked." Text searching isn't good enough when you have a million-line project.)

  15. Re:If only by $RANDOMLUSER · · Score: 5, Interesting
    I think the speed complaint is a red herring.

    Yes, Java is slower to run than C++. However Java is faster to write than C++; and I think that's the real issue.

    In terms of power of expressivity, I think they're about the same, but I find Java easier to read than C++, and I find that mid-level programmers make far fewer subtle "shoot yourself in the foot" mistakes in Java than they do in C++. The run-time array bounds checking, lack of pointers, checked exceptions, and the lovely NullPointerException serve to keep a lot of people out of trouble. The embarrassing wealth of pre-written, tested, free, source-available modules Java has, over the reinvent-the-wheel approach of C++ goes a long way in improved programmer productivity. Here's a test for you: have one of your middle-skilled programmers do some network communication in Java and C++ and see which program takes less time to write and works better.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  16. Re:My favorite quote by the+eric+conspiracy · · Score: 2, Insightful

    Don't worry. Binary XML will soak up far more compute cycles that CPU developers can possibly invent over the next 10 years.

  17. Re:My favorite quote by Decaff · · Score: 2, Insightful

    There is a slight problem with your logic. 20 years ago C++ was barely a toddler. Nobody used it and it was not generally known to the public.

    Nonsense. I was using C++ for development in 1985, as were many others. The c-front translator for C to C++ was released in 1983.

    Since when has widespread use of a language been any measure of its performance?

    Java on the other hand is 14 years old and people are still talking about its slowness.

    Yes, because those who object to it not being open-source have a political agenda to rubbish it. Those of us who actually use it realise this talk is meaningless.

    C++ was 14 around 1997 and was widely used and known for its high performance.

    Doesn't that say something to you?


    Yes, it shows that a lot of developers have a reactionary attitude, and it takes them a long time to adopt new technologies.

    It took a long time before developers realised that this 'new-fangled' object oriented C++ could match the speed of C. Meanwhile, some of us had been using it for years.

  18. Re:What is with java people and groovy? by MillionthMonkey · · Score: 2, Interesting

    We considered Jython and Groovy when we were adding scripting to an app, since they were the only two scripting languages that came with licenses that were found to be acceptable by our legal department. We went with Groovy. Although the Jython guys angrily insist that they are still working on the project, it's been 3 years since the last stable version of Jython was released. Since then the only release has been in July 2003, and it was an early alpha. Groovy OTOH has a lot of people working on it who have been putting out a new release every few months. Jython has not been updated in years. Which is a shame, because I was rooting for Jython.

  19. Re:My favorite quote by MillionthMonkey · · Score: 4, Informative

    C++ was 14 around 1997 and was widely used and known for its high performance.

    That's not how I remember it. I remember in 1996-1997 people were scoffing at C++ because it was "slower than C".

  20. It's all about the sandbox by lonedroid · · Score: 5, Interesting
    Of the thousands of security holes that exists, on every OS, how many are due to buffer overflow (buffer overrun)?

    There are other attacks, but most of the "exploits" are due to a buffer overflow (90% of all exploits? 95%?). Heck, if I'm am not mistaken it was a buffer overflow that put an end to the "x years without a hole in the default OpenBSD install" slogan :(

    Now how many buffer overflow did happen in the JVM in the last 10 years?

    I think the answer is zero. And if it's not zero, it's only some implementation of the JVM that was at fault.

    For me it's all about the sandbox. Java, Jython, Groovy, you-name-it... I don't care. As long as it targets the JVM. It's tried, lean, mean, rock solid technology. You just ain't escaping it.

    In TFA (yup, I did read it), Gosling says that "The only serious divide is they (C# / .Net) have this unsafe mode which they use a lot. One of the principles I believe in is there shouldn't be an unsafe mode."

    That's a good principle to believe in.

  21. Re:Java - unfulfilled promisses by chaves · · Score: 5, Insightful

    Eclipse has 2,425,709 lines of Java code and runs on any J2SE 1.4 (or newer) compliant JRE from any vendor on many platforms (the essential parts of it will run even on PDAs). I don't think any scripting language would have been up to this task.

    My opinion is that Java is the best thing that could have possibly happened in the software development field in the last 20 years. The fact that it is an openly specified object-oriented runtime suitable for a *huge* variety of configurations (desktop, middleware, embedded, etc) is a blessing. Developers have been able to learn one language and develop any kind of applications on any platforms (while reusing many of the skills). Also, vendors can target a much wider market when they do not have to focus on a single platform. Not mentioning that Linux owes a lot of its success to Java.

  22. Re:Article Summary: by dnoyeb · · Score: 2, Informative

    slow: slow to start definately, slow in actual code speed no. Unfortuately things can happen like a GC cycle at a bad time that can cause annoying slowdowns at the worst moment

    Sure its slow to start because ther is a 2nd process. But Java 1.5 addresses this to some degree. As for inconvient GC cycles, that is the programmers fault. You have to do your own GC when you think you have time. The JVM will only GC when its full...

    bloated: the java class libraries are huge and so deploying a java environment (and you can't assume a decent java system will already be installed by default) is a huge undertaking
    False.

    NOT FREE: well there are free jvms but there is still catching up to do and as they get better they will undoubtablly suffer the same issue as wine, most stuff will work but there will be slight differences that fuck over some apps.
    You mean like Microsoft tried?

    the fact that languages like java allow poor coders to produce code that kind of works rather than total failures probablly doesn't help the languages reputation either.
    Troll.

  23. Re:If only by Decaff · · Score: 2, Informative

    Unfortunately, it's like trying to run C++ programs through an interpreter on a machine at 3/4 of the power of the one you're using instead of actually compiling and tweaking it for maximum speed and efficiency.

    If you ran some actual benchmarks (with modern Java) you will find you are mistaken. Modern Java VMs include an optimiser that tweaks the machine code for speed and efficiency just as you describe. Last year, a set of benchmarks for numerical computation showed Java within 4-5% of optimised C code.

    I use Java apps at work and they are often slow and ponderous compared to similar apps written the normal way in C++

    The reason for this is usually that some organisations are very slow at upgrading their Java. Java 1.5 was released last year and is generally acknowledged to be fast, both in terms of general performance and GUI speed. Many companies are still using Java 1.3, which is very old.

  24. Re:Java - unfulfilled promisses by kaffiene · · Score: 2, Insightful

    I can write java software that has a GUI, networking, database connectivity and port it between different OS's with ease. I know this because I have done it with several products.

    Your post is FUD.

  25. Java is practical for some applications by wheelbarrow · · Score: 4, Interesting

    Everytime java is discussed on slashdot, I'm amazed at how some junior leaguers try to dismiss it because they can point out one application where java is a poor choice.

    There are some applications where it does not make sense to implement in java. However, I say that java is a great choice for the top layer of a web application server stack. There are a lot of web apps that take the form of:

    1. Gather data from one or more databases.
    2. Perform some consolidation and express the output in html.

    In this example, java is a consolidator of data from disparate data sources. It needs to hang on to several network connections and do some simple IO but it does not need to burn the CPU at 100% because it spends most of it's time blocked on IO. Java is a great choice for applications like this because there is a very large and active community working to make java dynamic web serving better and better. Every year your organization can, for free, upgrade to a new version of java and simple app server like Tomcat and reap the rewards of the communities improvements. Also, in my experience with server applications, the promise of portability is real. I've ported from windows to solaris and then to linux without changing the java application.

    1. Re:Java is practical for some applications by m50d · · Score: 2, Insightful

      Yes, it's practical for some applications. Just like Delphi, or Eiffel, or Haskell. It's a decent, somewhat specialised language that's worth knowing and using where appropriate. However, that's not the public perception of it, that's not the PHB perception of it. Java is an enormous triumph of marketing. People think things are better because they're java. People think arbitrary programs would be better if rewritten in java, where it only makes them worse. I will stop dissing java when people stop thinking it's the best thing since sliced bread, the new C++, the basic language everyone should know.

      --
      I am trolling
  26. Re:If only by $RANDOMLUSER · · Score: 3, Informative
    I didn't say it was the Holy Grail, I said I think it's got C++ beat all to hell in terms of programmer productivity. If I had to write a high user count shrink-wrap kind of program, I'd have to write it in C++, but in the one-off, less than 200 user, written by the (most/least)? qualified programmer available, frequent mod/respec world most of us live in, I'll take Java over C++ any day of the week. That way, I'll get fewer 2:00 A.M. phone calls.

    The "barfing runtime exceptions" was exactly my point. It's not only a red flag for badly written code, it's a built-in QC test. I'm TIRED of reading other people's code and having to go back to them and say "O.K., this (really arcane thing that you never will understand) might/probably will happen, and so therefore I can't put you code into production". All them "barfed runtime exceptions" make my argument for me. I can simply fiat "no unhandled exceptions" and leave it at that.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  27. Java in Research Applications by copdk4 · · Score: 2, Interesting

    Java is very important in the research community. I have been a grad student for past 3-4-5 yrs (..have lost count by now :) but I have never used any language other than Java for my projects/experiments . Be it simulation requiring a Knowledgebase of million RDF triples or be it a Medical Imaging Software to be used by Physicians.. it does it all.

    Somehow 'application researchers' like me are fascinated by the extent of its use.. (drawing nice GUIs or plotting graph with existing Jars)

    With regards to question of scaling..lately companies like IBM have been working towards creating optimized JIT compilers for Java.. I had benchmarked one during my internship at IBM Research.. and it gave nearly similar performance to native C/C++ apps.

  28. jbuilder = eclipse by dingfelder · · Score: 3, Interesting

    As I was searching for some info about JBuilder, I stumbled across this juicy bit that I had not seen before.

    Borland announces JBuilder Roadmap; future will be Eclipse-based

    The jist of the story is that in the first half of 2006, JBuilder will ship a new version, code-named "Peloton", which will be completely Eclipse-based !!!

    http://www.theserverside.com/news/thread.tss?threa d_id=34246

    below is much of the article text in case it gets swamped.

    Borland has announced their technical roadmap for JBuilder. Later this year Borland will ship JBuilder 2006 which will add shared code and shared debugging features. In the first half of 2006, JBuilder will ship a new version, code-named "Peloton", which will be completely Eclipse-based and add better dependency analysis features.

    The shared code and debugging will allow developers in different locations to participate in shared coding and debugging, as though they were sitting down together in the same room.

    The Eclipse news follows up from their February announcement of joining the Eclipse board and their intention to re-build their entire application life cycle management product suite on top of Eclipse. Borland sees Eclipse as an integration framework upon which they will be building JBuilder as well as their other products. By leveraging Eclipse, they can realize the cost savings of not having to worry about maintaining IDE functionality, and integration with other Borland tools, as well as gaining a larger audiece via Eclipse and benefitting from the large ecosystem of Eclipse tools.

    According to Rob Cheng, director of developer solutions at Borland, the major new addition planned for Peloton will be a dependency analysis feature. It will be able to understand the dependencies between different artifacts in the project, such as the link between JSP's and struts controllers, EJB's and the persistence tier, without the user needing to configure these explicitly or switch views. Debugging will be improved - stepping into different tiers will be easier without end users needing to manually set additional breakpoints.

    Code-name Peloton comes from a cycling metaphor, which is used to describe a group of cyclists who can ride faster together than they could individually, reflecting Borland's emphasis on team collabortation features in JBuilder.

    Borland has not announced any pricing information, but they are looking into offering a separate 'distribution' of JBuilder on Eclipse all integrated to make it easy for corporate clients to deploy.

    Borland chose Eclipse over Netbeans after watching industry momentum and listening to customers who think Eclipse will be their next major platform.

    When asked about what their differentiators for JBuilder-Eclipse over Websphere Studio will be, Borland responded that WS Studio is focused on Websphere, whereas JBuilder supports multiple application server platforms.

    Luis De La Rosa in his 2005 predictions suggested that Eclipse will become the Java community's answer to Visual Studio.NET, as a de facto IDE; this being a good thing for the Java community, as Eclipse will help build a market/ecosystem for development tools much like Visual Basic, which is the real goal that Sun wants to reach: 10 million developers using Java.

    Borland's decision to join IBM in basing their IDE on Eclipse is certainly bringing us closer to that prediction! What do you think?

  29. How about by mcc · · Score: 4, Interesting

    They entirely overhyped it in areas where it's relatively useless (the desktop) and entirely underhyped it in areas where it's extremely useful (backend and embedded areas).

    Now ten years later you talk about "java" and all anyone remembers are those horrible, sluggish AWT applets, running on netscape 4.0's broken JVM, which they used during the initial Java hype push. But almost nobody these days knows about the success Java met in unglamorous areas after the hype push had died off.

  30. Re:Java - unfulfilled promisses by MemoryDragon · · Score: 2, Interesting

    Ahem, I once delivered a program for an RS6000 and got the first access to that architecture at deployment time. It ran instantly, all I did before was to develop the program on windows with a Sun JDK, test it on a IBM JDK on Linux which caused me to alter one line of code in about half a million LOCs this program had including all the libs I used and them Deploy it on a Power based multiprocessor RS6000 which I could not get access to.

  31. The little train that should by el_womble · · Score: 2, Insightful

    Java should be great, but it isn't. For all the 'writeonce, run anywhere' gumpf that the marketing department came up with it failed in the most important test: usability. I can code pretty well in most languages, but as I work with Java, and was trained in Java at Uni, its the language I think most clearly in... unfortunately.

    The fact is I can code a quick app in Java on my Mac, compile and send it my Dad on his Wintel and he won't have a clue what to do with it. I then have to spend 5 minutes on the phone explaining either how to install the JRE, or how to run it from the CLI. Whats worse is that once its running, it looks like I can't code, as Java, by default runs noticably slower as you wait for the JRE to bootstrap and then for the JIT to get all the important bits compiled. Why would I do that to myself?

    Java is a great concept. But it has systematically failed on the desktop. What I want is a write once, compile anywhere. Same scenario, I want to have a compiler that I can target a Wintel platform from my mac and just send my dad the executable or installer, so all he has to do is double click - like he would any other app, and it run as well as a VB app (ie a little slower than native is fine). I would keep a few things from Java. I love GC for quick hack apps, fine grained memeory management has its place, but you can often feel like you reinventing the wheel, and its a gapping whole for the script kiddies to drive their payload through. I also love the central API. I can see the purists arguing against exceptions, but they do make debugging very easy, and they're not that expensive really. I also like the ease you can do threads. I don't like the GUI performance or the end user experience.

    If MS isn't going to play ball, and support various runtime environments from a fresh install, or if Java continue on insisting on a 20MB JRE download I can't see anyway around the byte code problem except to distribute binaries. Qt is a good start. Mono and C# are good candidates, but to be honest I'd be tempted to take Java, bolt Qt onto it, and use GCC to create targeted binaries. Is that out of the question?

    --
    Scared of flying, pointy things snce 1979!
  32. Re:Article Summary: by tesmako · · Score: 2, Interesting
    Unfortuately things can happen like a GC cycle at a bad time that can cause annoying slowdowns at the worst moment.

    Indeed a problem for garbage collectors, luckily Java ships with several different algorithms. The one used by default (full halt for a step in generational GC) has the best throughput.

    If you are more worried about short pauses you have two other alternatives however. The concurrent low pause pause collector will halt the application threads only in some phases of the collection, it is activated with the -XX:+UseConcMarkSweepGC flag (or system property). It does work in a different thread, so it is a good bet if you have multiple processors especially. The other option is the incremenetal collector, -Xincgc, which will do minor collections in parts with application threads getting to run between the steps (causing the pause to be spread out).

    Another notable option in these multicore days is -XX:+UseParallelGC, which will launch several GC threads and do some of the work in parallel.

    Overall there is a lot of opportunity to tune the Java garbage collector, google about on it a bit, it has been shown quite feasible to make nice interactive experience with Java (Jake2 anyone?). If even better guarantees are needed however it is probably best to look at one of the realtime JVM's. There are a variety available.

  33. Re:indeed, it was "facing problems" by cahiha · · Score: 4, Insightful

    Unsafe mode was added to C# to allow the grandfathering of massive volumes of ill-behaved code into .NET systems. Microsoft does not like giving up old code bases.

    And Sun, instead, creates millions of lines of untested, immature C code and adds it to their Sun Java implementation (just look at the Java2D code). Frankly, I trust even Microsoft's libraries more than that.

    Microsoft's claim that sprinkling "unmanaged code" everywhere in your system is superior to linking to external libraries is very strange.

    Unsafe statements are explicitly marked in C#, and they are limited to unsafe modules. C# is exactly the same as JNI in that regard, but C# provides you with a much better language to write JNI-like modules in, a language that is far safer than C/C++ even in unsafe mode, and a language that actually works across systems.

    What does the phrase "tightly limit unsafe code to just the statements where it is needed, often just a single statement" mean? How can you limit something that can be everywhere?

    It means that as a programmer developing a piece of code that needs to do something unsafe, it's better for me if I can compile almost all of my code in safe mode and only have a single line of unsafe code, than being forced to write an entire JNI module in C/C++.

    Now they're claiming it's okay to put buffer overflow vulnerabilities in your code because it's convenient for the programmer. They just don't seem to understand security.

    You keep confusing safety and security; safety is neither necessary nor sufficient for security. Most Java applications are, in fact, not secure at all.

    C# supports runtime safety in a well-designed and time-tested framework, which is helpful for building secure systems. But forcing people to use only safe constructs does not improve security any further, it actually makes it worse.

  34. Highly illogical by Dogtanian · · Score: 4, Insightful

    I never really bought the "social skills" bunk. I think chitchat and small talk is useless and stupid so I usually don't engage in it. Does this mean I don't have "social skills"? As long as you are articulate, and unless you are in public relations, fuck "social skills".

    Stereotypical pseudo-rational geek attitude.

    The inconsequential "chitchat and small talk" are the manner in which we find out more about the person we're dealing with before things get more serious, allowing us to "feel our way round" when we are unsure. This may apply to both strangers and people we're currently unsure of; don't bring on the heavy stuff first. They're the manner in which we show respect by asking questions about the other person that may not *directly* involve the business we have with them; of course, this may open up opportunities we hadn't considered, possibly leading to friendship and/or greater business involvement.

    Not everyone is equally good at this. Not everyone places equal importance on it. That's part of the healthy mix of personalities that push some people to work in public-facing jobs, and others to work in more "human-phobic" areas (such as the more technical aspects of computer hardware). It's okay to not be a "small talk" person, as you are.

    On the other hand, to criticise it for being "useless" (because it doesn't serve any obvious purpose) smacks of blinkered short-sightedness and the kind of (phoney) rationalisation of their own behaviour that geeks like to indulge in.

    Frankly, the kind of people who come out with this kind of stuff probably consider themselves "rational". Actually, that displays a laughable (and verging-on-the-autistic) lack of self-awareness. Geeks are no more "rational" than a lot of other people; they have their own neuroses and obsessions that are obvious when you take a step back. For example, to use the same surface "rationalisation", what purpose does being fanatical about "Star Trek", an entirely fictitious TV show serve? None. Surely it's more rational or logical (*) to live in the real world.

    Of course, the fan will explain how it represents the problems of today's world in a semi-abstract manner, blah blah... the more insightful will mention that it provides an outlet for the geek personality type. Point is; if they are forced to explain it in depth, they'll put the effort into considering their own behaviour that they won't even waste considering anyone else's. (Although they won't explain it as an excuse to escape the real world or dress in fantasy costumes; that would be too close to the bone).

    So, to get back to the point, your failure to even recognise the purpose of small talk (whether you like it or not) smacks of the most arrogant and deluded abuse of rationality to justify your own shortcomings and behaviour.

    (*) Reminds me of a friend I had in my early teens who was into sci-fi, had a crap geeky sense-of-humour and an obsession with Spock and "logic". He was no more logical than anyone else; in fact, sometimes he was downright weird. In retrospect, I reckon he was (slightly) autistic in some form.

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    1. Re:Highly illogical by harmonica · · Score: 3, Interesting

      If anyone intends to post follow-up criticism to this post, be aware: Arguing with me will not make you right. I've already moved on. Don't waste your time.

      So you are right no matter what and you want to have the last word in this. That's different from a five-year-old how?

      Anyway, your long rant about stupid people behaving in a stupid way and your superiority over them doesn't touch the topic of smart people and how they interact. Small talk may prevent people from reaching Borg collective efficiency in terms of communication, but there is a lot more to it. You didn't figure that out yet, and you seem to be determined to keep it that way in the future. Good luck with that attitude!

    2. Re:Highly illogical by Dogtanian · · Score: 2, Interesting

      Strangely, I agree with some of what you said. I have little respect for celebrities, sheep-like consumerism, phoney friendliness and corporate bullshit make me sick, and...

      No. *You* missed on several points. This isn't about my personality. This isn't about that part of *your* personality either. As I said, "It's okay to not be a 'small talk' person, as you are." That's your choice.

      You don't have to *like* anyone else's approach to life, but your inability to understand the purpose of smalltalk is so wilful, it suggests self-justification. Like it or not, small-talk has a purpose beyond the surface vacuousness. Human beings are complex animals, not what-you-see-is-what-you-get machines. It isn't rational to consider them accordingly.

      You might like it that way, but that's something different altogether.

      If I have cause to deal with someone, I don't want to find out that the person I'm dealing with is an impatient, self-centred, untrustworthy psychopath some time down the line. But I'm sure as hell not going to find that out by sitting the guy down at a desk and asking a bunch of questions. That's small-talk.... but, we've already been here. You don't like it. We already knew that.

      When I talk of "self-awareness", I don't mean merely likes and dislikes, and your place relative to everyone else's shortcomings etc. I mean the ability to see yourself from a 'neutral' point-of-view, without imposing your own personality upon this. Your "self-awareness" has your personality stamped all over it, as far as I can tell.

      And no, that's not "knowing one's place in the grand scheme of things?". It's knowing one's self. Anyway how do you know what the "grand scheme of things is"? If there's a "grand scheme of things", it's operating on a far grander scale than you're likely to be considering (to consider it requires you to think outside your own values, and also outside the values of the society you live in); sounds more like you're thinking about your place in society.

      Maybe you're the type of person who cares about that sort of thing, after all. Hmm?

      And then you said... I suppose I should be tolerant, though. You just haven't evolved past the need for meaningless braying when around your fellow species-members. It's not your fault--you were born that way.

      Wrong. Stupid. Blinkered.

      You make a *lot* of assumptions about me because you thought my consideration of the way others think, and the reasons for their behaviour meant I shared those values.

      Wrong.

      If anyone intends to post follow-up criticism to this post, be aware:
      * Arguing with me will not make you right.


      BRILLIANT! *This* is what I meant when I was discussing self-awareness.

      Taken at face value, this is of course true. Unfortunately, it's also fairly pointless. Arguing in itself won't make them right; it won't necessarily make them wrong either. What *you* probably mean is "arguing with me will not convince me that I'm wrong". Never does, of course- that's human nature.

      We're all like that, you included. You'd have figured that out if you were more self-aware.

      * I've already moved on. Don't waste your time.

      If what others think doesn't affect you, why did you bother posting to /. at all?

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  35. Re:Java Script (two words) by bl7385 · · Score: 2, Informative

    An updated Eclipse plug-in and a new Idea plug-in for Groovy were just released. They aren't perfect yet, but there is progress.

  36. Re:What is with java people and groovy? by Skjellifetti · · Score: 2, Informative

    We considered Jython and Groovy when we were adding scripting to an app, since they were the only two scripting languages that came with licenses that were found to be acceptable by our legal department.

    Why choose at all? Why not use the Bean Scripting Framework (originally from IBM's Alpha Works, IIRC) and let the customer choose whichever language they prefer? BSF lets you embed any scripting language that has a conforming wrapper. BSF wrappers are available for Groovy, Jython, BeanShell, Rhino, JRuby, Tcl, NetRexx, XSLT, and perl among others (although it's been my experience that some of these aren't all there yet).