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."

356 comments

  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 Saeed+al-Sahaf · · Score: 1
      On a side note, I somehow doubt he's going to hang out at DevShed so much after your soon-to-be +5 comment

      No, I think he likes attention. And anyway, my guess is that a lot of people already know he hangs there. It's not like it's a private club...

      But yes, my comment about social skills was a little stupid.

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

      What kind of retard hangs out at devshed?

    6. Re:Want to talk to The Man? by Anonymous Coward · · Score: 0

      You're not exactly the most socially capable person on the planet either.
      The thing that makes it worse is that you are also pretty damn stupid.

    7. 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.
    8. 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
    9. 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.

    10. Re:Want to talk to The Man? by Hard_Code · · Score: 1

      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".

      --

      It's 10 PM. Do you know if you're un-American?
    11. Re:Want to talk to The Man? by greg_barton · · Score: 1

      It's the wanna-be's who try to pull off the "I'm a brooding genius" ploy that tend to be assholes.

      I'm sorry, but Gosling's not a wanna-be. He be.

    12. Re:Want to talk to The Man? by znaps · · Score: 1

      Err, I don't think that's really him. Sorry to JBurst your JBubble.

    13. 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.

    14. 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. ;)

    15. Re:Want to talk to The Man? by Anonymous Coward · · Score: 1, Informative

      He's an influential guy, and definitely knows what he's talking about. But once I did see him pick his nose in public and eat the booger. Still though, a good guy!

    16. Re:Want to talk to The Man? by Anonymous Coward · · Score: 0

      I'm a big C guy, and I realize you're joking, but this is not fair to Java.

      Pointers: Well, anything that's an object is a reference. And we all know that references and pointers are the same thing.

      Templates: Not quite the same, but Java has generic classes and wrapper classes for primitives. If there is something template-like you want to do in Java, you should be writing an Interface for it. These are not the only options, though.

      I have to say as a C guy, that Java is in many ways cleaner than C++. C++ just has a lot of cruft. And templates, honestly, are nothing but a strange compiler hack. But whatever. Each language serves its own purpose, right?

    17. Re:Want to talk to The Man? by Da+Fokka · · Score: 1
      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"?

      My answer would be 'yes', sorry.

      Maybe you think chitchat is stupid but fact of the matter is that most people don't think so. Social skills aren't about you, they're about how you interact with the rest of the world. And since a lot of people do care about chitchat, not engaging in it could easily be perceived as a lack of social skills.

    18. Re:Want to talk to The Man? by k98sven · · Score: 1

      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.

      Well, they don't need to be. But some certainly are. I don't think people are either more or less likely to be an asshole purely based on their intelligence.

      Well, not quite actually. It depends on the nature of their intelligence. It's certainly possible to be a genius in one particular field and be just terrible at everything else, including social skills.

      But if you have a well-rounded intelligence, meaning you're the kind of person who takes interest in other subjects (even if you're got a specialization), then you're more likely to be a well-rounded person as well.

    19. Re:Want to talk to The Man? by Taladar · · Score: 1

      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.

    20. 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.

    21. 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
    22. Re:Want to talk to The Man? by Rethcir · · Score: 1

      Way to bring it back to the actual topic at hand! :) MPU!

    23. Re:Want to talk to The Man? by GooberToo · · Score: 1

      LOL! Wish I had the mod points to spend. Good one.

    24. Re:Want to talk to The Man? by TwistedSquare · · Score: 1
      I think that most of us here on Slashdot are in a reasonably high percentile when it comes to intelligence

      Wipes water off monitor... Are you new here? ;-)

    25. 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 . . . &
    26. Re:Want to talk to The Man? by ari_j · · Score: 1

      No. I said "intelligence," which I think most of us have a good deal of. However, literacy, memory lasting more than 10 hours, a sense of humor, common sense, ability to argue any way but ad hominem, and so on are other issues entirely. ;)

    27. Re:Want to talk to The Man? by qwijibo · · Score: 1

      I often see people being accused of being arrogant for defending positions that can be demonstrated to be true. Often times, this comes off as arrogant to people who don't understand that their own position is irrational. It's hard to explain this to people who think that knowing what to do is the same thing as understanding why to do things a certain way. While there may be lots of asshole points to give out, don't forget that no matter how they come off, these people are also spending their time trying to help others.

      Of course, experts have topics they're not experts on, and many of them don't know how to see the line that divides genius from stupid. Scott Adams is right - we're all idiots, just at different times with different things.

    28. Re:Want to talk to The Man? by Jose-S · · Score: 1
      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).

      How is that amazing?

    29. Re:Want to talk to The Man? by Saeed+al-Sahaf · · Score: 1
      How is that amazing?

      Because it's Super Fantastic Amazing, rock on.

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

      I haven't met Gosling, so I can't comment on him. I have met people who are brilliant. Folks who design O/S cores, network security protocols, programming languages. People who can hold their own with anybody. And none of them are jerks. They didn't necessarily suffer fools gladly, but they are decent human beings.

      I've also met people who put on the "I'm so brilliant that I can treat you like dirt" attitude. And once you penetrate their attitude there isn't much underneath.

      I'm not saying this is the law of the universe, but it's sure been my experience.

    31. Re:Want to talk to The Man? by cthulhu11 · · Score: 1

      Yes. but does he have pink flamingos there?

    32. Re:Want to talk to The Man? by Doc+Ruby · · Score: 1

      Social skills like unnecessarily insulting someone he admires, in a public forum of other admirers?

      --

      --
      make install -not war

    33. Re:Want to talk to The Man? by LKM · · Score: 1
      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"?

      Yes, indeed it does. This may come as a surprise to you, but people aren't computers. They aren't rational, especially in how they relate to each other.

      The actual content and subject of small talk usually isn't important. What you're really doing is communicating on a second, non-verbal level. You're finding out things about the other person. You both already know that the weather sucks, and you probably know where the other one is currently working, but you don't yet know him or her.

      Small talk is about socialising and gaining trust. If you can't talk to people, they won't know you (even if they know everything about you). And if they don't know you, they won't trust you.

      You can't work well with people who don't trust you, and you can't be friends with people who don't trust you.

    34. Re:Want to talk to The Man? by Anonymous Coward · · Score: 0

      That's nothing, I hear he reads Slashdot!

    35. Re:Want to talk to The Man? by larry+bagina · · Score: 1
      I think that most of us here on Slashdot are in a reasonably high percentile when it comes to intelligence,

      Of course you do. you don't realize that you're a dipshit.

      and probably fewer than 10% of the members here have social skills any better than an 11-year-old girl's.

      ... also, they enjoy fucking 11-year-old boys.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    36. Re:Want to talk to The Man? by Markus_UW · · Score: 1

      Gosling isn't one of those, just kinda socially inept...

  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.

    2. Re:Not a bad interview by Not+The+Real+Me · · Score: 1

      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.

      Sockets? Did you say sockets? I write most of my stuff in c (sometimes c++). So I guess I shouldn't be commenting on Java/.NET

    3. Re:Not a bad interview by viralburn · · Score: 1

      I'd rather have a full bottle in front of me than a full frontal labotomy

    4. Re:Not a bad interview by aled · · Score: 1

      What's the problem with your sockets? java does sockets -cleaner than C IMHO- and guess .Net does it two.

      --

      "I think this line is mostly filler"
    5. Re:Not a bad interview by rjshields · · Score: 1

      Are you going to invent your own protocol to use in your sockets? Two words: web services.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    6. Re:Not a bad interview by Anonymous Coward · · Score: 0

      Shame Sun couldn't make Java work better 5 years ago when it might have been relevant... instead of spending all that time swearing blind that Swing was everything, and you didn't need anything platform specific.

      These day .Net is the biz for managed languages that don't suck and let you actually *use* the platform you are working on. No wonder Sun is now desperately trying to convince everyone that Java isn't an exclusionary circle-jerk any longer. Shame it won't work... even bigger shame that it's not true.

  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 eviltypeguy · · Score: 1

      Uh, netbeans does lots of things Eclipse doesn't and there is a significant following for NetBeans. Me included. I don't like Eclipse.

    2. 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;"
    3. Re:Ruby on Rails driving change? by drewfuss · · Score: 1

      I have always wondered why sun's java tools, servers, etc. are such garbage. I think the reason may be that they make more from licensing java than they probably could if they had good products and competed aggressively with ibm, bea, oracle etc. It might scare those vendors away.

    4. Re:Ruby on Rails driving change? by CmdrPuto · · Score: 1, Interesting

      I tested the latest Netbeans and it improves a lot from the previous version. Better UI, more features, a lot plugins, faster, refactoring, JUnit wizard, JDK 5.0 compatibile and ANT based project system.

      I believe there are more users, like me, are coming to Netbeans.

      It's open source, most of the efforts are coming from the non-Sun developers.

    5. Re:Ruby on Rails driving change? by Decaff · · Score: 1

      Did anyone else that the "ease of configuration" for building applications might be driven by the Ruby on Rails push?

      Not really. Ruby on Rails is in many ways a rather old fashioned approach. While almost all new systems work from the idea that the object model is the centre of design, Rails works from the database design. The idea that objects could be automatically and dynamically created from database tables was done in Smalltalk at least a decade ago.

      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...

      Eclipse is good (I use it), but it is not that innovative. It has only just released support for the latest Java version, 6 months behind NetBeans.

    6. Re:Ruby on Rails driving change? by AKAImBatman · · Score: 1

      Not really. Ruby on Rails is in many ways a rather old fashioned approach.

      Abstracting RoR out to the more general JavaScript/DHTML/AJAX stuff, it's worth noting that James Gosling invented this form of application interface. The NeWS system was everything that AJAX is today. If Sun hadn't tried to keep NeWS proprietary, we might have never seen the Web Browser as we know it today, and X-Windows would be nothing more than a footnote in history. :-)

    7. Re:Ruby on Rails driving change? by $RANDOMLUSER · · Score: 1

      Uh, if you think about the name "eclipse" (as in "something in front of the sun") for a minute, maybe you'll get some ideas about IBM (and others) hopes for Eclipse, and why Sun isn't all that eager to join up.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    8. Re:Ruby on Rails driving change? by Anonymous Coward · · Score: 0

      "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)"

      You must not know many Java developers because it's very obvious that Eclipse, Netbeans and IDEA are the most popular Java IDEs. If you don't know a Java developer using one of those three IDEs you just need to face the fact that you don't know very many Java developers. Furthermore, most Java developers will admit that IDEA is definitely the best; it just comes down if they want to justify its cost.

    9. 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!
    10. Re:Ruby on Rails driving change? by justins · · Score: 1, Troll
      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?

      Using Netbeans here. Don't care for Eclipse. Go figure.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    11. 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;"
    12. Re:Ruby on Rails driving change? by Anonymous Coward · · Score: 0

      I, for one, find Netbeans better than Eclipse. To put it like you do, I'm sure Eclipse is a very capable IDE, but (blah, blah, blah, ...)

      I tried Eclipse because, well, at the time it seems everybody was using it. 2 things... One, Eclipse as prooven to be much less intuitive for me than Netbeans was (which I tried after giving up on Eclipse). Two, Eclipse just hogged down the ressources of my box to the point where it was simply unusable.

      Yes, I heard that Eclipse v3 improved on (at least) the performance issues, but I recently gave it another shot and I soon had to search the web to find out how to get a container in there, while it's all conveniently bundled right out of the box with Netbeans and very well integrated inside the IDE.

      In my view, Netbeans (which is also Open Source if I'm not mistaking) should be the project that should get all the coders working for, but that is my biased opinion about that.

    13. 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

    14. Re:Ruby on Rails driving change? by mabinogi · · Score: 1

      It probably is a personal preference thing then, because for the most part, you experiences with JBuilder seem to match mine with Eclipse.

      Though I will note that the first thing I disable is the auto quote closing ;)

      --
      Advanced users are users too!
    15. Re:Ruby on Rails driving change? by Anonymous Coward · · Score: 0
      netbeans does lots of things Eclipse doesn't


      Please name 3 of them :)
    16. Re:Ruby on Rails driving change? by dingfelder · · Score: 1

      wow, I was going to say "are you smoking crack?" but then I realized that would not be nice.

      We all fond our tools that we love, and I guess Eclipse does it for you.

      Personally, JBuilder seems far suprior to me, espessially their swing GUI designer and the mobile (for phones and palms) support.

      Also, I find their database widget support second to none.

    17. Re:Ruby on Rails driving change? by mabinogi · · Score: 1

      heh - that's the thing - IANAGC (I Am Not A GUI Coder).

      I can't comment on JBuilder's usefulness for GUI programming, and in fact most of the time it never even occurs to me that people write GUIs in Java.

      Most of my work is in command line applications, libraries and server applications.

      --
      Advanced users are users too!
    18. 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."

    19. 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.

    20. Re:Ruby on Rails driving change? by Anonymous Coward · · Score: 0

      I have this bridge for sale, you seem like just the right type of person for it. Unfortunately, someone else already made me an offer. I think you're a much better fit for it though and maybe we can work things out?

    21. Re:Ruby on Rails driving change? by MemoryDragon · · Score: 1

      Actually Netbeans has become a very good foundation with the latest release, and Sun starts to build decent apps on top of it. Have you ever had a look at the 2.0 early access release of Studio Creator, I was simply blown away by it. It sort of is like Access for webapps, but without all the problems access has. Making a database aware webapp with that tool is a matter of hours and so far from what I could see it should be able to scale up to medium size apps nicely.

    22. Re:Ruby on Rails driving change? by JaniHalinen · · Score: 1

      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?

      No. I use NetBeans! :)

    23. Re:Ruby on Rails driving change? by rjshields · · Score: 1

      I use both. I find Eclipse is better for general purpose Java stuff, coding, refactoring, etc. I use Netbeans for swing and web services.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    24. Re:Ruby on Rails driving change? by -brazil- · · Score: 1


      It has only just released support for the latest Java version, 6 months behind NetBeans.


      I was using JDK 1.5-compatible Milestone builds of eclipse 3.1 as much as 8 months ago.

      Admittedly, the 1.5 compatiblity wasn't complete at that time, but otherwise there were no problems one might expect with a beta release.

      --

      The illegal we do immediately. The unconstitutional takes a little longer.
      --Henry Kissinger

    25. Re:Ruby on Rails driving change? by cthrall · · Score: 1

      Personally, I don't think it's just Rails that is driving the push for easier configuration...I think it's anybody who has ever had to configure an app server.

    26. Re:Ruby on Rails driving change? by Decaff · · Score: 1

      I was using JDK 1.5-compatible Milestone builds of eclipse 3.1 as much as 8 months ago.

      Admittedly, the 1.5 compatiblity wasn't complete at that time, but otherwise there were no problems one might expect with a beta release.


      Incomplete support is not real support. There were a lot of features missing (or at least, so I found) until recently in the milestone builds - problems with generics and annotations for example.

      Many organisations won't use milestone or beta releases, so the lack of full support in a stable version held back adoption of Java 1.5.

    27. Re:Ruby on Rails driving change? by Marc2k · · Score: 1

      Correct me if I'm wrong, I haven't used it in about a year, but aren't most of those features already in Eclipse? I wasn't positive about a wizard for JUnit or 5.0 compatibility, but actually, I just did my homework, and the answer's yes.

      --
      --- What
    28. Re:Ruby on Rails driving change? by JamesOfTheDesert · · Score: 1
      Did anyone else that the "ease of configuration" for building applications might be driven by the Ruby on Rails push?

      WTF? No. People have griped about configuration issues before Rails, and there has been action in the Java community to address this before Rails.

      Ruby on Rails does not occupy the same space as Java server app development; RoR is perhaps closer to PHP app building (though clearly lightyears ahead). People pick Java, warts and all, for various reasons, but generally because it does things other languages such as Ruby (currently) cannot (but wait for YARV!).

      This may shock RoR fanboys, but many things happen in the world of software development that in fact have nothing to do with Rails.

      --

      Java is the blue pill
      Choose the red pill
    29. Re:Ruby on Rails driving change? by Zeneris · · Score: 1

      What competition? Many Java applications are not web based! I hope not. IMO Eclipse was a BIG mistake in part because it uses SWT, IMO SWT is a load of IBM cruft used by few applications (unlike Swing), also the interface and window sequence are counter intuitive! Usabilitity is very important for developers since like other designers (e.g. graphic artists) they often have to do more complex tasks than most other users e.g. if I want to manipulate a picture I would use Paintshop Pro rather than the disgusting GIMP interface. I use Borland JBuilder because Borland actually designed the interface to stay usable with lots of features, unlike Eclipse and NetBeans. I hope NetBeans apply this lesson and add enterprise level project support so that I have a realistic alternative Swing IDE.

    30. Re:Ruby on Rails driving change? by justins · · Score: 1

      It's funny what will get labeled as "troll".

      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  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.

    1. Re:underhyped? by kaffiene · · Score: 1

      Ummm.... someone needs the ability to spot subtle humour.

    2. Re:underhyped? by wwest4 · · Score: 1

      So he was saying Java tanked over the last decade? That doesn't seem very humorous to me.

  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 Anonymous Coward · · Score: 0

      people like to set high requirements to reduce the HR burden, realistically, they only should need a few canidates. Getting Hired is all about social engineering. It really has almost nothing to do with what you can put on a piece of paper. The piece of paper is the pack of lies you've written up to try and impress them, then in the interview you need to sell yourself as the right person for the job, and make them believe that hiring anyone else is just a waste of thier time.

      I hate this f---ing world, you have to f---ing lie and debase yourself to get a 'job' and they don't want anyone who SUCKS at lying, or anyone who has morals and standards.... I'm bitter, yes.

    2. 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.
    3. 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)
    4. Re:Job Descriptions by Committee by Anonymous Coward · · Score: 0

      I fully agree with you, the interview process is nothing but a pointless HR driven song and dance that is extremely bias towards people who are "charming" or have good people skills. Some of the brightest people I've worked with had poor people skills, or they were quiet, or shy.

    5. Re:Job Descriptions by Committee by AdamWeeden · · Score: 1

      It's as simple as this. You are a commodity. You offer a service at a price. The business hiring you wants to get as much of that service as cheap as they can. I knw it's nice to dream of the utopia where everyone is paid exactly according to their merit and hired based simply on it, but it's not gonna happen in a capitalist system.

      --
      I was quoted out of context in my autobiography...
    6. Re:Job Descriptions by Committee by Bastian · · Score: 1

      Wait. . . I think you basically just said, "Folks want to get the best person for the job for as little pay as possible, and that is exaclty why they don't care how good of a person for the job you are."

      WTF!?

    7. Re:Job Descriptions by Committee by AdamWeeden · · Score: 1

      Not quite. I was explaining why every person has to be a salesman when they apply for the job. Employers are not mind readers, you have to convince them sufficiently that the merits they're looking for, you posess. This doesn't factor in whether you actually posess said merits.

      --
      I was quoted out of context in my autobiography...
    8. 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
    9. Re:Job Descriptions by Committee by StarsAreAlsoFire · · Score: 1

      I am *not* generally qualified to speak on the subject of 'how to land a great job', as I am self-employed and rather happy about it: HOWEVER, I had a great experience once, back in my college days (not so long ago) when I was looking.

      I was contacted by a headhunter.

      Not just some random dumbass headhunter, a guy who knew his stuff.

      He had looked over my resume, and called me about my 'skills'. When I asked him what he was looking for, in particular, he said 'well, I've a client that says they need someone with 5 years of Swing experience. Now, we both know they have no clue what they are talking about, and anyway, it is my belief that if you don't know it after two years, you just aren't going to get it, period.' (paraphrased, of course).

      The start date was before I graduated, so I declined. But AFTER I declined we talked for another 20-30 minutes, and kept in touch for some time after words -- until I managed to gain financing for my first solo-project, actually.

      My advice, if you aren't a salesman, is to FIND A GOOD HEADHUNTER. You might not be able to sell yourself, but you can probably shop pretty well. And you will know damned good and well when someone is BSing you. Do they take a cut? HELL YES! Does it suck? HELL YES! Does it matter? HELL NO! Because they screw the company that highers through them -- you get paid according to some random principal, and the agency takes a cut from the company, not out of the salary you are quoted.

      But you probably know this already. Or have a job. Or don't care. Anyway. FWIW, which isn't much at all, there ya go :~)

    10. 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.

    11. Re:Job Descriptions by Committee by gangien · · Score: 1

      I don't think that someone saying they have 10 years of java experience, makes them a dumbass.. makes them a person trying to find a job.. though perhaps, technically speaking, they are lying.

    12. Re:Job Descriptions by Committee by Anonymous Coward · · Score: 0

      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.

      Complete bollocks, moron! It's way harder than you think.

    13. Re:Job Descriptions by Committee by David+Kennedy · · Score: 1

      Parent said:
      > First, [CVs which don't] have CS or SE degrees get thrown out.

      While I appreciate the first cut of a pile of CVs is always somewhat arbitary, I'm surprised by this. I'd be rejected on the first pass (PhD Physics) despite having worked as a software engineer since 1998.

      And it's worth checking some of those apparent lies; it's not that unusual to find cases like someone who has written "10 years X" rather than explain to low-level HR that they first worked with X back when it was still called Y.

    14. Re:Job Descriptions by Committee by indifferent+children · · Score: 1
      Though... I did once get asked for twenty years experience in Token Ring.

      Why yes, I do have 20+ years of experience with Tolkien Ring.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    15. Re:Job Descriptions by Committee by rreyelts · · Score: 1
      Second, he throws out anything with obvious lies such as "10 years of Java experience".

      Nice. So my resume would get junked because I first started working with Java in 1996, before 1.0.2 was even released. Ah - the good old days, when combo boxes (java.awt.Choice) didn't have a method to remove items, and the approach to handling component events was subclassing and overriding handleEvent (long before the arrival of listeners). You'll have to forgive me that I round to 10 years, instead of writing 9.6.

      Your professor is an idiot.

    16. Re:Job Descriptions by Committee by qwijibo · · Score: 1

      You are expected to be a people person because you're being interviewed by people people. In many companies, they are looking for someone who has the capabilities (bare minimum vs vast experience is rarely a differentiating point) and is a "good fit" for the team. This means someone who has the social skills to get along with everyone.

      I've been criticized for being an unusually harsh interviewer. I don't feel in the slightest bit upset about this or compelled to act differently. I have the people skills of a rabid hyena, but I also know how to fake it well enough to get along with most people. In interviews, I ask detailed questions from the start and feel out the limits of a person's capabilities. I make people write code on the spot. People who can't handle this kind of pressure aren't going to be able to function in the event that we actually have to do some real work. As a result of this process, we ended up hiring a couple of techies who may not have made it past the management interviews if management didn't already have a thumbs up from the rest of the team. It's frustrating that non-technical people have any say over the hiring of the technical people, but managers control the budget, so they control the hiring.

      If you don't like the way the current system works, sabotage it. When you do have a job where you're important, be sure to get included in the interviewing process. It's not fun, but the pain won't last as long as letting management do all the hiring on their own.

    17. Re:Job Descriptions by Committee by qwijibo · · Score: 1

      This is good advice.

      If you're not good at something, find a way to subcontract that work to someone who works entirely on commission.

    18. Re:Job Descriptions by Committee by qwijibo · · Score: 1

      Small companies are a good place for these people. They don't have enough extra money to pay for all the extra HR crap. I spent 13 years working for small companies before I started consulting for soul killing large companies. I like the people and environment in small companies, but they can't afford to pay as well.

    19. 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."
    20. Re:Job Descriptions by Committee by DoktorSeven · · Score: 1

      Well, I like to think that I'm not a complete ass. I'm just not this insanely lovable, sociable guy who loves standing around the watercooler talking about any inane topic that comes up. I am a relatively nice person when I need to be.

      I just can't compare with these people who tend to be super-sociable, hyper, etc. Generally I like to be left alone to do my work.

      --
      This is a sig. Deal with it.
    21. Re:Job Descriptions by Committee by msuzio · · Score: 1

      Wow, points for tossing out the inflated years of experience, but he loses for junking non-CS degrees. Many (most?) good programmers I know either have no CS degree or no degree at all. I myself have a degree in an unrelated field, but I found my general experience in getting a technical degree helped me learn skills I use directly in programming work.

      I suppose if you have 100+ resumes to trim down, maybe you need an approach like that, but that's a poor criteria to use IMHO. Much better to take a little more time, look at the experience listed, and not miss an otherwise good candidate. I'd value someone with an art degree and 10 years programming experience over someone with a CS degree and 2 years experience.

      That being said, it might be nice to have both on my team. Sometimes the formalisms *do* come in handy.

    22. Re:Job Descriptions by Committee by DoktorSeven · · Score: 1

      It will happen when the people doing the hiring start reading these rants and realizing "hey, these people have a point". Saying something is never going to happen is self-defeating.

      People need to start realizing that things CAN change, and it starts with throwing away our ridiculous notion of "this is the way things are, so too bad".

      Things can be however you want them to. People need to use their brains for once and quit repeating the bullshit people have told them.

      --
      This is a sig. Deal with it.
  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?

    1. Re:Page 2 and scripting languages by Decaff · · Score: 1

      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?

      It is getting that way, but I suspect that Groovy will get there first.

      Until then, there are plenty of dynamic languages (including LISP) that run on the Java Virtual Machine.

    2. Re:Page 2 and scripting languages by Anonymous Coward · · Score: 0

      Don't even bother with any of those dead technologies.

      Everyone is moving to better technology in the form of Ruby (on Rails).

      Java is dead.

    3. Re:Page 2 and scripting languages by master_p · · Score: 1

      Am I the only one to be disappointed when new features pile up in a programming language? isn't it terrifying that Java keeps getting new features all the time, for each exceptional case? this means one thing to me: that Java is not well designed as a programming language, because the original Java model can not be used in the most recently hot problem domains. Java is a C++ with nice clothes, but the Java model has failed, just like the C++ model.

      What the world needs a a LISP-type language that can be used in adding new lexical forms in it and that makes no distinction between 'compile' and 'run' time in order to allow dynamic specifications to be programmatically expressed and parameterized. I would have said that LISP fits in that role, if it was not for its archaic definitions that mean nothing to people (like 'cons' or 'car', for example).

    4. Re:Page 2 and scripting languages by msuzio · · Score: 1

      Groovy is a very cool language, but it's been hampered by lack of documentation and a bit of a chaotic, "lets do whatever comes to mind" approach to the language evolution. It needs to come into maturity, settle down the feature-set, and document what is there.

      I was pleased to hear at JavaOne that there may be some Groovy books coming out Real Soon Now, including an O'Reilly Book, and that might go a long way towards making it a more useful project.

    5. Re:Page 2 and scripting languages by Sharkeys-Day · · Score: 1
      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.


      Interesting pointer.

      Sorry for mentioning the 'p' word in a java discussion, but perl5 is at #6, and perl6 (which is finally making progress) will have all 9.

      Although I'm failing to see the significance of #7 as other than an optimization. Could someone illuminate me?
  8. Re:My favorite quote by Anonymous Coward · · Score: 0

    FTi, parent has no sense of humor. Don't invite him to your party.

  9. Not a waste at all by Anonymous Coward · · Score: 1, Interesting

    Netbeans is so cool. It has completely shed its molassas past, and is now an example of what can be great about Swing applications.

    1. Re:Not a waste at all by Anonymous Coward · · Score: 0

      This must be some experimental build of NetBeans... 'cos the latest version available (4.1) runs like ass and uses virtually every bit of the half gig of RAM in my PC.

  10. 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)
  11. 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).

  12. 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
  13. 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 Anonymous Coward · · Score: 0

      "Java looks to be pretty interesting"

      Have you been living in a cave during the past 10 years?

    3. Re:Scripting language talk... by kaffiene · · Score: 1

      You can compile new code while java is running, so it kinda does sort-of move towards "scriptness" on that dimension. It's not *designed* to do that as a core feature, but it's doable.

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

      You can compile new code while java is running, so it kinda does sort-of move towards "scriptness" on that dimension. It's not *designed* to do that as a core feature, but it's doable.

      Interesting point.

      This is exactly how modified JSP (Java Server Pages) files are translated to Java code and then compiled to Java class files while a Web Application is still running.

    5. Re:Scripting language talk... by MemoryDragon · · Score: 1

      With static imports in 5.0 that has been resolved once you have imported System out.println should be enough :-)

    6. Re:Scripting language talk... by StrawberryFrog · · Score: 1

      Taking that into consideration, then, would Java with JIT qualify as an interpreted or compiled language?

      Oh, it gets blurrier. In .NET, a JIT compiled environemnt, you can put text into a string, call the bytecode compiler on it, and execute it. There is no hard division between comiler and interpreted languages.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    7. 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

    8. Re:Scripting language talk... by Anonymous Coward · · Score: 0
      Taking that into consideration, then, would Java with JIT qualify as an interpreted or compiled language? I'm not sure, myself---any thoughts?

      That question is non-sense. You confuse programming languages with compiler implementation techniques.

      A language is a syntax (how do I write it?) and a semantic (what does it do when I run it?). Languages never say anything about you are supposed to implement it, and so asking if a language is interpreted or compiled is just non-sense.

      There are many implementations of the Java language, with many different execution strategies.

      • Sun's implementation of Java is a Just-In-Time compiler (JIT).
      • SableVM is also an implementation of the Java language. It's execution strategy is to interpret the bytecode.
      • GCJ is another implementation of the Java language. It's execution strategy is to compile ahead of time.
      • DrJava is yet another implementation of the Java language. It's execution strategy is to compile the Java source code to Scheme code, then macro-expand the Scheme code to primitive Scheme, then compile that to bytecode, then interpret the bytecode.
      Other languages also have a diversity of implementations:
      • The Ocaml language comes standard with three implementation: an interpreter, a bytecode compiler/bytecode interpreter pair, and an aggresively optimizing native code compiler. Somebody else also implemented a JIT.
      • The standard Python implementation is an interpreter. Starkiller is a Python compiler, and Psyco is a Python JIT.
      • Last but not least, GCC is a C compiler (of course), and Cint is a C interpreter.

      Now go in peace, and never say "compiled language" again.

    9. Re:Scripting language talk... by gmarceau · · Score: 1
      (logged in and reposted)

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


      That question is non-sense. You confuse programming languages with compiler implementation techniques.


      A language is a syntax (how do I write it?) and a semantic (what does it do when I run it?). Languages never say anything about you are supposed to implement it, and so asking if a language is interpreted or compiled is just non-sense.


      There are many implementations of the Java language, with many different execution strategies.

      • Sun's implementation of Java is a Just-In-Time compiler (JIT).

      • SableVM is also an implementation of the Java language. It's execution strategy is to interpret the bytecode.

      • GCJ is another implementation of the Java language. It's execution strategy is to compile ahead of time.

      • DrJava is yet another implementation of the Java language. It's execution strategy is to compile the Java source code to Scheme code, then macro-expand the Scheme code to primitive Scheme, then compile that to bytecode, then interpret the bytecode.

      Other languages also have a diversity of implementations:

      • The Ocaml language comes standard with three implementation: an interpreter, a bytecode compiler/bytecode interpreter pair, and an aggresively optimizing native code compiler. Somebody else also implemented a JIT.

      • The standard Python implementation is an interpreter. Starkiller is a Python compiler, and Psyco is a Python JIT.
      • Last but not least, GCC is a C compiler (of course), and Cint is a C interpreter.


      Now go in peace, and never say "compiled language" again.

      --
      This post was compiled with `% gec -O`. email me if you need the sources
    10. Re:Scripting language talk... by m50d · · Score: 1

      It's interpreted. It looks like a duck, smells like a duck, quacks like a duck, it's a duck. I don't care about your "jit", it requires an interpreter program, it's not a native binary, it has the slowdown you get from interpreter stuff. (Yes I know the benchmarks say it doesn't. Bite me.) It's interpreted.

      --
      I am trolling
    11. Re:Scripting language talk... by Anonymous Coward · · Score: 0

      You seem to be just wrong about DrJava. DrJava is just another Java idea and does not do those silly to-scheme-to-java-bytecode tricks that you talk about. Sorry.

    12. Re:Scripting language talk... by gmarceau · · Score: 1

      You are right. I meant http://www.professorj.org/
      Thanks for the correction.

      --
      This post was compiled with `% gec -O`. email me if you need the sources
    13. Re:Scripting language talk... by ProfKyne · · Score: 1

      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.

      That's because Java's not an administrative tool like Perl. If you need to output to the console (say, if you are writing a command line program like Java's own javac compiler, or the ant build tool), you don't litter your entire program with references to the console itself. A better approach would be to encapsulate your output buffer and then in one place, alias that buffer to whichever output source you need -- in this case, the console. This could even be done in a configuration file if you needed that level of complexity.

      My point is that Java is intended for more complex applications, not simple 200-line shell scripts. Your code shouldn't have any clue where it's outputting its content. Otherwise, when your requirements change, you end up with having to clean up your mess by replacing every single reference to System.out.println with some other output source, such as a file or a database or a socket connection.

      --
      "First you gotta do the truffle shuffle."
  14. 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.

  15. Maybe he has a java problem by zymano · · Score: 1

    He might forget stuff just like anyone else.

    His java books are probably being used as doorstops.

  16. What is with java people and groovy? by jbellis · · Score: 1

    Jython has been stable for years now, and is a much better-designed language than groovy appears likely to become. Where'sthe love?

    1. 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.

    2. 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).

  17. Re:Gosling? by Anonymous Coward · · Score: 0

    Me neither - I've never gozzled.

  18. 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.

  19. Re:My favorite quote by spectre_240sx · · Score: 1

    So in 15 years Java will be fast? w00t!

  20. 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.)

  21. Java Script (two words) by cyranoVR · · Score: 1

    So you're executing script in a JVM?
    Gosling: Yeah. All the Java libraries are available to things written in Groovy. And Java applications can use Groovy. They can incorporate Groovy scriptlets.


    Scriptable Java! Why wasn't I informed?!? 0__0

    Does anybody have any practical experience/advice using Groovy in a production environment?

    1. Re:Java Script (two words) by Anonymous Coward · · Score: 0

      It's got some ways to go, but it works for the most part. The last two releases were pretty solid. It still lacks good IDE integration though.

      It may be worthwhile to look at some of the other scripting languages that can execute in the JVM. Jython and BeanShell (I think) are quite popular.

    2. Re:Java Script (two words) by Anonymous Coward · · Score: 0

      i've used jython in configuration files for defining complicated(compared to xml ones i could define without killing myself) tasks. Groovy should fit there better because in python blocks are defined by indententation.
      From jython experience i would say scripting has its place in cases like that, there are risks, but there always are, one just must handle his risks.

    3. 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.

    4. Re:Java Script (two words) by Umbral+Blot · · Score: 1

      Scriptable Java is nothing new. Even my language Centum can do it. All it requires is a little JNI code, and presto, you can make Java calls.

  22. Re:Article Summary: by patio11 · · Score: 1, Insightful

    >>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.>> As opposed to C++, which really separates the men from the boys when it fails totally transparently due to a pointer error several years after the product has shipped, resulting in 100,000 boxes getting owned. Good thing seg faults have long since chased all of the non-serious developers away from the language, so we have only our l33t hackers creating buffer overruns for our other l33t hackers to patch. >>and who would seriously wan't to release thier software as java bytecode when jad is arround?[sic]>> I'd imagine anyone who is big enough on open software to winge about not having a free-as-in-speech runtime environment (despite having free-as-in-beer ones readily available) wouldn't be too worried about the possibility of someone seeing, gasp, their source code.

  23. Exactly by jbellis · · Score: 1

    If you're a typical corporate CTO, you know that you will have no shortage of either Java or .NET developers for the next 10 years or so, which means those are going to be the most important candidates for just about any project you're considering.

  24. 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
  25. Re:My favorite quote by Decaff · · Score: 1

    So in 15 years Java will be fast? w00t!

    You seem to have either misunderstood the term 'out of date', or have got your sense of time mixed up after reading the earlier '100 Years of Special Relativity' topic.

  26. All that time, and they still haven't figured out by Anonymous Coward · · Score: 0

    how to make the JVM start up in less than 2 minutes.

  27. Driven by competition against MS by Augusto · · Score: 1

    More likely driven by competition against MS.

    MS is a one stop shop. You get their .net "framework", their IDE and tools, their database, their webserver, their OS, etc. etc. and managers say you can't go wrong with that.

    On the other hand, the complexity of some of the .net stuff seems less because something like JEE (J2EE) has a lot of little bits that are highly more configurable than in the MS world.

    I'm sure that's it because that's the type of feedback they've received from a lot of big companies (including the one I work in) and they are trying to make things easier.

    That's why they have been working some much on Netbeans and EJB 3.0.

    --

    - sigs are for wimps.
  28. 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.

  29. Java - unfulfilled promisses by guacamole · · Score: 0, Flamebait

    I think the biggest selling point of Java was the cross-platform compatibility. However, 10 years later, I think that it is clear that this promise was largely a fraud. Java was a perhaps a good new platform for writing enterprise applications and applications for certain consumer niches for those developers who didn't want to deal with the unsafe languages like C or C++ or those who were fooled by Sun into believing that Java is the best thing since whatever, but cross-platform compatibility for large applications still remains problematic. For example, most vendors of fairly complex java applications I have seen, not only require you to use a certain version of OS and a web browser (if that's an applet) but also they demand a certain version of the java virtual machine is used and with certain patches on some operating systems. And if you don't meet their requirements, you often run into problems. I bet a python or a perl script would have fared much better in many of those settings as far as portability is concerned.

    1. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0

      Eclipse. Limewire.

      Both cross platform, both excellent feature-rich products with large user communities.

    2. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0
      ...both criminally slow.

      Anyway, that's like offering up Emacs and Guile as the raison dêtre for lisp. Not gonna work, I'm afraid.

    3. Re:Java - unfulfilled promisses by kaffiene · · Score: 1

      Bullshit! Eclipse does more than Visual Studio and is takes no longer to do anything.

      What a complete and utter lie.

    4. 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.

    5. 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.

    6. 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.

    7. Re:Java - unfulfilled promisses by master_p · · Score: 1

      Java is good, but why it totally ignores the Lambda calculus and other important concepts of the theory of programming languages? it could have been much better, in my opinion.

    8. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0

      I would like to know, why is the parent modded "-1, Flamebait", when all it says is the f*cking _true_? I'm a developer and I can say that almost every Java development tool is shipped with its own JVM. And why are those products shipped separately for each platform, when Java is called "cross-platform"? IMO, Java portability is a myth a it will stay so.

    9. Re:Java - unfulfilled promisses by Decaff · · Score: 1

      I would like to know, why is the parent modded "-1, Flamebait", when all it says is the f*cking _true_?

      Because many of us have found it not to be true.

      I'm a developer and I can say that almost every Java development tool is shipped with its own JVM.

      The most popular Java development tool, Eclipse, isn't. Neither is NetBeans.

      And why are those products shipped separately for each platform, when Java is called "cross-platform"?

      Because different platforms have different ways of packaging software.

      IMO, Java portability is a myth a it will stay so.

      Eclipse, NetBeans, JBoss and thousands of substantial applications show that you are wrong.

    10. Re:Java - unfulfilled promisses by Reverend528 · · Score: 1
      In 2,425,709 lines, a scripting language had better be curing world hunger. Otherwise, I can't really think of why anyone would need a 2.5 million line script.

      Measuring lines of code isn't a very good metric when comparing different languages.

    11. Re:Java - unfulfilled promisses by m50d · · Score: 1

      Why not? For a start, using a scripting language would have probably resulted in a factor of 10 reduction in the number of lines needed. And perl or python run on as many platforms, possibly more (java didn't work on beos last time I checked). Java may have open specs but it isn't open, wheras almost every other language has a truly free implementation available. And why do you claim linux owes its success to Java? There's no J in LAMP.

      --
      I am trolling
    12. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0

      The most popular Java development tool, Eclipse, isn't. Neither is NetBeans.

      JBuilder, JDeveloper, Java Studio Creator are. So is Oracle Installer (which was even shipped with 2 JVMs in 9i). My college told me that he currently has 5 or 6 JVMs on his machine. Don't try to tell me that this is not bloat.

      Because different platforms have different ways of packaging software.

      What is the problem with zip archive and *.sh and *.bat install scripts?

      Eclipse, NetBeans, JBoss and thousands of substantial applications show that you are wrong.

      I would like to know all those "thousands of substantial applications" written in Java. I can name you tens of real killer OSS applications, but neither of them is written in Java. I'm sorry, but I don't consider applications which start in minutes and eat all available memory as substantial, but people criteria may be different.

    13. Re:Java - unfulfilled promisses by Decaff · · Score: 1

      JBuilder, JDeveloper, Java Studio Creator are. So is Oracle Installer (which was even shipped with 2 JVMs in 9i). My college told me that he currently has 5 or 6 JVMs on his machine. Don't try to tell me that this is not bloat.

      These are shipped with VMs because they are intended to be complete products and they don't assume that anyone else has installed a VM. You can configure all these programs to use the same single JVM, providing those JVMs are above a certain specification; they should all work fine with a 5.0 JDK.

      You don't need to keep those 5 or 6 VMs on the machine one you have set things up.

      I would agree that Oracle is bloat; but Oracle has always been bloated!

      What is the problem with zip archive and *.sh and *.bat install scripts?

      Because users expect more professional InstallShield-type systems.

      I would like to know all those "thousands of substantial applications" written in Java. I can name you tens of real killer OSS applications, but neither of them is written in Java.

      I'm sorry, but I don't consider applications which start in minutes and eat all available memory as substantial, but people criteria may be different.


      Substantial applications are large applications that do a lot. Almost every large or medium commercial company has important applications written in Java. These almost never rely on a particular VM version (you don't get them requiring, say 'JDK 1.3.1, but not JDK 1.4.2').

      As for the 'start in minutes and eat all available memory' - that is just silly. Even a large application like tomcat can start in a few tens of seconds (and considering all it has to load, that is not bad). Before version 5.0 all Java VMs had a default maximum memory use of 64MB. Even a large IDE like NetBeans runs in 96MB. so, to say 'eat all available memory' is a wild exaggeration.

    14. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0

      These are shipped with VMs because they are intended to be complete products and they don't assume that anyone else has installed a VM.

      Ugh? These are targeted to advanced users or developers, who probably know how to download JVM.

      they should all work fine with a 5.0 JDK.

      But they don't. E.g. Java Sun Creator 2 EA doesn't work correctly with 5.0 JDK. They (Sun) said: "JDK 1.5 is definitely in the plans for Creator." Really funny...

      Because users expect more professional InstallShield-type systems.

      Almost ever development tool I've downloaded had a Java GUI installer invoked by a script, so I really don't see any reason for providing separate packages for different platforms.

      Substantial applications are large applications that do a lot.

      Yep, they "do a lot", like overload CPU to 100%, although they do nothing in fact. I've seen this several times and only with Java apps.

      These almost never rely on a particular VM version

      Sorry, but I have quite opposite experience.

      As for the 'start in minutes and eat all available memory' - that is just silly.

      No, it's reality. Have you ever seen something like BEA WebLogic?

      Even a large application like tomcat can start in a few tens of seconds

      Tomcat being a large application? Maybe if you count lines of code or XML config files... I consider Apache being much more complex application and it starts almost instantly.

      Even a large IDE like NetBeans runs in 96MB.

      You are kidding, right? Maybe version 1.0 or older...?

      to say 'eat all available memory' is a wild exaggeration.

      Unfortunately not, look at WebLogic or Sun App Server. All those beasts start minutes even on recent hardware and after a few hours eat all the memory you throw at them. I can point you at discussion forums, where several people complained about Sun App Server, when their OS started to swap after less than half a day of development.

    15. Re:Java - unfulfilled promisses by Decaff · · Score: 1

      But they don't. E.g. Java Sun Creator 2 EA doesn't work correctly with 5.0 JDK. They (Sun) said: "JDK 1.5 is definitely in the plans for Creator." Really funny...

      I'll admit that is pretty bad! I am not impressed, as Sun's NetBeans (which includes an app server and visual design tools) runs on just about any JVM.

      Ugh? These are targeted to advanced users or developers, who probably know how to download JVM.

      But when you buy a package, you expect everything there.

      Almost ever development tool I've downloaded had a Java GUI installer invoked by a script, so I really don't see any reason for providing separate packages for different platforms.

      Many applications don't provide different packages for different platforms - Tomcat and JBoss for example. NetBeans does because it is provided as an EXE.

      [As for the 'start in minutes and eat all available memory' - that is just silly.]

      No, it's reality. Have you ever seen something like BEA WebLogic?


      WebLogic is not a typical Java application. It is an application server, and a large complex beast.

      [Even a large application like tomcat can start in a few tens of seconds]

      Tomcat being a large application? Maybe if you count lines of code or XML config files... I consider Apache being much more complex application and it starts almost instantly.


      Apache serves web pages. Tomcat serves web pages and provides significant parts of J2EE as well.

      [Even a large IDE like NetBeans runs in 96MB.]

      You are kidding, right? Maybe version 1.0 or older...?


      96MB was the default setting for version 3.6, which was up-to-date until last year.

      [to say 'eat all available memory' is a wild exaggeration.]

      Unfortunately not, look at WebLogic or Sun App Server. All those beasts start minutes even on recent hardware and after a few hours eat all the memory you throw at them. I can point you at discussion forums, where several people complained about Sun App Server, when their OS started to swap after less than half a day of development.


      Again, these are not typical Java applications. They are application servers - equivalent to operating systems to run Java applications. They grab memory for a specific purpose - to provide cacheing of data and classes to give high performance.

      To extrapolate from those to a typical Java program is like comparing Linux to a typical C program.

    16. Re:Java - unfulfilled promisses by Anonymous Coward · · Score: 0

      Many applications don't provide different packages for different platforms - Tomcat and JBoss for example.

      Tomcat is provided as an EXE, tar.gz and zip. Maybe the content is the same, but I consider this as unnecessary. Never mind, there are bigger wastings in Java world.

      WebLogic is not a typical Java application. It is an application server, and a large complex beast.

      But that doesn't justify it for starting more than 5 minutes and consuming more than 2 GB of memory for moderately complex app.

      Apache serves web pages. Tomcat serves web pages and provides significant parts of J2EE as well.

      I don't mean bare Apache, but Apache with its impressive list of modules. IMO Apache has much broader range of functionality than Tomcat. And even in serving of simple pages is Apache 5-10x faster than Tomcat.

      96MB was the default setting for version 3.6

      I don't have direct experience with NB, but Java Studio Creator is built upon it and it takes around 300 MB only for opening an empty IDE. When you open a simple project and start it, the amount of consumed memory almost doubles. I can't imagine developing experience with any Java IDE on less than 512 MB.

      They grab memory for a specific purpose - to provide cacheing of data and classes to give high performance.

      No, they grab memory because of bloat, as I wrote above about WebLogic. And as for "high performance", excuse me, but I am LOL. This beast serves pages as fast as would Apache on ten times less powerful HW, even without caching.

      To extrapolate from those to a typical Java program is like comparing Linux to a typical C program.

      But Linux can be stripped to size, when it can run on an 386 with 8 MB RAM. Try that with WebLogic...
      Linux scales, because it is efficiently written, those Java monsters are not!

      I think it's time to end this discussion, because it could be neverending. You are a Java fan, I respect it. I'm a fan of efficient and elegant programs, so my short experience with Java, in which I'm currently forced to develop, is a bit disgusting (and I was trying to like it really hard).

      Let you have the last word, bye!

    17. Re:Java - unfulfilled promisses by Decaff · · Score: 1

      But that doesn't justify it for starting more than 5 minutes and consuming more than 2 GB of memory for moderately complex app.

      It doesn't. From the WebLogic website:
      "Efficient Weblogic installations typically use between 128-384MB heap size per processor."

      I don't mean bare Apache, but Apache with its impressive list of modules. IMO Apache has much broader range of functionality than Tomcat. And even in serving of simple pages is Apache 5-10x faster than Tomcat.

      Actually, it isn't. Tomcat 5.5 benchmarks pretty much the same as the latest Apache for most web serving purposes.

      I don't have direct experience with NB, but Java Studio Creator is built upon it and it takes around 300 MB only for opening an empty IDE.

      Java Studio Creator is a lot more than NetBeans. It includes an active database and a substantial application server.

      No, they grab memory because of bloat, as I wrote above about WebLogic. And as for "high performance", excuse me, but I am LOL. This beast serves pages as fast as would Apache on ten times less powerful HW, even without caching.

      No, they grab memory because of cacheing.

      I don't know where you come up with these 'ten times' figures, but this is obviously not true, as WebLogic is used in some of the fastest websites.

      Linux scales, because it is efficiently written, those Java monsters are not!

      Well, I am afraid this is just not true either. Java application servers are used because they scale. This is how very high-performance sites such as E-Bay, and various stock markets work. They can hit thousands of transactions per second.

      I think it's time to end this discussion, because it could be neverending. You are a Java fan, I respect it. I'm a fan of efficient and elegant programs, so my short experience with Java, in which I'm currently forced to develop, is a bit disgusting (and I was trying to like it really hard).

      I'm a fan of lots of technologies. But most of all I am a fan of accuracy. What I object to is arbitrary and incorrect statements such as 'Tomcat is 5x-10x slower than Apache' or 'Java doesn't scale'.

      I would even argue with someone who said 'Windows 2000 Server is slow', even though I dislike Windows.

  30. This article was a snoozer...boring. by sweetnjguy29 · · Score: 1, Funny

    Why does this poor excuse for an interview get on slashdot, when my submitted story on Java Penis Pumps got rejected?

  31. java/ sun finally starting to get it by acomj · · Score: 1

    Maybe its the competetion from C#/ Open java (jcg), or the fact that the java programmers seem to be listening to developers http://www.java.net/ . Or maybe its eclipse which is a great ide. It seems java development is picking up steam of late. More people I know are now doing java than c , and thats a good change (&*&*&**&&*&!!!).

  32. Re:My favorite quote by Anonymous Coward · · Score: 0

    (And, I remember the same thing being said about C++ 20 years ago).

    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.

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

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

    Doesn't that say something to you?

  33. Real Time control applications? by Anonymous Coward · · Score: 0

    Uh, are you serious?

    You're proably stretching the meaning of the word "real time". Components are probably written in Java, but the interrupt control or tight loop governing the "real time" aspects are probably written in another language.

    Nice try, though.

    1. Re:Real Time control applications? by Decaff · · Score: 1

      Uh, are you serious?

      Yes.

      You're proably stretching the meaning of the word "real time". Components are probably written in Java, but the interrupt control or tight loop governing the "real time" aspects are probably written in another language.

      Nice try, though.


      A flippant and ignorant attempt to rubbish Java.

      Why not do some actual research before posting?

      Java has been used in embedded and real-time control systems for years.

    2. Re:Real Time control applications? by AdamWeeden · · Score: 1

      The fact that he/she is posting as AC is reason enough to know it's Java bashing for the sake of Java bashing.

      --
      I was quoted out of context in my autobiography...
    3. Re:Real Time control applications? by spuzzzzzzz · · Score: 1

      Do you have any sources to back up your assertions? I know very little about real-time java, but a quick google search turns up articles like this one (dated 2 days ago), which suggest that Java's real time support is fairly immature.

      --

      Don't you hate meta-sigs?
    4. Re:Real Time control applications? by torstenvl · · Score: 1

      What does embedded have to do with realtime? My phone is embedded, doesn't mean I play Java(tm) bowling games in realtime. Throwing extra unrelated stuff in to obscure the point is not the mark of an organized, rational, correct mind. This almost borders on a Straw Man fallacy.

      Secondly, Java being used IN real time and Java being used FOR real time are two very different things.

      Unless you have a physical Java Machine, then your Java code will always always always get JITted or be emulated. If it is emulated, it by definition cannot be as resource-efficient and fast as native code, because the emulation itself takes CPU time and RAM. It's like throwing a football toward the cabin in an airplane approaching the speed of light: as hard as you try, you can't break basic laws of reality. (Sorry for the weird analogy, but I thought it appropriate considering the Relativity piece).

      Sure, once the emulator (JVM) is loaded, it may have close to the same speeds. Hell, if the JVM and compiler writers are smarter than the compiler writers for C or whatever, the Java may even run faster. But that's purely incidental.

      *bashes it into your head* Native code is faster than emulated code!

    5. Re:Real Time control applications? by Decaff · · Score: 1

      Throwing extra unrelated stuff in to obscure the point is not the mark of an organized, rational, correct mind. This almost borders on a Straw Man fallacy.

      Please don't be so silly. Attempting to classify someone who mentions 'embedded' along with 'real time' as irrational does not help your argument.

      Much real-time processing is done by embedded systems. This is where software is included effectively as part of the 'hardware' of the device.

      *bashes it into your head* Native code is faster than emulated code

      When did anybody mention emulated code?

    6. Re:Real Time control applications? by mortenalver · · Score: 1
      > *bashes it into your head* Native code is faster than emulated code!

      If you knew anything about real-time systems, you'd be aware that real-time isn't about speed, but about predictability. The system must be provably "fast enough" on certain criteria, which certainly doesn't imply that it has to be "fast".

    7. Re:Real Time control applications? by Anonymous Coward · · Score: 0

      I'm sorry, did you skip the entire 300/400 level computer science? What in heavens name does execution speed of the code have to do with the 'real time'ness of a program?

      As long as every statement is known to take a certain amount of time, and that certain amount of time is fast enough, it's real time.

      God, why do I even come here?

    8. Re:Real Time control applications? by sjasja · · Score: 1
      Check out this article on real time and safety critical Java.

      Googling for real time java should come up with RT Java VM vendors.

      > ...articles [...] which suggest that
      > Java's real time support is fairly
      > immature.

      And keep in mind that there are companies (well, the one anyway) with competing technologies. Between their FUD spinning departments, employees, shareholders, and fanboys, a steady stream of non-factual Java-bashing is inevitable.

      Java is being used, and has been used, for RT programming for years.

    9. Re:Real Time control applications? by sjasja · · Score: 1
      *bashes it into your head* Native code is faster than emulated code!

      Do you suppose, then, that this is the reason why modern Java virtual machines are based on JIT compilation or dynamic compilation?

      On my computer at least, Java is compiled using a highly optimizing dynamic compiler. Java uses the same machine instruction set as C.

    10. Re:Real Time control applications? by spuzzzzzzz · · Score: 1

      Native code is faster than emulated code!

      Funnily enough, not always. Scroll about halfway down and look at the benchmarks. Bear in mind that this paper is about running native code through a JIT compiler-like system and comparing that with running the exact same native code directly on the OS.

      --

      Don't you hate meta-sigs?
    11. Re:Real Time control applications? by spuzzzzzzz · · Score: 1

      Hmm, your link times out; I'll have to do a bit more googling. I found a bunch of places selling RT Java products but I don't know if I could be bothered wading through all that marketing speak to find out what they're actually selling. I'd be interested to know how they do GC, though. All the fast approaches seem to involve unpredictable lags when it's time to do a GC run. Say what you like about JIT compilers versus compiled binaries, but I would feel more secure running RT code if it was non-GC.

      --

      Don't you hate meta-sigs?
    12. Re:Real Time control applications? by torstenvl · · Score: 1

      I think I perhaps failed to communicate my point clearly. I should have stressed the "If it's emulated..." part, as I really haven't paid much attention to the internal workings of the JRE recently. Wikipedia makes me think that it JITs everything. In which case the "If it's emulated" part is inapplicable; I was still under the impression that we were actually emulating the JVM in the JRE. My mistake.

      (Side note: Some of you thought my entire point was about whether or not Java(tm) can be used in realtime applications. It was not. This thread is about whether or not "Java is slow.")

      When using a JIT compiler then the Java code is converted to native code. As such, execution time isn't pertinent to the discussion in and of itself, because it's comparing native assembly to native assembly. Only the quality of the compilers can change this, and as there exist a plethora of compilers for C, C++, ObjectPascal, BrainFuck, and SNOBOL (bizarre enumeration meant to signify "everything else under the sun"), it's not really possible to use a compiler comparison to compare the speed of two languages.

      "Java is slow" is an oversimplification. As Mr. Lector would say "That's incidental!". There's nothing in the language which inherently requires that the resulting native code be slower than any other native code (except perhaps for some paradigms which it encourages which may not result in optimal code). What people mean when they say this is that the majority of runs involving Java are slower than the majority of runs involving another language; the run-times of two equivalent programs are different, disfavoring Java.

      This is because of the design of the Java environment. The vast majority of people do not run pre-compiled native-code versions of Java programs. The Java apps in use my most people is JITted. This results in a delay (often significant) before code execution. In addition, the JRE remains loaded, handling all sorts of who-knows-what instead of compiling to a complete executable and running that. This takes up memory and CPU power.

      Compiled C program run:
      Start up slow-downs: None
      Run-time slow-downs: None

      JIT Java program run:
      Start up slow-downs: Compiling JVM code 2 native
      Run-time slow-downs: (potential) RAM overhead of JRE

      Please note that I marked the RAM overhead as a potential factor in speed reduction because it isn't guaranteed that less available RAM = reduced speed (a user could have a gig or more of RAM and/or nothing else running and virtual memory turned off or be in any of the other myriad circumstances which would render the RAM usage irrelevant).

      Compiler design and algorithm use being equal, it's impossible for a Java program run in the de facto environment to be have a run-time equal to or less than the equivalent C program. The only way for Java apps not to be 'slow' compared to other apps is to have fully-fledged native executable versions of Java apps (including allowing static linking).

      If I'm significantly off-base, I appreciate any friendly corrections.

    13. Re:Real Time control applications? by torstenvl · · Score: 1

      Friendly auto-correction:
      s/run in the de facto/that is run in the de facto/
      s/be have/have/

      Sorry. I should have used Preview.

  34. Snicker. by Saeed+al-Sahaf · · Score: 1

    Oh, if only 1/16 of the people here got that joke.

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    1. Re:Snicker. by chochos · · Score: 1

      don't be so pessimistic. I think many people got it. It's just that some of us don't miss pointers and templates, either because we like Java better than C++ or because we simply don't like C++.

      But it was funny anyway.

  35. 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.

  36. 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".

  37. Re:My favorite quote by spectre_240sx · · Score: 1

    My bad, I was thinking you said that joke was starting to be told 5 years ago, not out of date at that point. Anyway, smite me oh mighty smiter for such a lame attempt at a joke.

  38. It took them 10 years by Anonymous Coward · · Score: 0

    But they seem to have figured out a couple decent uses for Java eventually.

  39. Re:If only by Greyfox · · Score: 1
    Most of my experiences with Java is that programs either barf runtime exceptions like crazy or exceptions get silently caught and not handled at all. Admittedly most of the java apps I've seen were home rolled programs that no customer outside the company would ever see. And fortunately so.

    It doesn't have to be that way, but it's not the holy grail that Sun made it out to be, either.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  40. Re:If only by Decaff · · Score: 1

    Most of my experiences with Java is that programs either barf runtime exceptions like crazy or exceptions get silently caught and not handled at all.

    Think of the horror of C or C++ programs that had the same bugs but did not throw the exceptions. (I remember developing with C++ in the 80s on MSDOS, and in place of runtime exceptions we got random graphics on the screen, or software jams). Give me Java any day.

  41. 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.

    1. Re:It's all about the sandbox by KwisatzHaderach · · Score: 1

      i never have mod points when i need them. :(

    2. Re:It's all about the sandbox by fyrie · · Score: 1

      Actually this is the one part of the article that made me laugh. I know this man is much smarter than I am, so I must assume that I am missing the point. Unsafe .net code is just that... Unsafe like c or c++. I don't get what point he is driving towards.

    3. Re:It's all about the sandbox by Anonymous Coward · · Score: 0

      Programmers, being human, are lazy.
      If you have an easy unsafe way, or hard safe way, which gets implemented?

      Yeap, the unsafe way, in Java you have some hoop-jumping to do inorder to do the unsafe way, so you are forced on to the safe route.

      Now, I'm sure you are a good programmer, and thus would go the harder & safe route. But can you say that about the lazy shit in your office, who should be fired, but is have anal with your boss?

    4. Re:It's all about the sandbox by fyrie · · Score: 1

      Ok, I see where you are going here, however, in .NET it's much easier to write safe code. In order to write unsafe code, you have to do so on purpose. When you say "unsafe code" to most 9 to 5ers, the eyes begin to roll back into the head.

    5. Re:It's all about the sandbox by Anonymous Coward · · Score: 0

      unsafe code is basically there for legacy integration ... sort of like JNI - guess what; that's unsafe too.

    6. Re:It's all about the sandbox by rsynnott · · Score: 1

      Java also has an unsafe mode of sorts, of course; the JNI.

      --
      Me (Blog)
    7. Re:It's all about the sandbox by Swamii · · Score: 1

      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.

      Firstly, the 'unsafe' mode is so rarely used, it's limited to interoping with native code, and used in tight performance scenarios.

      The only instance I've seen unsafe context used in a production library was the FastBitmap class, that uses pointers in an unsafe context to access pixel data, thus being much faster than C# and Java equivalents.

      I write C# for a living and can tell you that in my company's 500,000+ lines of C# code, we don't use a single unsafe context.

      Also, any code that uses unsafe requires a full trust security; meaning that a C# applet off the web wouldn't be able to use it.

      Gosling really ought to investigate C# code out there in the wild and in use today; unsafe is almost never used. And when it is used, there's a damn good reason for it (performance & interop).

      --
      Tech, life, family, faith: Give me a visit
    8. Re:It's all about the sandbox by Anonymous Coward · · Score: 0

      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."
      Come on now,Mr. Gosling dont give that crap of unsafe mode in .Net. Are you saying that JVM dont support execution of C or C++ Code (I know I can execute C++ code thru JNI).
      Seriously, verifiable type safety is a wonderful thing, and where I program we want to acheive this 100% but reality is somthing else. Thats the reason JNI exits and P/Invoke exists. There is nothing wrong with that.

  42. Well, if you work for Sun by jbellis · · Score: 1

    How long were /. types calling OpenSolaris vaporware? :P You of all people should know that lack of public release does not equate lack of progress.

    At least with Jython you can check the cvs log and see that commits are indeed happening.

    1. Re:Well, if you work for Sun by mlk · · Score: 1


      csv commits mean nothing to a company looking for a stable platform.
      </evil mode>

      --
      Wow, I should not post when knackered.
    2. Re:Well, if you work for Sun by synx · · Score: 1

      I had this problem as well, there is a very strong sense that jython is a unsupported project - more importantly, it has no users. Without an active user and development base with releases at some interval less than 3 years, an open source project can be quite a bit less attractive.

      In the end what I wanted to do was write jython in eclipse, compile to .class files and basically implement part of my system in Jython. The Eclipse-Jython mode doesn't really support that so well, so I ended up going with Java 1.5 instead.

  43. 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.

  44. Java's timeline by Anonymous Coward · · Score: 0

    Past: was proimising
    Present: is confusing
    Future: will end up a different animal of wha ti s is now.

  45. 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.

  46. 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 Anonymous Coward · · Score: 0

      Sorry "Junior",
      everyone knows that. It's just that Java is too bloody verbose to use it without a friggin' IDE that uses a thousand Amiga's worth of RAM. System.out.print my ass!

    2. Re:Java is practical for some applications by shish · · Score: 1
      1. Gather data from one or more databases.
      2. Perform some consolidation and express the output in html.

      Why not PHP? I've found java works better as a back end, with PHP front

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    3. Re:Java is practical for some applications by Decaff · · Score: 1

      It's just that Java is too bloody verbose to use it without a friggin' IDE that uses a thousand Amiga's worth of RAM. System.out.print my ass!

      was verbose. Java 5.0 is different: you can do 'out.print'.

    4. Re:Java is practical for some applications by revscat · · Score: 1

      Because mixing technologies increases development and maintenance costs and decreases performance. Java communicating with a PHP layer will always be slower than intra-JVM communication.

    5. 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
  47. Re:If only by Greyfox · · Score: 1
    My impression is that C++ is solid as long as you use references instead of pointers. The vast majority of the time you SHOULD use references instead of pointers anyway. The assorted STL containers give you safe containers and the boost library gives you some other cool stuff. If you do all that, most of your errors will be found at compile time.

    Java's catching up on the type safety, but I swear that the language should forbid empty catch blocks. At least force the programmer to output something FFS!

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  48. Re:My favorite quote by Jeremi · · Score: 1
    The c-front translator for C to C++ was released in 1983.


    1983 is nothing -- a pretty good C to C++ translator has been included with every Unix since the 70's. They call it "cat".

    ;^)

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  49. 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
  50. Re:My favorite quote by rjh · · Score: 1

    Hell, in 2005 people still scoff at C++ for being "bloated" or "slow", just like people scoff at Java for being "slow".

    In reality, C++ is often faster than C, and Java is plenty capable of handling 90% or more of what until recently has been C's exclusive purview.

    That said, I still prefer LISP.

  51. Re:My favorite quote by kaffiene · · Score: 1

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

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

    Doesn't that say something to you?"

    Yes, it says that there are plenty of ill informed bigots out there who say such things because they just dont like Java.

  52. Re:I love java! by Anonymous Coward · · Score: 0

    You do realize that your code is really sick because the child inserts the penis into their own butthole, right?

    So not only were you not funny, but your code was wrong.

    Sad. Truly sad.

  53. Re:I love java! by Anonymous Coward · · Score: 0

    you moron ....variable name can't start with an underscore ('_') in java. your code won't compile.

  54. Re:If only by ggambett · · Score: 1

    In terms of power of expressivity, I think they're about the same, but I find Java easier to read than C++

    Sure, new Matrix(A.negate().multipliedBy(C)).addedTo(D) is so much clearer than -A*C + B...

  55. Re:If only by $RANDOMLUSER · · Score: 1
    > but I swear that the language should forbid empty catch blocks

    The better IDEs will at least bitch about this, if you tell them to, but I agree with you in principle. I like checked exceptions, and I think it's one of C#'s biggest failings. I know this puts me in the minority. I don't care.

    From your parent: > ......"Give me Java any day."

    Yeah. I think it's today's best "Old Man's Language". For those of us old enough to have "been there, done that, got the T-shirt", I think Java is the best for keeping the Too Clever Kids (and yes, of course I was one, too) out of trouble.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  56. 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.

    1. Re:Java in Research Applications by Anonymous Coward · · Score: 0

      wtf do jit compilers have to do with scaling ? Btw, "close to C++ speeds" is something we've been hearing "frikkin' forever", not "lately".

    2. Re:Java in Research Applications by Anonymous Coward · · Score: 0

      You have only developed applications in Java throughout your entire graduate school career?

      I would not hire you.

      I have nothing against Java [1.5], but without the breadth of dealing with the systems issues involved in languages like C/C++, you have missed out on a worthy learning experience.

    3. Re:Java in Research Applications by revscat · · Score: 1

      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.

      Honestly, it surprises me that people are still surprised by this. In any non-trivial application, the compiler -- whether run-time or JIT -- is going to be better able to grasp how the program behaves than a programmer is. JIT compilers have the added benefit of being able to collect statistics over time, and adjust execution paths, stack ordering, etc., accordingly. It just makes sense. One of the early arguments against virtual machines was that they were "slow", but this objection has repeatedly been debunked.

      I'm glad you see it, I just don't understand why so many people do not.

    4. Re:Java in Research Applications by m50d · · Score: 1

      You're an idiot. Try something else for goodness sakes. You won't realise how crappy java is until you've tried using a decent language for things.

      --
      I am trolling
  57. Re:If only by Anonymous Coward · · Score: 0

    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.

    Can you spot a problem with your reasoning, here? Here's a free clue: Java does have pointers. Here's another clue: Java is a pass by value language, same as C.

  58. Re:If only by TummyX · · Score: 1

    I don't think so. Sun mistakenly named the exception NullPointerException instead of NullReferenceException (which MS corrected in .NET).

    Java uses references -- not pointers. Hell, even the implementation of references in some VMs is handle rather than pointer based.

  59. 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?

    1. Re:jbuilder = eclipse by Decaff · · Score: 1

      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?


      I think that having a de-facto IDE for Java is a bad thing. Java has always been about having a range of choices. There are many who consider that Eclipse's dominance is already having a negative effect. Eclipse has taken a very long time to support the latest Java version, and has held back it's adoption.

      What we need instead is a standard way for different IDEs to make use of the same tools, so a plug-in developer can release a single version for Eclipse, NetBeans etc. Such a standard is being worked on.

  60. really ??? where is the source? by dingfelder · · Score: 1

    where do you get those numbers?

    A quick search I did came up with very different numbers.

    Eclipse - 45%
    JBuilder - 16%
    IDEA IntelliJ - 10%
    netbeans was well below, at around 6-8%, hard to tell from the graph.
    all others combined (including netbeans) make up less than 30%

    In the light of the recent news that JBuilder is merging code with eclipse, I think netbeans is quite doomed !

    here is the survey:
    http://www.qa-systems.com/products/qstudioforjava/ ide_marketshare.html

  61. Re:If only by Anonymous Coward · · Score: 0

    I don't think so. Sun mistakenly named the exception NullPointerException instead of NullReferenceException (which MS corrected in .NET).

    Java uses references -- not pointers. Hell, even the implementation of references in some VMs is handle rather than pointer based.


    Java calls its pointers references. No, they aren't identical in functionality to pointers in C (e.g., you can't do arithmetic on them), but they are still pointers. Nothing in the C standard prevents an implementation from implementing pointers with handles, either.

  62. Re:Article Summary: by torstenvl · · Score: 1

    Free-as-in-beer for Mac OS X, Windows, and Linux. Some of us like to have long uptimes. Once Sun sanctions and offers for download on its web site JVMs for FreeBSD, OpenBSD, and NetBSD, THEN you can claim they're "readily available".

  63. Re:If only by manboy9 · · Score: 1, Informative

    I disagree. You can't just write an inefficient program and hope that advances in hardware make up for it.

    I think Java's biggest problem is the lack of a good garbage collector. I saw a program where the programmers had put a tiny memory display in the bottom left corner of the screen. At first it was OK, hovering around 100 megs, but as we kept using it, the memory usage would increase as needed, but it would never free it after it was done with it. Within 10 minutes, the thing had occupied all 512 megabytes of that computer's RAM and nearly crashed the system.

    There is also a non-Java alternative to this program which has less features, and a CLI instead of a fancy GUI, but at least it doesn't need two Gigs of RAM to run. Personally, I prefer the non-Java one.

  64. Re:My favorite quote by Bastian · · Score: 1

    Or maybe a bunch of us still complain about Java's slowness because it _is_ slow if you don't happen to be running it on a Windows box.

    What's the point of a "platform-independent platform" if it's really only meant to run well on one platform?

  65. Is that Gosling, or did it get more assy in here? by Anonymous Coward · · Score: 0

    Gosling is one of the world's biggest asses. His ass is so big, it accounts for over 80% of his face. If there was any justice in the world, he would be known as "James Assling". Mainly because he is an ass.

  66. Close last name by quickbasicguru · · Score: 1

    My last name is Goslinga....

  67. Re:My favorite quote by Anonymous Coward · · Score: 0

    Yes, because those who object to it not being open-source have a political agenda to rubbish it.

    Really? You think that's why it is?

    Odd, I wouldn't have expected those with a political agenda for open-source to be so enthusiastic about .NET

  68. Re:I love java! by Anonymous Coward · · Score: 0

    why do you bother to open if your mouth if only shit falls out?

  69. 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.

    1. Re:How about by CrypticOutsider · · Score: 1
      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).

      But back then, big client apps ruled the days and the competition was c/c++ with proprietary libraries for trying to do x-platform apps. Now we're at the other extreme where all these intensive apps are delivered via servlets, etc when they're running on a LAN.

      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.

      It depends on whom you talk to. Just about every product IBM ships has Java in there somewhere. For enterprise integration, it's hard to beat right now. Java hasn't pervaded desktop apps the way it should have, but it's moving to cell phones (and blu ray dvd players), and if you think those are just toys, look at what the iPod has done for Apple.

  70. Re:Article Summary: by Anonymous Coward · · Score: 0

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

    Yes there is a "real-time" version of Java, but it's not appropriate for use just to avoid the GC. The reason why real-time Java works is a real-time thread has priority above the GC and rea-time applicatons will use "imortal" memory that will *not* be GC'd. In other words when writing real-time applications you use the equivalent of malloc/free.

  71. Re:All that time, and they still haven't figured o by MemoryDragon · · Score: 1

    Well you have to stop thinking for about one minute and 97 seconds before you fire up the command to start the JVM...

  72. Re:My favorite quote by Anonymous Coward · · Score: 0
    In reality, C++ is often faster than C,
    How is it at all possible to make this comparison? Such a comparison would depend exclusively on how each program is designed.

    A shitty C program vs. a C++ program that is well thought out, sure, C++ wins. If the C++ guy is careless and the C guy is worth his salt, C wins. If both the C++ and C guys each know what they're doing, you'd come out about even.

    The languages are too similar to make this comparison. It just doesn't make sense.
  73. Re:Article Summary: by 19thNervousBreakdown · · Score: 1

    Use C++ like it knows what it's doing instead of fighting the language.

    Use smart reference-counted pointers, const correctness, exception safety guarantees, the STL, and proper object-oriented programming to make it all possible, and it's fairly difficult or next to impossible to run into buffer overflows, double-free errors, memory leaks, and other traditional C errors.

    Try to program in C like a petulant child because your boss is forcing you to use C++, and yeah, everything you said is true.

    --
    <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
  74. Re:My favorite quote by Decaff · · Score: 1


    [Yes, because those who object to it not being open-source have a political agenda to rubbish it.]

    Really? You think that's why it is?


    Yes. I have been following this for years, and that is the only reason I have been able to come up with.

    Odd, I wouldn't have expected those with a political agenda for open-source to be so enthusiastic about .NET

    Me neither.

  75. Re:My favorite quote by Decaff · · Score: 1

    Or maybe a bunch of us still complain about Java's slowness because it _is_ slow if you don't happen to be running it on a Windows box.

    What's the point of a "platform-independent platform" if it's really only meant to run well on one platform?


    Interesting. None of the current benchmarks of Java performance show that it is slow on Linux, for example, as compared with Windows. Indeed, IBM's Linux VMs routinely rate as some of the fastest Java implementations.

    Perhaps you could provide some code and benchmarks to illustrate the supposed slowness on Linux as compared to Windows?

  76. Re:If only by Anonymous Coward · · Score: 0

    Both languages are Turing complete, they are equally expressive.

    Java may "have no pointers" but the pointer semantics is still there.

  77. Re:My favorite quote by Anonymous Coward · · Score: 0
    "Or maybe a bunch of us still complain about Java's slowness because it _is_ slow if you don't happen to be running it on a Windows box."

    So we measure everything by how well it runs on linux? Wake me up in 10 years when that might matter more.

  78. Sun spent $20 million to promote a free product. by Animats · · Score: 0
    Of course Java succeeded. Sun gave it away and spent $20 million promoting it at launch time.

    It's a good language. Not a great language, but an good one. Which is good enough.

    The Java libraries range from mediocre to terrible, but that's a separate issue.

  79. Re:really ??? where is the source? by LnxAddct · · Score: 1

    Thanks for grabbing more accurate numbers, I'm not sure where I got the Netbeans numbers from, I might have mixed them up with another IDE :) Regardless, JBuilder is crap, Eclipse is good but when compared to Netbeans, Eclipse looks like crap. My company was kind of standardized on Eclipse for god knows how long, but they always have let developers choose any IDE they want (just most used to choose Eclipse). In the past 3 or 4 months I've seen a lot of developers switching to NetBeans. I used to be an eclipse fan boy, but NetBeans really made a huge turn around from its old crappy self. It is literally years past Eclipse now. If word spreads enough about it, I can be pretty sure it'll beat any competition. If you've never used NetBeans please go give it a shot. I still use eclipse all the time in a mixed envrionment with NetBeans, simply because our dev environment has some custom eclipse stuff that we wrote that makes certain things easier. Eclipse is crap unless you just want basic editing capabilites with code completion, etc.. I know lots of folks who write java code using vim or jedit, I do myself sometimes. If you like writing java code in tools like vim, then you probably like the grunt work stuff and eclipse will be great for you. However, an IDE can be much more then what Eclipse provides and I didn't really realize that until recently when I started finding out all this great functionality that NetBeans has.
    Regards,
    Steve

  80. Re:If only by blafasel · · Score: 0

    you can't overload the * operator.

    --

    check your speling
  81. Games Jostling On Java? by Anonymous Coward · · Score: 0

    Oh noes! I hates Java games!

  82. Re:If only by ggambett · · Score: 1

    Yes you can... both the unary (*A - that's how smart pointers usually work) and the binary (that's how complex numbers usually work) versions.

  83. You've not really used Emacs then by SuperKendall · · Score: 1

    Six characters long? It's three in Emacs (sop) with abbrevations.

    Code completion, I have found, is slower than knowing what the hell you are typing. And if you DO know what the hell you are typing, then code completion actually sucks quite hard because it interrupts you while you are typing something.

    Eclipse is nice for some things, I like the auto-fixes and sometimes load code into Eclipse after I've spent a while actually writing in Emacs. But for actual code creation I still find Emacs to be a lot quicker because of its overall flexibility in a task at hand, between macros and abbreviations and user-defined functions.

    As for that cool trick of "show me all the places my constructor is invoked" - well that's what the JDE Cross Referencer is for:

    JDE includes a facility for creating and utilizing a cross-referencing database to enable you to quickly locate all the callers of any particular function. This functionality is very useful for quickly figuring how unfamiliar code works, and useful for doing certain tasks such as renaming functions. Be advised that this only finds direct callers, and cannot detect calls via Java's reflection mechanism. The cross-reference database must be kept in sync with the project code, however the database generation is generally quick. The remainder of this section explains how to configure and use the cross-referencer.

    (from the JDE Users Guide)

    Of course Eclipse has the same liability about not finding callers that are really invoking a constructor dynmically which is why people don't end up using such features all that much.

    Eclipse is the way of the future though, it's nice to see a really strong generic IDE platform develop. I have no doubt someday some clever person will embed a fully functional Java version of the Emacs editor (no the keybindings alone are not enough) in Eclipse and then I'll be all set.

    People who use IntelliJ seem to like it a lot better though, I have to say.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  84. Re:My favorite quote by daikokatana · · Score: 1
    Java on the other hand is 14 years old and people are still talking about its slowness.

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

    Doesn't that say something to you?
    Yes, that does say something to me. It tells me that people very much like to stick to first impressions. Granted, those horrible applets from the dark ages of Java haven't done the language much good, but I would definitely not consider a decent, well-written piece of Java software to be slow.

    Show me a recently written piece of slow Java code, and I'll show you a programmer who should be looking for a new job. Think Burger King.

    --
    http://jcsnippets.atspace.com/ - a collection of Java & C# snippets
  85. Re:Article Summary: by pedantic+bore · · Score: 1
    ... 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...

    No, that's not the way modern JVMs work. The whole "out-of-memory, stop the world for a GC" way of thinking was archaic before Java was even a gleam in Gosling's eye.

    Granted, the programmer can do silly things that cause the system to perform badly, but this is not the fault of the garbage collector.

    --
    Am I part of the core demographic for Swedish Fish?
  86. indeed, it was "facing problems" by cahiha · · Score: 0

    The technology has faced numerous challenges over the last decade

    Yes, like the fact that the original Java language spec was full of bugs. Problems like lack of reflection and errors in the type system (e.g., array), plus numerous security bugs, were just unforgivable.

    Another obstacle was that Sun lied about what they were going to do with Java. They promised an ISO/ANSI/ECMA standardization, but instead, they kept it proprietary.

    Gosling: The only serious divide is they have this unsafe mode which they use a lot. One of the principles I believe in is there shouldn't be an unsafe mode.

    General purpose programming languages need an "unsafe" mode, and Java itself has one: it's called JNI. It's widely used, by Sun, by Eclipse, and by many other projects. How does Java's unsafe mode compare to C#'s "unsafe" mode? Java's unsafe mode sucks: because JNI relies on C or C++, it is not just unsafe, it is highly dangerous, and it requires recompilation between machines. With C#, you can tightly limit unsafe code to just the statements where it is needed, often just a single statement, with everything else in the unsafe module being as safe as pure Java. That is much preferable to having to code the same module entirely in C or C++.

    Even in so called "pure" Java, you can screw yourself: write a ".so" file, then load it. You could implement C#'s unsafe that way if you wanted to, with runtime code generation. So, even so-called "pure" Java is as "unsafe" as C# because you can do the same things in it if you are willing to invest the effort.

    What Gosling fails to understand is that the purpose of runtime safety is not to keep the programmer from doing something bad at all cost, it is to make it hard to do something bad accidentally. C#, just like Java, keeps the programmer from doing something bad accidentally, and C#, just like Java, gives applications themselves control over the safety of the modules they are willing to load.

    I think Gosling should be kept far away from language or systems design. Gosling's major software systems (Gosling's Emacs, NeWS, and Java) all initially had grave design flaws and awful performance. With many of his systems, he demonstrated hostility towards notions of free and/or open source software (NeWS was meant to kill X11, and with Java, Sun misled people). The only reason Java eventually succeeded was because lots of people invested a lot of time and effort to fix up the mess that Gosling had created.

    1. Re:indeed, it was "facing problems" by iapetus · · Score: 1
      Even in so called "pure" Java, you can screw yourself: write a ".so" file, then load it.


      Perhaps you'd care to explain how that's 'pure Java' any more?
      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    2. Re:indeed, it was "facing problems" by dugless · · Score: 1

      Comparing JNI to C#'s unsafe mode is a red herring. 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. As a result, new C# applications will be peppered with security holes as developers of applications and libraries resort to unsafe mode. Even if you choose not to use it yourself, what large scale application can be developed without using off-the-shelf libraries? In practice, you'll have no way to reliably avoid buffer overflows with C#. In contrast, there is no unsafe Java code (JNI is used to run non-Java code. If you port the involved code to Java, you get "safe" code.). As your system moves towards 100% Java, the potential for pointer errors goes to zero. Not so for C#.

      Microsoft's claim that sprinkling "unmanaged code" everywhere in your system is superior to linking to external libraries is very strange. 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? 10 years ago, Microsoft was claiming it didn't need a security sandbox for Active X because it had digital signatures. 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.

    3. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      Perhaps you'd care to explain how that's 'pure Java' any more?

      The code is pure Java. That pure Java code happens to open a file, write a .so file, and load it in. So, you can write pure Java code that does something impure; Gosling's assertion that the Java language prevents you from doing this is therefore bogus.

    4. 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.

    5. Re:indeed, it was "facing problems" by iapetus · · Score: 1

      No, the code isn't pure Java. As soon as you load that .so file you're not running pure Java any more, and it's that non-Java library that 'does something impure'. Makes no difference where that file comes from - a standard filesystem or an array of bytes defined in a Java file, it isn't Java code.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    6. Re:indeed, it was "facing problems" by dDrum · · Score: 1

      Can you explain why most Java applications aren't secure? Can you give examples?
      I can't remember any security problems in Java applications, altough they are possible...
      Why do you say that using safe constructs makes security worst?
      What's next? Array bounds checks in runtime makes more buffer overflows?

    7. Re:indeed, it was "facing problems" by sproketboy · · Score: 1

      All I can say to this is: Wahhh!

    8. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      Can you explain why most Java applications aren't secure?

      They aren't secure because nobody has worried about making them secure.

      I can't remember any security problems in Java applications, altough they are possible...

      That's because the question of security isn't relevant to most applications.

      Why do you say that using safe constructs makes security worst?

      Using safe constructs improves the likelihood that a program will be secure. That's why it's good when programming languages offer safe programming constructs, like both C# and Java do. Limiting the programmer to safe constructs, like Java does, makes security worse, however, because the need for unsafe constructs doesn't go away, but you force the programmer to use more error-prone and less portable JNI modules.

      What's next? Array bounds checks in runtime makes more buffer overflows?

      What's next is that I think you should be kept away from writing any security relevant software. People like you, who don't even know the difference between safety and security, are a menace. You are worse than the C hacks who think they can do completely without runtime safety; the C hacks are wrong, but at least they know that they need to be careful.

    9. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      No, the code isn't pure Java.

      Of course, it is: neither the source code nor the .class file or the .jar file contain any construct that corresponds to C# "unsafe" code. All it does contain is a little bit of file I/O.

      As soon as you load that .so file you're not running pure Java any more, and it's that non-Java library that 'does something impure'.

      Indeed, at that point it becomes impure. So, what you have is that code that does completely harmless things--a little bit of file I/O--all of a sudden executes code that manipulates memory unsafely.

      That's why the notion that you can keep programmers from doing unsafe things in Java is a myth. The lack of an explicit "unsafe" construct in Java is a nuisance for programmers, but it doesn't guarantee anything.

    10. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      It's not even worth debunking all the technical nonsense on that page; but two points should be mentioned because your lies and misinformation are actually dangerous.

      Public Domain APIs - Any Java public apis are part of the public domain, .NET apis are proprietary and can open the door to a law suit.

      In order to download the Sun Java API specs you have to agree to a license agreement that severely limits how you can implement the APIs. In contrast, a large chunk of .NET APIs is available from ECMA and not covered by such restrictions.

      Standard Library Source Code Availability - Java source code for the core libraries are available in every J2SDK distribution,

      Yes, and by looking at it, you agree to a license agreement with Sun that means that Sun owns your brain until you die. Since it sounds like you have looked at Sun source code, please do us all a favor: don't contribute to any open source Java project, because in doing so, you would endanger it.

      In both cases, you don't have to believe me, just actually bother to read the license agreements that cover the specifications and Sun Java code. While Sun marketing likes to misrepresent the intellectual property issues surrounding Java, Sun's lawyers have made sure that their license agreements are clear enough. Unfortunately, morons like you click through those license agreements without bothering to read them.

    11. Re:indeed, it was "facing problems" by iapetus · · Score: 1
      So, what you have is that code that does completely harmless things--a little bit of file I/O--all of a sudden executes code that manipulates memory unsafely.


      No, the bit of code that does 'a little bit of file I/O' is completely safe. It's the bit of code that loads an external native library that's unsafe, and that's still not Java code that you're loading. You're just using Java as a glorified loader for your unsafe C/C++/assembler code. Which is all very well if that's what you want to do, but it still doesn't make Java capable of the misbehaviour you'd like it to be.
      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    12. Re:indeed, it was "facing problems" by dDrum · · Score: 1

      Can you explain why most Java applications aren't secure?

      They aren't secure because nobody has worried about making them secure.

      And C# is more secure? Why?
      C# programmers are more worried about security? Because it's easier to call unsafe code?
      I've been programming in Java for the last 5 years in various types of applications and I've never ever need to use JNI.
      99% of the java programmers don't use JNI.
      Does that mean that they are more secure that some C# code that calls unsafe constructs?
      No, that dependends on the programmer.
      But it means that the probability of I making a mistake and introducing a security bug is smaller.

      I can't remember any security problems in Java applications, altough they are possible...

      That's because the question of security isn't relevant to most applications.

      Java is used in lots of applications where security is vital.

      Why do you say that using safe constructs makes security worst?

      Using safe constructs improves the likelihood that a program will be secure. That's why it's good when programming languages offer safe programming constructs, like both C# and Java do. Limiting the programmer to safe constructs, like Java does, makes security worse, however, because the need for unsafe constructs doesn't go away, but you force the programmer to use more error-prone and less portable JNI modules.

      That could problematic if Java programmers needed to use JNI in every application. That's not real.
      As I said 99% of java programmers never used JNI.
      Do C# programmers use unsafe constructs in every application? That's a little bit scary...

      What's next? Array bounds checks in runtime makes more buffer overflows?

      What's next is that I think you should be kept away from writing any security relevant software. People like you, who don't even know the difference between safety and security, are a menace. You are worse than the C hacks who think they can do completely without runtime safety; the C hacks are wrong, but at least they know that they need to be careful.

      I've never said that safety = security. But using safe constructs helps, but not solves, security. That's why having array bound checks helps making Java and C# more secure applications that C.

      And don't worry I try my best to make secure applications. Using safe constructs is just part of the process...

    13. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      Can you explain why most Java applications aren't secure? / They aren't secure because nobody has worried about making them secure. / And C# is more secure? Why?

      Your question has nothing to do with my point.

      C# code is unsafe only if you explicitly choose to make it unsafe. That's exactly the same way it is in Java. Unlike Java, however, if you choose to use unsafe features in C#, C# supports you a lot better than Java does. That's all there is to it.

      The point is and remains that Gosling's assertion about unsafe features in C# is wrong (probably deliberate FUD--even Gosling isn't that stupid).

    14. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      You're just using Java as a glorified loader for your unsafe C/C++/assembler code. Which is all very well if that's what you want to do, but it still doesn't make Java capable of the misbehaviour you'd like it to be.

      That's pointless semantics. The fact is that I can write a piece of Java code that contains no reference to JNI or anything else unsafe and yet it can do the same kind of damage as a C# "unsafe" construct. Therefore, any argument that Java keeps programmers from doing unsafe things is bogus.

    15. Re:indeed, it was "facing problems" by iapetus · · Score: 1

      You're still missing the point. That code does contain reference to JNI: at some point in order to get that unsafe code to execute you need to load it as native code in exactly the same way as you would do if it were in a separate file. Try to obfuscate that as much as you like by claiming that there's some magical difference in that code based on where it comes from, but at the end of the day you are using JNI, and you do have explicit reference to that fact in the Java code.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    16. Re:indeed, it was "facing problems" by cahiha · · Score: 1

      Try to obfuscate that as much as you like by claiming that there's some magical difference in that code based on where it comes from, but at the end of the day you are using JNI, and you do have explicit reference to that fact in the Java code.

      No, you don't have to have an explicit reference in the Java code. You start with a .class file containing a class definition with JNI methods, and a corresponding .so file. You convert both into Java strings or byte arrays, and that's what gets put into the actual Java code. The Java code writes them both in the right place for them to be picked up by the loader. Then you call a method in the class you defined. The class gets loaded, the .so gets called, and the unsafe operation takes place. All your Java source code ever contains is a bunch of harmless file I/O operations and constant data.

      And there are plenty of other ways of wreaking havoc. You can just open /proc/self/mem and change any location you like through read/write operations. You can just spawn a debugger process on your own process and use it to change arbitrary memory locations. All of those can be done with standard Java, with either just java.io, or at most the Process class (of course, they are not cross platform but, then, neither is JNI).

      Java cannot prevent any of those unsafe operations; the mechanisms that can prevent Java from doing such things are careful code reviews and the use of operating system security features. The only thing that Java's lack of a built-in "unsafe" construct achieves is that it makes error prone, inefficient, and unportable things that ought to be simple and portable.

  87. 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!
    1. Re:The little train that should by Anonymous Coward · · Score: 0

      Yes, that is out of the question. Please hurt yourself on my behalf.

    2. Re:The little train that should by RahoulB · · Score: 1

      you want realbasic then

    3. Re:The little train that should by spiffy_dude · · Score: 1

      That's why they came out with Java Web Start. Now even your Dad can run and automatically update your application. It's easy as can be. The only requirement to get it is to download the JRE once and he has your apps launchable by a link.

  88. Re:really ??? where is the source? by Anonymous Coward · · Score: 0

    well, to each their own.

    my company however, switched from netbeans to jbuilder, because of the vast increase in productivity due to a larger amount of functionality.

    Given that netbeans is less than 8% market share (by those numbers) and is DECREASING in market share (from what I read, only Eclipse is increasing in market share) I suspect it is only time before it has such a small audience that IBM considers dropping it. Hopefully they wont but you never know.

    Given that eclipse + jbuilder is already over 50%, when JBuilder officially integrates Eclipse code in 2006, I predict they will grow even faster.

    Besides... Remember Betamax. Even if netbeans was better, that doesnt mean it will win... marketing is king in business :)

  89. Re:My favorite quote by Anonymous Coward · · Score: 0

    You are smited.... not only for being an ignorant ass who doesn't have the barest semblance of an idea of the speed of modern Java, but alofor being someone who thinks he's a comedian when he isn't.

  90. Re:If only by jdh41 · · Score: 1
    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.

    Of course, it really depends what you're trying to do and who wrote the code.

    Throw java at a large numerical problem and watch it suck really really badly compared to C or Fortran. And don't get me started on trying to hook it up to numerical libraries.

    However on most application like problems rather than scientific applications it doesn't do badly.

    Now factor in the fact that java si being taught to everybody and his dog and is starting to suffer from VBisms as a result, and you may find that while its possible to write good java code which is competetive with C, the average java code is probably beaten by the average C code for a task.

  91. Re:Sun spent $20 million to promote a free product by Anonymous Coward · · Score: 0

    who the fuck are you?

  92. Re:My favorite quote by ynohoo · · Score: 1

    Nah, unless you run Windows on a Cray, it still sucks ass.

  93. Re:If only by sjasja · · Score: 1
    > Java uses references -- not pointers.

    Huh? The terms "reference" and "pointer" mean the same thing in Java. It is the address of an object.

    On, say, a 32-bit machine, the reference to an object is the exact same 4-byte value - the same size, shape, and numerical value as a pointer in C.

    If you disassemble the machine code produced by Sun's JVM, object references go in registers and are dereferenced using the exact same instructions as what a C compiler produces.

  94. 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.

  95. Re:If only by TummyX · · Score: 1


    Huh? The terms "reference" and "pointer" mean the same thing in Java. It is the address of an object.

    On, say, a 32-bit machine, the reference to an object is the exact same 4-byte value - the same size, shape, and numerical value as a pointer in C.

    If you disassemble the machine code produced by Sun's JVM, object references go in registers and are dereferenced using the exact same instructions as what a C compiler produces.


    Nope. Java spec doesn't dictate the implementation of references and they in fact don't have to be implemented as pointers -- like I said, some VMs use handles. Hell, an interpretor could use a hashtable even. There is no restriction because references can't be treated like pointers (used as to access object memory by address).

  96. Re:If only by TummyX · · Score: 1


    Nothing in the C standard prevents an implementation from implementing pointers with handles, either.


    Everything about C prevents pointers from being implemented as handles.

    A pointer is expected to be just that, a pointer (not a reference to an abstract idea like an object).

    A C program expects (char pointer + 1) to be the next byte in memory. (char handle + 1) will not be the next byte in memory.

    Please explain how an implementation of C using handles instead of pointers could work with this valid C program:


    char c;
    char *cp = strstr("abc");
    int x;
    x = (int)cp;
    x++;
    c = (*(char *cp)x);

  97. Re:Article Summary: by bblfish · · Score: 1

    slow garbage collection? the demo at Java One on the real time jvm that is used to control the airplane made by Boeing shows that even garbage collection can be tightly controlled.

    Bloated? the windows international 5.0 jvm is a 15MB down only. For something that powerful this is really incredibly small. And it is much smaller than the .net equivalent I gather.

    Not free? There are many implementations of the jvm from many vendors. BEA for examples has its own JVM that runs on multiple OSes. Their latest one will even run on Intel directly on the metal. IBM has its jvm. Many other do. And all of these are compatible. The only problem to date has been having a gnu jvm. There are a few, and they are a little behind: not surprising given the speed at which things have been moving in java, and the amount of investment it has received. But recently sun has backed one open source jvm at apache. Also I think Sun is open sourcing their own jvm...

  98. Re:My favorite quote by aled · · Score: 1

    GrandGrandparent: troll, there's not the word 'slow' in the article.
    GrandParent: informative
    Parent: troll

    --

    "I think this line is mostly filler"
  99. Re:My favorite quote by Anonymous Coward · · Score: 0

    Eclipse.
    Azureus.
    jEdit.

    If you think these apps aren't slow, you're being fooled by just how fast modern CPUs are. Run them side-by-side with larger apps and watch the horror.

  100. Re:If only by Anonymous Coward · · Score: 0

    "I like checked exceptions, and I think it's one of C#'s biggest failings."

    Why single out C#? No language other than Java has checked exceptions.

  101. Re:My favorite quote by daikokatana · · Score: 1
    I'll assume that you're joking, since you're posting anonymously, but I'll reply:

    Eclipse - the slowest machine I'm running it on is a Pentium III - 500 Mhz (Windows 2000, 512Mb ram), indeed not the fastest machine around, but the application is definitely not slow when working on my projects (large projects, I might add, no helloworld 1 classamathingies).

    Azureus - I'm running Azureus at home on my old Pentium 1 - 133Mhz (Windows 2000, 48Mb ram) and it works like a charm. If it runs visually fast on THAT machine, it's FAST.

    I never use jEdit, so I cannot comment on that.

    Java applications can be slow (think JDeveloper by Oracle for example), but that's not the fault of the language. Repeat after me: if a Java application seems slow, it's almost always the fault of the programmer's lack of knowledge of the language.

    --
    http://jcsnippets.atspace.com/ - a collection of Java & C# snippets
  102. Re:If only by Decaff · · Score: 1

    Throw java at a large numerical problem and watch it suck really really badly compared to C or Fortran.

    On the contrary; I have found that the IBM Linux VM can actually out-perform optimised gcc-compiled C on numerical work.

    A major study last year showed that Sun's latest JDK (5.0) was within 4-5% of good optimising C++ compilers running the Linpack benchmark.

  103. Re:Gosling? by Anonymous Coward · · Score: 0

    I've never gozzled, too. But my roomies say it hurts the first time.

  104. As Usual by Anonymous Coward · · Score: 0

    Just a bunch of silly slashdotters whining about something they don't really know anything about. Like a bunch of old women complaining about things that are no longer relevent or applicable (no longer is about 5 years). Good grief, you morons sound like my mother.

    Go back to php loosers!

    1. Re:As Usual by Anonymous Coward · · Score: 0

      Go back to php loosers!

      Who are you calling looser? I'm not as loose as you ya trollop.

  105. Re:If only by maraist · · Score: 0

    Sure, new Matrix(A.negate().multipliedBy(C)).addedTo(D) is so much clearer than -A*C + B...

    The problem is that "-", "*" become ambiguous in c++. In java you could at least say:

    a.crossProd(b), or a.dotProd(b).. But if you're looking at a * b in c++ for the first time, which is it?

    The ambiguity problem continues into the non numeric examples as well. Thus, w/ heavy use of over-loading, c++ becomes actually harder to understand.

    --
    -Michael
  106. Re:If only by maraist · · Score: 1

    There is no reason why a JVM couldn't release memory that isn't needed anymore to the OS. However, since memory resources are always in a state of flux with Java, the likelihood that hitting such a high water mark again will occur is high, so it generally isn't worth doing. Java only claims extra memory from the OS IF the programmer was dumb enough to hang on to too much memory.. This is a notorious problem with Java programmers.. They think it's too expensive to construct new objects, so they cache them ALL. Even the stupidest little ones like lists of data. So each of the thousands of classes each holds on to little caches of data, which point to other caches of data, bla bla bla. The end result is that the GC winds up doing 2 or three full sweeps and doesn't recover enough memory, so it asks the OS for more..

    The way it's supposed to work is that object allocation is embarrasingly fast (compared to most other architectures), so you allocate what you need and release it as soon as you don't need it. You have thousands of very fast mini-garbage collections this way, and never get above a 32Meg foot-print. (Yes, I know 32Meg is large compared to say perl). I often run full web applications that never grow to more than 32Meg.. However, when doing full caching DB's I grow to over a gig in size. But the performance is worth it in that case. It's only when some thread-locals dont' release their wears that I find memory "leaks", which aren't really leaks, since the next time that thread is re-used, that memory will be freed and thereby recovered.. In the mean time slow (2 second) full GCs need to be performed. But it's still bad programmer design, not the VM itself. A c program written in the same way would leak just as badly, and lets not forget the propensity of c++ programs to never even free objects it's not done with.

    --
    -Michael
  107. 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 Rinzai · · Score: 1
      Wow. You had a nice go at it, but you missed on several points.

      I'm very self-aware. I'm so self-aware that I realize that the vast amount of communications between individuals is frankly useless. People who say "How are you?" as you pass them in the hall don't really want to know. It's just a longer way of saying "Hello," which is equally pointless but at least serves the purpose in two syllables. Nevertheless, I'd prefer to speak to people with whom I have business, and leave aside those I don't. When I do have to talk to them, no, I don't want to see pictures of the kids, no, I don't give a flying crap about your trip to the beach last weekend, get to the point and move on. I have things to do, and all of them are more interesting than YOU. I don't tell them about my weekend either. I suspect they don't care, and in any event, what business is it of theirs?

      I'm very self-aware. I'm so self-aware that I realize that I don't really care what other people think, because I can't control it. I certainly can't control their emotions--that's their own lookout. When exactly did it become my problem? I must have missed the memo.

      I'm very self-aware. I'm so self-aware that I realize that I don't respect the rest of the herd. I can't. They watch "Survivor," and "Oprah," and that fat git Rosie O'Donnell. They buy those stupid spinning wheel rims. They allow the Supreme Court to diminish their property rights without comment. They smoke, they drink far too much, and they don't take proper care of their children. The vast majority of them can't compose a coherent written sentence or read at even the fifth grade level. They pay far too much attention to the political opinions of actors, musicians, and sports stars. Remind me again of what I'm supposed to respect?

      I am very self-aware. I'm so self-aware that I realize that my behavior is not a short-coming--in fact, I've worked diligently to become this way. I've earned my arrogance by being a valuable member of society whose contributions far exceed those of any member of the mooing mass of humanity milling about wondering when the next DVD sale at Best Buy will start. What I do, very few do, and even fewer do well, and damned few as well as me. I am adequately compensated for my efforts--cash is a lovely thing--and my ego does not demand that they show deference in my presence, because that would be ridiculous and unseemly. But it doesn't mean that I have to like them. I must have missed the memo about liking them, too.

      I am very self-aware. I'm so self-aware that I realize that where so-called "business," is concerned, the relationship is simple: either the lackey does as I ask, or he or she finds a lackey who will. If neither happens, I'll take my business elsewhere. I don't need to "feel my way around"--a frankly distressing metaphor--because they're either going to provide the goods or services, or they're not. It's not necessary to know that the salesperson's dog had puppies last weekend in order to buy a new refrigerator. If that ever comes up, I ask for another salesperson whose dog has NOT had pupples over the weekend to help me, so that I can buy the refrigerator (which is already annoying enough) and get out.

      You see, you're not talking about self-awareness at all. You're really suggesting that I'm not aware enough of other people's inner states--how could I be unaware of my own? If you were thinking that "self-awareness" includes knowing how other people react to me, believe me, I know. Believe me equally when I say that you couldn't find how much I care about it even if you used an electron microscope. Are you suggesting that under "self-aware" comes the idea of knowing one's place in the grand scheme of things? Believe me, I do. And I like it.

      And, no, I'm not a sociopath. I understand that society has set up rules and regulations for the smooth functioning of civilization, and I obey those rules and regulations. I obey them more than most, because you won't see me driving

    2. 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!

    3. Re:Highly illogical by i7dude · · Score: 1

      i'm confused, if you are so self aware then you must realize that publicly declaring your superiority is pure masturbation...what good is being superior if nobody is willing to acknowledge you as being superior.

      there are an infinite number of ways of going about life. your way is no better than mine anybody elses.

      just be glad you are here to experinece it any way you choose and leave it at that.

      dude.

    4. Re:Highly illogical by levity+island · · Score: 1

      I admire the gleam and solidity of your emotional armor. Not that I'd want to wear it--my life would feel so impoverished, and I've never been a fan of repressed anger--but you have my compliments on its construction.

    5. 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).
    6. Re:Highly illogical by Anonymous Coward · · Score: 1, Interesting

      I wouldn't waste time with this guy. I used to think like him in my teens and twenties. Now I'm 35 and living with the fallout from that moronic mindset. Ironically after five years I have enough code to start a software company of my own - the fruits of my geekly (introverted) labors - and what must I do? Pick up an MBA and become a MARKETEER. And get a personality transplant while I'm at it I guess. Wish I had more schmoozing and smalltalking experience at this point, let me tell you.

    7. Re:Highly illogical by fingerfucker · · Score: 1

      You talk too much.

    8. Re:Highly illogical by Dogtanian · · Score: 1

      You talk too much

      Absolutely... :-)

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

      Yesss! Thank you... you made the point I was trying to make in *my* reply, but in a far more efficient, concise and to-the-point manner.

      If I'd read this one first, I wouldn't have bothered posting my reply.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    10. Re:Highly illogical by LKM · · Score: 1
      I'm very self-aware. I'm so self-aware that I realize that I don't really care what other people think, because I can't control it. I certainly can't control their emotions--that's their own lookout.

      Nah, you can't, but you can influence it. Small talk is one way to do that. You're influencing it, too, but in the wrong direction.


      When exactly did it become my problem?

      It very much is your problem if you have to work with other people or want to have friends.

    11. Re:Highly illogical by Anonymous Coward · · Score: 0

      But asking someone about their dog or the type of coffee they drink does nothing to tell you about whether they can do a job or not. If you want to see whether they can do a job, either ask them, or get them to do the job, and then evaluate their performance. You might also look on their resume. Chit chat has no real use, and in a business setting, can be considered wasting time when there is work to do. I have often found it absurd that business people will prattle on about their new loafers, or their new BMW whatever, and kill an hour or two in the process, but harp about someone washing their hands every time after going to the bathroom, because 1. it wastes water and 2. it wastes time from them getting their work done.

    12. Re:Highly illogical by boisepunk · · Score: 1

      crap post
      praise allah
      he will strike the infidels

      --
      main(0)
  108. Use the fuckking "Preview" butttton, asssshole by Anonymous Coward · · Score: 0

    FYI, the apppalllingly missnamedd 'Plain Old Text' alllows HTML as wellll (alllthough youu ddiddn"tt use anyy here), so youu shouldd probabababbbly use itt for mosstt of yourr possttssttss.

    Butttt, mosssstttt importttantttttly: Preview, PREVEIW, PERVEWI!!!!

    PSSPSS, ittt"s 'whine' inn the Westttrenn hemosfeer, and 'whinge' in eht Eatstrennn himesphre. Lirn howww too sple, dikcheda.

    (The preceding is an example of how annoying posts such as yours are to those of us who are actually literate.)

  109. Re:really ??? where is the source? by Anonymous Coward · · Score: 0

    That survey is almost almost 2 years old. A lot has changed in 2 years.

    "The survey was taken over a 5 week period from last week of August to the end of September 2003."

  110. Re:Article Summary: by Anonymous Coward · · Score: 0
    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...
    While there probably is some crap-tastic JVM out there that does do garbage collection that I can tell you that is not the norm. The JVM promises to do garbage collection but the how is not supposed to be relevant.

    Most JVM's today use a generational garbage collection algorithm based on the idea that most objects live only for a short time and that long-living objects are more likely to continue living. Such a scheme requires that the newly allocated objects get garbage-collected frequently.

  111. making millions off of it by peter303 · · Score: 1

    Decent language - a few things could be better. However my company has been shipping production scientific software in JAVA in 21st century and making lots of money. It reduces the cost supporting different computer platfrms and has good GUI tools compared to C++ based products.

  112. Re:My favorite quote by Bastian · · Score: 1

    I was actually thinking about my Mac. I generally avoid Java on Linux for anything other than applets because I can get native programs that integrate better with my desktop and don't suck up all my RAM (my Linux box is aging).

  113. If you are talking about this guy... by razmaspaz · · Score: 1

    JimmyGosling Then I think you are a little confused. I am going camping with this guy in a couple weeks and he is Absolutely not James Gosling. Maybe you mean someone else, but i doubt it. Anyway, good gor a laugh.

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
  114. Re:My favorite quote by Decaff · · Score: 1

    I was actually thinking about my Mac.

    Apple has always been rather behind in releasing Java versions.

    However, I don't think 'Java is slow on the Mac' is the same as 'Java is slow on anything but Windows'....

  115. Eclipse vs Netbeans by Gr8Apes · · Score: 1

    1 and 3 are related. I agree that not having a decent integrated JSP editor bundled or available for free is a detriment. Then again, not everyone needs JSP editors.

    2. I don't see this as a negative. ;) I doubt 90+% of the java devs out there do either.

    5. Eclipse has had this since at least 3.0.

    6. I prefer to pick and choose my Tomcat server version, thank you.

    So, I see 2 items not freely available for Eclipse, and 1 of those is undesired by a large number of java devs.

    --
    The cesspool just got a check and balance.
  116. Re:Gosling? by Anonymous Coward · · Score: 0

    What is really funny is that the mods didn't realize "gosling" is also a term for "simpleton". By modding this down, they agreed that they are goslings too.

    Hilarious post!

  117. inconvenient GC cycles by Idolatre · · Score: 1

    As for inconvient GC cycles, that is the programmers fault. You have to do your own GC when you think you have time.

    Programmers are not supposed to manage garbage collection themselves :
    • Calling System.gc() explicitly can actually decrease performance and is not recommended. JVMs even have a -XX:+DisableExplicitGC flag to allow system administrators to workaround code that mistakenly assumes calling System.gc will help performance.
    • Setting all references to null after they are not used is also not necessary in many cases. For temporary objects, or local variables, setting unused reference to null won't improve GC at all, because memory is freed when the garbage collector is running, not as soon as the reference is set to null. It is only in long lived objects that it is important to set a reference to null when it is not useful anymore (otherwise it causes a leak)
    • For caching data, a cache could manage memory itself, for example by clearing automatically the least recently used entries. Or it could let the garbage collector manage it itself entirely, by storing soft or weak references to the cached data.
    A JVM is highly optimized, and therefore it is often better to let it decide when to do garbage collector than to try to manage it in the code. However, if the JVM makes the wrong decisions (for example if it causes unacceptable application freezes), it can be tuned to make better decisions in the future. Several startup flags exist to control the garbage collector's behavior (for example change the frequency of collections, use parallel or concurrent GC algorithms, tune the memory reserved for the different GC generations). These startup options allows the programmers (or system administrator) much more control over performance than optimization they can do in their code.

    The JVM will only GC when its full...

    Not exactly true, the JVM will separate memory in different GC generations and collect each of these generations when it is full. Objects that survive collection in a generation will be moved to the next generation. Objects that survive up to the last generation (old) are likely be permanent objects that are required for the application to run. Therefore, garbage collection on the old generation runs much less frequently than on younger generation, but takes longer to run. If too many objects survive up to this generation, it can also be an indication of a memory leak or a need for optimizing memory usage. The visualgc tool can be used to monitor the different generation's memory usages on Sun JVMs.

  118. What the by Anonymous Coward · · Score: 0

    Did anyone else that the "ease of configuration" for building applications might be driven by the Ruby on Rails push?

    This sentence no verb.

    1. Re:What the by Anonymous Coward · · Score: 0

      there is no verb. there is only noun.

  119. look at the context by jbellis · · Score: 1

    Jython's competition is Groovy. Groovy doesn't even have a stable DESIGN, let alone implementation.

  120. Re:Sun spent $20 million to promote a free product by Maltheus · · Score: 1

    The Java libraries range from mediocre to terrible, but that's a separate issue.

    Are you on crack? Slam Java for whatever reason you want, but the libraries are widely agreed to be it's greatest strength. Even the libraries that aren't provided in the standard JDK tend to be standardized and very easy to use, javadoced to the hilt. Java's not my favorite, Smalltalk will always have me there, but just which language do you consider to have better built-in library support? C may have more options, but it's a dependency nightmare and libraries aren't nearly as clean, consistent and forward/backward compatible as the Java ones are. I can find easily find a free, well-implemented libary to do whatever I want in Java.

  121. Re:My favorite quote by m50d · · Score: 1

    I use it, and I'm happy using high level languages, I'm a big fan of python for example. Nevertheless, I still say java is slow. Why? Because I'm actually trying to use it for actual programs on sub-ghz machines.

    --
    I am trolling
  122. Re:If only by m50d · · Score: 1, Insightful

    Comparisons to C++ are a red herring, languages have moved on since then. Python is both far faster to write (5-10x) and faster in actual use (since the performance-critical extensions are C/C++, wheras all but the very basics of the Java class library are done in Java.

    --
    I am trolling
  123. Re:My favorite quote by Decaff · · Score: 1

    Nevertheless, I still say java is slow. Why? Because I'm actually trying to use it for actual programs on sub-ghz machines.

    Modern JVMs produce optimised machine code that can approach that of C++. This process is not dependent on the processor speed. If Java comes close to C++ speed on multi-GHZ machines, it will also come close to C++ speed on sub-GHZ machines.

    What might be slow is the Swing GUI, especially with older Java versions.

  124. Re:Article Summary: by m50d · · Score: 1
    Huh? You can't explicitly delete objects as far as I can see, you have to get rid of all references and then leave your fate in the hands of the JVM to see when they get GCed. If it happens at an inconvenient time, what exactly can you do?

    The fact that MS tried doesn't mean it isn't a problem. It is a problem, the language has no free implementation, I can't recall anyone ever trying to exert as much control over a whole language as Sun does with Java.

    --
    I am trolling
  125. Re:If only by ggambett · · Score: 1

    a.crossProd(b), or a.dotProd(b).. But if you're looking at a * b in c++ for the first time, which is it?

    Hmmm, you're right about that. I was thinking about matrices in my example so there was no ambiguity. In any case I think it's better to be able to at least overload the operators that don't cause ambiguity. In Java I'm forced to write ugly code!

    It comes down once again to whether you prefer a powerful language that lets you shoot yourself in the foot, or a less powerful language that lets you write code orders of magnitude faster. I think C++ is in the first category, but Java isn't in the second - give me Python any day.

  126. Re:If only by aled · · Score: 0

    No, Java is in the middle. I just don't think Python can do all that Java does today, nor it has the tools.

    --

    "I think this line is mostly filler"
  127. Re:My favorite quote by Anonymous Coward · · Score: 0

    Me neither.

    That's your answer to the question that blows a big hole in your "pet theory" -- that it's all about people hating Java for political "non-free" reasons. Wow, you really are an idiot, aren't you?

    It couldn't be as simple as the fact that most peoples' experience of Java is slow, ugly, bloated and sucky applications. Could it? Nah... it's got to be political reasons.

  128. Re:If only by Anonymous Coward · · Score: 0

    1. Runtime.getRuntime().exec("/usr/bin/tput clear");

    2. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id =4050435

    Stop the presses! Java has three GUI toolkits and poor console support? Gosh, do you think they want you to use a GUI instead of the CLI? When will the madness end?

  129. Re:My favorite quote by Anonymous Coward · · Score: 0

    Show me a recently written piece of slow Java code, and I'll show you a programmer who should be looking for a new job. Think Burger King.

    Looks like the Sun offices are going to be quiet next week.

  130. Re:Article Summary: by linguae · · Score: 1
    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

    Java does have a lot of class libraries, but inactuality, they're about the same size as a graphics toolkit like GTK, Glib, and a C library. Having them bundled with all Java distributions helps with compatibility with all applications and prevents users and developers from having to download/install extra libraries.

    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.

    Isn't this the point of all programming languages? Making it easier for programmers to program? With your logic all C programmers should be coding in x86 assembly because "[C] allow[s] poor coders to produce code that kind of works rather than total failures[, and it] probably [doesn't] help the language's reputation[,] either." Even though I consider myself a competent C programmer, occasionally I use Java for certain programming tasks. With Java, I find that doing certain tasks are much easier with Java than under C. For example, Java has many helpful libraries, and the base classes are full of many helpful methods. In C, you find yourself having to either search for ready-made libraries that you'll have to learn how to use, or having to code certain helpful tasks by yourself.

    I personally find Java to be a pretty nice environment to work in. No, it isn't "free," it's not as fast as C (exasperated by the fact that my fastest machine is a 475MHz K6-2 with 64MB RAM), and sometimes Java can be quite verbose. However, Java provides a lot of helpful classes and packages to choose from that makes development a lot easier. Plus, I don't have to worry about pointers, memory management, and all of that other stuff that I have to keep in mind when programming in C.

  131. Re:My favorite quote by Decaff · · Score: 1

    That's your answer to the question that blows a big hole in your "pet theory" -- that it's all about people hating Java for political "non-free" reasons. Wow, you really are an idiot, aren't you?

    I hope not.

    It couldn't be as simple as the fact that most peoples' experience of Java is slow, ugly, bloated and sucky applications. Could it? Nah... it's got to be political reasons.

    Yes it has, because any anyone who has actually used Java and developed with Java over the past few years knows, this is a wildly out of date view.

    An example of how out of date this is is that the Java IDE NetBeans recently won the developer.com award for best open source IDE. Hardly an indication of 'bloated and sucky'.

    Most people use Java daily without knowing it, when they use their banking websites, or chatrooms or sites like E-Bay. Millions of people use Java games on their mobile phones. I hear no complaints about E-bay being slow, bloated and sucky!

    I would have said that your point of view would have been correct about 4-5 years ago.

    There is no doubt that there is huge 'geek' resistance to Java because it is not open source. Perhaps because of this many such people have not used it for years, and so have a widly out-of-date idea of what it is like.

  132. Re:My favorite quote by Bastian · · Score: 1

    Apple has always been rather behind in releasing Java versions.

    Apple does not develop Java. Sun does.

  133. Re:My favorite quote by Decaff · · Score: 1

    Apple does not develop Java. Sun does.

    No. Sun provides Java implementations for Solaris, Windows and Linux. Companies can license Sun's source code to produce ports of Java for their operating systems. This is what IBM and Apple do. Other companies produce Java independently, such as HP.

    This is why the Java versions produced by IBM, Apple and others lags behind the Sun version - it is the time taken to produce ports.

  134. Re:I love java! by LionMage · · Score: 1
    you moron ....variable name can't start with an underscore ('_') in java. your code won't compile.

    Bzzt. Factually incorrect. You could write a simple 5-line Java program and compile it to prove whether or not this works. I could cite the Java specification where it defines what variable names are considered valid, but instead I just took an existing short piece of junk code and changed a variable name to start with the underscore. Guess what? It compiles fine.

    import java.util.TimeZone;

    public class TimeZoneDumper {
    public static void main(String [] args) {
    String [] _zoneIDs = TimeZone.getAvailableIDs();

    for (int i = 0; i < _zoneIDs.length; i++) {
    TimeZone zone = TimeZone.getTimeZone(_zoneIDs[i]);
    System.out.println(_zoneIDs[i] + " - offset = " + zone.getRawOffset());
    }
    }
    }
  135. Re:I love java! by LionMage · · Score: 1
    OK, it just occurred to me that some folks might assume the compiler is more lenient than the language specification is, so just to prove I'm not full of crap, here is the link showing the grammar production for identifiers.

    A Java identifier (variable name) must start with a letter, true, but the specification goes on to say:
    The Java letters include uppercase and lowercase ASCII Latin letters A-Z (\u0041-\u005a), and a-z (\u0061-\u007a), and, for historical reasons, the ASCII underscore (_, or \u005f) and dollar sign ($, or \u0024). The $ character should be used only in mechanically generated source code or, rarely, to access preexisting names on legacy systems.
  136. Re:My favorite quote by m50d · · Score: 1
    Well, for a start that JITing takes time itself. The end result might have C++ speed, but while the JVM is doing that optimisation work it's taking up cycles. Anyway, my point is that for me trying to actually use it, it's slow, people who don't think it's slow tend to tell me to upgrade. But Java is the only thing that doesn't give decent performance on this system.

    Yes, it may well be swing (but it's not an old version, I'm using the 1.5.0.04 and it's still slow) but that's the only java gui you can use without losing the whole point of using java. So the effect is that java programs are slow.

    --
    I am trolling
  137. Re:If only by Zeneris · · Score: 1

    Agreed about development speed and libraries. I'm porting some Java to C for a small memory legacy project and it's painful: the lack of a GC, exceptions, persistance, boundary and null protection make it like going back to the dark ages, using C++ would make little difference. I'm having to write my own C code because so many of the C database libraries are poorly written (e.g. SQLite and GNU db) e.g. use too much memory, use the wrong data types, too many #defines, are not easily portable, have no caching and fail to pass 'lint' compiler checks. People my complain about minor Java portability issues, but they forget just how bad C and C++ were!

  138. Re:If only by blafasel · · Score: 0

    indeed, thanks & sorry.

    --

    check your speling