Slashdot Mirror


Java To Overtake C/C++ in 2002

jarek writes "ZDNET has an article that talks about latest research data. It talks about how Java is overtaking C/C++ next year. The article also talks about developers adopting linux and putting linux to use in mission critical tasks." It's evidently taking developers from the C/C++, but also the Visual Basic camps, with strong growth overseas.

605 comments

  1. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

    Listen cocksmoker, it's not *my* style of dealing with references to references, it's the Java FAQs. And if you can come up with a better way to do it in Java, I'd *love* to know. You immature little fuck.

  2. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

    Speed was never an issue processing mainframe downloads. In fact the mainframe took longer to dish the data than Java could parse it. Saved months in development time, $15,000 bonus.

  3. Re:really? by Jeffrey+Baker · · Score: 2

    I didn't make the example, you did :) You said that DVD can be done in Java because Java is as fast as C++ for computation. I'm telling you that while justifaction may be true, the conclusion is not: even C++ is not fast enough for DVD decoding.

  4. Re:What about project size? by mimbleton · · Score: 1

    Are they ?

    When running program under VM ( or other interpreter) there always will be associated cost as compared to running pure ASM code.
    The fact that this VM can perform certain runtime optimizations, which obviously cannot be done with static ASM code, does not mean that resulting increase in performance, will outweigh costs of having VM in the first place.

  5. Re:Not going to happen by FatherOfONe · · Score: 3, Insightful

    It might be high on Microsoft's priority list, but there isn't a damn thing they can do about it. The only thing that I hear Microsoft say about Java is "Have you seen C#?" Wow! What an awesome comeback! The speed of Java use to be an issue, but it isn't anymore. The same people who use to say that C was way too slow (compared to Assembly), are the same people that say Java is too slow. It took C around 5 years to get fast and reliable and it has taken Java around the same.

    Are you going to see Quake IV in Java, probably not, but it doesn't have much to do with Java, as much as ID has a team of developers who know C.

    If you want great games on Linux/Mac/FreeBSD/anything other than Windows, you guys better hope that people start to develop games in Java. We all know how well companies like Loki have turned out.

    Lastly, Microsoft is fighting many a war on many fronts. ie.
    1. Anti Trust Case
    2. Palm vs. Pocket PC.
    3. Sony, Nintendo vs. Xbox vs. PC games.
    4. Java (Java2EE) vs. .Net
    5. Linux vs. Windows XP
    6. Open source in general
    7. Oracle vs. SQL server
    8. AOL messaging vs. Microsoft
    9. Star Office vs. Microsoft Office
    10. OEM's vs Microsoft

    and lastly Steve Balmer vs Heart Atack.

    Microsoft has made many enemies over the last few years and they will never ever be able to crush out companies again. The government will see to that :-) I hope they bundle a bunch of stuff in XP and release it early... it will make the case that much stronger...

    Steve Michael

    --
    The more I learn about science, the more my faith in God increases.
  6. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

    Since every class in Java derives from Object, my swap routine was perfectly type-safe, thank you very much. If you're talking about what happens later on after you've swapped a Car object and a SolarSystem object by accident, well then why don't you give me an example where that would happen in real life, and we can work it through? Of course, you're just a reactionary git, so please shut up.

  7. what do you get when you divide by zero? by Anonymous Coward · · Score: 0
    My favorite line fromt he article:

    "More than 40 percent of respondents also felt that Linux offers more value for the money than other operating systems"

    Jeeze, only 40%? By my calculations when you divide your system value by the cost of Linux you end up with infinitely more value for the money, don't you?

    1. Re:what do you get when you divide by zero? by catseye_95051 · · Score: 2

      In Java, a well controlled exception.

      In C, a core dump.

      Since you asked.

      (Okay, I KNOW this is flame bait but how could one resist?)

  8. Re:XP effects? The effects are good! by Dragonshed · · Score: 1

    "But I wonder how XPs lack of Java support will affect the number of Java developers."

    This will have a much more positive affect on Java as a platform and Java developers than you realize. Microsoft's JVM is the source of many "gotcha's" and "oh fuck" epiphanies. It supports calls to native win32 apis and other such nonsense that is totally bass ackwards to any kind of Java platform standardization. Most (I wish I could say all) java developers stay away from that stuff, but there's always a few that cross the bounds.

    The elimination of Microsoft's JVM from the picture makes the java world way more clear on Win32. Yes, people will now have to download the jre/sdk to run apps, but the experience in compatability does more than make up for the download.

  9. Re:But ExtremeTech Says... by invenustus · · Score: 1
    Java is still second only to C++ in popularity. It has slightly more SourceForge projects than Perl, and is the only language to crack the top 25.
    Couldn't there be other factors at work in there? Aren't there a lot of things that, although they have been done adequately in other languages, get rewritten in Java because of the platform-independency? It seems like that factor means Java will have a larger raw number of "active" development projects for the time being than, say, Perl, which might get used only for projects that are immediately necessary. I wish I could say this more clearly. I am so tired right now....
    --
    grep -ri 'should work' /usr/src/linux | wc -l
  10. C++ needs to build on the STL by Anonymous Coward · · Score: 1, Insightful

    Here comes the holy war...

    Anyway, both languages have features that should be adopted in some form into the other language. For example, C++ needs to catch up on web/communications, multi-threading, asynchronous calls. I realize there are 3rd party libraries for this, but there needs to be a something more standard. I hear C++0x (checkout this technetcast webcast for more info) is aiming to include some of this functionality into the STL.

    One thing Java completely missed the boat on is templates and more generic programming. The single-class rooted hierarchy in Java makes programming generic classes a joke. Casting from Object is tedious and inefficient. C++ templates may not be the final solution to generic programming, but they are certainly a step in the right direction.

    The list really goes on and on. However, I feel that with some evolutionary additions to the STL, C++ can overtake Java in the areas where it is currently lagging behind.

    Hans
  11. Re:Really? by asincero · · Score: 1

    > C++ is definetly not a low level language. Where
    > did you get that idea? They're both (C++ and
    > Java) in the same ballpark for abstraction-
    > C is only slightly more low level.

    ANSI C is for the most part a subset of ANSI C++. Therefore, ANSI C++ can be as low level as ANSI C.
    In general, any valid ANSI C program is also a valid ANSI C++ program.

    - Arcadio

  12. Re:FUD alert by partingshot · · Score: 1

    Ok. I'll bite. Although I don't think that
    Bjarne wants to make c++ into java, there
    are enough similarities that PHBs could notice:

    Goal: Make C++ a better language for systems
    programming and library building
    Java: Java beans and jars for library building.
    As for systems programming, before long we'll
    all be programming toasters in java. :)

    Goal: Make C++ easier to teach and learn
    Java: Several universities have begun the switch
    because it is considered easier. No pointer math, etc.

    Goal: Extend standard primarily through major
    standard library additions
    Java: Has a huge library as part of the language.

    Goal: Remove inconsistencies and errors from
    core language
    Java: Very consistent. Had the benefit of being
    designed from the ground up w/o concern for being
    compatible with c.

    Goal: Simple elements of standard platform
    Java: Already has this except as part of
    the language. The VM abstracts the standard
    platform.

    Goal: Distributed computing
    Java: Part of the language.

    Goal: Make the standard library central to bindings to other systems
    Java: Already support for SQL/Corba/Beans/etc...

    I can see where one could draw that conclusion.

    --
    Anonymous posts are filtered.
  13. Re:Java as a teaching language by roguerez · · Score: 5, Insightful

    In my university (vrije universiteit in Amsterdam) you get an introductory course in programming in Java, then a datastructures course in Java and a course in x86 assembly.

    Then, an introductory course in C/C++ is given and a software engineering course in Java w/ Swing follows. Then you get a large course in plain C, and depending on the direction of your studies, you'll get one or more large courses using C, C++, Prolog, Miranda, Java, or whatever is best suited for the job.

    I think the choice for Java for the introductory and software engineering stuff is great, because in these applications you don't want or need the low level stuff in which C is good.

    Furthermore Java looks relatively 'clean' and is suited well to learn imperative as well as OO concepts.

  14. Re:Good-bye VB! by Mr.+Barky · · Score: 1

    P.S. Where in the documentation does it say this? I just read through it and the documentation on Load gives no indication that this is possible. (I'm looking at VB6).

  15. Speed, Visual Basic, etc. by Junks+Jerzey · · Score: 2

    Some comments on other comments:

    1. C and C++ are already minority languages, in that they are only used for a smallish percentage of applications. Yes, kernels and spreadsheets and games and paint programs are written in C and C++, but these are dwarfed by so-called enterprise applications written in Visual Basic, Delphi, PHP, and so on.

    2. Let's suppose that Java really is slow, ignoring any improvements that have been made in Java run-time performance over the years. Back in 1996, when people said Java was slow, they were talking about software on a Pentium 133. When a 333MHz Pentium II was top of the line a few years later, people still said Java was slow. Ditto for the 600MHz Pentium III, the 900MHz Athlon, and the 1.7GHz Pentium IV. Even if it's slow relative to C++, we're still talking about a 10x speedup in raw horsepower.

    3. Realistically, the issue with Java has always been "exactly how does this benefit me, the programmer." It's easier than C++, yes, but it's still in the same general ballpark. And there's been the slowly growing feeling that forcing everything into an object oriented framework is not the panacea it was once thought to be. Java may be too OO for it's own good.

    1. Re:Speed, Visual Basic, etc. by Anonymous+Brave+Guy · · Score: 1
      C and C++ are already minority languages, in that they are only used for a smallish percentage of applications. Yes, kernels and spreadsheets and games and paint programs are written in C and C++, but these are dwarfed by so-called enterprise applications written in Visual Basic, Delphi, PHP, and so on.

      ROFLMAO. Didn't we forget a few markets? How about embedded applications? Instrument control? Scientific applications? "Legacy" C and C++ code that's still being used and maintained? Most "enterprise applications" are buffed up databases. They're a very significant market, certainly, but "dwarfing" the rest of the programming world? Um, no, not even close. If you'd like to disagree, do feel free to cite supporting statistics.

      3. Realistically, the issue with Java has always been "exactly how does this benefit me, the programmer." It's easier than C++, yes, but it's still in the same general ballpark. And there's been the slowly growing feeling that forcing everything into an object oriented framework is not the panacea it was once thought to be. Java may be too OO for it's own good.

      Now that is a much more sensible comment. I wish more people realised how accurate what you say here truly is.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re:Speed, Visual Basic, etc. by Junks+Jerzey · · Score: 2

      ROFLMAO. Didn't we forget a few markets? How about embedded applications? Instrument control? Scientific applications?

      My comments were strictly about the desktop market, as that is what Slashdot is concerned with.

  16. Re:True, to an certain extent by harmonica · · Score: 2

    If you like the Java language for development (as I do), but don't care for the multiplatform use of bytecode, the latest version of the GNU compiler can now compile Java code into native code.

    Unfortunately, gcj still doesn't support AWT so that "only" command line programs can be created.

  17. You've got it backwards... by Anonymous Coward · · Score: 0

    Unix started in the commercial world ..

    1. Re:You've got it backwards... by Tony-A · · Score: 1

      With the exception of internally within Bell Labs, early Unix was exclusively within Universities, will full source. For a long time you couldn't get it commercially.

  18. Re:really? by jeffy124 · · Score: 2
    Wow. I didn't realize there were other people like you who undertand that java's HotSpot VM actually compiles bytecode so that it runs as fast as c code. The only penalty for people using java is that it takes a moment for apps to start up due to the VM having to load up.

    As for CD-Rs, that may be possible in Java, but there will probably be a lot of issues relating to hardware, breaking interoperability between OSs and hardware platforms. Perhaps some dynamically pluggable drivers implementing a common interface could do the trick to remedy that.

    --
    The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
  19. "Overtake"? by ajs · · Score: 4, Interesting

    The word overtake is questionable here. Do we mean that more developers will be using it (that's what they mean), or that all that the tasks that those languages have previously been put to will be done in Java?

    I think we can make a pretty good case that right around the same time, three toolkits came into existance, the Java widget set (SWING, I believe), Gtk+ and Qt. I notice that 99% of the apps on my Windows desktop are the old C++-based MFC widgets, and my Linux desktop is split between Qt and Gtk+. I never see a Java app unless it's the back-end technology for a Web site (but, more often that's PHP, Perl, Python or VB).

    So, from whence comes this figure?

    Well, most of it is based on the growth of Java as a wizzy buzz-language in the dot-com startup arena 1-2 years ago. Some of it is based on the fact that in the financial market, in-house apps are very often written in Java because it's something they can hire hordes of programmers to write, and it keeps them happy because their skill-sets are current. Remember, these are the folks that bought WAY into COBOL....

    Java's a cool language, and I actually think it puts C++ to shame in terms of the cleanliness of its OO system, but it's just not useable for most of the large-scale development out there (can you imagine how much slower Mozilla or GCC would be if they were written in Java?)

    C will continue to be the right language to choose, but C++ will continue to be chosen a large percentage of the time because people only think about the performance of critical sections not the maintainability or cleanliness of development.

    Troll? No, just firm opinions that I have formed over the last 10 years watching first C++ and then Java become the darling languages of the "if it's OO it's good" programming set (not that the converse is true either....)

    1. Re:"Overtake"? by Anonymous Coward · · Score: 1, Insightful

      "it puts C++ to shame in terms of the cleanliness of its OO system" No chance - think 'Type Safety'. Java relies heavily on casting which C++ manages to avoid "C will continue to be the right language to choose" I agree for System programs, but for applications the speed of development for C is way too slow and unreliable.

    2. Re:"Overtake"? by ajs · · Score: 2

      "it puts C++ to shame in terms of the cleanliness of its OO system"

      No chance - think 'Type Safety'. Java relies heavily on casting which C++ manages to avoid

      Then why did C++ need to invent four casting operators? I rarely if ever see C++ code that does not rely heavily on casting.

      In many ways Java is more type-safe than C++, as it has stricter requirements on casting. However, C++ has the advantage of being essentially C with many additional features. The most successful C++ projects I've seen have used some inheritance, and otherwise basically programmed in C.

      "C will continue to be the right language to choose"

      I agree for System programs, but for applications the speed of development for C is way too slow and unreliable.

      1. C is less unreliable, development-wise than C++. There are many reasons for this, but one example that comes up pretty fast in most C++ projects is suprise operator-overloading. Also, there's the "what do you mean, I passed an int and it got modified?!"

      2. If you thing that development speed in C is slow, try programming in C++ and INCLUDING the Q/A and debugging time. A good C project with good developers vs. the same quality project and developers in C++ is about the same. The key is that the C code has less traps and much easier to read in the large (individual classes in C++ tend to be readable, but determining their interaction can be hell).

      All languages have their uses (or they would not have been written). I just think that C is still the one language that fits almost all projects, and still has portability and interoperability features that blow everything else out of the water.

    3. Re:"Overtake"? by Anonymous Coward · · Score: 1, Insightful
      Many companies are using Java to develop in-house applications, as well as companies creating vertical market applications. You aren't likely to see them unless some event specificly causes you to see them.

      Doesn't happen unless you work for a company buying it, or developing it.

  20. Re:Really ?? by andyh1978 · · Score: 2
    I think I love C/C++ more than Java which is owned by Sun.
    It's an often repeated thing, but C and C++ should not be bundled together into 'C/C++'. C++ may share a common ancestry with C, but in order to really get the most out of C++, you should forget almost all you know about C.

    C++'s power lies in its object oriented features, and particularly in templates. And this leads to the STL (Standard Template Library); no more writing and rewriting container classes, sort algorithms, etc.; you've got a whole set of well written, generic, tried and tested classes encapsulating all that for you.

    assert(C != C++);
  21. Re:I dont think so..... by Lumpy · · Score: 2

    yes I do! and that is the point. you cant replace a tool that fits in tiny places and shovel in a monster and call it a solution (Embedded NT comes to mind here) Assembly has it's place and is the most powerful language there is. Sadly we have very few that can write assembly as they are only tought Java and other bloat-languages (VB for example)

    So yes, that clairifies my point to crystal clarity! thanks :-)

    --
    Do not look at laser with remaining good eye.
  22. Re:One more misconception to fix by WildBeast · · Score: 1

    blablabla, try ICQ and Yahoo Messenger for Java and see how they perform. I tried a variety of Java programs and their performance is crappy to say the least.
    No thanks, I'm very happy with Python and C

  23. The /. future tellers????? by cansecofan22 · · Score: 3, Interesting

    Looks like /. can predict the future. A few weeks ago in this article the /. community discussed java as a good CS Introductory language and the post went on with a lot of people talking about java taking over as a main language. Just shows that if you want to know what the IT world has going on, look at what the IT people have to say.

    --
    "If ignorance is bliss, why aren't there more happy people in the world?"
    1. Re:The /. future tellers????? by BlackSol · · Score: 2

      No /. doesn't predict the future but it does influences it.

      Slashdot's community is a composed of many people "in-the-know" and in positions, allowing for both accurate analysis of technical issues and influencing (somewhat anyway) technical decisions.

      Kinda reminds me of the Matrix, when Neo goes to see the Oracle and knocks over the vase.

      --
      $sig=$1 if($brain =~ /idea\s+(.*)/i);
    2. Re:The /. future tellers????? by jeffy124 · · Score: 2

      you are onto something as to why java is gaining popularity. It's being taught in schools. My University teaches C++ to freshman, but teach them Java later on. This isn't the first time somehting being taught in colleges has influenced the business world. Early versions of UNIX were like that too, and Linux may soon follow, as many schools are teaching OS courses using linux.

      --
      The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
    3. Re:The /. future tellers????? by Anonymous Coward · · Score: 0

      "If ignorance is bliss, why aren't there more happy people in the world?"

      Oh, they're happy. They just don't know it.

  24. ZDNET = King of FUD by Anonymous Coward · · Score: 0

    ZDNET, perhaps the best trolling fud spewing publication available. Its kinda fun to watch MS get slammed by AOL's PR arm.

  25. Bjarne's opinion about /. by devphil · · Score: 2


    Grief, that's serious FUD you're spouting there.... but anyhow. After Dr. Stroustrup's interview here, there were lots of comments here on /. (duh), and somebody else mentioned it during a newsgroup discussion. Here's part of his response:

    That response was one of the most spectacular exhibitions of ignorance and prejudice that I have seen in a long time. Slashdot anonymous comments are not famous for their balance and objectivity, so one shouldn't be too surprised. My impression was that a majority of postings (objectively) demonstrated a complete ignorance of what have been done in the C++ world for the last decade. "Ignorant and proud of it" could have been a motto for many.

    Look on archives for comp.std.c++ on the 5th of June. Google allows you to search on message-id, but stupidly has no way to display the message-id of an article once you find it (making the searching capability almost useless).

    Your post here seems to continue in the exact same vein.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    1. Re:Bjarne's opinion about /. by partingshot · · Score: 1

      couldn't find it. mind pasting a big-ole
      ugly url?

      --
      Anonymous posts are filtered.
    2. Re:Bjarne's opinion about /. by partingshot · · Score: 1

      I guess so. Still nothing from B.S. though.

      this turned up 1 hit:
      http://groups.google.com/groups?q=author:bs%40re se arch.att.com+slashdot

      Oh well. Doesn't matter.

      --
      Anonymous posts are filtered.
    3. Re:Bjarne's opinion about /. by Anonymous+Brave+Guy · · Score: 1

      Perhaps he meant this thread from comp.lang.c++.moderated?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  26. Re:Really? by WolfWithoutAClause · · Score: 2

    Java (with a decent VM) is faster than that. The hit is only 30-50%. That's about 9 months of Moores Law.

    Think what the games were like 9 months ago. Not much different, by and large, from what they are now.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  27. Re:Not going to happen by Anonymous Coward · · Score: 0
    Have you tried C#?

    It's so close to Java that I don't really by the "love one, hate the other" idea - except if you are just hating it becourse it's Microsoft, but professionals won't (at least shouldn't) do that!

    Java is in for a really tough ride here - it will probably keep some ground, but on the application side it does not stand a chance - and we know the MS strategy (and must admit it works). Take the desktop, then move in on the server.

    Java is too week on the desktop as it is "one language fit all" - a stupid idea of Sun, there is no such thing as a language that is the best for the total beginner and the experienced profesional programmer. Some other languages do compile to the JVM, but they will always lack the "stamp of approval".

    And even for one person, the same language can't do it all. With .net, the beginners can use vb.net (yes, I hate it too, but many people like it nomatter how much we laugh at them), the experienced programmers will use C# or Managed C++ for the tricky stuff. I must admit it - I love the idea. Finally I can program something in a decent language, and it will still be usefull for the masses and there VB. And I can easely automate all my applications using a real programming language instead of VB (yes, I can use Perl today, but it's better at scripts than applications).

    Java's strength is the cross platform support - but with web services already having C# and VB.net programs talking to (even Linux using) Apache servers C# offers enough for most companies - there clients run Windows anyway.

    I know this will be moderated as a troll, but before you do it please think: If Microsoft was pushing Java, and Sun was pushing .net - would you still be faithfull to Java? If not, we are not discussing technology but religion here.

  28. because it's *terrible* by delmoi · · Score: 1

    The language is a fucking mutant freak, wank-ass OO tacked on to "BASIC" (Which was always considered a lame language). VB is ugly, and weak. and slow on top of that!

    Most of the people who do VB work professionaly A) Don't know anything else and B) are idiots.

    --

    ReadThe ReflectionEngine, a cyberpunk style n
    1. Re:because it's *terrible* by Anonymous Coward · · Score: 0
      I code VB professionally because *ALL* (must repeat for emphasis) *ALL* of our clients ask for it. We have tried to implement C++ solutions, VB was mandated instead. Most of the clients know that with VB maintenance is easier and filling a coding position for VB is easier and generally less costly.

      VB is an excellent tool, not perfect for every job, but excellent for many.

      Simply because one codes in VB doesn't mean they are an idiot or that they know nothing else. They simply get their jobs done and go home to their wives and possibly your wife(if you have one) while your stuck coding the same C++ infrastructure code that is build in to VB.

    2. Re:because it's *terrible* by Anonymous Coward · · Score: 0

      So, you work for a Microsoft shop where the only two reasonable options are the hand-holding cuddly, syntactically retarded VisualBasic, or the low-level, petal-to-the-metal, *expensive* VC++ development.

      Of course customers chose VB. That doesn't mean it's a good choice.

      Time to morne what J++ could have been. That little fight cost Microsoft and it's developers years and millions of dollars in 'enterprise' space. Sure, .NET will rectify things, but only at the cost of turning VB into J++^H^H^HC#.

  29. And your point is? by sid6581 · · Score: 2, Insightful
    I write enterprise software in Java. If you think that's the pinnacle of computing, you don't know what you're talking about. Most enterprise software work is grunt work, and Java is used because it has some properties that are useful (being able to go cross-platform easily means a lot), not because the language as a whole is necessarily good. Many think so, of course. I don't agree.

    I take offense at the ignorance people display when they say that Java is finally fast enough for desktop use. That is simply not true. I use a number of Java applications on a daily basis, and even though I have a decently powerful machine it can only take so many bloated VMs before everything (everything) grinds to a fucking halt. And don't get me started on Swing. God, what a mess.

    In my mind, the work I do as an enterprise software programmer is not real programming. You can do real stuff in Java, but I leave that to someone else. I'm looking to get away from Java completely. I can't stand the language.

  30. Hmm... those distro numbers are interesting... by mosburger · · Score: 2, Interesting
    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.

    Ok, so 77.2 + 21.8 + 21.4 + 20.4 = 140.8% ? I guess in the survey folks could respond with more than one choice for their distro, but I'm still surprised that there are *that* many people out there using more than one for their Web servers.

  31. Re:The library base and more by Anonymous Coward · · Score: 0

    Generics in Java and a vastly dumbed down version of the generics in C++, so they can be understood by Java programmers.

    C++ templates are incredibly powerful and useful, but Java generics are tailored only to making generic containers (and they don't even do a good job of that re: primitives).

  32. there's some things you have to do the hard way by non · · Score: 1
    i think that anyone that's willing to comment on this subject should have a good idea of the progress made in java as a language, as well as some of the pitfalls (security, etc.) that have arisen. for a good reference point read A Quick Critique of Java, that is as long as reality.sgi.com is around.

    FWW when this article came out we made a demo of our financial planning app in java. at the time we were able to achieve sufficient animation, think active graphs, by sacrificing stability (yes, stability).

    lastly, one thing to keep in mind is that Java is very important in the financial world, where being able to get an app (or applet, whatever) that uses new mathematical models onto the traders' desks as quickly as possible is a competitive advantage. in that environment java is superior to VB/VC/etc.

    ________________________________________________

    --
    ...vividly encapsulates that post-Watergate/pre-punk/coked-up moment when you could trust no one, least of all yourself.
    1. Re:there's some things you have to do the hard way by Anonymous Coward · · Score: 0

      That article is very out of date, very biased and shows little understanding of the Java language. The whole point of it is "java is not C therefore java is bad".

  33. Re:Java as a teaching language by kyras · · Score: 1

    Here at U of M, *everything* is done in C/C++. There's only one java course and it's not part of the core curriculum. Then again, since the AP test is (reportedly) switching to Java, perhaps the department here will switch to accomodate all the incoming freshmen who will only really be familiar with Java. Then again, maybe they'll just screw them all over and stick with C/C++...

    --
    Tastes like burning! - Ralph Wiggum
  34. Re:Java Servlets by Kidbro · · Score: 1

    Really these are just overblown CGI applications

    Yes, as with CGI applications they "just" take an arbitrary HTTP request, do pretty much anything, and send back a response. The difference between this and any other type of application is that most applications don't get their input in the form of an HTTP request :)
  35. Re:True, to an certain extent by Anonymous Coward · · Score: 0

    "if you need to do optimised stuff" then you wished there were better free C++ compilers available

  36. Re:Java as a teaching language by edmondsm · · Score: 1

    I am in my junior year of my CS degree after 7 years in the USMC. My first programming course was in C++, and within a week or two I was able to write simple programs that worked, and it did not require that many concepts to be learned. I opened up a first semester Java book for the hell of it, and could not believe how much you had to do to know to write a simple Java program. C++ has the advantage of allowing you to use multiple paradigms, whereas someone else stated, Java throws OOP right up front. The majority of applications that are developed where I work (Modeling & Simulation) are written in C/C++ and Simscript, with only one client application written in Java. Once I am proficient in C/C++ and shell/Perl scripting, I will tackle something like Java.

    --
    lInUx Is CasE SenSiTiVe
  37. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

    no. In fact, now that they've proven to be so powerful, many gurus are suggesting using templates instead of inheritance in some places.

    Go read Stepanov's writings on the subject (he's the mastermind behind the STL).

  38. Games by Anonymous Coward · · Score: 1, Insightful

    Would you want your Quake3 UT or any other FPS written in java?

  39. Re:Really ?? by Anonymous Coward · · Score: 0

    Um, I think you ment, compile once and run anywhere. Which is what it does, quite well I might add.

  40. Re:Pascal, C++ and Java. by Anonymous Coward · · Score: 0

    What planet are you from? Java was quickly successful in academia, displacing C++, Eiffel, etc. Note the academic book market - virtually no notable C++ books in Academia in 5 years, but with dozens concentrating on Java.

    Only recently is Java taking on corporate programming tasks.

    And it hasn't scratched C++ in the land of commercial application programming or systems programming.

  41. Re:Good-bye VB! by Mr.+Barky · · Score: 2, Insightful

    I go between C++ and VB all the time. I hate working with VB. Why?

    When I use it, I feel it's constantly trying to constrain what I do. For example, it doesn't allow you to create controls dynamically (for example, if I want a variable number of controls on a form). (Yes, I probably could figure out how to do this using Windows APIs, but why?). You can't do multi-threading (well, there are hacks to allow this, but you can't debug programs!).

    There are silly language options, such as Option Base, that can make understanding some else's code harder.

    I also find the IDE very annoying. Undos often only work in the text editor. When a program crashes, it brings down the IDE, etc. Searching is a pain. You can't look at a form when running the program, etc.

    I could go on, but the bottom line for me is that it's frustrating to use VB.

  42. Re:I reckon the reasons are artistic by Prior+Restraint · · Score: 2

    Science is all about finding the underlying beauty in the world.

    No, science is about finding the underlying order in the world. Order may be considered beautiful, depending on the observer.

  43. In New York, java is already ahead of c++ by Billly+Gates · · Score: 2
    You may be right with people for actual java skills but in the New York classifieds, there are more java jobs then c++ jobs.

  44. Re:Java as a teaching language by PurpleBob · · Score: 2
    It seems that students could easily get a 5 (the highest possible score) on the AP exam without being ever able to write a working program.

    That's already the case on the Computer Science AP in C++. Looking at samples of grades for the free-response section shows that students get 9 out of 9 points for code which wouldn't even compile. If they completely miss the concept they can get 6 out of 9.

    The Computer Science AP was the easiest 5 I ever got - even though I was supposed to have studied their "Marine Biology Case Study" (wow, we can increment and decrement a variable and say that we're modeling the motion of one-dimensional discrete fish!) beforehand and I only first looked at it during the test.

    --
    Win dain a lotica, en vai tu ri silota
  45. Its been done. by Anonymous Coward · · Score: 0

    I used to have a bookmark to a page listign a few dozen alternate lamguages ontop of the JavaVM as this questio ncoems up a lot. One of them as I recall was a C++ implementation.

    Unfortunately I had to reinstall Winfroze which blew away the bookamrks but I'll try to serach for the page again and post it if I can find it.

    I should add a thanks to the poster as this ALMOSt qualifies as the preditciton i made some tiem ago. The prediction was that, as dynamic compilers proved their ability, people would stop asking "why can't Java have a static compiler" and start asking "why can't C++ have a dynamic compiler"

    The answer ofcoruse is it can and, in the caes of a C++ that compiels to byet code, already does.

  46. no it doesn't by mj6798 · · Score: 1

    Divorce statistics are skewed in that way because getting divorced influences the statistic directly by changing the size of the population. Programming in Java doesn't create more people or kill people. Your analogy doesn't hold. Statements involving "almost 60 percent of developers ..." are well defined and meaningful. You may disagree with whether this results in more or better software, but that's a separate debate. I think the faster applications programmers dump C, the better for all of us.

  47. Re:really? by Doomdark · · Score: 1
    Umh. Not so fast (no pun intended). In all likelihood low-level drivers (DVD/CD-R) are and should be written in language that allows fast and full access to hardware. On top of that there's no (fundamental) reason why apps couldn't be written in practical any full-featured programming language.

    As to Office Suite, there is no reason why it _couldn't_ be written in Java. However, there might not be much incentive in creating one now either (in any language, actually)... It's not like there weren't N+1 office suites available. It's more about inertia; existing huge popular shrink-wrapped apps were written mostly in C (some in Pascal, esp. on Mac, some newer on C++), and although there is constantly need for some rewrite, dumping the implementation isn't something high level managers like to hear.

    As to office suites, the fact that there's one failure doesn't prove it being impossible (Corel / WP). It does imply that at the time it was impractical to do; whether it still is or not is another question.

    However, right now the biggest reasons no new big java _applications_ are being developed (outside internal enterprise networks) are:

    • Everyone and their dog in corporate world loves 'web applications', ie. browser-based UIs with server-side business logic (usually with 3 or more tiers). Java is the language of the choice (not the only choice but dominant) on server side.
    • Since JVMs have been a moving target, and not installed by default on (most) OSes, installing a Java-app has been difficult or impractical. Situation would be different if you could just assume a suitable JVM exists, and distribute bytecode 'binaries'

    Finally; Java performance. I think what puzzles most people is that with Java you do need to tune your code more than with C or C++. You'll spend much much much less time debugging weird memory-overwrite crashes or memory leaks. But you do need to do more performance tuning. For me that's a fair trade-off. Performance of number-crunching (after optimizing) seems to be (in general) something like 20-40% slower (at worst might be up to 100%, ie. operations take twice as long). However, with UI the differences are negligible. This is of course assuming you have a decent JVM and know how to write efficient code.

    --
    I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
  48. Re:Too late by Anonymous Coward · · Score: 0

    "They tried the same maneuver with JavaScript, but it's still alive and well and I don't see much JScript around"

    Just as an FYI, JScript is becoming a 'compiled' language with .NET which makes it a full peer of C# and VB.

    As someone who's found that the only sane way to do ASP is with JScript, and that it's a rather nice environment on the server side, in it's own little way, this is good news. Although, I don't know why you wouldn't just go all the way and use C#, where you actually get inheritance and so on.

    And even with MS's 90% browser marketshare, there's no VBScript stuff being done on the client side, even internally - it's all JavaScript.

  49. Re:XP effects? by webcrafter · · Score: 1

    That would be java.sun.com, or javasoft.com

  50. Re:Really? by DerFeuervogel · · Score: 2
    Then they root for a technology they can't even use on those same computers. What gives? This just reflects the fact that /. has a diverse readership. Then there is also the "Anything that MicroShaft hates is a good thing" crowd.

    Personally I was never hot on Java - it reminds me too much of Smalltalk. And listening to those OO purists always gave me a headache.

  51. Re:Really? by Anonymous Coward · · Score: 0
    On that point, check this out:

    http://www.dinkumware.com/jproject.html

  52. Re:Java Servlets by Bonker · · Score: 2

    A CGI written in C is almost certainly vastly slower than simiar code writen as a Java servlet. Deal with it.

    Uhh... when did I say anything about the speed of Java? Geez, you'd think Java coders would lose their martyr complexes when an article like this one has just been posted.

    Servlets and CGI accomplish the same kinds of tasks for the same kinds of users on the same kinds of platforms.

    Do they do it more efficiently? It depends entirely on who you ask or what environment you test under or even how you define 'efficient'.

    Because they do exactly the same things, I don't think that I'm wrong in stating that a Java Servlet is 'the same thing' as a CGI application. Based on CGI and evolutionally advanced from it, certainly, but then so is PHP, which is arguably *not* CGI, although it can handle CGI tasks.

    --
    The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
  53. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

    I just went to your web site, and I gotta say, you'd think a Java professional would have already read the Java FAQ. But I guess you're not a professional, given the noted lack of diplomacy in your reply. Jerkwad.

  54. Java will be fast RSN? by navindra · · Score: 1

    Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers

    *ROTFLOL* Do you know how long people have been saying that? This line must have been quoted since the very beginning of Java's existence. :-)

    I agree with most of the rest of what you say.

  55. java? by spiderlog · · Score: 0, Troll

    Only grandmas use java. the rest of us want to get shit done.

    1. Re:java? by Anonymous Coward · · Score: 0

      exactly, shit.

  56. Re:Really? by fenriswolf · · Score: 3, Interesting

    Java is fun and all, and usefull in web aps, but face it, you cant write an FPS in java, and you cant really write a java kernel. The language is useful in certain things, but if you need performance, you have to go more low level, like C/C++ or assembly.

    --
    Welcome to my land of make believe.
  57. No. by Gruneun · · Score: 2

    I'm quite aware of what JavaScript, JScript, and VBScript are, having coded in all three. I can guarantee that, despite some shared ideas, they are significantly different. In an attempt to steer the crowd in their direction, Microsoft created their own spec with the name being made similar only to confuse people (which has apparently worked :).

    This should shed some light on the differences between JScript and JavaScript:

    JavaScript vs. JScript

  58. Re:really? by WolfWithoutAClause · · Score: 2

    >You'd have to write the program such that it generates no garbage at all

    Yeah, it's a nuisance, but it's not rocket science.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  59. Re:Depends on your definition of "overtake".. by quintessent · · Score: 2

    But if they reported it that way, it wouldn't be newsworthy, would it? The media are not there to report the facts, they're there to attract readers so they can keep making money.

  60. Re:The Right Tools for the Job by frank_adrian314159 · · Score: 1
    I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox.

    And therein lies the rub.

    CPU manufacturers continue to support only specific languages well - C, C++, Fortran, etc. When the CPU manufacturers start making Java chips so that the only way to run C code is within an emulator, will you still be taking the same point of view?

    The reason people get upset about their languages is that they know the industry keeps driving towards specialization - they like making a one-size-fits-all "solution". And if their language isn't popular, it gets destroyed by lack of hardware support. Look at Lisp and Smalltalk. Wait for functional languages like ML to be stillborne when their functional models can't fit well with Java libraries.

    I'd be quite willing to continue to use my screwdriver, if the Suns and Intels of the world wouldn't keep starting to make Torx(TM) fasteners.

    --
    That is all.
  61. And it'll still be #2 by X-Nc · · Score: 1
    I can see Java overtaking C/C++, especially garnering the VB people. But it's likely that it'll still be in second place to...




    Wait for it...




    COBOL!

    Yes, that old, supposedly dead language is still the #1 for new development projects in the world.

    If you think COBOL is a dinosaur and should be put to sleep you might want to do a google for COBOL. It's got things that you wouldn't believe (OO, x-platform, the best data manipulation, etc.).

    For those who will probably rate this as flamebait all I can say is that it's a shame these non-developers with no knowledge of the development world can have such a say.

    --
    --
    If I actually could spell I'd have spelled it right in the first place.
  62. Re:Jscript is the same thing as JavaScript by kisielk · · Score: 1

    Actually Microsoft's implementation of JavaScript (JScript) had a bunch of Microsoft-specific code while still being compatible with JavaScript. So Internet Explorer could still use JavaScript, but Netscape and other browsers could not run JScripts with the Microsoft specific extensions.

  63. Re:Java and templates by Anonymous+Brave+Guy · · Score: 1

    This would be the totally uninformed bit that annoyed Bjarne and co, then. There is way more to templates than just generic containers. It's too bad all you Java evangelists haven't bothered to read a single book about it, so you have the slightest idea what you're talking about.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  64. Re:Java Servlets by mightbeadog · · Score: 1
    I don't think CGI always requires a new process anymore.

    But the advantage of servlets is that they are part of Java, and Java and OO are a good way to deal with a big enterprise opperation with lots of business logic and connections to various DBs, legacy systems, and other such crap. In other words, if you have a big enterprise app that happens to have an HTML front end, Java and servlets are the way to go. On the other hand, if you are just wiring a few web pages into a DB, then perl/CGI or PHP are quicker and simpler.

  65. Re:Really ?? by Anonymous Coward · · Score: 0

    Stroustrup should be horse whipped for tying his bloated mess to C. I think I'll start working on D.

  66. Your all forgeting custom business software by Anonymous Coward · · Score: 0

    C/C++ will maintain it's grip on systems and native application development for a long time. However in the vast market of custom developed business software Java will dominat C++. Writing business logic in C++ is just overkill. It's a complex language c.f. Java and should only be used where needed. Java's main competition in this space will come from .NOT

  67. Re:What about project size? by rreyelts · · Score: 1
    Daniel Dvorkin wrote:

    I'd guess that the vast bulk of Java development is for relatively small applets and servelets...

    I don't believe that is true at all. Why the big hype about J2EE then, which encompasses a whole host of enterprise technology including Servlets/JSP, JMS, JDBC, EJB, JNDI, etc...? The last two projects that I've worked on have been writing supply chain systems for DaimlerChrysler and Boeing. I'd hardly call that small applets and servlets.

    That being said, unlike a lot of posters here, I don't see speed as being a permanent impediment to Java's growth.

    HotSpot has definitely improved Java speed greatly. JDK1.4 also includes some tremendous performance changes for Java with additions like file mapping, asynchronous i/o, native byte buffers, and volatile images to the API. You're about to start seeing some kick-butt client-side applications (including games) for Java.

    For example, check out www.javagaming.org.

    God bless,
    -Toby Reyelts

  68. Re:Really ?? by pdiaz · · Score: 1

    Templates?. Try Ada 95 generic packages, or learn about Haskell 98 class types, and your opinion of the 'great' C++ templates probably will change

    --
    Make It Secret . Free JavaScript implementation of AES for your browser
  69. Re:Bring out the Java vs C++ Trolls by Anonymous Coward · · Score: 0

    and thats all I ever want to read so /. is stuff thats relevent to your life only. Blahh

  70. Re:XP effects? by beamed · · Score: 1

    Buggy browser-included 1.1.x JVM's were a disaster for Java on the client-side.
    Microsoft is doing us a favor by not including its own version of Java with its OS anymore.

  71. Re:Java as a teaching language by Cowculator · · Score: 1

    You may be right (and I should know, since I took the exam two or three years ago during the "Bigint Case Study"), but it's getting worse. The year I took it, a number of students at my school took the AP exam after a somewhat accelerated intro programming class (instead of the 2nd year AP course). They knew all of the important concepts except file I/O (using fstreams) and for a lot of them who were on the border between 4 and 5 (and ended up getting 4), that may have cost them the points they needed for a 5 because they were expected to know how to do it.

    If they had been told "You will receive input from the function int GiveMeANumber()," as the Java students will be told, a few of their scores could have improved...

  72. Let us rejoice in ML by Anonymous Coward · · Score: 0

    Why not delve into the mysteries of ML, then? It's certainly more aesthetic than Java will ever be, and has it's own core of loyal, grassroots followers. Now, granted, their battlecry seems to be "beauty over algorithm speed", but hey, that's what this day and age is about, isn't it?

    Oh wait, you means the beauty of OO development and programming? Then it should be Smalltalk. It's much more OO than Java.

    Answer's simple. It's not about aesthetics; it's about speed and security. Java isn't perfect at either no matter what Sun's propaganda may say(coughClassLoaderandnamespacingcough), but dev time IS quick, and is being recognized as more important than execution time (and to some lowlife companies, program correctness).

    I personally like C better than Java since I don't have this fear of pointers most people seem to hold, and I'm very sorry to hear that Java's overtaking it, but I can't say I'm surprised that it's happening either.

  73. Re:Other languages and bytecode? by fcrick · · Score: 1

    AverStar created AppletMagic, which is able to compile Ada95 down to Java bytecode. Good language to check out if you aren't glued to C syntax, and hey, Ada powers all of our nuclear weapons too.

    --
    Your signatures belong to me.
  74. Re:"Java can't do everything?" by Anonymous Coward · · Score: 0

    Jeez! Next you'll be telling us that the tooth fairy doesn't exist.

  75. Re:office suite by Anonymous Coward · · Score: 0

    IBM's VA is written is Smalltalk!

  76. Java for high level, C for low by jonabbey · · Score: 2

    What's making Java so hot is not that it is a better systems programming language than C or C++. It clearly is not. What's making it hot is that operating systems, databases, graphics libraries (OpenGL, etc.), and many other high performance C/C++ code modules have been written which less performant Java code can run on top of. The high performance stuff runs with high performance, and the programmer who wants to build something new gets a safe, productive, and reliable programming environment, without having to worry overly much about where their code is going to be deployed.

    Everyone wins. And, of course, the people writing the high performance foundational modules are likely to be fewer than those writing applications on top of them, just as there are far fewer Linux kernel hackers than there are programmers writing code for deployment on Linux. So, from that perspective, I can see C and C++ receding somewhat in dominance.

    The same thing's been happening in UNIX for the last 10 years with Perl, Python, and Tcl/Tk.

  77. Re:I can't buy what you're selling by MSBob · · Score: 2

    Nope. I have to endure JBuilder in my daily work (yes I'm a suffering java developer who couldn't get a decent C++ gig). JBuilder is NOT acceptable by any stretch of imagination. Any application that takes 40 seconds to launch on a 800MHz PIII has serious performance issues. And it's full of bugs too lest we forget.

    --
    Your pizza just the way you ought to have it.
  78. Re:really? by WolfWithoutAClause · · Score: 2

    >I didn't make the example, you did :)

    Nope. Check the top of the thread. That was HeUnique.

    >even C++ is not fast enough for DVD decoding

    C/C++ is fast enough for DVD when you supplement it with a decent vector library and some bitblt type of thing for writing to the screen. And the same is true of Java. Whether that counts as 'writing it in Java' or not, is of course arguable, but show me pretty much any program and I can show you some assembly in a standard library somewhere. (e.g. memcpy)

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  79. Really ?? by terrence · · Score: 1, Offtopic

    I think I love C/C++ more than Java which is owned by Sun.

    --
    -- Terrence Ma
    1. Re:Really ?? by catseye_95051 · · Score: 3, Interesting

      "C... i think I love you... but I want to know for sure...

      come here and hold me tight... oh you move me..."

      Showing my age, but its so ncie to see someone blindly in love :)

      For the record and FYI, the defintion of Java is controlled by the JCP, an open standards organization that anyone can join.

    2. Re:Really ?? by andyh1978 · · Score: 2
      Stroustrup should be horse whipped for tying his bloated mess to C. I think I'll start working on D.
      That's going from one extreme to the other :-p

      You have to be in an OO mindset to write good C++; but when it comes to compromises for the sacred reason of 'performance', at least with C++ you can fall back closer to the metal. Java doesn't give you the option; it has a laudable aim of being write once, compile anywhere, and pure-OO, but it's simply not true, with the differences between VMs.

      C++ doesn't pretend to do that; it defines a language and the STL that are platform independent, and then you hook it in with platform-dependent libraries for whatever system you're compiling it with. If written well, you can abstract everything enough and have conditional compilation for every platform, which gives you the compromise between speed and platform-independence.

      Java, and dare I say, C#, are going for the 'maximum abstraction, minimum platform dependence' approach by effectively _being_ a platform. When it comes down to it, C and its sucessor C++ have had several years of development by some of the greatest authorities in software engineering, which is pretty hard (not impossible, but hard) to beat.
    3. Re:Really ?? by Anonymous Coward · · Score: 0

      C and C++ are completely different. C is a small, beautiful and clean language. C++ is an ugly monster suffering from feeping creaturism. Consider this: OpenBSD includes only one C++ application. Repeat after me: C good. C++ disaster.

  80. Ugh, so much Java mythology... by qon · · Score: 3, Flamebait
    Sigh. Every time Java comes up on /. I keep seeing the same bogus misunderstandings, over and over:

    Java is so slow.

    Yet no one here ever complains about the slowness of PHP, Python, bash, etc. -- scripting languages that are almost by definition slower than Java in most circumstances. Why does the speed complaint only get leveled against Java?

    The point is that, much like PHP, Java is plenty fast enough for what people use it for. I use it for web application development, and the performance is more that just acceptable. It's lightning fast. I think this perception is fostered by the ancient JVMs that ship with Windows and IE, which are major releases behind the current state of the art.

    No one uses Java for GUI app development.

    LimeWire, which IMHO is the best Gnutella client out there, is pure Java. It's very responsive, feature rich, stable, and less than 1MB, about the same size as XMMS. Hardly what you'd call slow bloatware, which is the usual complaint.

    Sun owns Java. Java isn't free.

    I could mention Tomcat, which is open source and which we use in production where I work. But then someone could complain that the JVM we're running it on is still proprietary to Sun...

    Haven't any of you heard of Kaffe, GCJ, or GNU CLASSPATH? None of these things are what I would consider production-grade yet, but the point is, Java is only as closed as people want it to be. If you don't like the fact that the best JVMs are all proprietary, then by all means, contribute to one of the many free Java projects out there!

    Get past the myths. Java won't solve every programming problem, but if you don't like it, at least complain about the parts that *do* suck (like java.io.* :)

    Q

    1. Re:Ugh, so much Java mythology... by arodland · · Score: 1

      what about how limewire's linux download is, for whatever reason, 11 meg, while gnut, with 90% of the same features network-wise, and enough features for me UI-wise is a 500k download?

    2. Re:Ugh, so much Java mythology... by STSeer · · Score: 1

      LimeWire's UI is slow as hell compared to anything non-Java on my computer. It is definetely not "very responsive".

  81. Re:Sweet Fucking Christ by Anonymous Coward · · Score: 0

    I concur

  82. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

    I've been using JBuilder 4 for daily work for quite a while and have not experienced the performance issues you speak of. I have a 550 MHz celeron with 128MB of RAM and rarely have performance problems. I found that memory contributes the most to performance. I've also used a 333MHz UltraSparc with 256MB of RAM and JBuilder ran as fast as any other IDE I've used. The only performance issues I've had with JBulider are related to the visual designer. Other than that, it's been a wonderful tool.

  83. Re:I love C++ but ... by Anonymous Coward · · Score: 0

    I'm primarily a C++ programmer and I've tried twice to move over to Java but went back. Depsite all the baggage that C++ is stuck with due to C compatibility, it's still less broken than Java.

    Every time I code in Java I end up banging my head against the wall over some of Goslings early design decisions. Here's my top 10 list (in no particular order):

    1. Any decent C++ programmer has standardized on using exceptions for error handling, and exceptions are broken in Java.

    2. The final keyword is broken.

    3. The distinction between primitive types and class types is arbitrary, annoying, and frequently causes you to write extra code.

    4. They couldn't seem to figure out whether the language should be statically or dynamically typed, or weakly or strongly typed, so you have to deal with different type checking behavior depending on the type and context.

    5. The tasking/threading model sucks.

    6. AWT and Swing both suck.

    7. Java code is full of casts to and from Object, many of which are unsafe due to weak dynamic type checking.

    8. No separation of declaration from definition makes browsing code harder.

    9. The distinction between inheritance and interface/implementation is arbitrary.

    10. Tying modules to files is too restrictive.

    There are a lot of things I like about Java, but considering it was a clean sheet design (unlike C++), they sure got a lot of things really wrong.

  84. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

    Hey, every use JBuilder 5 from Borland? This thing is a full GUI based IDE written in 100% Java and it has exceptable speeds - it isn't the fastest IDE - but it is fast enough to productive in. And the same codebase runs on Linux, MacOS X, and Windows.

  85. This article doesn't mean very much... by znaps · · Score: 1
    Java is too diverse to do a survey like this without splitting it up into smaller parts.

    Where is the increase happening ? I suspect the vast majority of it is on the enterprise side which people tend not to think about (they think shrinkwrapped and installed on their desktops).

    I'm sure we'll also see another massive jump in the next 2 years with more use by developers of J2ME (the micro edition of Java for cellphones and PDA's) being adopted....and your average joe will notice this. Java on the client side isn't really dead, it's been waiting for a better platform than the desktop pc.

  86. Re:why? by kentyman23 · · Score: 1

    dude, games are operating systems are not the only things coded. even if 0 games (and of course) operating systems were coded in java, it could still end up more popular than c++.

  87. Re:really? by WolfWithoutAClause · · Score: 3, Informative

    Um. AltiVec's C API is presumably coded in assembler. So you can't do really fast DVD in pure C either.

    Anyway, you can call C APIs from Java. So, yes you can write a DVD in Java, as much as you can write it in C! All the hardwork is done in assembler anyway...

    There's probably nothing that C compilers do that can't be done by a Java VM. Some of the VMs use C backends anyway.

    (Not that I'm claiming that current Java VMs are optimising for vector stuff, they may very well not be).

    >I'm having trouble imagining a Java tool that could automatically
    >vectorize code where Java has no way to express vector operations.

    Well, Fortran can optimise vector stuff fairly well. If the VM spots similar structure in a Java program it may be able to implement the same optimisations. I'm sure the devil's in the details, but it's not impossible.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  88. Re:Less Visual Basic Programmers by blue+trane · · Score: 1

    that would be: "give me a BREAK."

  89. Re:Really? by DeadeyeFlint · · Score: 1

    Java is fun and all, and usefull in web aps, but face it, you cant write an FPS in java..
    But damn close, see:
    http://www.babeloueb.com/arkanae/en/index.html

  90. Re:Really? by chandas · · Score: 1

    You know, here's where I think too many Slashdotters are hypocrites. First they say I have Linux running on a 486 or a P100 or whatever old computer that can't run MS's bloated OS. I mean Christ 128 meg of RAM??? etc etc. Then they root for a technology they can't even use on those same computers. What gives?

  91. Re:I dont think so..... by Anonymous Coward · · Score: 0
    I can take your C app that is 100k and do it in machine code for around 5k. I have done this before just to prove it to people! Time to scrap C! Oh yeah, your C app will take a heck of a lot more processor to run also. Understand the argument?

    Lets see...

    If you have an embedded device with only 128KB of memory in all and only 28KB are available for the app, then you WOULD have to scrap C and move to assembly in that case.

    He was only pointing out that Java isn't suited for everything. Neither is C, but thats the point.

  92. As always... by Anonymous Coward · · Score: 0
    ...the /. crew is being pissy about something they don't like. Look at all the "when will you write the kernel/X/whatever in Java then" comments.

    News flash, kiddies: You're way, way out of the mainstream on a lot of computing issues, and this is one of them. In heavy-duty, commercial app. development things like stability, speed of implementation, ease of coding, support for direct database access, etc., are far more important than wringing the last bit of performance out of your code.

  93. Re:XP effects? by dnmetz · · Score: 1
    There was news that Windows XP will not ship with any native support for Java. Certainly, a user could add Java support him/herself, but how many users are going to take initiative to do so?

    Non-techie thinks: Hmmm...what we need is a new worm...infect IIS...IIS remote installs java...

  94. Quake by delmoi · · Score: 2

    Actualy, John Carmack was thinking of putting a JVM into quake to handle scripting, but later decided to go with plain C because he was worried about support issues of using more extermal technology.

    --

    ReadThe ReflectionEngine, a cyberpunk style n
  95. Re:Good-bye VB! by Khalid · · Score: 2

    Simply because it's a Microsoft product duh !

    It's just another tool for Microsoft to exert it's evil power, and this more than enough for many.

  96. Re:Less Visual Basic Programmers by ackthpt · · Score: 2
    Microsoft provides, IMNSHO, the best and easiest to use documentation

    Microsoft = Worst manuals, ever! They're really of any use once you've gone through some of the better IDG publications and have an idea what tool you're really going to need for the application, as some manuals are organized by alpha, and have no index at all (e.g. Microsoft Visual Basic 6.0 Language Reference)

    IMHO, the best first book for VB is O'Reilly's VB in a Nutshell, if you care to even learn the language. The M$ books are matches of what comes with the online help, and it's ok for some things, but the depth just isn't there. I've coded for over 20 years in a dozen languages and have some pretty definite ideas of my approach to a problem, when I can't get it to work in the language and the help only goes so far I hit msdn, pbdr.com, vbnet, and anything else I can find with Google. Ultimately, for sophisticated code, VB is just plain weak. Nice visual interface and builder, but the language should have died at Quick Basic.

    As far as the code-less application, yeah, try to do any _real_ database work that way. Foo.

    --

    A feeling of having made the same mistake before: Deja Foobar
  97. Re:Java is more than you think... by droleary · · Score: 1

    Yes, you missed the point. First, the VM based versions of Java (using adaptive compilation as opposed to simple interpretation) are now very competitive with C++ speedwise. Sometimes slower, sometimes faster with usually a fairly small delta.

    I have to laugh every time I see these claims, because the people making them always fail to back them up with proof. Please give hard evidence that Java is on par with C (within 10% of both CPU and RAM usage) for a significant, parity task. No bogus benchmarking, please; let's keep this in the real world! If you like, you may even compare it to a real OO C-based language like Objective-C, but not C++, which is one crappy OO language.

    C is generally more efficient, but you lose object orientation.

    Spoken like someone who doesn't really understand OO. OO programming can be done in any language, even C, though certain things are made easier for the programmer if the language has OO support.

    Java is open, productive, fast, cross-platform, widely taught, supported by every significant software company, and somewhat future-proof. What other language/platform comes close?

    Uh, how about C? In fact, it's true of any language that was popular for at least a year. For those of us who lived through the C++ hype, you people who are riding the Java bandwagon are downright funny. They're all just languages, not ways of life.

    The real proof will be forthcoming - when many anti-Java Luddites are in the unemployment lines, still complaining about it... ;-)

    The C++ people said the very same things . . .

  98. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

    counting the startup time of the Java run time is almost like counting the boot time of the OS in the laod time of your APP - But you do have a point - startup time in Java is SLIGHTLY slower than for native apps because it has to load the JVM. After that though 95% of the performance differences go away completely

  99. True, to an certain extent by roguerez · · Score: 5, Informative

    With JIT compilers becoming faster and faster, and the paradigm shift of user applications from autonomous programs to web applications, Java is becoming more important.

    However, C and C++ will remain very important, for example for system programming. A lot of Unices, MacOS and Windows are built on these two languages. Component, object and application frameworks like MFC, KDE, QT are written in them. A very large application base is written in them and it will not be replaced overnight.

    I don't think Java will ever completely take over C/C++, simply because the hardware accessibility just isn't in Java and you need it when programming an OS.

    But when building a new application, Java is more often than not a better choice than C/C++, simple because it was build with networking in mind.

    1. Re:True, to an certain extent by Rimbo · · Score: 2

      I don't think Java will ever completely take over C/C++, simply because the hardware accessibility just isn't in Java and you need it when programming an OS.

      Yes, but that's simply because it lacks the libraries for it. There's nothing keeping Java from having those libraries, either; it can work just as well as target-system-compiled code as byte-compiled code.

    2. Re:True, to an certain extent by bare_naked_linux · · Score: 1
      Why do slashdotters keep referring to OS or kernel programming as a reason Java will not overtake C and C++? From what I understood, the article was talking about the number of developers developing in Java, C, or C++. Yes, operating systems are of crucial importance. Yes, you must have a kernel. However, the amount of OS and kernel development is very small when compared to the development of all other software.

      Based on the many benchmarks I've read, Java can be proven to be faster, as fast, or slower than C++, depending on how you want to benchmark and what you want to test. Common sense would suggest that a program byte-compiled can not be faster than a program which is natively compiled. However, JITs can sometimes actually make execution of bytecode faster for certain operations.

      It is my humble opinion that Java gets the majority of its reputation as a slow language form swing, the GUI API built on top of another slow GUI API, awt. Also, early implementations of Java runtimes were slow. They've gotten much better. Unfortunately, swing hasn't.

      If you like the Java language for development (as I do), but don't care for the multiplatform use of bytecode, the latest version of the GNU compiler can now compile Java code into native code. Also, such projects as java-gnome are overcoming the swing problem by accessing gnome APIs with native calls.

      --

      --
      Unscrample my email, win a prize.

    3. Re:True, to an certain extent by chris.bitmead · · Score: 1

      Not many OSes are written in C++, most are C. C++
      is too bloated and too hard to optimise for
      for most people's taste in writing a kernel.

      As for general system's programming, there is mostly
      no reason why Java + JNI couldn't do the job very well. There would be some situations where C is better, but not that many.

    4. Re:True, to an certain extent by roguerez · · Score: 2

      Not only the .net (pun not intended :) libraries are important in this respect. Also the portability, running in a web browser and running on a server as a servlet, have to do with it.

      This is what I mean with 'networking in mind'.

    5. Re:True, to an certain extent by mj6798 · · Score: 1
      A lot of Unices, MacOS and Windows are built on these two languages.

      This is actually a liability: just look at the endless stream of buffer overflow problems, core dumps, data corruption, etc. that applications in all these systems exhibit.

      Component, object and application frameworks like MFC, KDE, QT are written in them.

      And those systems are complex, fragile, difficult to extend, and resource intensive because they are written in C/C++.

      A very large application base is written in them and it will not be replaced overnight.

      Adopting Java or another new language doesn't mean you have to give up on using your favorite C/C++ applications. However, in a HLL (not necessarily Java, which is still pretty pedestrian), many of the KDE and Gnome applications that have taken a long time to write and debug are quick little hacks.

      I don't think Java will ever completely take over C/C++, simply because the hardware accessibility just isn't in Java

      Neither C nor C++ have "built in" functionality for "hardware accessibility". It happens to be the case that many C/C++ implementations use cast notation for giving you access to low-level features, but those extensions are not defined by the standard, and they do not work everywhere. Using cast notation in this way is a rather bad way of doing things anyway because programmers can't easily tell what kinds of low-level, unsafe, or unportable features a program uses.

      The right way to provide hardware access is via a special library that contains all the operations C/C++ programs use. Then, programmers can tell when unsafe, low-level features are being used. The compiler can still optimize implementations of these features as much as in C/C++. I believe some of the embedded versions of Java offer these features.

    6. Re:True, to an certain extent by roguerez · · Score: 2

      I agree, although even for some optimised stuff Java is suited well too. The math routines seem to be rather fast (I believe especially using IBM tools). With this stuff, as (JIT) compiled code, performance is comparable with C/C++.

      Wouldn't want to write a device driver in it, though.. :)

    7. Re:True, to an certain extent by melatonin · · Score: 1
      But when building a new application, Java is more often than not a better choice than C/C++, simple because it was build with networking in mind.

      It has nothing to do with Java having networking built in mind, it's just the java.net libraries.

      If it's important to you, build your next app with a good base library. OOP can be a royal pain unless if you have a good framework to build on. C++ doesn't have one (just model objects & stuff). Java has a fairly crappy library that's supposed to scale from applets to servers.

      Something (crappy libs) compared to nothing (C++) tends to win.

      Personally, I find GNUstep and Cocoa to be much more useful and productive.

      --
      Moderators should have to take a reading comprehension test.
    8. Re:True, to an certain extent by cthrall · · Score: 1
      But when building a new application, Java is more often than not a better choice than C/C++, simple because it was build with networking in mind.

      Or you can download ACE and get it all for C++. One of the most productivity-enhancing uses of design patterns I've ever seen.

    9. Re:True, to an certain extent by javarome · · Score: 1

      Sure but the majority of developped applications are not system-related, but rather system-neutral. You want to provide services, functionnality, nothing else. Performance is about lower layers, which are today already quite optimized, and will be more and more in the future. System-level programming is no longer a future for people that want to provide business-level software.

    10. Re:True, to an certain extent by Anonymous Coward · · Score: 0

      >I don't think Java will ever completely take over C/C++, simply because the hardware accessibility just isn't in Java and you need it when programming an OS.
      This is no longer true, 1.4 version lets you write directly to memory.

    11. Re:True, to an certain extent by Khalid · · Score: 4, Insightful

      It's highly probable that the situation will remain the same for a long time if not for ever. You need to choose the right tool for the right task; and java will never be a system programming language, it has not been done for that. Java is a good application programming language, if you need to do optimised stuff, you will probably stay with C or sometimes C++

    12. Re:True, to an certain extent by bare_naked_linux · · Score: 1
      No, you can use gjc-gnome for native calls to gnome's APIs through gjc's own native interface specification. Also, you can use java-gnome through jni calls. That's pretty GUI.

      Personally, I prefer either of these routes over a native port of AWT (and latter SWING). However, having the ports would be a boon for developers wanting to natively compile existing Java apps.

      Work is being done at java-gnome to allow some of the controls to use a data model design like SWING to make things easier for the developers knowlegeable about swing and for those porting existing code to use java-gnome.

      --

      --
      Unscrample my email, win a prize.

  100. funny combination.. by ledbetter · · Score: 1

    So, in this one article they first talk about how Java is taking over from C++. However, they choose to write about people developing applications specifically targeted at Linux in the second part of the article. What language do the writers think they're using to develop these apps? C/C++ !

    If they were really using Java (or at least using it properly) these applications wouldn't be specifically targeted at Linux, but available for multiple platforms!

    1. Re:funny combination.. by WildBeast · · Score: 1

      Sweet, now Linux distributions will include software written in Java. Before you realise it, all of a sudden, Linux is more bloated than Windows. Java is not the way to go. We've got Python, Perl, Ruby, C, C++, PHP.

    2. Re:funny combination.. by javaman235 · · Score: 1

      Yeah, but the article IS important in alot of ways...A lot of the business world isn't totally comfortable with Linux yet, as the article states... The important role of Java for Linux fans is that it creates a safe way for businesses to experiement with Linux. If Linux sucks, the Java investment is still good because it can run on Win32. Think of it as a gateway drug ; )

      --
      -The art of programming is the pursuit of absolute simplicity.
  101. Re:The library base and more by Anonymous Coward · · Score: 0

    Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers.

    It already is a non-issue, this isn't something that is still in the "becoming" stage anymore. For 99.999% of software, Java is fast enough. For device drivers, stay with C and asm. For just about everything else, Java is ready now. It's over, the war is won.

  102. Why Java will overtake C/C++ by twan · · Score: 2, Insightful

    Cause Java is developed for the future it has HUGE potential to put all this hacking, rewritting, glueing, reinterfacing, rewritting called "programming" at least one tiny step further towards software development.

    Cause, its:

    - Skalable in Size

    From Palm, Webbrowser, Applikation upto Server and the important interconectivity in between.

    - Secure

    The Sandbox restrictions seem to got forgoten, but thats exactly what is need for a lot of stuff nowdays to deploy basic secure applications in a browser, there is still no real alternative. Server based solutions never can do all tricks, cause good user interaction has to be programmed on client side. Well downloading and installing application or glued flash, javascript and server systems can't be the final solution, please ?

    - Plattform independent

    In fact it is a platform on its own. Whats missing is a Java OS (based on Linux and/or MacOs and/or Windows?) and off you go...

    - Sophisticated, Huge and Clever APIs

    They are getting better and better and more stable.

    Try to connect to a database, do a 3D visualisation of the data and send an Email with the resulting picture ... go figure in any other language with any set of API(s).

    - Prospering in all directions

    C/C++ is already dead a few years, it seem to have stopped at defining some cool but useless class keywords and a freaky "STL" ? On the oposite Java is not really pure Sun anymore nor IBM... its already a multifendor platform. Even Microsoft has smelled it a while ago and now tries to sneak in before it really hurts. Strange the Linux people continue flogging the dead horse, with basicly no real useable APIs for application development, trying to define there own ? A operating system is nothing without good APIs (and thats not just drag&drop and some windows, but also Printing, Audio, Video, 3D, Registry, Databases, Plugins, Components), what is missing for Linux, Java already has it ? But Unix has to be C right ?

    - Skalable in Speed

    Java VM is complete abstract, the language and the API (the main part of Java) are not realy tied to the VM ... it could be redefined any time and the current VM is hopefully not the last in compiler technology, especially Software/Hardware hybrids (like Cruso) can make a lot more out of it... well a lot more than out of the 25 year old intel instruction set.

    And plug in a second CPU and Java will make instant use of it... in my opinion there would be options to make JAVA CPUs that would outperforme every now available CPU by using multithread architekture in a single PU. Classic single CPU speed will get less scalable and to get out of the MHz drain multi instruction computing has to become more aware... guess which language has one of the best and most reliable multithreading programming architecture... even novices know how to programm a thread in Java... ever written more than one in C++ ? And got it synchronised succesfull ?

    - Software Design

    There are so many C/C++ design pitfalls (Header and Implementation seperation, Pointers, the quer STL, Operator overloading, Preprocessor and Macros overuse) that make software development a pain in the ass. Java has building blocks of software development and is extended only with features that are necessary and make sense.

    - Complexity

    Java has the power and the clearness to write and maintain applications off higher complexity. In my opinion many software projects (C/C++) are doomed to crash soon or later cause of there unmanagable complexity (the version 4.0 burn out ;)) ... if the core concept of the project is not good it will wash out and get riddled... Java has a good core concept and at least the programmer is not responsible to rewrite basic functions if there is a new OS or bullshit API that thinks it has to reinvent the well more round.

    - Its allready #1 for a lot of things...

    I know more people starting in Java than in C/C++. It is the language that is teached in scools and universities... cause one can get things done and not has to write a suitable String class nor learn the wired secrets of some oldscool APIs to popup a window.

    something will overtake on the left lain ... watch it fly by !

    Not that it will knock C/C++ from the street... but who is driving Assembler these days ?

    1. Re:Why Java will overtake C/C++ by twan · · Score: 1

      - Scalable in Size

      >... how is that "better" than C/C++?

      C/C++ is the language, what can you do with it without a API ? Nothing, so there is nothing to scale on C/C++.

      I meant the Java API is scalable.

      - Secure

      >Firstly, in a proper OS, language level security >isn't needed. Secondly, that lack of security in >C and C++ makes them more powerful.

      Simple, programs than run for example in a browser are running on YOUR machine and can do anything they want (from sending you private documents over the internet upto installing the DOS attack bot). The Java API has is scalabe and has configurable securtiy mechanisms to example switch off file support in its API. Or limit network access.... no OS can really do that right now.

      And C/C++ has not even an unsecure API, but that makes it not more powerfull.

      - Plattform independent

      >No, Java only runs on the Java platform, which >happens to be emulated on many other platforms.

      Well the Java API is platform independent then. Try to write a programm that should run on Linux and Windows and MacOS, guess what you have to write... your own platform API. Java has already done that.

      >If we compiled C or C++ for the Java >environment, it'd be platform independent as >well, and you could have all those security >things, too.

      As soon as you have pointers to memory you can do(with the proper know how) anything you want ... fast but never secure.

      >- Prospering in all directions

      >You mean that Java is an unfinished, changing >languages, rather than a fixed and stable >language? This is a good thing?

      Ok, not in first glance, true.

      But on the second it still has evolution and the APIs are expanding and get more complete and powerfull. C/C++ has no APIs at all. Or is the stdlib matching the needs of today in any way ?

      >And btw, you don't have to use every feature a >language has to offer.

      Exactly, so new Java features are a bonus.

      - Skalable in Speed

      >Now that's interesting. Have a link about >automatic use of extra processors? Uh... Intel >CPUs are not the only possible target for C/C++ >compilers!

      ... and CPU speed is the most important issue right ?

      Mean the java compiled classes have enough info to get recompiled, that is what for example JIT compilers do.

      C/C++ is not just for Intel CPUs but the .LIBs, programms and APIs you write your programs are, even so little details as machine endian or 32/64 bit CPU are not handled probably ... when speaking about Java, one only has to port the Java API to the new platform or CPU, there is the total freedom of porting it to any hardware architekture ... the information of a java programm is in the Class structure and usage of it not in the lines of code or the assembler instruction set.

      Links, sorry not at hand... but Java makes Intel CPUs one out of many, cause they are not tied to it in any way.. even the Java VM introduces features that allow complete new CPU architectures, as for example multithreading CPUs, hardware exception handling, different instruction sets, runtime optimization of code etc... it is the fastest way out of the limited x86 instruction set and architekture.

      >- Software Design

      >These issues are all related to the programmer. >Personally, I like pointers. Yeah, you have to >be careful with them, but wreckless programming >is probably a bad idea anyway.

      Ever worked with more than 1 person on a project over longer time ?
      Open sources projects i saw are horrible in maintance and coding styles, cause everybody introduces there own style, knows more macro or operater overloading and compiler tricks... it is just not mantainable. I mean not even an unsigned 32 bit integer is standarised: unsigned, DWORD, TU32, uint32, ulong, etc.

      >There is no rule that says you have to use the >STL.

      Which makes C/C++ has not even its standariesed collection classes.

      >- Complexity

      >Java is not immune. Java is not a magic bullet.

      Not the magic bullet. But lot of common sense.

      >Wait until many Java spplications are at version >4.0 and get back to me. C++ gives programmers >the freedom to write clean or messy.

      Exactly. But 2 clean talking C++ people still can often not understand each other ;)

      >Well, you don't have to write your own string >class. Nothing's to stop you from using the >string class that comes with your libraries
      >(like, say CString), and nothing's to stop you >from using C-style string functions.

      Yeah, but would it be nice to have a string class that is already powerfull enought to handle everything one want possible ever do with a String (including Unicode, and Kanji strings) ? And not go figuring everytime one has to incoperate a external lib what to heck do with the strings...

      >C++ is more flexible than Java because is locked >in to the Java Environment, the Java Libraries, >etc.

      Sure there are places where C/C++ has it advantages... but on the other side Java has its advantages and they are a step higher then C/C++ ...

      >Of course, this power comes at the cost of >complexity.

      Complexity which could be spend in other places, not to make killer "operatores", figuring out more clever macros and getting more wired casts around one pointer ... if you can do faster your homework there is more time for the interessting parts...

    2. Re:Why Java will overtake C/C++ by rabidcow · · Score: 1

      - Skalable in Size

      ... how is that "better" than C/C++? Ok, sure C++ compilers are such a bitch to write that small systems often won't have them, but how many systems have a JRT and no C++ compiler?

      - Secure

      Firstly, in a proper OS, language level security isn't needed. Secondly, that lack of security in C and C++ makes them more powerful.

      - Plattform independent

      No, Java only runs on the Java platform, which happens to be emulated on many other platforms. If we compiled C or C++ for the Java environment, it'd be platform independent as well, and you could have all those security things, too.

      - Prospering in all directions

      You mean that Java is an unfinished, changing languages, rather than a fixed and stable language? This is a good thing? And btw, you don't have to use every feature a language has to offer.

      - Skalable in Speed

      Now that's interesting. Have a link about automatic use of extra processors? Uh... Intel CPUs are not the only possible target for C/C++ compilers!

      - Software Design

      These issues are all related to the programmer. Personally, I like pointers. Yeah, you have to be careful with them, but wreckless programming is probably a bad idea anyway. There is no rule that says you have to use the STL. The other things you've listed can be beneficial as well. Black boxes aren't always a good thing.

      - Complexity

      Java is not immune. Java is not a magic bullet. Wait until many Java spplications are at version 4.0 and get back to me. C++ gives programmers the freedom to write clean or messy.

      not has to write a suitable String class

      Well, you don't have to write your own string class. Nothing's to stop you from using the string class that comes with your libraries (like, say CString), and nothing's to stop you from using C-style string functions. Writing your own string class is a good way to really get to understand how strings are stored and manipulated by the computer. Without this understanding, one might be lead to wonder why an XML document would be so much larger than a plain binary version.

      C++ is more flexible than Java because is locked in to the Java Environment, the Java Libraries, etc. Of course, this power comes at the cost of complexity.

    3. Re:Why Java will overtake C/C++ by Anonymous+Brave+Guy · · Score: 1

      OK, this one was so full of ill-informed rubbish that I feel the need to respond. I'll choose a few points at random, since I haven't got all day to correct every one.

      C/C++ is the language, what can you do with it without a API?

      C and C++ are two quite distinct languages. They are typically combined with libraries available for whatever target platform(s) are required to achieve the end product. In getting wrong these two basic facts, you demonstrate a total lack of understanding and experience with C and C++.

      As soon as you have pointers to memory you can do(with the proper know how) anything you want ... fast but never secure.

      Pretty much any modern system will provide security at the OS and hardware levels to prevent a rogue application from wiping things out by abusing pointers. The worst that's likely to happen will be crashing your own app. Since pointers should be used only rarely in C++ anyway (references are a more appropriate tool for most uses) it's easy to validate any code using pointers for safety.

      But on the second it still has evolution and the APIs are expanding and get more complete and powerfull. C/C++ has no APIs at all. Or is the stdlib matching the needs of today in any way?

      For the nth time, big & expanding != good. Look at the redundancy in AWT and Swing. Look at the woefully underpowered collections classes. These are children's toys, written by people with childlike eagerness to produce something new, and childlike naivety in doing so. They aren't improving, they're going backwards years at a time.

      And yes, thank you, the standard C++ library does solve the majority of my library needs. The occasional specifics -- which is all graphics, RPC and such are in most real applications -- are dealt with by using other well thought-out and carefully designed libraries. Why do you people keep suggesting that because something isn't part of a standard, it doesn't exist? Non-standard, but perfectly good, libraries for C and C++ exist to solve far more problems than the behemoth that is the Java library even knows exist.

      Ever worked with more than 1 person on a project over longer time? Open sources projects i saw are horrible in maintance and coding styles, cause everybody introduces there own style, knows more macro or operater overloading and compiler tricks... it is just not mantainable. I mean not even an unsigned 32 bit integer is standarised: unsigned, DWORD, TU32, uint32, ulong, etc.

      That's one of the major problems with Open Source development, and has nothing whatsoever to do with the language you choose. I am a professional software developer. I work on a project with more than a million lines of C++ code behind it, as part of a team split across two sites, that has been producing working, real-world code for several years. Occasional inconsistencies inevitably creep into this project, but nothing nearly so bad as you make out, even though more than 30 people have worked on the project over 6 or 7 years. It's not unmaintainable at all -- quite the contrary, since the senior designers produced what has turned out to be a very powerful framework for us to base it on. (They did that by using all those C++ features that are "disadvantages", by the way -- templates, operator overloading, etc. among them.)

      Which makes C/C++ has not even its standariesed collection classes.

      Huh? The standard library containers are always available if you want them. Furthermore, they form part of a well-designed, extensible framework, on which you can build your own extensions if you need to, in a nice, genuinely reusable way. Java Collections aren't even in the same league.

      Yeah, but would it be nice to have a string class that is already powerfull enought to handle everything one want possible ever do with a String (including Unicode, and Kanji strings) ? And not go figuring everytime one has to incoperate a external lib what to heck do with the strings...

      That's funny, I could have sworn that project I talked about earlier had been released in translation in 9 different countries, including Japan. I guess we must have used something that wasn't C++ for that bit, huh?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  103. The Right Tools for the Job by ChaoticCoyote · · Score: 3, Insightful

    "How many times do I have to tell you: Use the right tool for the right job!" -- Scotty, Chief Engineer, USS Enterprise.

    Now where do I fall in a survey like this? After reading it, I conclude that the surveyors asked "Do you use Java?", not "Do you use Java exclusively?". I know lots of people who program C and C++ most of the time while employing Java and other languages as required. In the last month, I've written code in C++ (65%), Java (20%), Python (10%), and Fortran (%5). So I count as both a Java user and a C++ user.

    What rattles my gourd is the way people get so defensive about their programming choices. Why do people get so worked up about one specific tool? I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox.

    Sadly, the programming business is replete with dogmatic fools who insist that their language or their technology can do everything from counting sheep to curing cancer. And that's just plain dumb (or at best, willfully ignorant, the greatest of sins.)

    A real software engineer uses the right tools for the job. Even Visual Basic is a useful tool, when it is applied to an appropriate task. The same thing holds true for C, C++, Java, COBOL, FORTRAN, Prolog, Lisp, and a myriad of technical tongues. We have all these different languages because different problems required different solutions.

    Surely programmers can be as wise as mechanics... ;)

    1. Re:The Right Tools for the Job by egomaniac · · Score: 2

      "I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox."

      Hmmm. Let me see if I can take a stab at it. Maybe, just maybe, it has to do with the fact that it takes *years* to get really, really good at a programming language. Boasting college-age geeks aside, you simply can't master a language overnight.

      You can bet your ass that if it took a mechanic years to become truly competent with a crescent wrench, he'd be trying to convince everybody that it was the best tool for every job. I don't see this as a remotely valid comparison.

      I hear a lot of people spouting the "right tool for the job" argument, but I always argue that in the real world people can't simply dump everything they know and learn another language because it's 10% more efficient for a particular problem. Dropping, say, Java and moving to C++ would be every bit as big of an investment as most of you dropping Linux programming and moving to .Net, because in the case of Java there are what, 4,000 classes which are part of the core APIs? That's an awful lot of API to relearn in order to switch platforms, and I don't think your crescent vs. box wrench analogy even comes close to describing the real situation.

      Maybe if you never used anything but System.out.println()....

      --
      ZFS: because love is never having to say fsck
    2. Re:The Right Tools for the Job by CrackElf · · Score: 2

      I have observed the same strange phenomena.

      The only theorem that I can postulate is that most of the (language) evangelists only know one language, and to rationalize it they try to put down other languages. Instead of "I do not use [language x] because I do not know the syntax" they say "I do not use [language x] because it is not as good as [lnaguage y] language". Ok, yes I am generalizing, but I am trying to figure out why there are so many people claiming that their language will be able to complete any and all tasks better. Maybe they are afraid that the other programmers thing is bigger.
      -CrackElf

      --
      "Blake is an idealist, Jenna. He cannot afford to think." - Kerr Avon, Star One, Blakes 7
    3. Re:The Right Tools for the Job by Norge · · Score: 1

      > Why do people get so worked up about one specific tool?

      Coming from the functional programming camp I can tell you that SML, O'Caml, Haskell, Clean, etc. people tend to get so worked up because so much energy and time is put in to arguing about whether C, C++, Java or Perl is better. I believe that for a significant chunk of general application developement (i.e. not writing OSes, device drivers or shell scripts) good functional languages are years ahead of most popular languages in language design. One important advantage that many languages (especially Java) have over functional languages is that huge libraries of freely available code exist already. At my job I am forced to use Java for compilers and circuit simulators and synthsizers. I could write the same applications in SML (the functional language that I am most familiar with) in half the code with one quarter of the bugs and mathematically prove that important parts of my algorithms were correct.

      Benjamin

    4. Re:The Right Tools for the Job by JFMulder · · Score: 1

      You are right on the spot. I know a few languages, c++, visual basic, java and LogoWritter (but who cares abou that last one heh?) and I totally agree with the statement that each programming language has it's advantages over another and each one is better at some task then the other.

      Take VB for example. This is not only a great language to develop a database application fast and easily and that's pretty robust, it's also an easy language to learn (don't know about VB.net tough) I remember moving from qbasic to visual basic in about a week, understanding the concepts without even reading a book, just looking at samples coming with VB.

      When I want to make something quick, I mostly use java. That's what I use often in my computer programming courses. It has already lot of support in forms of classes for UI, files, sockets, about anything you can shake a stick at, and then some.

      When I want to make something from the ground up, expect the best performances and want to know exactly about every behaviour that my application can possibly have I use C++, since I design all the tools myself.

      Personnally, I prefer C++, since it's the language I learned at school. VB would come second, but only because I started programming in qbasic 10 years ago and it brings back nice memories. Java would be third, but java's isn't just fast enough for what I do. It would probably come first though if you asked me what language is the more elegant and let's you make the job done faster. But developping somethign faster is not always the best case when at the end performance is critical to the application.

      That said, I may be a c++ evangelist, I have no fear of using another language to do the work faster.

    5. Re:The Right Tools for the Job by Anonymous Coward · · Score: 0

      Judging from the bizzare claims about C++ that Java-koolaid-drinkers tend to make, I'd have to agree with you.

      Java literally is the Visual Basic of the internet, in terms of how its used and who knows it exclusively.

    6. Re:The Right Tools for the Job by Anonymous Coward · · Score: 0

      I've heard enough spouting about using the right tool for the right job! Never ever use the right tool for the right job!
      Just use C. Hell, not only do I use C to program software, I use it to clean my house, perform mechanical repairs, and cook meals.
      C drives me to and from work every day. I also use C to brush my teeth. C is the right tool for every job. I'm dead serious. When C is not handy, I'll use angle cutters. Yes, even as kitchen utensils. But no more: it's just C or angle cutters for me.

      Learn from my example, unless you would rather listen to what some scipt writer wanted a fictional character to say!

  104. But ExtremeTech Says... by robbyjo · · Score: 1

    Java has to try harder.... for the scope on Open Source scope

    In spite of these disadvantages, Java is still second only to C++ in popularity. It has slightly more SourceForge projects than Perl, and is the only language to crack the top 25. Freenet, at #3, is the top Java project by number of downloads. This is probably somewhat deceptive, since Perl's CPAN pre-dates SourceForge, and many of the most popular Open Source Perl modules on CPAN are not hosted on SourceForge. Perl's popularity is a bit harder to measure because CPAN is widely mirrored. But looking at paying Linux jobs on dice.com also reinforces Java's Open Source popularity. Java occupies the second slot behind C++ and just ahead of Perl.

    --

    --
    Error 500: Internal sig error
  105. Re:One more misconception to fix by catseye_95051 · · Score: 2

    Oh I see.

    And you've never seen bqd C programs? bad coders can make crap in any langauge my friend.

    But as you've clearly stated you'ld rather look at bad Java programs then good ones I think you've just absolutely established that you are one fo those who "want to keep their illusions."

    Enjoy them. As a human you are entitled to them.

    Catseye

    "You can laead a horse to water, but you can't make him think."

  106. Good for me! by kurokaze · · Score: 1

    If that is true.. I can command
    bigger bucks to maintain C/C++
    apps and the fact that I know how
    to program is Java leaves me
    with a fallback :)

    Kinda like the Cobalt programmers
    during the Y2K frenzy..

  107. I love Java... by Anonymous Coward · · Score: 0
    First off I have only been programming in Java seriously for the last three months, I do know a whole range of other languages and I have transended the "My language is better then your language".

    It's simply a case of what gets the job done with the least amount of costs and quickest amount of time. Anyone who tells you otherwise is crazy.

    Why do I like Java? Well for starters it's easy to code and nice well structured code. It's easy to read other peoples code. (IMO).

    Java is slow? I honestly don't think so. Most of the people I've met who told me Java is too slow haven't used it seriously since 2-3 years ago or are still writing for the IE JVM. My only issue I have had is it is slow to load, once it's loaded into memory there is nothing wrong with the speed.

    You need a fast machine to run it? Tell me who here is a developer and doesn't use a fast machine? Personally I think PC's capped out around 700-800MHz for the office usage. Anything else your wasting your money and Java runs just fine at that speed.

    Java programs aren't nice? Only Java programs I use offhand (available to the general public) that I know of is JEXT, Forte and VAJ (not so often since I got Forte and I develop on linux platform). All three I would recommend.

    But I am not saying Java is better or worse then C++, I am just saying I like Java and it's certainly getting more of my attention now that I have started to seriously use it.

  108. Re:Nice try but.. Re:PROTECT OUR DAUGHERS and BOYC by imagineer_bob · · Score: 0

    > Patrick was just a developer on the green team. That's funny, that's not what Patrick told me! He claimed that he was responsible for taking a technology that was originally targetted for embedding into smart toasters, etc, and turning it into Java!

  109. More interesting statistics. by tjuricek · · Score: 1
    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.

    OK, 77.2 + 21.8 + 21.4 + 20.4 = 140.8 %

    Apparently, this is some kind of new version of statistics.

    (Man, I thought I was working hard giving 110%.)

  110. Re:Killer application effect by droleary · · Score: 1

    Problem: I can't point to a single Java app that I could call "killer", unless you count RAM and CPU as its victims. All computer languages have periods of popularity and decline. Java has crested, and I have to give credit to MS for at least trying to create/catch the next wave with C#.

  111. Re:Java Portable Apps? by javaman235 · · Score: 1

    Remember that the Java Micro Edition is actually a totally different version of Java than the JSDK...Its been desinged from the ground up embedded devices and such in mind, thus the performance flaws are minimalized...

    --
    -The art of programming is the pursuit of absolute simplicity.
  112. Re:Depends on your definition of "overtake".. by Black+Parrot · · Score: 1

    > This is one of those misleading statistics, like "Half of all marriages end in divorce".

    Yes. Without exception, divorce applies to both parties to the marriage.

    --
    Sheesh, evil *and* a jerk. -- Jade
  113. Re:Really? by Anonymous Coward · · Score: 0

    Who needs a Linux kernel when you've got JOS (http://jos.org)? ;-)

  114. Re:Good-bye VB! by Ms.Taken · · Score: 2, Informative
    I've coded in a number of languages, and I've found VB to be the most non-intuitive, unfriendly of the bunch. Once you know what += means in C++, you can probably guess what -=, *=, etc., mean too. But knowing that you close an if block in VB with 'end if' isn't going to help you close a while or for loop. Probably all languages have some quirks like this, but VB seems to have a lot more than usual.

    My overall impression of VB is that language development is geared more toward PHB's who are looking for buzzwords than towards programmers. Case in point: OO inplementation. I remember my excitement when I heard that VB was finally going to implement inheritence, and my disappointment when I learned that by 'inheritence' they meant 'button to copy and rename an existing class'.

    My biggest frustration with VB was that I kept running into walls, limits to the language that made it impossible to do what I wanted without some ugly kludges.

  115. Re:Further evidence against Microsoft... by Anonymous+Brave+Guy · · Score: 1
    I mean if they are not going to support Java, why are they supporting C++?

    You mean apart from the fact that almost all of their software is written in it?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  116. I reckon the reasons are artistic by Kiss+the+Blade · · Score: 0, Insightful
    A programming language does not grow for commercial reasons, or because some fusty academic or CEO likes it. It grows because those at the roots, those who are the fertile soil of computing, the programmers, adopt it.

    If we are to understand why Java is overtaking C/C++, we must look to aesthetics.

    Java is a beautiful language, C&C++ get the job done in a messy way. In the 70's and 80's, programmers were engineering types, with a critical eye, and like most scientists, no time for such concepts as beauty.

    The modern programmer is a product of a hedonistic age, the age of fluid media, the age of Art.

    As the scientists and rationalists got buried under the weight of the AOL invasion, a new generation has sprung up which looks for beauty, for flowing lines and classical form, in a language.

    Even some women of my aquaintance are finding the Art of Code intriguing and attractive. Last week I was at the Tate gallery of Modern Art in London, with some of my girlfriends, looking at an exhibit fo Java code commissioned by Sun Microcomputers and worked on by Timothy Farrow, the well known computer artiste. They were positively swooning with delight at the tense expression of purpose, functionality and beuty in the curvaceous symbols 'pon the screen.

    I sometimes wonder if you computer programmers are going to be taking over the field of aesthetics, but then I remember that come what may, computer programming is only engineering, and though it may have some artistic merit, it is not art for art's sake, true art.

    That means I know I can rest easy :-)

    --

    KTB:Lover, Poet, Artiste, Aesthete, Programmer.
    There is no

    1. Re:I reckon the reasons are artistic by David+Greene · · Score: 1
      C&C++ get the job done in a messy way.

      By who's standards? I have seen some very, very beautiful C++ code. Especially using templates.

      and like most scientists, no time for such concepts as beauty.

      Ok, this must be a troll. Many of the scientists and engineers I know are incredibly knowledgeable about art, literature, music, architecture and all of the other artistic disciplines. They are some of the most artistic people I know!

      Try to tell a mathematician her work isn't beautiful. Perhaps it is not visually, but is by a much more abstract and, shall I say, beautiful standard.

      --

    2. Re:I reckon the reasons are artistic by be-fan · · Score: 2

      Its a metaphor. Order is truth, truth, beauty.

      --
      A deep unwavering belief is a sure sign you're missing something...
    3. Re:I reckon the reasons are artistic by be-fan · · Score: 2

      Wow. So that's what french crack does ;) Anyway, I take offense to your statement that scientists don't appreciate beauty. Science is all about finding the underlying beauty in the world. As it has been said many times, Truth is Beauty. As for C++ programmers, I find a piece of code that uses hardware 99.9% efficiently to be beautiful. Meanwhile, Java's focus on rapid coding at the cost of efficiency seems merely utilitarian.

      --
      A deep unwavering belief is a sure sign you're missing something...
  117. Re:Java Quake, whatever.... by JediTrainer · · Score: 3, Interesting

    You mean something like this?

    It's a port to Java of the Quake engine which was never completed because of pressure put on the developers by ID Software. When I first saw it a couple of years ago, I was quite impressed!

    --

    You can accomplish anything you set your mind to. The impossible just takes a little longer.
  118. Re:Other languages and bytecode? by bmongar · · Score: 1

    IBM has made a Smalltalk compiler that writes java byte code. It's called Visual Age for Smalltalk

    --
    As x approaches total apathy I couldn't care less.
  119. Re:/. and troll this company that SCREWED ME OVER! by spookyfluke · · Score: 0

    Yeah, right buddy.

    --
    you.bases.each{|base|base.are_belong_to=us}
  120. Re:What about project size? by jonabbey · · Score: 2

    Dunno. The two Java projects that I'm very familiar with here at the lab were 50,000 lines of code (an online timesheet thingy that uses servlets, RMI, and JDBC), and Ganymede, which is about 250kLoc. Beyond that, I know I've seen some project boards up on the wall that show Swing graphics for database front ends and the like.

    I always had the impression that Java was being used for custom application development, either web based or client-server. Java's "bondage and dominance" aspects make it better for large scale app development than for quick one-off stuff.

    See Sun's Swing Sightings Page for a good overview of some more complex stuff being done in Java.

  121. Re:Good-bye VB! by Anonymous Coward · · Score: 0

    c# C-Sharp

  122. Re:Java is more than you think... by droleary · · Score: 1

    There are some benchmarks at Ace's hardware (search for binaries vs. bytecodes) that aren't perfect, but make some very valid points.

    I happen to disagree. Like statistics, benchmarks can be massaged to say anything a person likes. I prefer real world results, preferably doing tasks similar to those I'm planning on using the language for.

    Perhaps a /. based C++ vs. Java coding contest would be interesting. Any interesting problems come to mind? I'm sure we have the talent around here to get close to max performance with both languages.

    We could also just wait for the results of this year's ICFP. It's not purely a speed test, but I really don't much see the point into going so far as to do some sort of double-blind study of programming language productivity at both the machine and human levels.

    I'd expect Objective-C to be a bit slower than C++ in general, given the method lookup overhead, and lack of generic types.

    It would possibly be slower than C++, but probably not for a parity task (I've converted C++ code that had to hack out runtime concepts of its own and the ObjC version was faster and cleaner). I don't know what you mean by "lack of generic types". In proper OO languages like ObjC, we just call them "objects".

    I do like Objective-C, but I really don't think it'll ever gain mainstream acceptance.

    Who gives a damn? I use languages to get jobs done, to to get some warm fuzzy feeling of belonging. Even the oh-so-clever naming conventions that played off the Java name make me queasy ("We'll call them BEANS!! HAHAHA. Get it? Java beans!" ugh).

    Garbage collection is stronger than reference counting as well.

    Neither are specified as part of the ObjC language, and you can drop in something like Bohem GC if you like even if you happen to be using the frameworks of a vendor like Apple that likes reference counting.

    Plus (assuming you're talking about a traditional compiler like gcc) you lose the advantages of bytecode like dynamic compilation tuned for the exact CPU (say Athlon for instance) that you're using.

    Yeah, big loss by using a native binary instead. If I wanted to thow away RAM and CPU on an emulator (aka, a VM without a marketing department), I'd buy one.

    I didn't make that claim, so I'm not sure why I'd want to do that. I'll stand by my claim WRT C++ (used as an OOL).

    And I said you could even use ObjC (which you believe to be even slower than C++) if you wanted to compare a C-based OO language to Java. You essentially claim is that Java emulation can be done at near-native speeds. I've never seen such a thing outside of slanted, non-parity benchmark comparisons. What I do see in real world apps like Apple's TextEdit that comes with OS X, both Java and ObjC versions, is that the Java version is a real dog. Make whatever excuse you like for that, but as a user I don't give a damn why the app sucks, I just know I won't be using the Java version if I want to be productive.

    Do you honestly feel C is as productive as Java? I certainly don't.

    If Java works best for you in the things you do, by all means use it. To make a blanket statement that C cannot be as productive as Java is downright foolish. Every language has a particular area where it shines, and C has been shining in many more productive areas for far longer than Java has been around shining in the marketing department.

    To a large extent they were right. Have you checked the ratio of C++ to C jobs lately?

    You completely missed my point. It has always been that way. Languages come and go and leave greater or lesser footprints on the computing landscape. The footprint Java has left has not been due to any technical innovation, but because Sun marketing has somehow convinced people that emulation is a great idea.

  123. Re:it's about cost, not performance by Anonymous Coward · · Score: 0

    You guys aren't listening to what you are saying. What you and so many others have said in a round about way is that Java is quicker to develop in because it is easier. But, you forget that the point of a business application is most often to automate a repetative task.

    The faster you can perform that repetative task the more transactions you can complete in a give period of time. While Java's ease and speed of development is great for the developer, the business would be better suited with a faster app.

    For example, lets say we have a 600 Gig database of items that we want to run price changes on. The Java app can get it done but, it takes 13 hours. Meanwhile, the C++ app gets it done in 8 hours. This app will likely be around for years to come and it will run every night. So which is the better business choice?

  124. Re:Playing with statistics by Anonymous Coward · · Score: 0

    Most C++ programmers know java, so they get counted as java programmers.

    Since the vast majority of Java development would be done in Visual Basic without java, and Visual Basic is the most popular language in the world by a huge margin, These results are unsurprising.

    A more interesting question would be what percentage of non-trivial development is done in Java. Stuff more complex than stringing a few EJBs togehter with a servlet.

  125. C++ "could" use the java virtual machine...right? by TotallyBored · · Score: 1

    I don't see why C++ compilers don't offer support for a virtual machine build. If you've ever programmed in C/C++ for a PDA you know about selecting a processor type to build for. Why not allow for generation of an executable that talks with the java VM using byte code, It's the same idea. If this option existed java wouldn't hold that advantage over C/C++ anymore. IMO we never needed a new language. The VM technology should have been implemented as a standard compile option for all existing languages. Then programmers could choose to use the VM based on their performance needs. IMO the real reason I see java doing so well is the simplicity. You give up control but save time. I don't want to upset anyone but I see java as nothing more than a c/c++ clone with virtual machine tech. It's aggrevating trying to keep up with new languages as they come out, only to end up wondering if the *new* one was really necessary. When you have time to concentrate on just one language you can get really good at it. When you keep messing with 5+ languages you barely get to skim the surface. my $0.02 --Ben

    --
    "Who is General Failure and why is he reading my disk?"
  126. Been there, done that . . . by pkesel · · Score: 1

    I've recently put my 7 years of C++ development experience behind me and switched to Java web develoment. What I find is that it's not Java itself that is significant, but the web paradigm in which it is being used. Java is just a development language, and like C++ or anything else there is good and bad about it. Personally, I'd much rather be writing in C++, but you simply can't write servlets with it.

    I expect that in the next 5 years we'll find that the web server/app server model of the net will be obsolete, and we'll have any number of net access points, many suited to Java, others to C++ or whatever else. What we have now is too constricting, and it's going to change. Hopefully it won't be tied to a language (or to M$).

    --
    - Sig this!
  127. Re:Programming for Business by Anonymous Coward · · Score: 0

    Since when is J2EE all "Enterprise Computing?" Most non-J2EE enterprise apps are done in other languages, and most enterprise programming is trivial systems integration.

    Remember, J2EE, Java's main stronghold (admittedly a large one) is a clone of ASP with a single language. EJBs are a clone distributed COM+ objects. Servlets are a clone of COM objects. JSPs are a clone of (primarly Visual Basic) ASPs.

    Don't equate carpet-bombed marketing with quality, and always remember: Visual Basic is the most popular language in the world by far.

  128. Java and the embedded market by harmonica · · Score: 2

    Java is getting stronger and stronger on the embedded market. EmbeddedJava and PersonalJava are the appropriate environments for that. Of course they don't need 3 megs. Jbed and the like start with a memory footprint of about 8 KB.

    1. Re:Java and the embedded market by Anonymous Coward · · Score: 0

      Yeah, and after FIVE YEARS of hype and marketing from Sun (if you listened to them, 100% of embedded development is done in Java) Java is still barely used for embedded tasks.

      If it weren't for Sun paying Nokia to force people to write embedded Java for their phones, it'd never get anywhere.

      Paying people to use your shoddy, over-hyped products, where have I seen that before?

  129. wow... by Anonymous Coward · · Score: 0

    I've seen nothing but FUD and Trolls by a bunch of people that haven't used Java, or haven't touched it since the 1.1 days. The fact is that basically, you should select the app that's best for what you want to do. Need a lot of speed? Use C. Need to do some web page stuff? Php or Java servlets, or even Perl. Need to do some GUI stuff, Java or TCL/TK. In the end, no one's gonna give a damn about what programming language that you wrote something in. All that will matter is that it works.

  130. Re:Good-bye VB! by greenrd · · Score: 1
    There are countless examples of braindead design like this in MS development products.

    Absolutely agree. If I could sum up what most irks me about MS in two words, it would be "braindead design". Sometimes they get it right, but too often they get it wrong.

  131. Re:C vs C++/Java by scruffy · · Score: 3, Informative
    I look forward to taking the plunge into Java. I'll skip C++.
    I can agree with that. I have been hoping for some time that I wouldn't have to learn C++ very deeply.

    Both C and Java are nice languages because they are small and are appropriate for particular tasks, roughly "low-level" and "high-level" applications. As a language, it seems that there is too much in C++ to be able to learn it well, and C++ tries to have it both ways. Garbage collection in particular is very nice to have for "high-level" programming because it removes one large set of "low-level" details to worry about (or at least, worry a lot less about it). Two more messy low-level details missing from Java are include files and make files. I think we can live without them for many programming tasks.

  132. Re:Really? by UnknownSoldier · · Score: 2

    > but face it, you cant write an FPS in java,

    Want to tell that to these guys
    ( http://hem.passagen.se/carebear/fragisland.htm )

    Their FAQ is here
    ( http://hem.passagen.se/carebear/faq.htm )

  133. Re:language wars by Skapare · · Score: 2

    If you restrict yourself to programming in a single language, that might be the case. I don't. I've been programming in C for nearly 20 years. I had programmed in assembly for 20 years with 13 of those years overlapped with C. I program in PHP today, and have been waiting for Java to make it to serious production capability (I think I see the light at the end of the tunnel now). If someone programs in only one language today, they might well still be programming in it in 10 years, but may also be programming in one or two other languages (to the extent they have the freedom to choose the language that is best for the project, as opposed to having it dictated by a committee of PHBs).

    --
    now we need to go OSS in diesel cars
  134. Re:I can't buy what you're selling by Foggy+Tristan · · Score: 1

    While I'm no expert on why computer programmers adopt one language over another, I think it's more like to come down to what makes the programmer's job the easiest, not necessarily the most effective.

    Java feels slower than C++, I'll be the first to admit it. But most of what I write in Java are applications where the difference in speed has become negligable. I've written in both Java and C++, and simply found Java to be easier for me to learn. (Not necessarily better, just easier.)

    I'm just happy that Visual Basic isn't more popular than Java, and that C# is getting low interest among non-Microsoft programmers.

    --
    Beware typoes.
  135. Sturgeon's Law by Life+Blood · · Score: 1, Funny

    Is this going to result in some kind of corrollary to Sturgeons Law? Something like 90% of programs are written in Java and are all crap?

    --

    So far I've gotten all my Karma from telling people they are wrong... :)

  136. Re:Less Visual Basic Programmers by TheAwfulTruth · · Score: 1

    This isn't exactly true. When Delphi came out. The number of Delphi books VERY quickly outnumbered the number of C/C++ books. But that had to do with more reasons than it's popularity. It was new, no everyone wanted to get into the game and published as much as they could. Another was Borlands hype about how Delphi was the future of RAD development. (Similar to Suns). But just try to find a Delphi book now. It's gone from one entire rack to maybe 1/10 of a shelf. Java came on a lot stronger than Delphi, has a larger rack space, but that alone doesn't mean it won't fade away as well. (Doesn't mean it won't either, but that's my point)

    --
    Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
  137. Re:The library base and more by David+Greene · · Score: 1

    Why do you say generics in C++ are a hack? Perhaps they're not quite as expressive as in some other languages but they do the job and do it well. I've often found that "missing" features of C++ can often be implemented using existing language features.

    --

  138. Re:Not going to happen by Anonymous Coward · · Score: 0

    The movement towards Java is real. Just check the want ads. In part, this is because there are fewer Java experts available, but since companies want what Java has to offer, it's follow or be left behind. Not that Java will obsolete C++. They are in large part complementary, focusing on different domains. Microsoft isn't happy about Java, but languages are social constructs, not something they can dictate, only something they can persuade, and I have never found Microsoft very persuasive.

  139. Re:I can't buy what you're selling by kulderzipken · · Score: 1

    It's all about serverside and enterprise computing. Look at IBM's WebSphere and BEA's WebLogic, or J2EE in general.

  140. Re:Less Visual Basic Programmers by Anonymous Coward · · Score: 0

    We've had to adopt VB at work, and it's easy where problems will crop up and how weak documentation for a One Vendor product can be.

    Could this statement be more full of shit? Microsoft provides, IMNSHO, the best and easiest to use documentation for it's development tools. VB's docs are complete, indexed, cross-referenced, and searchable, with examples on how to use every function. Tie that to MSDN on-line, and the plethora of VB source code sites, one example being pscode.com with over 1.5 million lines of code just for VB, and the average programmer can write a VB app without 1 line of original code.

  141. Re:And the mafia shot kennedy.... by Anonymous Coward · · Score: 0

    Unsubstantiated and illogical ravings not worthy of Slashdot? Where on earth have you been for the last 4 years? Gotta be at least 80% of the postings that go on here.

  142. Java Quake, was shown at Quakecon by catseye_95051 · · Score: 3, Interesting

    Thanks for the vote of java Support.

    It's called JAMID and was shown, to a much impressed crowd, at Quakecon last week.

    (Quakecon is the ID sponsired yearly gathering and tournament of 1300 of the msot rabid Quake fans in the world.)

    Obviously you missed it.

    There's ben some recent discussion abotu it, with quotes from attendees to Quakecon and some ncie comments from Quakecon's organizer-- Evil John, over at Javagaming.org.

    Its nice to know that we're a 'real language' now :)

  143. Re:Really? by gupta · · Score: 1

    Some of the performance benchmarks for Java have exceeded those achieved or matched those by reasonable C++ compilers Really? Show me the href !

  144. Re:Really? by Thorin_ · · Score: 1

    Not yet at least. You can, however, write some very sweet 3D games. For an example check out roboforge. In this game you design a robot and make its AI then set it against other robots. The program is written entirely in Java and everything is rendered in 3D.

  145. Re:Programming for Business by KenSeymour · · Score: 1

    I think the poster is responding to an attitude I picked up some years ago at the first Linux conference I went to.
    That is that in the Linux community there is a large anti-OO, anti-C++, anti-Java sentiment.
    I went to a talk on the subject of CASE tools and was suprised to find a discussion of
    Linux/Free Software Package manipulation tools.

    When I and one other participant asked about something akin to Rational Rose available for Linux.
    Instead of saying "No there isn't", we heard why you shouldn't want to have something like Rational Rose.
    The speakers stated that OO was a proven failure.
    This comes as a suprise to many professional developers that have been succeding with OO for years.

    The question is not whether or not OO is better.
    The question is why does the Linux community keep telling people
    that they shouldn't want GUIs, they shouldn't want GUI based Integrated Development Envrionments,
    and why they shouldn't want UML design tools
    on Linux.
    It apparently easier to say you shouldn't want these things than it is to admit that those tools
    aren't there yet.
    It is easier to say Object Oriented languages are bad than for some to admit that they haven't had time to learn how to do OO programming.

    --
    "We can't solve problems by using the same kind of thinking we used when we created them." -- Albert Einstein
  146. Re:really? by Anonymous Coward · · Score: 0

    Weirdx is a complete X server written in Java. It works very well, and runs on any system with a 1.1 VM. Pop up FVWM in IE, for now at least. A Java version of WordPerfect exists and it ran well a few years ago.

  147. learning c by isudoru · · Score: 1

    i'm just 15 and i'm learning C and it's a fairly fun language, I already know a bit PHP so it's not that unfamiliar.

    and yes... i do live on caffeine and quake...

    --

    ----
    "I believe in karma. That means I can do bad things to people and assume they deserve it" - Dogbert
  148. Re:Really? by Anonymous Coward · · Score: 0

    You also need a small learning curve and rapid time to deployment, both of which are better with java than c++.

  149. Bicker bicker by Anonymous Coward · · Score: 0
    Everyone is bickering back and forth. Mine's better than your's. Mine's bigger than your's. mines faster than your's.

    The survey and it's results are obviously there to favor the goals of its owner, nothing more.

    Besides, everybody knows that the only real language is assembler

  150. Re:Actually, if you think about it by Steveftoth · · Score: 1

    Why? Sun is a hardware company, not a software company. They make very little money directly off of Java compared to the money that they make from selling a Sun Enterprise Server or 2. Java is their way to promote their hardware. Strange I know.

  151. Re:XP effects? by Ramshackle · · Score: 1
    There was news that Windows XP will not ship with any native support for Java. Certainly, a user could add Java support him/herself, but how many users are going to take initiative to do so? With hundreds of thousands of copies of an OS that won't do Java, that will have a very deep impact on developers. It doesn't do much good to make software that nobody can run.

    I think you've entirely missed the point, here. As many other posters have mentioned, Java is primarily flourishing on the server these days. This is where the majority of Java developers write their apps. The client side is usually web-based and therefore has no need for Java to be installed on the user's PC.

    Applets are far from the only (or even primary) use of Java.

  152. Jscript is the same thing as JavaScript by delmoi · · Score: 2

    JScript is the same thing as JavaScript. No one is allowed to call anything Java* except sun, (and apperantly netscape with JavaScript), so MS calls it's JavaScript implementation JScript.

    So, you do see a lot of JScript.

    I think you meant VBScript, which, yeh, no one uses.

    --

    ReadThe ReflectionEngine, a cyberpunk style n
  153. not for embedded devices by zerofoo · · Score: 1

    I like Java a lot. But most of the embedded devices I use aren't that powerful. A JVM for those devices would really tax their abilities. Can you imagine?

    Q: Hey what time is it?

    A:Hold on while my watch instantiates all the classes.....

    I realize this is temporary, eventually the embedded market will have some multi-Ghz stuff to run Java, then C can go away.

  154. Re:Java as a teaching language by bill_kress · · Score: 1

    Unfortunately I see evolution being taught more and more in universities, ergo more and more scientists graduating out of schools are believing in evolution. Very few college programs will teach anything like creationism when they can teach a real scientific method such as evolution. These scientists then move into the private sector and recommend evolution to their superiors. It's a vicious cycle. This is also the natural progression for those who are "saved" by true scientific methodologies.

  155. Bull by Vicegrip · · Score: 1

    It takes years of experience to be good at any language-- java included.

    "People wanting to use some of the advanced OO features will have a better development experience with Java"

    Really? I didn't know Java had templates. Ooh, you must mean operator overloading... hmmm....

    These articles serve no purpose but to feed the Trolls.

    --
    Do not spread "09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0" over the internet, thank you.
  156. Java vs. Linux by pmz · · Score: 1
    If Java eclipses C, then who will be left to develop Linux or *BSD? I hope there are enough of you who won't give up C for anything, so the good OSs can continue to thrive.

    One thing I hunger for is the continuing development of native Java compilers, such as GCJ. Perhaps, then, Sun can use them to optimize the new-fangled Java applications being shipped with Solaris (SMC, Audiotool, etc.). I don't know if Sun supports GCJ, but it would be truly great if they did.

    The native Java compilers have great potential. Imagine distributing .class files as always (write once), but your customers have the option to pass them through a one-time native compilation (run quickly anywhere). The thought of the JIT compiling code every time I run an application makes me nervous, anyway.

  157. Re:That's OK, we don't really need your business by Anonymous Coward · · Score: 0
    Java is not slow, it is slower... the speed difference ain't so bad...

    Even you admit it *IS* SLOW. Maybe you've got the time and inclination to wait for it but I don't. Further more much of the marked speed improvement that you claim Java has developed over time is due to increased processor power.

    Lets put my C++ program, any of them, on an old Pentium II 200 and you can put your comparable Java app on there and we'll see which is faster.

    Almost any compiled language is faster than Java, even precompiled Java. Don't get me wrong, Java definitely has it's place. I myself have written for Java apps than I'd care to admit. But, comparing Java and C++ from a speed perspective is ludicrus. Java is slow!

  158. Re:Java as a teaching language by Obadusni · · Score: 1

    Python is a good teaching language for both.

  159. Re:I can't buy what you're selling by Prior+Restraint · · Score: 1

    ...show me a GUI program that runs on Java that is faster than a C++ program...

    You're stacking the deck. Java's strength has always been on the server.

  160. Re:Java's too fucking slow by orangesquid · · Score: 1

    Why else are people rushing to buy 1.7 Ghz processors?

    For text editing, my 386/25 with 3M of ram was fine (its even better now, with 7M of ram) and for compiling, a P60 (overclocked to 66) with 24M of ram was about all I needed. Superb small network server: K6/233 with 64M of ram.

    But now that I use java programs, I'm barely scraping by on a Celeron-633 with 192M of RAM!

    I don't see the point in abandoning C/C++. Sure, Java has its advantage: all platforms (except Windows2000, mwahahah) can run the code, which means closed-source programs don't have to be re-compiled for new platforms. But for most things, closed-source sucks, unless you need a very advanced, comprehensive package for one specific application; in that case, why slow those packages down by making them java? Chances are, you want that package to be as fast as possible! And most likely, you're going to be using it on a specialized platform anyway....

    What I'd like to see are *real* hardware java CPU's. *Then*, java wil be a viable option. But it isn't yet, not for most things, anyway.

    --
    --TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
  161. Re:Java as a teaching language by Pentagon13 · · Score: 1
    Agreed to some extent, but having just graduated from VT in May, All my classes were C++ based except for the 1 credit 2000-level elective I chose to take my last semester there. The Object-Oriented class was taught in Java in Spring 1999, but since I took it in Fall 1998, I got the C++ route. After that one semester switch to Java, the CS department switched back to C++. Personally, learning C++ first and then picking up Java is not only easier, but more practical than the other way. I am very confident of my Java programming ability, but the only reason is because of the solid C++ background. Imagine going for a job interview and actually admitting that you have never used/seen C++ ... no wonder the technology sector is fading ... hopefully these Java Software Engineers go the way of the Frontpage programmers ;-).

    The *major* flaw in teaching CS students about Java is the automated System.gc() .. I could not in good faith take someone's CS degree seriously if they don't know what new/malloc and delete/free do ... "doesn't that happen automagically?"

    -mike

  162. Re:So what? by Anonymous Coward · · Score: 0
    Diesel trucks are automobiles

    DUMB FUCK

  163. Re:Good-bye VB! by stoolpigeon · · Score: 2

    MS aside- why the animosity for VB. I see it all the time, but I never see any reasons. I work with VB every day. I don't understand why it is held in such great contempt.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  164. The library base and more by Midnight+Thunder · · Score: 5, Insightful
    One thing that I appreciate with Java is the huge library base that it has. There are classes that allow you to do most things without having to hunt for a 3rd party solution or rewriting the wheel inhouse. Also, some of the most commonly used data structures are standard, eg Strings, and you don't need a separate proto-language to put together classes - yes I'm talking about having no need for STL.

    Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers. Of course computationally intensive work will alway be done in C or C++ that can be compiled to take full advantage of the processor. Another draw-back is that it is very difficult to take full advantage of the underlying OS without writing code using JNI, and thus loosing some protability.

    Yes I am very much pro Java, though I also realise that it can't do everything. It will always be a question of the best tool for the job.

    --
    Jumpstart the tartan drive.
    1. Re:The library base and more by Anonymous Coward · · Score: 0

      The STL was late in coming, I'll admit that. But it turned out to be worth the wait. It is orders of magnitude better than the Java collection classes. It's a little hard to get used to, but the design & execution is brilliant. Once you learn it, you'll hate switching to other languages.

    2. Re:The library base and more by SuperKendall · · Score: 1

      Actually, after hearing Josh Bloch talk at JavaOne about how generic support will be added I'm pretty happy with the addition - I wasn't sure if I'd welcome it at first after having been through years of template hell in C++, but generics in Java are much more elegant. The syntax is great and it really will provide a nice degree of flexibility while remaining backwards and forwards compatible with code that doesn't use generics!

      It's obvious you dislike Java (hack langauge?), but really the generic support has been well thought out by many people pulling from lots of other langauges (some of which you might not even think were "hack" languages).

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    3. Re:The library base and more by linuxlover · · Score: 3, Interesting

      Amen to that.

      When learning Java 3 yrs ago, one thing attracted me imeediatly was the availability of data structures. (Vector / Hashmaps / RedBlackTree / Sets...). Before that when doing my C/C++ I already had a home brew Vector/Hashmap stuff which I used. The fact it is already in the lanaguage distribution and well tested was a huge win.
      - HOw many times you have pulled your hair in debugging a double linked list (don't tell me you haven't, every C programmer goes through this religiously)
      - you would have atleast try to implement a String class once in your lifetime for C++ (a very good learning experience!, and very good way to get confused about = operators and overloaded functions)

      At that time, STL wasn't even available to me (gcc / Irix) nor it was encouraged by university for projects. b/c what compiles on your IRiX machine might not compile on the solaris build machine & vice versa.

      I thought this is where C++ lagged, an industry standard language coming out with no 'utils' available. Sure I know there are StingRay & tools++. But still nothing beats the feeling of these being readily available.

      Right now I am using a Cayenne libs for Hashtable in C++ and having 'fun' getting it to compile on Solaris. SOme of their header files are 'plain stupid' and won't compile with sun CC 5.0.

      So far if I want to develop an opensource gui application for Win & Linux, my only choice was Java. b/c I can give them a JAR file and it would just work. Now that QT made available free for windows for opensource programs I'd look at it again.

      THis is not a C++/Java flame. I am merely saying that Java language designers did it right & learnt from C++ and academia.

      LinuxLover

    4. Re:The library base and more by David+Greene · · Score: 1
      Also, some of the most commonly used data structures are standard, eg Strings, and you don't need a separate proto-language to put together classes - yes I'm talking about having no need for STL.

      I'm confused by this statement. Java has a String class in its standard library. The STL is part of the C++ standard library. What's the difference?

      Stroustrup quotes a Bell Labs proverb in his books: Library design is language design. Andy Koenig follows it up with: and vice versa.

      Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers.

      I agree with this statement.

      Java, to me, is just not as powerful and flexible as C++. Certainly that power and flexibility can get oneself into trouble, but that doesn't mean it shouldn't be there. In Java I would dearly miss templates and operator overloading. Java is probably going to get generics, which is good. I hope they cover more than "container of X," though.

      --

    5. Re:The library base and more by Anonymous Coward · · Score: 0

      Generics in C++ are the worst thing that's going to happen to Java - a hack feature to add missing functionality to a hack language. I'm not sure why you'd be happy to get them in Java.

    6. Re:The library base and more by Anonymous Coward · · Score: 0

      Get familiar with some of the C++ libraries built using generic techniques (STL, ACE, Boost, Loki, Blitz, etc.) and you will come to love templates. People who say they're just a hack to get around a static type system don't really understand the power & flexibility that compile time polymorphism and meta-programming adds to the language. I know the template syntax in C++ tends to uglify code, but so does all the casting you need to do with more dynamically typed languages.

    7. Re:The library base and more by chris.bitmead · · Score: 1

      I think you misunderstand STL. STL is a very
      clever piece of software and is about the only
      good thing about C++. Problem with STL is that
      the underlying C++ features it uses are overly
      crufty. Still, the idea is good and Java would
      benefit if it supported genericity.

    8. Re:The library base and more by Anonymous Coward · · Score: 0

      Sorry, my english was very bad, I realized after I wrote that post about 'hack language'... I was referring to C++ as a hack language, not Java. Java is a gift from above compared to, well, every other language, ever.

    9. Re:The library base and more by Anonymous+Brave+Guy · · Score: 1
      Actually, after hearing Josh Bloch talk at JavaOne about how generic support will be added I'm pretty happy with the addition...

      Do you have any more information on this, please? Java, as it stands today, has some deeper problems with genericity than just the lack of an equivalent to templates, and I'd be interested to see how the guys behind it are solving them.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    10. Re:The library base and more by Anonymous Coward · · Score: 0

      if itanium becomes popular (doubtful because of its poor ia-32 performance) you're going to see a lot more assembly. compilers and the way current HLL work cannot effectively tap the potential of itanium. this will probably prevent it from coming to our desktops. only time will tell.

    11. Re:The library base and more by SuperKendall · · Score: 1

      You can get the full details here.

      The Zip file you'll find there contains a bunch of examples, along with the (proposed) spec in PDF.

      As I said, I really liked the proposed changes, just not the timeframe they'd be in place (still years off, JDK 1.5). I think a basic problem that some people have with the spec is that it follows in the same path as Java itself of only allowing object types as parameters - thus no primitive types. I think some people wanted an exact copy of the C++ template mechanism, but like other areas of the language it borrows features from other languages where appropriate.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  165. Re:XP effects? by Fly · · Score: 1
    This would be true if anybody ever wanted to use the Java VM that Microsoft provides in other versions of Windows. However, since Microsoft's Java support was effectively dropped about two years ago (at version 1.1.4), getting rid of the outdated, uncompliant Microsoft Java VM support in their OS is a good thing for most people. Developers wrote-off the Microsoft VM two years ago. Only web page applets should be much affected. Other uses of Java should benefit from this "spring cleaning."

    Anyone wishing to run applets might have to download a JRE just as I have done so often for Real or Macromedia.

    end of line

    --
    end of line
  166. Re:Good-bye VB! by Mr.+Barky · · Score: 1

    Thanks! I don't think stupid is the right word, though. It's ignorant. I don't know how to do everything in VB (indeed, I avoid it if I can due). I asked an experienced VB programmer how to do it and he didn't think it was possible, so I gave up (obviously too early). My dislike of the environment is the biggest reason I dislike VB (undo is broken!), but there are still limitations that are frustrating to deal with.

  167. Re:Java as a teaching language by ClarkEvans · · Score: 1

    Python makes a much better teaching language. My girlfriend, an art history person tried Java and was constantly confused. Python on the other hand, and she didn't even ask me questions. Hmm.

  168. Welcome to FastCGI by marm · · Score: 2

    A CGI written in C is almost certainly vastly slower than simiar code writen as a Java servlet. Deal with it.

    Unless you use FastCGI (supported by Apache with mod_fastcgi)... an extension to the CGI spec that, amongst other things, allows persistent processes. Being a simple extension to CGI, it's also completely language-agnostic and cares not whether you use threading, or, for the real gurus and speed demons, asynchronous programming.

    Of course, if you want to lock yourself in to a vendor-controlled, language-specific server-side architecture, that's your business. Why limit yourself though?

  169. Re:it's about cost, not performance by jerdenn · · Score: 3, Insightful

    For example, lets say we have a 600 Gig database of items that we want to run price changes on. The Java app can get it done but, it takes 13 hours. Meanwhile, the C++ app gets it done in 8 hours. This app will likely be around for years to come and it will run every night. So which is the better business choice?

    This is actually a poor example - please spend some time studying n-tiered architechure.

    In such an application, the bottleneck will likely be the Database server, and the speed at which it can perform table updates. The second bottleneck will likely be the network. The C++ or Java business layer will likely spend most of its time in a 'wait' state, waiting for the network or dataset results.

    -jerdenn

  170. Re:Really? by TrollingKarmaWhore · · Score: 1
    Actually a FPS is going to be one of the less demanding java apps. The code is going to spend 99% of its time in the 3D run time support library. If that is simply an interface to a native library then the java part of the app could be ten times slower without impacting performance noticably.

    People are not going to be doing Fourier transforms in Java any time soon. Mind you that is mostly because the looser physicists would rather use Fortran77.

    Read any physicists compile script (what you think they use make) and you tend to find the equivalent of /warnings=none on every compile line. I once asked one of the physicists if they thought it would be a good idea if the computer had a way of finding bugs for you. He was very enthusiastic. I thought about telling him but it would be like telling a small child that father christmas does not exist.

    --
    Bet you wish you thought of this nym first
  171. Re:really? by BlackSol · · Score: 1

    Well I don't know about CD writing software, you may be correct there.

    But there is a working MP3 player written in Java. And I also have read about a DVD player.
    (Sorry I'm too lazy to go searching for the links for you - but just go google or something)

    Does anyone know about future versions of Star Office, or a pure Java Office Suite?

    --
    $sig=$1 if($brain =~ /idea\s+(.*)/i);
  172. Re:Really? by CaptIronfist · · Score: 0, Informative
    That's really a bold statement. I don't really like Java neither ( too slow, bad mem management, etc... ), but the language have certainly uses people would not even imagine.

    Ever heard of the KVM, it's a small virtual machine held in only 40k used in cellphones and Palms.

    Is Java going to replace C/C++? Answering yes to this question is another, more stupid, bold statement. C/C++ has been around longer that any other known popular languages and there's a simple reason for this. It's Reliable, Flexible and it performs well. That's all a developper needs from a language. Can you say the same for Java? This is more questionable than most people think.

    People that want to get rid of C/C++ are just frustrated because they can't master the masters' language and people that want to get rid of Java are just frustrated, because some have found uses to a language that is definitely inferior to C/C++.

    So in conclusion, Java is fun and all, but it's not going to replace a more flexbile tool and it's not going to pushed aside either because you can't make a kernel out of it.

    Java + Webapp = another failing .com ;)

  173. Very observant: by Anonymous Coward · · Score: 0

    I preach man pages as the model for documentation
    to people at work who know
    virtually nothing about Unix. The response
    is generally a blank stare.

    However, I try not to let other people's
    ignorance affect me.

  174. Java and templates by SuperKendall · · Score: 2

    Java will have proper generics support in 1.5 (admittedly years off still). Until then using interfaces and generic object support you can get pretty much anything you want done in the same style as templates - witness the excellent Collections package in Java witch is far easier to use than the C++ STL, and provides you with 99% of you collection needs.

    I totally agree with your comment about needing years of practice to become proficient in any language!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Java and templates by Anonymous Coward · · Score: 0

      proper? have you even read the proposed spec? they're watered down to the point of only being useful for container classes for Object types. They can't even properly handle primitive containers, much less metaprogramming.
      When java copied generic programming from C++ they did the same thing they did with everything else they copied: dumbed it down the point of being nearly useless.

  175. This will overtake both C++ and Java: by Anonymous Coward · · Score: 1, Funny

    Lisp

  176. Re:Programming for Business by Anonymous Coward · · Score: 0

    I work for a large corporation. I'm a programmer who writes distributed enterprise applications. Java's perfomance is pitifull. So why do so many use Java then? Why are there so many MCSE's? Because it's easy to learn. I'd hesitate to call anyone who only programs in Java a real programmer. Java is the next VB. Crappy programmers writing crappy code and producing crappy apps. Oh, and I also work for a living. and you have no idea what you are talking about.

  177. You're hearing wrong by catseye_95051 · · Score: 2

    Modern Java is C equivalent in speed.

    Thats the message.

    Try this article...

    http://www.aceshardware.com/Spades/read.php?arti cl e_id=153

  178. Does anyone remember Assembly language? by olevy · · Score: 2, Insightful

    When I first started programming, there was a raging argument about one language that was super efficient, but a bit hard to program vs. this other language that was not quite as efficient but much easier to program in. Sound familiar? The languages in question were Assember vs. C. I also saw the same arguments with C vs. C++.

    What you have to remember is that programmers are way more expensive than machines. If I can spend $5000 more on hardware and save myself $25,000 in salary costs, that is a pretty good investment.

    And of course this all is based on getting more powerful machines each year. There was a time when programmers really did have to agonize over using Assembler vs. C because memory was so tight.
    There also was a time when we had to agonize over using C++ vs. Java, but that time has passed.

    The rise of Java (or C# or one of the other new and improved languages) is inevitable. But if it is any comfort Java too will be replaced one day as soon as we can afford the next programmer productivity boost.

  179. Too late by Gruneun · · Score: 2

    Microsoft has been trying for years to get rid of Java. Just like Microsoft itself, it's easier to get rid of a standard before it becomes mainstream.

    They tried the same maneuver with JavaScript, but it's still alive and well and I don't see much JScript around.

  180. Java to overtake the world by surfcow · · Score: 1

    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.

    Hmm... 77.2% + 21.8% + 21.4% + 20.4% = 140.8% That is a lot.

    =brian
  181. Re:Not going to happen by Khalid · · Score: 2

    Highly improbable, most of people I know who have tried or who are programming in Java are simply in love with it, and nobody will be able to change that even the Almighty Microsoft. Also Java (and Linux for that matter) is very popular in university as a programming teaching language at least in Europe. Micorosoft is able to change many things but not those kind of things. What we often tend to forget is that they are mere mortal and not god :)

  182. Re:Them Jafa Beans by Kenyaman · · Score: 1

    Why can't ThinkGeek ship caffiniated products to Sweden or Belgium? Surely it's not a controlled substance??? Certainly not in those countries!

  183. Re:Nice Applet, but JAMID is a full screen game by pkesel · · Score: 1

    You mean it was REwritten in one month by 3 guys. It's easy to write something if you've got the design and behavior given to you and modelled in another language.

    --
    - Sig this!
  184. FPS in Java by deadliner · · Score: 1

    "At the same booth, Full Sail (http://www.fullsail.com/) is demonstrating their first person shooter written entirely in Java on top of the Java 3D API." http://groups.yahoo.com/group/gamejug-announce/mes sage/26

    --
    David Wallace Croft President, CroftSoft Inc http://croftsoft.com/
    1. Re:FPS in Java by Anonymous Coward · · Score: 0

      demonstrating their first person shooter written entirely in Java on top of the Java 3D API."

      Writing it isn't the problem. Running it is - unless you have a super Ninja PC, just to play a Doom-quality 3d game.

  185. Re:Programming for Business by uid8472 · · Score: 1

    Visual Basic is the most popular language in the world by far.

    Which explains why all the most popular mail worms are written in it? (-:

  186. Re:Really? by Anonymous Coward · · Score: 0

    You should clearly not be here. At least you could have mentioned Anime.

  187. Perfect by mrfiddlehead · · Score: 1

    Just in time for my retirement! Phew!

    --
    :wq
  188. Killer application effect by Pac · · Score: 4, Insightful

    A normal user will install Java for the same reason they will install Real, QuickTime, etc. To see some content, to use an application.

    Notice that those are all huge downloads.

    Also, some comercial software will simply ship the JRE and install it from CD.

  189. Re:What about project size? by tswinzig · · Score: 2

    Developer hours, though harder to measure, would probably provide a more meaningful representation of how "big" a language has become.

    Ahhhh... good way to put emphasis on C/C++, where development takes longer and you'll easily outweigh "developer hours" in Java!

    Tally ho!

    --

    "And like that ... he's gone."
  190. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

    I'm no c/c++ guru, but isn't templates and stl frowned upon and shunned as bloat by c++ gurus?

  191. Re:Really? by Anonymous Coward · · Score: 0

    Yeah - there is also significant scientific programming, high-performance networking, and various, graphics intensive modelling and rendering applications. These would be inefficient to write in Java, and require high performance, and number crunching ability (that's why a lot of old physics and engineering programming is still done in FORTRAN). You are right, there *IS* more to the world than kernals and FPS - but that doesn't mean that the EVERYTHING ELSE is business apps, spreadsheets, and client-server stuff!

    Sorry, to burst Java-fanatic's bubbles, but Java may regin for business-type apps, but for hard-core systems, OS, research, networking, and gaming, which taken together is a significant portion of "real-world" programming, Java doesn't look like it's going to cut it. There will ALWAYS be a need to languages that allow the programming to get at the bits underlying all the bizarre OOP and data-structure abstractions. No matter what the language/programming style of the day is: objects, templates, etc - at some point EVERYTHING is bits being twiddled, and it is useful to be able to get at those bits - hence C/C++ still regins at OS/systems work. I actually worry that programming will abstract itself SO MUCH from the underlying strucutres that are actually present in the comptuer/memory, because that low-layer is what is actually going on during execution - and should always be accessible to the programmer if he/she wants.

    There is NEVER going to be a be-all language, and I think the closest any language(s) have or ever will come to being so ubiquitous is C/C++. We'll just have several REALLY POPULAR languages for various programming task areas - Java for busniess, C/C++/Whatever high-perfomance language comes after C++ for modeling, research, gaming, Perl/Ruby/Python for scripting, and so forth.

    Sincerely,
    Kevin Christie
    crispiewm@hotmail.com

  192. Re:I love C++ but ... by twan · · Score: 1

    1. Java enforces Exception handling, so it is not a design failure, maybe a bug and not listed anywhere...

    2. That is can't be a design failure either, it sounds like a bug, and not realy critical, cause it only helps code design is not a very critical keyword.

    3. But necessary, one are classes the other are generic types, how should they be handled otherwise ?

    4. Basicly it is runtime typed, thats indeed one of the anoying points, but a good linker tool could easily overcome the problem.

    5. ??? Works fine for me. Which part do you mean ? It is one of the most thread safe API i saw until now

    6. AWT is a just a basic window library, but Swing is very sophisticated... well compare whats on the other side... well if Swing Sux, then please i would like to hear the swear words that could possible describes MFC or even Motif ?

    7. Unsafe Casts in Java ??? Well it has dynamic Type checking, you can not call anything which signatures does not fit on runtime. See 3.

    8. Buahaha... the .H/.C concept is one of the bullshities concepts in the realms of programing.

    9. Not at all, it leads to clean OO Concepts and safes from a lot of pittfalls in larger class hierachies, one of the strange things is that C++ developers always want to inherite from as many classes they possibly can, with no advantage by doing so and generating big unmantainable class structures ... interfaces describe callback mechanisms, nothing more.

    10. Why ? It cleans up the mess and makes browsing code easier.

  193. Re:Really? by .Maj · · Score: 1, Informative
    but face it, you cant write an FPS in java
    No, of course you can't.
  194. Re:If that's the case by FatherOfONe · · Score: 0

    Why would anyone do that?

    The purpose of Java is not to write an operating system or device driver but to allow developers to write a general purpose application that runs on multiple devices. I would argue that Linux would be at least 5% faster if it was written in Assembly or better yet machine code. It might make porting it a bear, but if speed is what you are looking for then that would be the best way to do it. This doesn't mean that I won't use Linux or Windows if they decide to switch to C++ or Pascal. I personally don't care as long as it is reliable and performs well.

    I love the fact that I have a choice of platforms to run our server software on. We can develop on Linux, then move it to NT for small scale Windows shops, or move it to a big dog UNIX system if needed. I have seen our code run on amost every type of platform with NO codeing change at all! I have seen it run with multiple application servers also.

    Steve Michael
    steve.michael@performancestrategies.com
    Network Architect

    --
    The more I learn about science, the more my faith in God increases.
  195. Re:Really? by iMMo · · Score: 1

    So I guess my plan to reimplement the Linux kernel in C# is out the window too?

  196. Re:Really? by danboo · · Score: 2, Informative

    can't write an FPS in java, eh? so what do you call the quake clone done by the team at fullsail? it was shown at quakecon just last week and was received very well from what i've heard. see javagaming.org for more info. - danboo

  197. For all you C-ites out there by ostone · · Score: 2, Interesting

    if you wanna talk speed...
    *flashback*
    Programmer 1: "Who would ever use C for applications/system design, I mean it's so much slower and bulkier than assembler."
    Programmer 2: "Well it is more portable..."
    Programmer 1: "To hell with your portability."
    *Today*
    Programmer 1: "Who would ever use Java for applications/system design, I mean it's so much slower and bulkier than assembler."
    Programmer 2: "Well it is more portable..."
    Programmer 1: "To hell with your portability."

    --
    Remove *your pants* to send me email.
  198. Java, what is it anyways by kryptola · · Score: 1

    Well, Will we have a machine running an OS with Java (you can say JOS, but what is under it?) Embedded programmers are dead!!!!!!!!!!!!!!!!!! Oh no!!!!!!!!! BD

    --
    "Trying is the first step towards failure" - Homer J Simpson.
  199. Re:I dont think so..... by FatherOfONe · · Score: 2, Insightful

    Lets see.

    I can take your C app that is 100k and do it in machine code for around 5k. I have done this before just to prove it to people!

    Time to scrap C! Oh yeah, your C app will take a heck of a lot more processor to run also.

    Understand the argument?

    Steve Michael
    Network Architect
    steve.michael@performancestrategies.com

    --
    The more I learn about science, the more my faith in God increases.
  200. C++ in decline (?) by Ars-Fartsica · · Score: 3, Insightful
    My own 2 cents is that C++ is just too complex. People wanting to use some of the advanced OO features will have a better development experience with Java or Python, and those wanting pure performance never switched from C in the first place.

    I recently read an article where Bjarne outlined many of the things he had on the C++ wishlist, which more or less were the steps to make C++ into Java.

  201. Re:Further evidence against Microsoft... by WildBeast · · Score: 1

    hey, they support PERL and Python, I think that's great and I don't want Java installed by default with my OS, geez.

  202. Java Quake, whatever.... by Sebastopol · · Score: 2

    Whatever. When you can write an FPS game in Java then it will be a real language. Otherwise it will forever be an academic tutorial, just like Pascal, or a langauge for quick hacks, like Perl.

    Not teaching proper C/C++ in college just means there will be fewer good programmers in the world and buggier applications as a result of hiring mediocre coders.

    --
    https://www.accountkiller.com/removal-requested
    1. Re:Java Quake, whatever.... by Anonymous Coward · · Score: 0

      Java is dead slow for client-side GUIs because it doesn't use any hardware accelleration and instead just blits pixels on the screen.

      Presumably any 3D library for Java would just be a wrapper around OpenGL, and wouldn't have this problem.

  203. Caffeine units of mass... by Giant+Hairy+Spider · · Score: 1

    Sounds a little less impressive when you read it as ~85 kilograms. I don't know whether I'm impressed or not considering it as about half a megacup of coffee. Either way, it's about the yearly caffeine consumption of a small city.

    But imagine if they reported drug busts this way: "Over 20 million micrograms of marajuana were seized yesterday by local police officer Jack Russel. 'I'm no hero,' he modestly claimed, 'I just frisked some pothead.'"

    Personally, I save money by buying my caffeine at chemical supply shops by the pound. It goes well with reagent-quality ethanol.

    --

    ---
    You'd be surprised at the broadband connection available to things crawling around in your hair.
  204. And the mafia shot kennedy.... by catseye_95051 · · Score: 2

    Explain to me exactly and with what mechanism the JCP "Quashes bug reports?"

    The JCP is repsonsible for the spec. The spec by definition has no bugs.

    Various vendors license the spec and put out implementations. Each is responsible for ist own bugs.

    Now doesn't that make more sense then martians are wathcing through your peephole? If not I have some preforssionals I can recommend to tyou.

    Honestly, this kind of unsubstantiated and illogical raving is worthy of a poltiicain, but not slashdot. Or whoudl you rather I not confuse you with the facts?

  205. If that's the case by Goldberg's+Pants · · Score: 1
    How long until the Linux codebase is ported to Java?

    The day that happens, is the day I move back to Windows...

    1. Re:If that's the case by siegesama · · Score: 1


      The closest thing that's currently even feasible is JOS (http://www.jos.org/)

      --
      what the hell is a 'junk character', anyway?
  206. Re:Less Visual Basic Programmers by pmz · · Score: 1
    If MS writes good documentation then they can't charge you $$$$ for training seminars.

    This is why the tradition of UNIX man pages is so important. With little more than the K&R C manual (free over the Internet) and sections 2 and 3 of the man pages (free with your favorite UNIX or non-UNIX distribution), an average programmer can do a hell of a lot (and this is an understatement). I remember writing a small but non-trivial Curses application once knowing nothing about Curses going into it, yet I finished it in one evening (debugged and all). Can M$ and VB offer such a productive and thoroughly enjoyable programming experience?

  207. fallacies and bigots by Anonymous Coward · · Score: 1, Insightful

    You know what i'm sick and tired of seeing on /. Every time an article is posted about java EVERYONE ON THIS SITE DOES NOTHING BUT PUT IT DOWN with fallacies and no logical thinking. You people need to get out a little more and understand that 1) Java has been used for a FPS, 2) Java has been used for an MP3 decoder, 3) Java vs. MS is real and here - by throwing the open source community weight behind .NET you are doing nothing more than supporting MS, 4) every language has its purpose for instance java works WELL on server side apps and enterprise apps (remember the post from the other day about this), 5) to say that java will never be used on embedded devices shows your ignorance of java - it's used a LOT overseas right now and is coming ot the US soon so get used to it. I know you folks hate java because sun "controls" it but people wake up realize that just because it "can't" (which @ some point it probably will be able to) be used to write an OS does not mean it is useless. Remember a good programmer/developer knows to use the right language for the job.

  208. Re:Really? by reflective+recursion · · Score: 1

    The game logic is very much tied to graphics performance. AFAIK, you can't really have collision detection, object movement, network play, etc. without it being tied to framerate. Which, of course, AI would be tied to things like object position and movement. Now what would be possible is to have certain small things be implemented in Java (like motions that certain objects go through.. scripting type stuff). That is how Quake (and Unreal IIRC) handle addons. They use an interpretted bytecode much like Java (Quake uses a subset of C called QuakeC I believe). Unless a game is compiled from Java to machine langauge before hand (not JIT), I don't think it would be possible to have a whole FPS game in Java--even with all the enhancements on the hardware side.

    --
    Dijkstra Considered Dead
  209. Re:Less Visual Basic Programmers by SpanishInquisition · · Score: 1

    I don't even speak english, man , give me a chance...

    --
    Je t'aime Stéphanie
  210. Re:I don't think so by famazza · · Score: 1

    I was talking about assembly programing, not about machine codering. That's too different. Besides C/C++/JVM compiles to MachineCode, or OpCodes whatever, not to assembly. That's just a matter of naming. The point is that I'm happy we agree in general. ;o)

    --

    -=-=-=-=
    I know life isn't fair, but why can't it ever be un-fair in MY favor!?
  211. Not just the libraries . . . by Goonie · · Score: 2

    C also has better facilities for bit-twiddling, and mixing itself with assembler than Java does.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  212. Re:Sweet Fucking Christ by com · · Score: 1
    I agree with you. This is a very strange survey.

    ...survey conducted in March with 300 developers who use Linux as their main development platform ... and continues More than 40 percent of respondents also felt that Linux offers more value for the money than other operating systems

    What about 60% other? Do they use Linux, because it offers them less money?

    But the percentage of large enterprises running some Linux servers is on the rise, with almost 50 percent of those surveyed doing so, she added.

    So if I a big M* company is running two Linux servers are they in the statistics?

    Some data is really confuzing:
    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.

    77.2% + 21.8% + 21.4% + 20.4% = 140.8%

    I this find this very amusing.

  213. Re:Java lacks genericity... by Anonymous Coward · · Score: 0
    Listen cocksmoker, it's not *my* style of dealing with references to references, it's the Java FAQs. And if you can come up with a better way to do it in Java, I'd *love* to know
    You sure are a dimwitted little putz. The whole POINT of this discussion was that you CAN'T write generic functions properly in Java because the language doesn't support it. Your little example simply proved that.
  214. Re:XP effects? by jodonn · · Score: 1

    They'll do what most commercial Java apps I've seen do already--ship a JVM with the product.

  215. Re:Less Visual Basic Programmers by ackthpt · · Score: 2
    Spent hours on msdn, searching for examples on the web, and checking all the MS references we have, plus the few books I got, including VB in a nutshell. Problem was attempting to create an object holding a user defined type to stuff into a collection. It kept giving me error messages which ran me in circles. Gave up when the project had to move on and did the thing I wanted to do far less elegantly. As user defined types are fairly new, even msdn seems to have a bit of a time trying to offer code examples that are focused on one topic rather than trying to cover several.

    Seen bad java code, too. Worst example was an entire app written as one method within one try-catch. Sad.

    --

    A feeling of having made the same mistake before: Deja Foobar
  216. Re:Sweet Fucking Christ by Doomdark · · Score: 1
    Does one avoid taking this kind of study with a grain of salt simply because it supports a Slashdot Approved Technology

    Are we reading the same thread here? To me it seems that majority of posters are commenting more along lines "Java is stupid, Java is slow, I don't like Java, C/C++ for Kernel, Java is evil, it's just a toy" etc. etc. I don't see it as "Slashdot Approved" in any way. Personally I think "right tool for the job" should be the guideline, YMMV, whatever rocks your boat etc. etc., but for many Java itself is a red flag (smaller than Microsoft but still). I'm bit surprised to see people saying "it's unfortunate that Java is being used as the teaching language", without much reasoning why that is bad.

    The fact that IBM sponsored the study is of course different matter; IBM is the biggest sponsor of Java bar none. They have committed to using it, perhaps even more than Sun has. I personally don't think IBM influenced the study directly in any way, but they sure have use for its results. And everyone knows how both methodology of the study and the way results are published has huge impact on what the results look (sound) like.

    --
    I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
  217. Re:Really? by Anonymous Coward · · Score: 0

    Indeed, the right tool for the right job. same thing with OS's

  218. C vs C++/Java by Skapare · · Score: 4, Insightful

    There are two kinds of developments: those that need object oriented, and those that don't. If course the real distinction is always fuzzy. OO is not a universal method for everything, but it certainly proves its worth for a lot.

    That said, I think the difficulty people will have in understanding the shift to Java is because of the continuing confusion of referring to C/C++ together as if it were one language. C and C++ are not the same language for any practical consideration. Sure, you can write C and call it C++ and it will compile. But C++ is supposed to be something different than C, while giving you stuff C also has. But the distinction between the two kinds of developments mentioned above fall between C and C++. If you don't need OO for your project, then you write in C. Even if you compile it with a C++ compiler, it's still written as C.

    I believe that Java is taking more from C++ than it is taking from C simply because more and more of those kinds of projects (applications) that need OO, do not need the facilities of C. While C++ has good abstractions, it's always been too easy to do it wrong and code like C. Java doesn't let you do that (as easily).

    During the next economic boom cycle, more application projects will begin. Java will be more favored (if you believe all this, and I do). But that won't mean there will be a lot fewer things that need non-OO C ... there will just be a lot more new needs for which Java is an excellent choice. The thing is, those are projects that would not have been done in C anyway; they might have been done in C++ or one of those proprietary languages.

    For me, the biggest reason I stay with C programming, as opposed to going with C++ (for some, not all, since not all projects I do would benefit from OO at the coding level) is because C++ is C with the pluses. While some certainly see that as an advantage, I don't. I see C++ as some kind of hack and fear that what I might have coded in C++ would still be tainted with too much C-ism. It's not the OO part I'm worried about; it's the C part.

    I look forward to taking the plunge into Java. I'll skip C++. Some things will still be done in C. The big reason I have not done so before, or used some other strongly-OO language (like Smalltalk) is because the environments those languages work in have been too "academic". Look at the early hacks just to run Java programs to see what I am referring to. With advances like gcc support for the Java language (and Sun effectively losing pedantic control over it), I'll be able to fit a project developed in Java into a production environment more easily. These advances are shifting the line which determines whether a project benefits from using Java, and improves the margin in favor of OO where C++ wasn't enough to do it.

    In summary, Java will take some from C, more from C++, and it will do this mostly in all new large scale projects for which it is far better suited. The gains will be seen more in percentages, rather than in absolute numbers.

    --
    now we need to go OSS in diesel cars
    1. Re:C vs C++/Java by Skapare · · Score: 2

      I haven't tried GCJ yet, but I don't see why it can't have include files, pre-processing, and make files. This is probably going to be the way I head into Java, because it will allow me to be productive.

      --
      now we need to go OSS in diesel cars
  219. NO NO NO! by Anonymous Coward · · Score: 0

    The results are all wrong! Objective-C is taking over when millions adopt Mac OS X!

    Who wants:

    int AddSum(int a, int b) {}

    When you can have:

    - (int)AddSum: (int)a andNum:(int)b {}

    Simplicity people!

    1. Re:NO NO NO! by Melantha_Bacchae · · Score: 1

      An AC wrote:
      > The results are all wrong! Objective-C is
      > taking over when millions adopt Mac OS X!

      Your joke at Objective-C's expense was funny (I never realized how bad it was). But I don't think that is the language that will take over. Remember, Cocoa apps can be written in both Objective-C and Java. Furthermore, OS X has the best Java 2 implementation on the desktop, and Swing apps also have the Aqua GUI. The Developers CD in the OS X box even has a compiler to turn Java aps into clickable Mac apps. OS X is only going to make Java stronger and more popular. Already, OS X is benefiting from the ability to run Java apps that can be downloaded from the web. That's how I'm controlling my Airport in OS X.

      Microsoft really shot themselves in the foot when they took Java out of Windows XP. The applications go where the developers go, and the systems where the applications are are the ones that win. Right now, the best systems to run Java on are OS X and Linux. Windows XP looses before it is even born.

      "Mothra's attack is working."
      Shouta, "Mothra 3: King Ghidora Attacks"

  220. Re:Wonder if this means that Sun has woken up... by Anonymous Coward · · Score: 0

    Sun are just as much corporate opportunists as MS. Just because they pushed their VM setup cleverly doesn't mean that the original idea was from them. Just read about it in a Java book where the author reminds his readers that he remembers the first Pascal VMs on the AppleII... Anyway Java performance sucks and will surely continue so as long as the client side is made in Redmond. C# is the kind of next step in dev that's required now and I don't see any real competition. Borland were decapitated and wallow in the DB shit apps. Nice compiler, great componenents, shame about the short-sightedness.

  221. Re:it's about cost, not performance by jodonn · · Score: 1

    Templates-- Java has the Object base class which subsume the need for templates; all the Java containers are set up to hold Objects, so you can cram whatever you want into them. Pointers-- Java objects are completely implemented with pointers. You don't see them explicitly because they're an inherent and mandatory part of the language. Everything's passed by reference.

  222. What about project size? by Daniel+Dvorkin · · Score: 4, Interesting

    I don't see number of developers as being all that meaningful a measurement. I'd guess that the vast bulk of Java development is for relatively small applets and servelets, and since that sort of programming is considerably easier than serious application and OS development, the bar for being a Java developer is lower than for being a C/C++ developer. Developer hours, though harder to measure, would probably provide a more meaningful representation of how "big" a language has become.

    That being said, unlike a lot of posters here, I don't see speed as being a permanent impediment to Java's growth. We're already at the point where some serious Java apps are fast enough for everyday use, and I expect that to be more true over time as a) hardware continues to get faster and b) OS support for Java gets faster and more integrated. Mac OS X does a truly beautiful job of integrating Java support into the OS (ironically, better than anything from Sun itself) and some Linux solutions aren't far behind.

    And it's nice to hear that it's taking market share from VB. Java may never live up to Sun's early visions of taking over the desktop, but if it helps slow down or even stop the progression of VB/C#/.NET (and yes, I know these are three different things, but they're all clearly connected as elements of Kaiser Bill's Evil Plan) then that's a good thing.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    1. Re:What about project size? by sql*kitten · · Score: 2
      We're already at the point where some serious Java apps are fast enough for everyday use, and I expect that to be more true over time as a) hardware continues to get faster and

      Amusing that you make this point in support of Java, but were it Microsoft products needing ever faster hardware, you wouldn't hesitate to criticise them.

    2. Re:What about project size? by MSBob · · Score: 2
      That being said, unlike a lot of posters here, I don't see speed as being a permanent impediment to Java's growth. We're already at the point where some serious Java apps are fast enough for everyday use, and I expect that to be more true over time as a) hardware continues to get faster

      This gets said over and over again by Java zealots. Speed is of no concern because the hardware keeps getting faster. If the hardware keeps getting faster imagine the kind of cool stuff people could do with an efficient language instead of the Java bloat. No matter how optimised the VM will always be a speed killer. M$ will keep releasing more powerful and snappier desktop apps while the java zealots will keep coding stuff that's slower and less featureful. That's how it's been for the last five years and that trend seems to remain unchanged. JBuilder and Forte suck ass compared to Visual Studio. Have a nice day.

      --
      Your pizza just the way you ought to have it.
    3. Re:What about project size? by Anonymous Coward · · Score: 1, Informative
      "I'd guess that the vast bulk of Java development is for relatively small applets and servelets, and since that sort of programming is considerably easier than serious application and OS development..."

      Obviously you haven't been looking at what has been going on in the realm of "server-side" Java -- J2EE, Enterprise Java Beans (EJB), etc. or you would not say such things.

    4. Re:What about project size? by greenrd · · Score: 2, Informative
      No matter how optimised the VM will always be a speed killer.

      Not true. Have you ever heard of dynamic optimisation? A dynamic optimizing VM like Hotspot can actually run some code faster than native code, because it tunes the code to actual runtime conditions.

    5. Re:What about project size? by mimbleton · · Score: 1

      Only if given optimization outweights costs of having runtime VM in the first place.

    6. Re:What about project size? by SlashFrog · · Score: 1

      What does this even mean? The two concepts are dissimilar.

      --
      --- One world, one chance Doc.
    7. Re:What about project size? by Anonymous+Brave+Guy · · Score: 1

      But the thing is that 50,000 (or even 250,000) lines of code isn't really a big app by today's standards. That sort of figure is a small to medium sized team working for a few months. You're still two orders of magnitude below the really big projects. Of course, that's partly because big projects are the masters of writing BloatWare. But only partly. :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  223. Java Servlets by Bonker · · Score: 2

    While I personally dislike Java, I think one of the reasons it's doing so well is the ability to create Java servelets on almost all platforms.

    Really these are just overblown CGI applications, but really shine when you're doing something like online reporting or database manipulation.

    --
    The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
    1. Re:Java Servlets by TWR · · Score: 3, Interesting
      Really these are just overblown CGI applications

      No they aren't.

      The last time I used CGI (which was many years ago), each CGI request required a new heavyweight process to be spawned. I don't think this has changed, but I could be wrong.

      Servlets don't work that way. They are part of the same heavyweight process, and you don't need to keep re-instantiating them anyway. Session state is kept per connection, but you can have far fewer than N threads to manage N users.

      A CGI written in C is almost certainly vastly slower than simiar code writen as a Java servlet. Deal with it.

      -jon -jon

      --

      Remember Amalek.

    2. Re:Java Servlets by gupta · · Score: 1

      CGI has been associated more with Perl than C/C++. Apache/mod_perl has corrected the original CGI separate process problem. a mod_perl CGI now runs 5~10 times faster than the CGI you metioned. But i agree Java/Servlet is a strong competitor to mod_perl/CGI...

    3. Re:Java Servlets by Anonymous Coward · · Score: 0

      So Java's main competitors are PERL and Visual Basic?

      No wonder Java programmers are such idiots.

  224. Other languages and bytecode? by thinmac · · Score: 2, Interesting

    The bytecode idea is a really good one, especially with the large (although shrinking) number of platforms you have to support these days, and the possible rise of VLIW processors on the horizon. I don't really like coding in Java all that much, though. Is anyone working on a compiler for another language that compiles to bytecode that will run on a JVM (rather than a internet-c or c# vm)?

    1. Re:Other languages and bytecode? by ackthpt · · Score: 1

      UCSD Pascal used to compile down to a bytecode called P-Code, and that was about 20 years ago. Dunno if anyone's still developing in it, but the promise of write-once, run anywhere didn't pan out too well in that regard. Probably due to licensing costs, i.e. having to by the VM for each platform.

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:Other languages and bytecode? by gkatsi · · Score: 2, Informative

      Quite a few actually:

      http://grunge.cs.tu-berlin.de/~tolk/vmlanguages. ht ml

    3. Re:Other languages and bytecode? by brunns · · Score: 1

      there's a company that's building yet another python compiler for the .NET framework

      The company is ActiveState. Python for .NET (and Perl for .NET) is here.

      --

      If you moderate me down I shall become more powerful than you can possibly imagine.
    4. Re:Other languages and bytecode? by Anonymous Coward · · Score: 0

      Smalltalk runs on a VM, although you would need to download the VM as a plugin or something. As far a coding goes, it is much easier than Java. Try doing a search on SQUEAK smalltalk as far as plugins go.

    5. Re:Other languages and bytecode? by Anonymous Coward · · Score: 0

      Look at smalleiffel, a free implementation of the Eiffel language. The compiler has a backend to java and to c.

    6. Re:Other languages and bytecode? by skullY · · Score: 3, Informative
      The bytecode idea is a really good one, especially with the large (although shrinking) number of platforms you have to support these days, and the possible rise of VLIW processors on the horizon. I don't really like coding in Java all that much, though. Is anyone working on a compiler for another language that compiles to bytecode that will run on a JVM (rather than a internet-c or c# vm)?
      Jython (Used to be JPython) does exactly that. Jython is a python intrepreter written in Java, that can compile your script into Java bytecode if you want. And, according to the preface of Programming Python, there's a company that's building yet another python compiler for the .NET framework.

      Not to meantion that python is OO, and being Free Software will probably overtake Java in a couple years anyway. ;=)

      --
      When I was able to do my own spam-armoring, you got a chance to email me. Now you can only hope I see your reply.
    7. Re:Other languages and bytecode? by uucp · · Score: 1

      There are also a couple of java backends to gcc. One of these is http://www.csee.uq.edu.au/~csmweb/uqbt.html#gcc-jv m from Christina Cifuentes at the UofQueensland.

      --
      Sig (appended to the end of comments you post, 120 chars)
    8. Re:Other languages and bytecode? by Anonymous Coward · · Score: 0

      I actually wrote a copiler for the dragon programming language using JVM in a compiler design class that I took. I used the O'reilly book "Java Virtual Machine" as a reference and I recommend it as a good starter for learning about the JVM.

  225. Re:Java as a teaching language by Craig+Maloney · · Score: 3, Insightful
    Well, I too did some Java programming, and liked it to a point. This was back around 1998. The problems I encountered were mostly cleint related (Sun hadn't created their now mandatory plugin). I would never consider using Java for a client-side application, and quite frankly lost my appetite for programming in Java. True, it may be approaching C and C++ speeds, and it does get rid of some of the headaches of C and C++, but then again, I've found that Object Oriented programming isn't the complete answer to programming... you need a balance of both function and objects. Not everything can be represented by objects.

    To each her own, I guess...

  226. Playing with statistics by Anonymous+Brave+Guy · · Score: 3, Insightful

    I can't help feeling a bit skeptical here. Who counts as "Developers using Sun Microsystems Inc.'s Java programming language"? I program Java, but I'm no expert. My professional work relies principally on C++, with odd bits of Perl or Python used on the project where they're convenient. Do I count as a "Java user"?

    I suspect that the reality is that more programmers may now know Java, at least to a "competent" level. This is an inevitable result of the current trends in academia, and of course the hype of a couple of years ago. On the other hand, how many developers actually use Java as one of their primary languages is a different question, as is how much production code is actually developed using that language.

    Reading between the lines of the article, I don't see anything to dispute this theory. And how can Java be rising "at the expense of" C, C++, VB and such anyway? Surely programmers who use these languages aren't just forgetting them in order to learn Java! This whole thing smacks of misleading statistics -- anyone know who sponsored the survey?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Playing with statistics by qon · · Score: 1
      And how can Java be rising "at the expense of" C, C++, VB and such anyway?

      Because programmers stop writing code in C, C++ or VB and start writing code in Java. That's what I did myself. It was gradual change for me. I used to write a lot of VB and VBScript in the old days. But I much preferred Java, even if I was only doing little applets or the like.

      Once it gained commercial credibility, I was able to begin doing major projects in Java. That's what I do now. I'm never going to write another line of VB again if I can help it.

      Q

    2. Re:Playing with statistics by tswinzig · · Score: 2

      I program Java.... Do I count as a "Java user"?

      Uhhhh, yes.

      --

      "And like that ... he's gone."
    3. Re:Playing with statistics by WildBeast · · Score: 1

      In short, you've never programmed in an easy, clean and fast language like say Python?

  227. not for embeded by sp0rch · · Score: 0

    There is no way java will be able to overtake c/c++ in the embeded RTOS market in the near future, its way to slow. i have yet to see a router/switch vendor even talk about using java Several vendors still use hardware specific assemblers.

  228. This really is a load by Anonymous Coward · · Score: 0

    How many career developers out there acctually know of anyone dumping C++ or VB for JAVA?? JAVA is really neat and very Avantgaurd(yea I'm sure I spelled it wrong), but it's not ready for prime time yet. And it won't be next year either. Get real ZDNET.

  229. Re:XP effects? by EnderPax · · Score: 1

    I think the decision to drop Java from XP won't be all the huge. Consider that most full-on Java apps ship or can ship with their own JREs. Who cares whether the JVM is there on the OS. Just ship with a JVM as part of the application install. Bingo, your program runs.

    Over the net, this gets more difficult. But applets aren't as huge a part of the web as they once were. Plus, won't IE just pop up a dialog box asking people if they want to download a JVM? And wouldn't other browsers ship with a JVM anyway?

  230. Nah! by Anonymous Coward · · Score: 0

    My mate was writing in Z80 10 years ago and he still is.

    Mind you, with the Gameboy advance out now he may change to C.

  231. Re:Java lacks genericity... by partingshot · · Score: 1

    hey, /. cut off my template tags!

    should have been:

    template <typename T>

    Should have used the preview button...

    --
    Anonymous posts are filtered.
  232. Re:One more misconception to fix by catseye_95051 · · Score: 2

    Because, first off you obviously don't WANT to find them since I told you were to look for 3 good examples.

    Here's another, a very sophisticated UML tool -- IMO better then Rational's Rose.

    www.together.com

  233. What jackass thought this was flamebait? by _damnit_ · · Score: 1

    I don't like to complain about moderation. I have moderated on occasion, but this is too stupid to let pass. The post was well written. You may disagree with his position but that doesn't make it flamebait!

    --


    _damnit_

    It's my job to freeze you. -- Logan's Run
    1. Re:What jackass thought this was flamebait? by Anonymous Coward · · Score: 0

      Yeah...that's why his user number is 1143, because he just made the account. How about a little attention to detail?

    2. Re:What jackass thought this was flamebait? by Anonymous Coward · · Score: 0

      And let me guess..you're the same guy, but you just made an account to try and protest the fact that you were rebuffed for trying to troll the boards? Almost had me there, phew. You're good.

  234. Re:Further evidence against Microsoft... by sterno · · Score: 1

    Ouch... okay good point :).

    --
    This sig has been temporarily disconnected or is no longer in service
  235. Re:really? by WolfWithoutAClause · · Score: 2
    The current Java technology is plenty fast enough.

    DVD can be done. Java is actually as fast as C++ for numeric intensive applications such as that.

    CD-R is quite doable in Java if you code it carefully; you don't get garbage collection pauses if you don't generate any garbage...

    Java isn't you're fathers Java any longer, it's not quite as fast as C++, by and large, but it's often within a small percentage; and with current processor speeds, but mostly who cares about even a 50% hit?

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  236. Re:it's about cost, not performance by Anonymous Coward · · Score: 0

    SUN E10000s are expensive - $25k is tiny. WebLogic and WebSphere are grotesquely expensive too. All empirical studies I have read show that as a runtime environment COM+ has a 10x advantage in price/performance over J2EE. Java development is 5-10x faster than C++, but has no advantage over VB. All of this explains why my last two clients (think big, big organizations) have turfed Java and standardized on COM+/VB.

  237. Nice Applet, but JAMID is a full screen game by catseye_95051 · · Score: 2

    JAMID has been favorably compared to Quake2/Unreal by EvilJohn, the organizer of Quakecon. (You can see the comments at javagaming.org).

    And it was written in 1 month by 3 guys.

    How long did Quake 2 and Unreal take to write in C?

  238. Re:why? by Anonymous Coward · · Score: 0

    It's good for certain things; rapid development of short-lifetime apps, ease of networked solutions (internetworking of apps is a framework built into the class library), server applications via Servlets. It's not as good at GUI apps due to performance/memory usage issues, but that may change to the better as better JVMs are built.

    It'a a matter of horses for courses; just don't believe it's a one-size-fits-all solution. No such beast.

    (There *was* such an OS, it was called JavaOS and was designed to run on a hardware implementation JVM. Do a websearch and you should find some interesting references..)

  239. Java is more than you think... by Glock27 · · Score: 3, Interesting
    Maybe I have entirely missed the point, but compare C/C++ to Java is like comparing apples to oranges. C is not generally an interpreted language and therefore has completely different applications. Perl, Python, C#, and BASIC are usually interpreted languages and are comparable.

    Yes, you missed the point. First, the VM based versions of Java (using adaptive compilation as opposed to simple interpretation) are now very competitive with C++ speedwise. Sometimes slower, sometimes faster with usually a fairly small delta.

    C is generally more efficient, but you lose object orientation.

    Finally, there are traditional ahead-of-time compilers for Java like gcj (which shipped with gcc 3.0).

    Java is well suited to a large percentage of programming tasks. For those areas where its not appropriate it can (fairly;) easily call C/C++.

    Java is open, productive, fast, cross-platform, widely taught, supported by every significant software company, and somewhat future-proof. What other language/platform comes close?

    The real proof will be forthcoming - when many anti-Java Luddites are in the unemployment lines, still complaining about it... ;-)

    186,282 mi/s...not just a good idea, its the law!

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
    1. Re:Java is more than you think... by Glock27 · · Score: 1
      I have to laugh every time I see these claims, because the people making them always fail to back them up with proof.

      There are some benchmarks at Ace's hardware (search for binaries vs. bytecodes) that aren't perfect, but make some very valid points. Perhaps a /. based C++ vs. Java coding contest would be interesting. Any interesting problems come to mind? I'm sure we have the talent around here to get close to max performance with both languages.

      If you like, you may even compare it to a real OO C-based language like Objective-C, but not C++, which is one crappy OO language.

      I'd expect Objective-C to be a bit slower than C++ in general, given the method lookup overhead, and lack of generic types. I do like Objective-C, but I really don't think it'll ever gain mainstream acceptance. Garbage collection is stronger than reference counting as well. Plus (assuming you're talking about a traditional compiler like gcc) you lose the advantages of bytecode like dynamic compilation tuned for the exact CPU (say Athlon for instance) that you're using.

      Please give hard evidence that Java is on par with C (within 10% of both CPU and RAM usage) for a significant, parity task.

      I didn't make that claim, so I'm not sure why I'd want to do that. I'll stand by my claim WRT C++ (used as an OOL).

      Spoken like someone who doesn't really understand OO. OO programming can be done in any language, even C, though certain things are made easier for the programmer if the language has OO support.

      I don't recall saying it was impossible to do OO in C, but why would one want to? That's the point of having OO support built into the language (which is of course what I was referring to).

      Uh, how about C?

      Do you honestly feel C is as productive as Java? I certainly don't. Both its language features and standard library are seriously lacking. Plus you can't move your app to a new architecture or OS without recompiling.

      You also have to work a lot harder to write good cross-platform C code, and there is no really worthwhile solution for cross-platform GUI development (at least compared to Java).

      For those of us who lived through the C++ hype, you people who are riding the Java bandwagon are downright funny. They're all just languages, not ways of life.

      I lived through the C++ hype...and several before that. C++, though, was such a major disappointment...it sounded great on paper, but actually implementing software with it was a severe pain. Bugs were often very subtle and difficult to find. Java has been a massive breath of fresh air by comparison, and it looks like eventually they'll add back in a couple things I miss (generics and operator overloading). In the meantime, there are preprocessors.

      The C++ people said the very same things . . .

      To a large extent they were right. Have you checked the ratio of C++ to C jobs lately? And that was in spite of how badly C++ sucked... Java, on the other hand, is a major step in the right direction.

      186,282 mi/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
  240. Re:really? by TrollingKarmaWhore · · Score: 1
    Yet, we still don't have C compilers that can automatically vectorize code

    They do exist for some vector boxes but they are not as good as the FORTRAN versions. This is partly because there is much more interest in solving the problem for existing FORTRAN codes (C programers tend to be willing to recode) and partly because there are design problems in C that make detection of vector operations hard.

    The reason DVD codecs are likely to be written in assembly is that Intel wrote the MMX instructions for that very purpose and it is much easier to hand code for the handful of cases the stuff is relevant than design the compilers to recognise them.

    --
    Bet you wish you thought of this nym first
  241. Re:Programming for Business by Anonymous Coward · · Score: 0

    Which methodology did Iridium choose, and, did their developers get enough training in it to be useful, or was it a case of a team new to OO in general getting a couple of days' worth of "training" before starting out? That's a recipe for failure in *any* language/method.

  242. Actually, if you think about it by Zecho · · Score: 2, Interesting

    Hardware designed to run Java seems to run it fine and with a huge amount of speed increase over normal pc hardware.. By that line of thought, all that needs to happen is for SUN to get with the hardware mfgs, spread around a little bonus money , and get them to better support java apps. Java's a little complicated to program in, I'll admit I tried it, didn't like it, but I'm a little cpp biased.

    1. Re:Actually, if you think about it by Zecho · · Score: 1

      Here's a bit of an explanation as to why it was complicated to me.. I started out coding on my C= 64, learned a little BASIC, gave it all up when I learned about girls, picked back up with VB3. and had gotten used to VB, when I decided I was brave enough to try linux again which meant learning (yes) c++ By the time I got to Java, it was a whole new world to me and quite frankly, I was lost. of course, this doesn't mean that I gave Java a fair shot. Only that I looked at it, tried, with my preformed mentality, to do something usefull with it, failed miserably and went back to what I knew and was comfortable with. Now, I may have to rethink my standing on it after reading your post, and a few more here. Hopefully you're right, I would love to be able to code efficiently with it.

    2. Re:Actually, if you think about it by egomaniac · · Score: 2

      I'm truly not sure how the "Swing is slow" bandwagon got started. Maybe Java2D (the graphics engine powering Swing) has performance issues with some video card/driver combinations, but I've used Swing on everything from a PII/350 to an Athlon 1200 and never seen any such problems. Admittedly, Swing *was* quite slow in the really, really early days back when it barely even worked, but no reasonable version of it (IMHO) has ever had a serious performance problem.

      For the record, I'm currently working on a massive enduser Java application using Swing. Resizing JInternalFrames is slower than I'd like, but I have no complaints about anything else (I can even make half the components partially transparent without affecting rendering speed at all). I hope to have it in beta late this year.

      --
      ZFS: because love is never having to say fsck
    3. Re:Actually, if you think about it by Fly · · Score: 3, Insightful
      How can you possibly say that "Java's a little complicated to program in?" If you're using C++ (I assume you are not referring to the C precompiler by "cpp"), I cannot understand how Java is anything but SIMPLER than C++. Java has a single, consistent object model. You don't have to worry about objects on the stack versus objects on the heap. Java doesn't have all of the funkiness caused by mixing class types with typedef'ed other stuff; there is just the simple reference type for all objects, including arrays.

      After programming in C++ and Java each for several years, I can only say that C++ is the more complicated of the two. I do not like using Swing (Java's standard GUI components), but I haven't tried them for just over two years now, and it may now be much improved. For the server-side work I do now, Java beats C++ hands down for ease of use.

      All of the following and more make Java simpler, though they cost a little bit in flexiblity and speed. However, server-side Java (forget about Swing and how slow it is) performs quite well for me. Today's PCs seem to do a good job running Java. I've been pleasantly surprised by just how much better JIT was over non-JIT and again by how much better Sun's Hotspot JVM and IBM's JVM are than earlier JIT JVMs. Special hardware might be useful for embeded devices, but mainstream CPUs work quite well for server applications.

      • single reference type
      • no operator overloading
      • garbage collection
      • no parameterized types
      I've often wished for some of the items above, but in the spirit if KISS (keep is simple, stupid), Java wins for me.

      end of line

      --
      end of line
  243. Re:XP effects? by mightbeadog · · Score: 1

    Most professional programmers writing Java are writing server-side code. Their users don't need Java, just a web browser. And if a business wants to install Java fat clients on their employees' machines, they can install a JVM at the same time. Therefore, XP's lack of Java will have almost no effect on the amount of work being done in that language.

  244. Re:Not going to happen by thelexx · · Score: 1

    Care to substantiate that claim or are you just blowing smoke? What are you implying anyway? That MS is buying people/politicians off (wouldn't surprise me actually)? Taking out contracts on Sun personnel? Developing brain-washing devices to get back the mindshare they've lost? Better be something pretty magical considering that I work for the leader of the Global 500 and Java is well ingrained in our operations.

    LEXX

    --
    "Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
  245. Re:Really? by WolfWithoutAClause · · Score: 2, Informative
    Basically, all benchmarks comparing different languages should be taken with a sackload of salt. These are some of the more reasonable comparisons I could find in about 10 minutes. As a rule of thumb I think that any benchmark older than 12 months should probably be ignored; there's been too many improvements since then (many of these benchmarks are slower than gcc but some are faster):

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  246. ick by oncee · · Score: 1

    Ick

  247. Re:XP effects? by MtViewGuy · · Score: 1

    I'm going to watch with great interest how Sun is going to get their own Java VM on Windows XP.

    Will Sun make a web site available that will allow the download of a Java VM for Windows XP users?

  248. Re:Really? by TrollingKarmaWhore · · Score: 1
    From my experience, many physisists are excellent innovative programmers. You sure rememeber how the first ever publication about WWW was called? Yep "WWW - Collaboration Tool for High Energy physics"

    Yes, I was a member of the team that wrote it

    The physicists response to the success of the Web was to boot us out of the lab when our contracts expired

    If Palatzi has finaly got the management to stop backing the PAW loosers that is good news.

    --
    Bet you wish you thought of this nym first
  249. 2002 Forecast by VFVTHUNTER · · Score: 1
    So here's what will happen in 2002:

    Linus will move all of the source over to Java. It'll be slower, but at least it will run on all platforms (including the PS2).

    Carmack and the iD folks will release Doom 3 and re-release Quake3 in Java. It will run a hell of a lot slower, but that's what ATi Radeon 8500's, GeForce3's, and Pentium 4's are for, right? ;)

    Microsoft will release Internet Explorer 6 in Java, after realizing that scrapping Java support on XP was "a big mistake." The new version of IE will run on Linux.

    Lastly, RMS will release the GPL, version 3.0, written in Java. Since it will be readable on all machines everywhere, Microsoft will finally be able to read it, understand it, and issue an official apology for calling it a cancer. They will then embrace the GPL, change the wording slightly, wait until everyone starts using the MS GPL, and then change the wording slightly so that it is incompatible with everyone else's version of the GPL.

    1. Re:2002 Forecast by Anonymous Coward · · Score: 0

      shut up with the microsoft hate, you fucking cocksucker. microsoft windows is *FIFTY* times superior to linux, you just don't want to admit it.

    2. Re:2002 Forecast by MSBob · · Score: 2

      Exactly. And pigs will fly don't you forget that one.

      --
      Your pizza just the way you ought to have it.
  250. Re:it's about cost, not performance by jmccay · · Score: 1

    What about the fact that it is much easier to decompile a java program? While this may be great for the open source crowd, but the cathedral people will eventually be uncomfortable with it.
    Java dooms itself by locking itself into one paradigm--OOP. OOP is alright, but it isn't always the best solution. I don't think Java will take off that fast.
    C, & C++, are more flexible, and they are both more powerful. I don't know what I would do without templates and pointers--both of which are missing in Java.
    Without templates, you have reinvent the wheel each time for every new data type you want to create which you want to use an alogyrithm(sp?) or storage method, and templates let you get around this problem. Pointers make structures like linked lists (with & without skip lists), double linked lists (with & without skip lists), and al sorts of trees easier. It takes a lot less time to add new elements to a linkedlist than to the add new elements to an array. I never even saw skip lists implemented in Java.
    I think java is nice for the web, and playing around with, but their are still several issues with it.
    At the same time, I doubt .NET & C# are going to take off that fast either. How many companies have you heard that will actually upgrade their products to use any of the .NET stuff?

    --
    At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
  251. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

    Java GUI's are dead already. They are talking about java on the server. As you said, you are no java expert.

  252. Java usage by BWJones · · Score: 1, Redundant

    I expect that if this course holds true, M$ perhaps will again be making an about face and including Java support again in some form in its OS's. However, they probably will end up embracing and attempting to kill Suns implementation. This could also bode well for the variety of companies who have adopted the Java2 standard and included Java engines in hardware and software.

    --
    Visit Jonesblog and say hello.
  253. Heheheh. by Nevrar · · Score: 2, Funny

    Someone forgot to moderate the article as Flamebait...

    --
    Nevrar
  254. Further evidence against Microsoft... by sterno · · Score: 2, Troll

    So Microsoft is not including support for Java in .Net and Windows XP. Isn't that interesting? You'd think that a language, soon to be used by 60% of developers, would be worth supporting. I mean if they are not going to support Java, why are they supporting C++? I mean less people are using that, so why support that if you won't support Java?

    Of course it's real simple, C++ doesn't threaten Microsoft's monopoly. They'll even support perl because they don't see it as a threat. It's certainly not that Perl has some broader base of developers.

    --
    This sig has been temporarily disconnected or is no longer in service
    1. Re:Further evidence against Microsoft... by Anonymous Coward · · Score: 0

      Imho, this is a good thing, because it will no longer be necessary to mantain compatibilty with JRE 1.1.

    2. Re:Further evidence against Microsoft... by greenrd · · Score: 1
      They settled out of court with Sun recently. Part of the agreement was MS would not have access to new Java tech and would only be able to continue using their current Java tech (original code came from Sun) for a few more years. So they have to phase it out. So blame Sun!

      But really it's not a big issue (especially with Java Web Start). Compare and contrast: "Hey, Visual Basic will never take off! You need a VB Runtime library to be installed, and no user would EVER bother to do that, NOOOOO...."

  255. FUD alert by Anonymous+Brave+Guy · · Score: 4, Informative
    I recently read an article where Bjarne outlined many of the things he had on the C++ wishlist, which more or less were the steps to make C++ into Java.

    Stroustrup's presentation notes can be found here (PDF format). I invite anyone interested in knowing what he actually said to take a look. It certainly doesn't sound much like Java to me.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:FUD alert by Anonymous+Brave+Guy · · Score: 1

      Well, PHBs would think Java was like C++ because it had a similar syntax. We just have to live with their incompetence. :-)

      Seriously, you make a fair point; an ill-informed observer could draw the conclusions you've given. The reality is somewhat different, of course.

      For example, I don't think EJB are the kind of tool Bjarne was thinking about when he talked of improved library building. Beans, and components generally, are by their nature pretty specific. They can be very powerful for doing a pretty well defined job, but they aren't, usually, general purpose tools. What's needed is more general tools that will support many projects. The STL had the right idea -- many programs use the sorts of containers and simple algorithms it provides. The syntax may suck, but the power is starting to show. Similarly with the I/O streams system; using it beyond the basics can be awkward, but the flexibility to adapt and extend it is clearly there. If they could do similar things for multithreading and RPC, for example, it would be a real boost.

      Oh, and it's not the size of the library, but what you can do with it that counts. ;-) Java has a huge library, much of which is **** because they tried to put too much in without thinking it through properly first. Say what you will of C++'s standard library, it does fit together pretty well overall. If they can build on that framework, and fix the odd parts, in the next revision, it has much potential.

      As for distributed computing, while Java has it as part of the language if you want to talk to other Java apps, you're going to have to work rather harder to use DCOM, CORBA or whatever. One of Java's biggest problems is its refusal to accept the existence of other languages/platforms -- JNI is about as close as it gets -- and the resulting hoops people have to jump through to use them together. The lower level nature of C++ makes it well-suited to this problem, if someone comes up with usable libraries to help. (No, Microsoft, the steaming pile you called COM support does not count.)

      So yes, while I agree with your point that idiots could read this the wrong way, I think the intention is clear, and actually quite comforting.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  256. Re:I don't think so by sqlrob · · Score: 1
    assembly might be faster, but ít's also too limited

    What do you think C/C++/JVM compile to? Chopped liver?
    EVERYTHING that can be done in a high level language can (and eventually, must) be done in assembly/machine code. It's just a matter of difficulty and implementation. It's a lot easier to have a compiler do it than do it by hand.

  257. Re:Java lacks genericity... by Anonymous Coward · · Score: 0
    Since every class in Java derives from Object, my swap routine was perfectly type-safe, thank you very much.
    No, it's not type safe at all (do you even know what that means?). If you mix two incompatible types, you'll get a runtime error. When it comes to type safety, casting things to an Object reference in Java isn't much better than casting to void* in C.
  258. Bring out the Java vs C++ Trolls by Vicegrip · · Score: 1

    Yet another article whose main point has absolutely no bearing on my day to day programming life.

    --
    Do not spread "09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0" over the internet, thank you.
    1. Re:Bring out the Java vs C++ Trolls by Anonymous Coward · · Score: 0

      Yet another reply whose main point has absolutely no bearing on the article I was reading.

  259. But what is "speed"? by e2d2 · · Score: 3, Informative

    Well I guess it depends on how you measure "speed". Do you mean perfomance time related to the application itself or do you mean time to market? Which is more expensive for a company - hardware or humans? The human cost is often overlooked when we speak of how "speed is of the essence".

    I know plenty of developers that like Java simply because it's easy to program and you can roll out applications relatively quickly when compared to C++. Now I know that statement is opinion and everyone has an opinion, but saying that Java is slow is misinfomed. Given that applications are so network-centric these days, Java can truly shine in a server environment where the resources are plenty.

    But to be honest, comparing these two languages is not fair. Here is a good article on why they are apples an oranges

  260. Not Scientifically valid by ClosedSource · · Score: 2, Insightful

    There's no margin of error quoted so this is obviously not a scientifically valid survey.

  261. Sweet Fucking Christ by szcx · · Score: 5, Interesting
    So Evans Data Corp. presented a "study" that was funded by IBM at an IBM conference that said Java is going to take over the world and that Linux is swell. Well color me the suprised.

    Seriously, folks. Does one avoid taking this kind of study with a grain of salt simply because it supports a Slashdot Approved Technology?

    If this had been a study sponsored by Microsoft presented at a Microsoft conference supporting Microsoft technologies, people would be gathering up the pitchforks and flaming torches.

    Feel free to mod this down to the pits of Hell, but we both know it's true.

    1. Re:Sweet Fucking Christ by byoon · · Score: 1

      Since when was Java a Slashdot Approved Technology? Java has always seemed like the KDE to C's GNOME around here.

    2. Re:Sweet Fucking Christ by continuum1000 · · Score: 1

      Well also....... What about all the BSD servers.... ?? and all the enterprise UNIX servers (Solaris, HPUX etc).... Paying attention to any statistic at all especially one's as obviously wrong as this makes people like the guy who originally sent in this post, think they are l33t but let me assure you they are not even as good as the "Script Kiddies" :p

    3. Re:Sweet Fucking Christ by leifw · · Score: 1

      While I won't disagree with your assessment of the study as being biased, I do question how you conclude that the study was funded by IBM. That is not stated in the article. Perhaps I'm being hopelessly naive to assume that a study released at a corportation's conference isn't necessarily funded by that corporation.

  262. Why do they mention C with C++? by stikves · · Score: 2, Informative
    What about C? Many "serious" work is done with C, and it seems it will take more than one year for this to change.

    Look at all those OS kernels and low level software. Is there there any way that Linus will throw away his kernel for a Java replacement?

    Ok, I hear your arguments. But it is not about choice of language. It's about choice of model.

    In C, you're developing in structured programming model. In C++ you're developing for object oriented programming model. C is the best known language in its model. It has easily killed BASIC, PASCAL or any other competitior. And Java is a very strong language in its arena it seems like it will be able to kill C++ in a year (as the article says) and any other competitor (Smalltalk, ObjectPascal) is already out of the way.

    But until we change the way this machines operate object oriented model will not dominate. Thus in a few years we may see KDE replaced with Java version. But it's unlikely to see Linux replaced by JOS (http://www.jos.org) in even twice that period.

  263. Re:Less Visual Basic Programmers by scott1853 · · Score: 2

    If MS writes good documentation then they can't charge you $$$$ for training seminars. C'mon, the poor guys only made something like a measly $25 billion last year. You can't expect them to make enough money by simply screwing you on the OS and the IDE.

  264. Re:That's OK, we don't really need your business by xZAQx · · Score: 1

    So that's how it works, huh? Ask an open-ended question, state that you are obviously not well informed, plead to be proven wrong, be polite as possible, and you get flamed?! Screw you. I said I was not an expert, I asked why Java was increasing in popularity, NOWHERE did I say "Java sucks," I said it seems slow. Thanks for proving me wrong, try not to be such a prick next time.

    --

    We dance to all the wrong songs.
    --Refused.
  265. office suite by Misha · · Score: 3, Informative

    I don't know about CD-R or DVD (though I suspect most limitations consist of the lack of a hardware speaking interface in Java), but with the Office suite comment, you are refering to the lack of a fast windowing toolkit for Java.

    Believe it or not, that's about to change. If you've ever seen IBM VisualAge environment, you should know that's written in Java. The window speed is just as fast as any office suite. I was surprised just how fast it was.

    The people who wrote VA work for a company called OTI. The windowing kit they used was something proprietary and closed called JFace, but from what I understand, they are ready to release and open-source it to the public in the next few months, although the website is password protected right now.

    Don't sell Java short. it's not system level programming, but it's hardly something to be dismissed as 'too slow'.

    --



    I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
    1. Re:office suite by Misha · · Score: 1

      I guess I have to retract my claim in some way, shape, or form. Yes, VA was written in Smalltalk. However, the current version of Eclipse comes with Plug-In Development Environment, which is basically VA with some things changed around, and is written in Java. I was under the impression that it, in fact, was VisualAge. I apologize for the inaccuracies.

      Thanks for keeping me honest. 8)

      --



      I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
    2. Re:office suite by Anonymous Coward · · Score: 0

      Uhh no. The Visual Age for Java IDE is written in Smalltalk, not Java.

    3. Re:office suite by SlashFrog · · Score: 2, Informative

      VAJ is written in Smalltalk. VA Micro Edition is written in Java. The new version of the VAME IDE is called "Eclipse" or alternatively the Websphere Workbench download. You can get it at http://www.eclipse.org

      --
      --- One world, one chance Doc.
  266. Re:Java Portable Apps? by Anonymous Coward · · Score: 0

    Yeah, it's so virus writers can't steal your address book and wipe your appointment list. Oh yeah, and it's also so that you can actually develop software for multiple cell phones/PDAs with few cross-platform concerns. Make sense?

  267. Re:Pascal, C++ and Java. by Anonymous Coward · · Score: 0

    The difference is that Pascal was popular in academia first, and only later used for real applications (such as the Apple Lisa and LisaOffice and later parts of MacOS), just in time for C++ to start to catch on. Java has pretty much taken over the middleware segement in corporate programming, and is now moving into academia.

  268. Re:Programming for Business by Anonymous Coward · · Score: 0

    Best post EVER!

  269. C++ overextended by Proud+Geek · · Score: 2

    This isn't a sign of the superiority of Java or the inferiority of C++. It's just a sign that C++ is way overextended, from the systems and large applications realms into the realm of multi-tiered applications with database backends. There, efficiency and bend-over-backward flexibility are much less important than fully featured libraries and short development cycles are much more important. I'm surprised that VB is suffering, though. That's a product with a place where it is clearly the best. In my Perl niche, I can feel Java squeezing in at times, but I'm pretty safe. C++ still has way too much of the market for me to worry.

    --

    Even Slashdot wants to hide some things

  270. I would like to know by Anonymous Coward · · Score: 0

    How many of these "Developers" surveyed acctually have a job coding, not playing around at home? And also how many are using it in thier job vs just checking it out? People like to argue that machines are getting faster so thier slow app will now run ok. But what that really means is that my C apps that blew away your JAVA apps on yesterdays PC, now bury it even deeper on todays. The sooner everyone realizes that write once run anywhere is a pipe dream similar to the perpetual motion engine, the better. TRK

  271. Re:Really? by WilsonSD · · Score: 1

    Can't write an FPS in Java, eh?

    http://www.javagaming.org/News/news.html

  272. Not going to happen by zpengo · · Score: 1, Troll

    Microsoft is trying hard to squash Java, and it'll happen within a year or two. There's a lot of stuff going on behind the scenes that the public isn't necessarily aware of, and getting rid of Java is definitely very high on the Microsoft priority list.

    --


    Got Rhinos?
    1. Re:Not going to happen by Anonymous Coward · · Score: 0

      "Microsoft has made many enemies over the last few years and they will never ever be able to crush out companies again. The government will see to that :-)"

      I admire your optimism. The gov'mt doesn't seem to have done much about it so far..

  273. 140 percent? by Macrobat · · Score: 0
    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.
    That totals 140.8 percent, if my hand-addition is right. I presume there's overlap, but you can't really tell the way the paragraph's written.
    --
    "Hardly used" will not fetch you a better price for your brain.
  274. Yep but take a deep breath by catseye_95051 · · Score: 2

    Keep in mind that Slashdot is bastion of C/C++ hackers who really don't want their skills obsoleted.

    It is easier to light one candle then curse the darkness, but its human nature to stand in the dark and curse.

    I found the "Java Quake" comment particualrly amusing siocenw e just SHOWED exactly that at Quakecon last week :)

  275. Re:Java's too fucking slow by orangesquid · · Score: 1

    Err.. thanks for trolling? :(

    Anyway...
    Sorry, it's Windows XP that doesn't have Java support. (For some reason, my mind keeps thinking water guns. Go figure.)

    MS XP Drops Java Support

    Also, there have been a few /. stories on MS and Java:

    Microsoft presents AVAJ
    Microsoft's COOL
    Microsoft's New Language
    Microsoft Manipulating Java
    et cetera. Additionally, IE will no longer have java (see Microsoft drops Java support for Mac, Unix)

    Note to moderators: in case you're trigger happy and moderate down everything with a score of two, I've set this with a score of one to appease you.

    --
    --TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
  276. Poor carpenters blame their tools... by Anonymous Coward · · Score: 0

    ...and poor coders blame VB.

  277. Re:Good-bye VB! by Pinball+Wizard · · Score: 2
    This means one cannot keep several iterators around at the same time and manipulate them independently

    Actually you can. True, only one iterator per connection(you are using ADO, I'm guessing), but you can create multiple connections to the same database and get multiple iterators(MoveNext, etc).

    There's no reason to do your VB programming in Access BTW, unless your intention is to distribute your app along with an Access database. Use VB proper to connect to an Access database and you'll find less limitations.

    The next generation of MS programming tools looks pretty good. VB will be strongly typed(no more voodoo variables), and fully object oriented, supporting polymorphism and inheritance. I imagine a lot of games will be programmed in VB since it will have hooks into DirectX.

    Also, outside of VB C# looks killer and should serve to do away with MFC, at least for new applications.

    --

    No, Thursday's out. How about never - is never good for you?

  278. Re:That's OK, we don't really need your business by DnA+Works · · Score: 1
    Alright, if you were overly offended by my tone, I apologize. However, you have to realize I hear your exact arguement (Java is slow, it's GUI sucks) *many* times. You did, in fact, *imply* that Java was not deserving of its popularity as it did not have a fast GUI element and that it was slow. As I said, you have to realize what a language is used for when you talk about it.

    And I'm sorry for being a prick ;)

  279. Re:I don't think so by Anonymous Coward · · Score: 0

    Suck it in, you freak of nature, and go to http://www.javazoom.net/javalayer/javalayer.html for a Java MP3 player, and watch as your argument evaporates to steam. So how many platforms has Winamp been ported to, tough guy?

  280. Re:Java 1.0 vs = 1.1 by Anonymous Coward · · Score: 0

    Oh god, everything's changed so much. The big differences are event patterns, inner classes and the use of "bean" patterns. I think you'll be pleasantly surprised!

  281. HTML to overtake C/C++ by 2002. by Anonymous Coward · · Score: 1, Funny

    The article merely said that more programmers will know java than C/C++. Face it, java still sucks.

  282. On what platform by dodson · · Score: 1

    It would be interesting to see the growth of Java on Linux.

    I program with java and linux at work Apache/Tomcat/Cocoon.

    I wonder how much of the growth is outside application servers. ( Web logic, Web Sphere )

    Where are the breakdowns.

  283. I can't buy what you're selling by xZAQx · · Score: 1

    Sorry, I don't buy this. I'm not an expert on Java however. As a matter of fact, I can't necesarily cite any programs I run that are built using Java exclusively. However, I do have some programs that use java in one part or another, and all I've noticed is that (sorry) Java is slow. Speed is of the essence at all times in our industry. Why is java picking up? I'd like to see somebody show me the light; show me a GUI program that runs on Java that is faster than a C++ program, and I'll gladly insert my proverbial foot into my proverbial mouth.

    --

    We dance to all the wrong songs.
    --Refused.
    1. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

      Just shows tere is alot of BAD programs out there. but it makes sense. there are alot more NT workstations than there are servers of any kind. Java's strength is at the server side.
      besides who calls VB a "programming" language?

    2. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

      Look at COM+. Cheaper, faster, and easier to admin than the aforementioned.

    3. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

      Java is more popular than Visual Basic?
      Hardly
      There are over 3.7 MILLION VB programmers, and by Sun's own estimates there are only 1.5 Million Java developers. Of that 1.5 Million, Gartner estimates that there are 500,000 who can really develop in the language compared to 2.9 million of the 3.7 million VB developers.

    4. Re:I can't buy what you're selling by Anonymous Coward · · Score: 0

      "Speed is of the essence at all times in our industry"

      In the financial industry, speed of development is often more important than raw speed of execution (that's what I think you meant by 'speed'). The lifetime of some financial instruments modelled in software is weeks/months, and a short development cycle is critical.

    5. Re:I can't buy what you're selling by Anonymous Coward · · Score: 1, Insightful

      I disagree with the statement that, "speed is of the essence at all times in our industry". Sure, that's true for most shrink-wrapped software. I wouldn't write a 3D game or even a spreadsheet app in Java (or an OS or a compiler, etc). But, the truth is that most programmers don't make their living developing those types of apps. A vast majority of developers work on internal custom apps developed for businesses. Most of those apps require heavy database access and they are usually distibuted across the enterprise. Java is perfect for this type of development and slower performance is not much of a concern because there are greater bottlenecks (the network and the database). I'll continue to use Java, C++, VB, Perl, and even Lisp. The key is to choose the right tool for the job instead of getting religious about a computer language.

    6. Re:I can't buy what you're selling by Anonymous Coward · · Score: 1, Insightful

      To quote thee: "Speed is of the essence at all times in our industry." Yes, but it depends on what you mean by speed. Dev teams can crank out applications faster in Java. Yes, the apps themselves don't perform as fast (but within 90%, so who gives a damn), but the developers get the product out the door faster. Why? No memory management/garbage collection headaches. Easier, less cumbersome manipulation of objects (well, easier than C++ anyway, not Smalltalk). Tier 2 and Tier 3 developers can grok java quickly and be on their way.

  284. Oh and Java 3D is MUCH more then an OGL wrappper by catseye_95051 · · Score: 2

    It s a very sophistcated scene graph system which cooks down to display lists for speed... and all that logic is in (very fast) Java.

    Which is why it took 3 guys 1 month to write JAMID.

    Try doing that in C ontop of OGL.

  285. Re:Computer Science CS 1 by zerofoo · · Score: 1

    Yeah, isn't that the truth. Try asking a bunch of CS 1 guys about "malloc". You'll probably get something like: Gee, what do you mean by allocating and de-allocating memory? Doesn't C++ have a garbage collector? What's a memory leak?

  286. Weird Percentages by Calrathan · · Score: 1

    The article ends with:

    The survey also found that 77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent , respectively, the data showed.

    Forgive me if I'm wrong, but isn't that 140.8%?

  287. Really? by Anonymous Coward · · Score: 1, Funny

    So when will we see the Linux kernel being rewritten in Java? What, no memory management? What, it's too slow?

    1. Re:really? by Anonymous Coward · · Score: 0

      Agreed Java is slow as fuck. Linux is just shit. Use FreeBSD.

    2. Re:really? by WolfWithoutAClause · · Score: 2

      I never said you can write it in Pure Java... Java yes, C yes, if you compare, more or less, oranges for oranges then Java is quite comparable to C/C++ which is the real point of this item isn't it?

      i.e. C + suitable libraries -> DVD player
      Java + similar libraries -> DVD player

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    3. Re:Really? by Axe · · Score: 1
      From my experience, many physisists are excellent innovative programmers. You sure rememeber how the first ever publication about WWW was called? Yep "WWW - Collaboration Tool for High Energy physics"

      And if you want to check some really nice C++ programming - just check some CERN projects.

      The reason for /no-warnings and proliferation of C and FORTRAN code, is that this code has tremendous amount of labor in it, and replacing it is not always feasible - just like COBOL in financial industry. That also practically forces old fashioned programming tactics on many researchers.. I know, I been there..

      --
      <^>_<(ô ô)>_<^>
    4. Re:Really? by Kingpin · · Score: 2, Informative

      As for FPS, the next JSDK release (1.4.0) contains an exclusive mode that allows you to disable the windowing system. See the fullscreen exclusive mode API tutorial. There's already a bunch of OpenGL wrapper API's also, with the upcoming OpenGL 1.3, the JVM just may be the application that ships with games rather than DirectX. This is a very good thing as this means games being just as portable as Java, ie. the very same game runs equally on Solaris, Linux, HP and Wintendo. So gamers install JVM's - who cares about Microshaft shafting Java in XP? However idealistic, it's food for thought.

      --
      Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
      Geocrawler error message.
    5. Re:Really? by bugg · · Score: 2
      C++ is definetly not a low level language. Where did you get that idea? They're both (C++ and Java) in the same ballpark for abstraction- C is only slightly more low level.

      Sure most JVMs suck; cope, that'll get better. Also, has anyone heard of any java compilers that write real assembly for your processor, and not just java bytecode? That'd be a step in the right direction for a lot of things..

      --
      -bugg
    6. Re:really? by Anonymous Coward · · Score: 0

      Yeah, for large client programs Java really seems to blow speed-wise. But for small integrated stuff that needs a highly portable code base, Java works really well.

    7. Re:really? by kentyman23 · · Score: 1

      NetBeans is a badass IDE, which I believe is about on the same scale as an office suite program. NetBeans is great, and runs great, and my box. Granted Java Swing apps needs lotsa memory, as there is no sharing between apps as of yet.

    8. Re:Really? by brsett · · Score: 1

      the game logic may have little to do with the frame rate.

      Only a true Java developer could write something as foolish as this. Do you think the cpu cycle fairy gives you those extra cycles for logic. And of course if we're talking Java, you'd need a football team full of memory fairies to have enough memory to do much in Java. Why do you think the behavior of enemies in games are so predictable?

      ZDNet is a parrot for big business. I guarantee they got paid to write this article.

    9. Re:really? by Jeffrey+Baker · · Score: 2
      Right, so, as I said, you can't write a DVD player in Java. You can write the GUI to control a DVD player in Java, but you can't write the DVD player itself in Java. You can't write it in C either. If you tried to write a DVD player in straight ANSI C, I don't think it would give you quality playback, even on a 1.4 GHz Athlon. Maybe on something more powerful, but I'd be surprised if any CPU can do everything (MPEG parsing, IDCT, motion compensation, deinterlacing, AC3 parsing and decoding, colrospace conversion) in software.

      Oh, how were the Java DVD player people planning to get all that data to the screen? You'll need more native methods to make sure that data can be sent efficiently to the output device. Did I mention that there is no way to write a DVD player in Java without native methods?

      As for the altivec extensions, they are syntactical extensions to the C language. So you can simply say vector aVector, bVector; vecmul(aVector, bVector). It's not really like programming in assembly.

    10. Re:Really? by WolfWithoutAClause · · Score: 3, Interesting
      I'd certainly challenge the assertion that Java is slower in all cases than C++. Some of the performance benchmarks for Java have exceeded those achieved or matched those by reasonable C++ compilers, particularly in numeric intensive benchmarks.

      An FPS in java is not a dumb idea at all; most of the performance in framerate is determined by the graphics drivers, and it wouldn't surprise me if the guts of that isn't assembly anyway- the game logic may have little to do with the frame rate.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    11. Re:Really? by siegesama · · Score: 2, Insightful


      Surprising as this may sound, there's more to the world than kernels and first-person-shooters.

      --
      what the hell is a 'junk character', anyway?
    12. Re:really? by Jeffrey+Baker · · Score: 2

      Sure, and then your DVD player is written in assembly, not pure Java. Remember, pure Java means, in part, that it includes no native methods. Reference

    13. Re:Really? by kentyman23 · · Score: 1

      quite possibly one of the most rediculous comments i've read to date :) java was not designed to do replace ASM or C for things like kernels. it is better a replacement for C++ in user-space (notice i didn't say client-side :) ) apps... a cross platform kernel? doesn't make a whole lot of sense to me.. it should also be noted that java as a LANGUAGE is not slow... the VM concept (which enables great crossplatformability (is that a word) among other things) is the reason for the slowdown

    14. Re:really? by Jeffrey+Baker · · Score: 2

      Oh, I forgot to mention something. Its going to suck a lot for the Java DVD player when the GC comes along and and makes everything stop for 50ms. You'd have to write the program such that it generates no garbage at all, so as to not tickle that particular Java feature. Personally, I don't use Java where timing is any kind of problem.

    15. Re:Really? by brsett · · Score: 1

      First you say:
      Really? Actually I'm a C++/C expert.

      But then you say:
      Or, more likely since noone listens to you; the developers had to spend ages trying to get rid of the random crashes caused by wild pointers and array overflows; and they had no design time left to improve the AI.

      You may be a C++ expert, but you appear to be having a bad day. The 1998 draft standard includes two phenomena labeled auto_ptr (its in ) and vector (its in ). Array overflows and "wild" (more likely, uninitialized memory) pointers are a thing of the past (there are other smart pointers at www.boost.org, the official library reasearch team for the standards commitee). While you're waiting for your electronic copy of the standard I encourage you to learn about the gaping type holes in Java (i.e. array polymorphism). *hint* you can assign a banana to an array of apples if they both inherit from fruit). The exceptions specifications are pretty worthless as well (no nothrow guarantee :-(). I'm currently looking into a research language called Cecil, which appears to be the best thing since sliced bread.

    16. Re:really? by Anonymous Coward · · Score: 0

      There's lies, there's damned lies, and there's native code. You *can* use those 100 lines of pwecious vectorized assembly code in a Java program, you know. And yes, some of us Java programmers have cut their teeth with assembly. You should have seen the ASM bump mapper I wrote in my earlier days, and I can't stand anything but Java anymore :)

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

      Check out Thinkfree.com for a full office suite written in Java. It runs well, and both converts from and outputs to .doc, .xl, and .ppt.

    18. Re:Really? by WolfWithoutAClause · · Score: 2

      >Only a true Java developer could write something as foolish as this.

      Really? Actually I'm a C++/C expert.

      >Why do you think the behavior of enemies in games are so predictable?

      Been listening to you too much? ;-)

      Or, more likely since noone listens to you; the developers had to spend ages trying to get rid of the random crashes caused by wild pointers and array overflows; and they had no design time left to improve the AI.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    19. Re:Really? by SheldonYoung · · Score: 4, Insightful

      You are correct. Fortunately, the vast majority of software development isn't about ultra-high performance applications or systems programming. It's about making applications that solve a problem, and the problems are almost never about speed or being low-level.

    20. Re:really? by Jeffrey+Baker · · Score: 3, Informative
      You wouldn't be able to write a software DVD player in pure Java on today's CPUs and today's Java runtimes. Software DVD players rely on the CPU's vector or SIMD processing facilities, like MMX, SSE, and SSE2 on Intel, or AltiVec on PowerPC. Last I looked, there wasn't any way to access this stuff from Java. To take advantage of the hardware, the Java runtime would need to recognize computation loops, unroll them a bit, stuff the operands into right registers, and execute the desired operation. Even then, the C or assembly routines in use today are so fast because they get the instruction scheduling just exactly right. Without precise control over instruction scheduling, you'll stall the CPU and that's the last thing you want in a software DVD player.

      AltiVec's C API is the highest-level vector API I've used. It has unambiguous and standard C syntax extensions for vector operations. Yet, we still don't have C compilers that can automatically vectorize code. I'm having trouble imagining a Java tool that could automatically vectorize code where Java has no way to express vector operations.

      Maybe you could write a Java DVD player that was the equivalent of cat /dev/dvd /dev/hardware-mpeg2-decoder-device, but that's about the extent of what you could do in today's Java.

    21. Re:really? by Anonymous Coward · · Score: 0
      • You wouldn't be able to write a software DVD player in pure Java on today's CPUs and today's Java runtimes.
      Unless, of course, you used the Java Media Framework that has been available for -- what -- three years? Granted, you might need a codec that not in the standard set, but that could be JNI-wrapped C code. Porting the C-language codec would be a lot easier than porting the whole DVD player. All of the high-level features could be written in 100% pure Java.
    22. Re:Really? by budgenator · · Score: 1

      C/C++ are actualy pretty simple, its the interfaces for the GAZILLION libraries that gives the learning curve it's steepness. Will Java replace C/C++? I think not in my lifetime, after all rember Pascal with a p-code compiler back in the late 70's early 80's it was supossed to replace C too. Intermediary compiles for cross-platform compatability are great in theory but they don't seem to cut the real life mustard. Now what might be real cool is if Transmetta used their code-morphing tech to run bytecode as native, then no VM.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    23. Re:Really? by sulligadu · · Score: 1

      How long have you been developing in Java?

    24. Re:really? by Anonymous Coward · · Score: 0

      So you'd like to write your entire DVD player in assembly? How noble. How unique. How very, very dumb. Or at least, if you take your argument to it's conclusion, you would write your DVD player in assembly. Somehow I think what actually happened was either A)a lapse in your judgement, or B)a prejudice against Java. I'm thinking (B) is more accurate, don't you?

      Anyways, about the 100% pure Java thing. Sorry, but you don't appear to understand what 100% pure Java means. It's a marketing term, meant to mean "these class files were compiled with a Sun-approved Java compiler." It has nothing to do with native code. If Sun didn't want you to ever use native code, they wouldn't have added support for it in the first place. Reference: http://www.everything2.com/index.pl?node_id=32507& lastnode_id=852258

    25. Re:really? by WolfWithoutAClause · · Score: 2

      >You can write the GUI to control a DVD player in Java, but you can't write the
      >DVD player itself in Java. You can't write it in C either.

      What's the point of your DVD example if Java is close enough in performance and has access to all the same speedups as C(++)?

      I mean, sure you'll have to use non pure Java, but then you can't use pure ANSI-C either.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    26. Re:Really? by WolfWithoutAClause · · Score: 2

      Hint: the lack of homogenous arrays are no big deal in Java; you get an exception during testing (you DO test your code?) and its pretty obvious what's going on. In C++ homogenous arrays can cause somewhat difficult to debug crashes unless you use templates to prevent them. Thus, this 'hole' in Java isn't a problem in practice; but it was in C++; and was fixed in the normal way- crufting on new features to the language and bloating the specification.

      In my experience the C++ typing scheme is still very bad, worse than Java. Automatic type coercion? Just say no. Garbage Collection (not reference counting) is incredibly useful. C++ what a nightmare, gothic language with a truly epic specification. Someone needs to explain the concept of 'elegance' to Bjarne...

      Oh, yeah, you claim that the auto_ptr stuff is going to fix all known ills. I'm sure it will make the language more predictable- a GOOD thing. However library add ons typically run more slowly than compiler visible features. Therefore C++ may well end up slower than Java, ironic in a language that was designed for speed at the expense of elegance.

      As for Cecil- there is some evidence now that runtime typed languages (e.g. scripting languages) are quicker to write in, including debugging. Still, for somewhat rare applications I think that typing is important.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
  288. Re:Java as a teaching language by dingbat_hp · · Score: 1
    Anyone else remember teaching a few years ago ? Cambridge used BCPL as a teaching language (FFS!), the only course I took (mid-80s') was in Fortran. Pascal was seen as the "best" teaching language and Modula-2 as some big improvement. Teaching OO was unusual, and teaching it well was nearly unheard of. A real geek / engineering college taught C, which led to the age-group of Bob-awful C++ programmers a few years on who thought that just using // as a comment delimiter was enough to make them into an OO programmer.

    I think teaching Java from day #1 is one of the best things that could ever happen to the teaching of programming. It's not enough to teach some abstract CS concepts, and it's too complex to teach intro programming to kids, but for the cannon-fodder training of the great majority of average coders it's a hell of a lot better than C++.

  289. really? by HeUnique · · Score: 1

    So when can I expect to see a DVD player written in Java? CD-R recording program maybe? Office suite? (no, Office suite that runs FAST!)

    Get real - there are some applications that writing them in Java is perfectly ok, but I can hardly see most of the applications that I and many other using daily - are being written in Java...

    --
    Hetz (Heunique)
  290. Not only Sun by harmonica · · Score: 2

    There are quite a few firms creating products based on those standards.

  291. This all makes sense now by Jucius+Maximus · · Score: 2, Flamebait
    "I like it because I don't have to worry about several different OS's and garbage collection."

    As I see it, the sole reason Java seems to be overtaking C/C++ is that it doesn't actually have proper garbage collection. If it did, then 90% of programs would self-delete upon execution.

    1. Re:This all makes sense now by Jucius+Maximus · · Score: 1

      Moderators: I hope you realise that the above post is a joke. :P

  292. The article continues... by The+Innocent+Dot · · Score: 1
    From the article:

    77.2 percent of the developers surveyed chose Red Hat Linux as the distribution for use with a Web server or Web application server. This is more than three times the 21.8 percent who selected SuSE Linux or Mandrake. Caldera OpenLinux and FreeBSD followed, with 21.4 percent and 20.4 percent, respectively, the data showed.

    This shows irrefutably that 140.8% of web servers today are running Apache. And we thought it was losing market share.

  293. divorce? by kriemar · · Score: 1

    My reading of the marriage literature is that the marriage/divorce statistics are actually quite accurate, and mean what most think they mean.

    Many would argue that the percent of marriages ending in divorce is what you want to know. Say you are getting married this year. Not knowing anything about your personal characteristics, what is the chance of your marriage ending in divorce?

    Information about your personal/psychological characteristics will change that prediction. One factor increasing your risk is if you have had a divorce in the past. People who get one divorce are more likely to get other divorces. However, the number of multidivorcees, so to speak, isn't big enough to account for that much of the divorce rate.

    What is more misleading in my mind, is a failure to emphasize that your risk of divorce changes somewhat dramatically with various characteristics. The risk of divorce is much lower in certain demographic groups, geographical regions, etc.

    The other mischaracterization, I think, is how marriages ending in divorce end. Most marriages that end end within the first couple of years or so. That is, the divorce epidemic is not an epidemic of individuals being married for years, having kids, and divorcing, its an epidemic of individuals getting married and then divorcing six months later. That is, the epidemic isn't an epidemic of marriages ending per se, it's an epidemic of bad marriages starting.

    Anyway, just my observation.

  294. Beacuse it's fast (to write, not to run!) by Anonymous Coward · · Score: 0

    You don't have to worry about memory allocation and pointers and stuff in Java, and there are loads of useful packages (libraries) already written that keep your hands even cleaner. All you have to do is look up the classes that you need knock something together. It's very quick - you use brain energy for designing your code, rather than keeping track of hardware issues.
    I remember thinking, when I started, that "this isn't programming at all" because I was so removed from the computer I was running the program on. I don't have the same reservations now!
    Java may be quick to write but - because it isn't actually directly controlling the machine it's running on - it runs slowly (because so much work is going on between it and the machine). A lot of work had to be done to make all those handy classes run as efficiently as possible and I think that's one reason why it's popularity is only peaking now, years after the hype. Oh, and another thing - a "killer app" has been found for it. I'm afraid it isn't a game! It's web services (servlets, EJBs, etc - things that don't require all the work - that's CPU work, not programming work! -that goes into rendering graphics and running GUIs).
    A lot of scorn was poured over Sun's assertion that Java and XML were "a match made in heaven". In fact, it was suggested that the opposite was true - that XML was a Java-killer. Why bother using a language that allows you run your program on all (supported!) platforms when you can be sure that a platform-specific program will be able to communicate with other platform-specific programs without a problem? It's turning out, though, that they do work well together from the "business" point-of-view. You can knock programs together quickly, safe in the knowledge that they will run on just about any box you might be asked to deploy them on and know that they will ALSO be able to communicate with any other box, no matter what it's running. This is an obvious saving in time and money - you don't have to worry about platform-specific issues when desigining, just when optimising (in the place where I work, people generally end up spending more time fiddling with to OS or with databases than they do writing the code that runs on them!).
    Sorry, I've strayed from the point a bit, I think! Java can never compete for speed with "native" code (unless it is being run natively, which I haven't seen in action yet, although I hear that it works well). The speed difference between the interpreted and native languages is least visible in non-GUI, non-graphical programs. You then add to this the fact that programming time is reduced through not having to design system-specifically - and, finally, the fact that web latency will mask the slowness from a web user - and the case for programming web aplications in Java is pretty strong. Using Java for "end-user" stuff is less sensible: the graphical environment is - like everything else in Java - isolated from the system, so it has to run slower. But in this case, the user can very easily see this slowness and can find it annoying.
    I think I read somewhere - actually, a few different times! - about people writing operating systems in Java. I presume this work was recrational and not serious research! Where can you go from there? A Java Virtual Machine for the Java Virtual Machine "platform"?

  295. since when was... by Anonymous Coward · · Score: 0

    FreeBSD part of linux???

  296. Re:Java as a teaching language by archen · · Score: 1

    Although I think Java is a good language, I think it's not very good for teaching at a college level. I consider myself lucky having gone through my college program in C++ right before their switch to Java. I have some resons for thinking like I do.

    Java forces OOP down your throat. I'll admit that I like OOP (with the exception of the Fortran implementation), but I think it's a mistake to stuff it out front right off. Understanding how programs are structured and how the logic works is more important. In C++ you can have a simple assignment with a cout statment to show the results. With Java you immediatly have to start bouncing around with OOP. This assumes that every problem has an object oriented approach, which I think is very untrue. There are many times when a program is very strait foreward, and OOP should even be involved. C++ gives you the flexibility to choose your own path, but gives you the power in whatever way you choose.

    Most importantly I think C++ is better for teaching because it forces you to learn about pointers. Now I hate pointers myself, but I understand that "this" points to "that" in memory, and that you allocate, and deallocate, or point it somewhere else. I mean probably the two most fundamental building blocks in a computer (non hardware wise) are the pointer and the datatype. Just from talking to underclassmen, I tend to get blank stares from them whenever I talk about ponters since they hardly understand the concept... which I think is pretty important.

    I know C++ probably isn't going anywhere simply because it's flexible, powerful, (dangerous), and fairly efficent. But I wonder where Java will be if OOP loses popularity in favor of something better.

    Or if they will both become obsolite once D#++ comes out being the successor to brainfuck. Yes, object oriented brainfuck, that's where the future is.

  297. Re:Java lacks genericity... by The+Mayor · · Score: 2
    Yes, you can. You need to use the Generic Java (gj) compiler. The resulting bytecode is compatible with any standard JVM.

    Also, Sun is planning to officially add generics to Java for the upcoming JDK1.5 release.

    However, I would contend that most cases where templates are used in real world programming, they shouldn't. Readability and maintainability can go out the window without judicious care programming templates. Templates are ideal for containers, where they assist readability and maintainability. But in many (most?) cases, they result in code that is difficult to maintain.

    This is, in my opinion, the reason Java will overtake C/C++ in popularity/use. Java code, with all its simplifications over C++, is easier to maintain and write. The results in fewer projects that end in failure. It also results in code bases that last longer, due to easier maintenance.

    --
    --Be human.
  298. Java or Javascript? by lseltzer · · Score: 2, Insightful

    I find it's very common for people writing Javascript (or maybe just cutting and pasting) to refer to it as Java. To this day there's incredible confusion over the names.

  299. In 2002 War was beginning... by siegesama · · Score: 2, Funny


    But then out of nowhere in 2004 comes D! D shall over-throw them all!

    --
    what the hell is a 'junk character', anyway?
    1. Re:In 2002 War was beginning... by jmccay · · Score: 1

      D doesn't support templates and operator overloading, and these are two very powerful features that can make code a lot easier to read. I don't think D will catch on that quickly.

      --
      At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
  300. Java lacks genericity... by partingshot · · Score: 1

    Can you do generic programming in java yet?

    i.e. can you write a swap function that works for
    all types in a type-safe manner?

    in c++, off the top of my head:

    template
    void swap (T &t1, T &t2)
    {
    T t3;
    t3 = t1;
    t1 = t2;
    t2 = t3;
    return;
    }

    Can this be done in Java?

    --
    Anonymous posts are filtered.
    1. Re:Java lacks genericity... by Anonymous Coward · · Score: 0
      However, I would contend that most cases where templates are used in real world programming, they shouldn't. Readability and maintainability can go out the window without judicious care programming templates.
      What, you don't like angle brackets? Seriously, I don't see why everybody is so put off by C++ template syntax. You get used to it pretty quickly. Personally, I find Objective-C's messaging syntax to be a lot more alien and less readable. Leaving readability concerns aside, templates actually improve the maintainability of code. Templates help you avoid a lot of code duplication and a lot of conditional logic used to switch on type. Templates also make it easier to build flexibility into your design so that later changes don't ripple as far.
      Templates are ideal for containers, where they assist readability and maintainability. But in many (most?) cases, they result in code that is difficult to maintain.
      A very common misconception among Java programmers. Try reading Modern C++ Design by Alexandrescu or getting familiar with one of the well known C++ template based libraries like Boost, ACE, or Blitz++.
      This is, in my opinion, the reason Java will overtake C/C++ in popularity/use. Java code, with all its simplifications over C++, is easier to maintain and write.
      It's definately easier to write, I'll give you that. Right now, it's fairly popular on projects where rapid development takes priority - most web applications. But the competition is coming on strong, with C#, Python, and Ruby gaining ground fast. I suspect C++ will eventually start to lose ground in the area of desktop applications. But C++ will remain the language of choice for scientific apps & systems programming (particularly large scale, real time, and/or embedded systems) for the forseeable future.
    2. Re:Java lacks genericity... by joss · · Score: 3, Funny

      1. your routine is ugly as fuck, given two objects, it would take less code to inline the function than call it.

      2. having to use arrays like this because references don't exist brings up a whole bunch more problems because not only can people mistakenly swap different types of object, they can pass wrong sized arrays.

      3. compile time checking is better than runtime checking, a *real-life* example would have to come from a large program so I can't be bothered, but the fact remains that this kind of programming encourages bugs.

      4. your function won't work on int/float/boolean/etc because they are not derived from Object. Use a real OO language like smalltalk if you want single root done right.

      --
      http://rareformnewmedia.com/
    3. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

      You weren't listening; the parent post asked "can you write a swap function that works for all types in a type-safe manner?" In your code, I could call swap( new String[], new Hashtable[] ) and it would compile, but BOY, the runtime results wouldn't be pretty.

      The parent post asked about generics as in C++ templates, not basing all classes on a single root class. That's NOT typesafe unless you add the explicit instanceof checks before working with the argument objects.

    4. Re:Java lacks genericity... by Anonymous Coward · · Score: 0

      Yes. In Java, every object inherits from a base class called 'Object,' so it's a cinch. A bigger problem in Java is the inability to pass a reference to a reference easily, which is why the following code isn't perfectly elegant:

      public void swap (Obect[] t1,Object[] t2) {

      Object t3;

      t3 = t1[0];

      t1[0] = t2[0];

      t2[0] = t3;

      return;

      }
    5. Re:Java lacks genericity... by Anonymous+Brave+Guy · · Score: 1

      It's almost the complete opposite, actually. For a start, the myth that templates cause code bloat is falling apart.

      Perhaps more importantly, much state-of-the-art research in C++ relates to good use of templates. Some very powerful techniques, particularly relating to efficient and flexible library design, have come from templates. Check out the Blitz++ and Loki libraries for examples.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:Java lacks genericity... by Anonymous+Brave+Guy · · Score: 1
      Since every class in Java derives from Object, my swap routine was perfectly type-safe, thank you very much.

      That depends on how you define "type-safe". Most of us would define it as something like "not allowing code to compile that's blatantly pants." In that case, your code fails, big time.

      Perhaps more to the point of this thread, it's not generic, either.

      ...well then why don't you give me an example where that would happen in real life, and we can work it through?

      int i;
      float f;
      swap(i, f);

      Oh, no, wait... Because these types don't derive from Object, you can't even use your swapping method on them. Never mind.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  301. then howcome by Rogain · · Score: 1

    I've never seen a java app that didn't make me vomit?

    They're all horribly slow, bloated, buggy and run like molasses unless you running it on big-time hardware.

    --
    The current Slashdot moderation system is made by gay communists!
  302. Computer Science CS 1 by Meech · · Score: 0

    This sounds about right. Most of the Colleges around the country have switched to Java for their programming courses. I disagree with that decision though, becuase it is really easy to make the switch from C++ to Java, but vice-versa is not so easy.

  303. Re:The ascent of Java by JamesOfTheDesert · · Score: 1
    The development of Java and its class libraries is controlled by the Java Community Process, not by Sun.

    Oh please. Sun has absolute final dictatorial say.

    And please be sure to include the (tm) symbol when you use the Sun-owned Java(tm) trademark.

    --

    Java is the blue pill
    Choose the red pill
  304. Re:Java Portable Apps? by gewalker · · Score: 1

    Gee, this sounds like a familiar arguement for writing the ROM code in assembler -- of course, many vendors switched to writing their ROMs in HLL's years ago (I'm sure of C, C++, Eiffel, and Forth) because of the cost of bugs (patches are very expensive in ROMs), software development $, and time to market.

    I may or may not like Java for client or server code, but Java is well designed for embedded applications. The vendor only has to write (in C or ASM most likely) the direct system routines needed to make Java able to control the system.

    The exception to using Java being where the extra overhead in speed & memory (including ROM) multiplied by a large number of copies makes it worth spending more many in programming in order to reduce the cost of the product.

    This does not meet Java will completely replace other HLLs in embedded code, but it does meet the goals as well as the others.

    Embedded C is a perfect example of how this will work. With embedded C, unneeded parts of the standard C run-time are discarded, and the thinner remainder is a reasonable compromise for cost / performance / time to market

    To a certain extent, I think the supposed Java portability is largely window dressing, and the run-time environment is often going to be trimmed (or drastically altered), but over time as CPU & memory approach $0.00, the portability will be more attractive even in the embedded market

  305. Hrmm by NitsujTPU · · Score: 1

    Nothing like replacing compiler machine code with something that must run in a VM. Java's a fine language and all, but it makes me wonder what the driving force behind such a change is. Do people just not understand that it's at LEAST a little better when their programs have the performace that C offers?

  306. Nope, not even. by catseye_95051 · · Score: 2

    BZZZZT

    Wrong answer.

    Java has had hardware support for Java2D (and thus Swing) since JDK1.3 JDK1.4 brought in VolatileImage which allows full access to the card-resident memory and on-card graphcis ops.

    Well coded GUIs havent been slow in Java for a long time. But ofcourse this is typical of the time-lag in your average Slashdot knoweldge of whats goign on in Java.

  307. Re:That's OK, we don't really need your business by xZAQx · · Score: 1

    I appreciate everyone's input; sorry for seeming so absolutely judgemental in my first post. You've all made me consider dusting off my 2 java books. But tell me, I've got Core Java with SDK 1.0 (oh yeah, this is old stuff) and Graphical Java. Should I dump these books because Java has progressed beyond this?

    --

    We dance to all the wrong songs.
    --Refused.
  308. Java Portable Apps? by fenriswolf · · Score: 1

    Ive lately been hearing a lot about the industry trying to put java apps on PDAs and in cell phones, and all these little "internet apliances". This doesnt seem to make much sence to me.

    Could anyone tell me why they do this? Wouldnt it be easier to use machine level code, and then not have the system overhead, so you can use a less powerfull processor?

    I just dont understand maybe?

    --
    Welcome to my land of make believe.
    1. Re:Java Portable Apps? by BlackSol · · Score: 2, Informative

      How many different types of cell phones/pda's can you think of? Many, right?

      Wanna write an app for them? which one are you going to pick?

      Portability. Write it in Java and all the units with Java suport can run it despite drastically (or not so drastically) different hardware.

      --
      $sig=$1 if($brain =~ /idea\s+(.*)/i);
    2. Re:Java Portable Apps? by siegesama · · Score: 3, Informative


      Processor power is up, and cheap. Architecture isn't standard. Write a VM once for an architecture, then you can run all your pretty PDA Java applications irregardless of what you're running them on. You're suggesting that every portable-item have all of its applications coded specifically for it. Even if the only games in the world were solitaire and nibbles, that's a lot of applications to re-write everytime a new device comes out with a slightly different architecture/instruction-set/whatever.

      Oh yeah, and Java is a buzz-word. Makes people happy when they have a buzzword-compliant item. The toys just seem so much COOLER then.

      --
      what the hell is a 'junk character', anyway?
  309. Re:Good-bye VB! by David+Greene · · Score: 1
    Actually you can. True, only one iterator per connection(you are using ADO, I'm guessing), but you can create multiple connections to the same database and get multiple iterators(MoveNext, etc).

    As I said, I only have very limited experience. VB and databases are not my area of expertise. :) Thanks for the tip!

    There's no reason to do your VB programming in Access BTW, unless your intention is to distribute your app along with an Access database.

    That was our intention. It just seemed easier to do it that way given time constraints.

    The next generation of MS programming tools looks pretty good. VB will be strongly typed(no more voodoo variables), and fully object oriented, supporting polymorphism and inheritance.

    Great! You just reminded me of another shortcoming of VB that frustrated me to no end. Glad to hear it will be fixed.

    Also, outside of VB C# looks killer and should serve to do away with MFC, at least for new applications.

    Agreed. C# definitely looks interesting. Again, it's not in my main field of work, but cross-pollination is always a useful exercise. :)

    --

  310. How did you get modded up to 4? by Anonymous Coward · · Score: 0

    How in the world did you get modded up to 4? Your comments are not very insightful, and your writing style is painful.

  311. .. by Anonymous Coward · · Score: 0

    Don't you mean Visual Basic Concentration Camps?

  312. Storming the Bastille? by rkent · · Score: 2
    What, are they rival military forces now? Is java going to storm C++'s Bastille? Land at its Normandy? Make it sign a punitive treaty at Versailles? Enough with the war metaphors already! They're inanimate programming languages and can coexist in peace, damnit!

    (p.s. Yes, I know I could RTFA to clear this up, but it's an editorial complaint)

  313. That's OK, we don't really need your business by DnA+Works · · Score: 1, Insightful
    So many fallacies, so little time.

    First, Java is not slow, it is slower; as in slower than tweaked C++ or C. Is it orders of magnitude slower - absolutely not (by the way, I certainly realize that you might be able to find a completely unrealistic example where that is the case - so what?). On the server tier, however, the speed difference ain't so bad; it certainly is not bad enough for everyone to drop it altogether.

    Your supposition that Java must not be growing more popular than C++ seems to be based on statement that Java GUI programs are slower than C++. I wasn't aware that raw execution speed was the *only* criteria for a programming languages popularity; here I thought it was a gestalt of speed, ease of use, utility, tools, etc. Try looking at the prevalence of code at the server level; betcha you'll see Java there and guess what? It ain't GUI-based. Servlets are dismissed at mere uber-CGI; however, they are scorchingly effective and easy to write.

    1. Re:That's OK, we don't really need your business by DnA+Works · · Score: 1

      Absolutely!! Join us on the dark side ... but spend about 10 times as much time learning servlets (and other J2EE) as the friggin' Swing and GUI stuff. It'll help you.

    2. Re:That's OK, we don't really need your business by Anonymous Coward · · Score: 0

      Absolutely dump the 1.0 books. 1.3 is MUCH different, has a much larger class library with new principles of use. I think you'll like what you find.

  314. Re:Depends on your definition of "overtake".. by Prior+Restraint · · Score: 2

    And your explanation of the divorce statistics are overly concise (to the point of error). I won't dispute your idiot theory (having no data handy), but even granting that, then it's the percentage of successful marriers that is actually much higher.

  315. Re:Java as a teaching language by egomaniac · · Score: 3, Insightful

    I do like how paint Java with the brush of religious zealotry with your use of the word 'saved'. Quite effective.

    Back here in the real world, I work at a company with mixed C++/Java development. Primarily C++, with the Java teams (of which I am part) barely tolerated by the old-school management. Amazingly, despite the fact that our code performs better than C++ (true) and we are always far ahead of schedule while the C++ teams running into roadblock after roadblock (also true) we still have to continually justify our use of Java to the C++-loving managers. I also thought it was pretty funny how difficult it was for the C++ guys to upgrade from FreeBSD 2.6 to 4.0 while we can move between Windows and pretty much any flavor of Unix without even noticing.

    I programmed in C++ for many years, and I thought it was a flaming piece of crap the entire time. I'm endlessly amused by opinions like yours that I'm somehow not a "real" programmer because I choose not to flagellate myself with the whips of dangling pointers, stack vs. heap allocation, ridiculous usage of overloaded operators, broken templates and exception handling, inexplicable linkage errors, and who-knows-what-else that I've managed to supress in my subconscious.

    My question is: what don't you like about Java? I've coherently summarized my argument against C++, and believe me I can (as a past C++ developer) get into quite a bit more detail if I need to. What's your position against Java?

    --
    ZFS: because love is never having to say fsck
  316. Re:Good-bye VB! by David+Greene · · Score: 1
    I only have very limited experience (specifically using VB with Access), but the one thing that annoyed me to know end was that record iterators are intrusive. This means one cannot keep several iterators around at the same time and manipulate them independently.

    There are countless examples of braindead design like this in MS development products. Not the least of which is MFC.

    VB is great for quick one-off type applications but I found it difficult to work with on projects of any reasonable size. It could have been so much more than what it is.

    --

  317. it's about cost, not performance by jilles · · Score: 3, Insightful

    CPU's and memory are cheap, good programmers are expensive. Your assumption that speed is essential is correct but it applies to time to market more than to performance. Execution speed is not so relevant since hardware is relatively cheap compared to programmers (even lousy ones). The year salary of one programmer will likely solve any performance problems you have when converted to extra hardware.

    Swing is not lightweight but given a decent PC it will run. In fact all development tools I use are written in Java and I'm not complaining about performance. I'm sorry I can't show you a java program that is faster than the C++ version. However most java applications I could show today, you would still be in development if they were written in C++. That's why java is picking up, you get things done in it.

    That's also why Java became popular on the server first. Typically server software is "one of a kind" meaning that each month spent on developing the app adds to the cost. If you have a small development team of say 5 persons costing about 5K $ (good luck finding them that cheap) and you can save 1 month that translates into a lot of hardware. Java development is generally seen as somewhat faster than C++ development so that translates into huge savings on one of a kind software development. Also Java is very scalable, it literally can run on anything from a credit card to a mainframe, so if you have a performance problem, throwing more hardware at it will likely make it go away. And since you develop faster you have something extra to spend. That's why many people creating server software have adopted Java. It works, it works reasonably fast and it scales nicely.

    --

    Jilles
    1. Re:it's about cost, not performance by micje · · Score: 1

      Templates are coming in 1.5 (Tiger). There's already a early release out that works with 1.3 and later.

      --

      The nice thing about standards is that there are so many to choose from. - ast

    2. Re:it's about cost, not performance by a2800276 · · Score: 1

      >>For example, lets say we have a 600 Gig database >>of items that we want to run price changes on. >>The Java app can get it done but, it takes 13
      >>hours. Meanwhile, the C++ app gets it done in 8 >>hours.

      >In such an application, the bottleneck will >likely be the Database server, and the speed at >which it can perform table updates. The second >bottleneck will likely be the network

      So, do you think the DB-Server is likely to be programmed in Java? Or the routing code?

    3. Re:it's about cost, not performance by DJerman · · Score: 2
      All of this explains why my last two clients (think big, big organizations) have turfed Java and standardized on COM+/VB.

      Is this why I'm always getting ODBC errors at Microsoft and other sites, when I try to send in comments? Thanks for explaining how 10x savings makes unreliable systems desirable!

      --
  318. Correct Ace's Hardware URL by Glock27 · · Score: 1
    Sorry, I meant to fix that link before I posted:

    Binaries vs. Byte-codes

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  319. Re:Less Visual Basic Programmers by Floofnargle · · Score: 1

    FEWER! FEWER! FEWER!

    It's FEWER Visual Basic Programmers. You can't have LESS of something that is measured in atomic units!!!!

    (Sigh. This is a losing battle.)

  320. I dont think so..... by Lumpy · · Score: 2

    Let's see. I have an embedded linux device.
    I can write it's app in C and have it take up 100Kbytes or I can write it in java and have it take up 2.3meg.. Yeah, I'll go the java route, oh and I need to upgrade my processor to deal with the huge overhead of the JRE.

    Java is not going to overtake anything except in the cross-compatable on powerhouse platforms. It's too bloated and too slow for anything but.

    --
    Do not look at laser with remaining good eye.
    1. Re:I dont think so..... by JediTrainer · · Score: 1

      Depends. I don't suppose you've done any work with the Lego Mindstorms robots.

      I can tell you this, there's leJOS and TinyVM, which both run as small java virtual machines on the RCX. TinyVM takes up about 10k of space, and leJOS takes up about 17k.

      I can tell you that from using it, I'm happy to report that programming the darned thing with Java is quite an entertaining experience!

      --

      You can accomplish anything you set your mind to. The impossible just takes a little longer.
    2. Re:I dont think so..... by ameoba · · Score: 1

      Well, in an embedded environment, the overhead of having an interpreter (JRE) will most likely outweigh the bennefits of an interpreted language. If you were using a Java compiler that output machine code instead of byte code, things might be different.

      --
      my sig's at the bottom of the page.
  321. Re:Programming for Business by mightbeadog · · Score: 1
    I think Slashdot will always have an anti-Java bias because of the groups it represents. The small but highly respected percentage of people who work on Linux are, by definition, C programmers. The vast majority, who are non-programmers, will dislike Java as long as it is too slow for mass market desktop applications. And the programmers who write perl/CGI and other kinds of perl scripts will continue to prefer perl because their scripts are generally short enough to work nicely without the extra structure (and overhead!) of objects.

    Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

    But do not program in COBOL if you can avoid it.

    --from The Tao of Programming

  322. Java To Overtake C/C++ in 2002? by Anonymous Coward · · Score: 0

    Nobody told me we were running a race.

  323. /. and troll this company that SCREWED ME OVER! by Anonymous Coward · · Score: 0
    Horribly OT, I know, but I want to harness the slashdot effect, and the proliferation of ingenious trolls here for revenge on a company that royally FUCKED ME OVER. See, there's this company called CI Hosting (DBA World Web Services), and they are by far the WORST most INCOMPETENT web host on the planet. They make the IRS epitomize good customer service. Worse, they took a good sum of my money (hundreds of dollars) and are COMPLETELY UNRESPONSIVE! Their main site, http://www.worldwebservices.com/ is DOWN with a 403 error, and mail is BOUNCING. I've tried the BBB, etc, but this will tkae time, and I want them to suffer the consequences NOW!

    So, EVERYONE, please go to ticketmonster.hostingsupport.com and REGISTER for a free login/password. You DON'T need to be a customer.

    If the /. effect doesn't kill them outright, then logging in lets you submit trouble tickets. So, spam them with brilliant trolls about Jews, goat sex, niggers, WHATEVER! Make their tech support team a living hell so they won't be able to answer any tickets at all -- it's no big loss, 'cause that's how they ALREADY are!

    Finally, please write a nice email to noalegal@noa.nintendo.com explaining how CI Hosting is using Pokemon graphics and characters illegally and in infringement of Nintendo's copyright. Once you see the Ticketmonster site, you'll see what I mean. Hopefully Nintendo will slap them with a big lawsuit.

    Anyways, please join in and teach them a LESSON for SCREWING ME LIKE THIS!

  324. Re:Forte uses netbeans doesn't it? by kentyman23 · · Score: 1

    Adobe Illustrator, etc, does too... can't blame that on Java

  325. Gimme A C/C++ compiler written in Java by NewtonsLaw · · Score: 1

    Hey... I want a C/C++ compiler written in Java -- after all, I think my Java compiler is written in C/C++

    1. Re:Gimme A C/C++ compiler written in Java by catseye_95051 · · Score: 2

      Write one yourself with JCC. You could probably do it in a weekend.

      BTW your standard Java compiler, javac, is written in Java.

  326. Oh, and another thing by Macrobat · · Score: 0

    Doesn't this seem to imply that FreeBSD is a Linux distro?

    --
    "Hardly used" will not fetch you a better price for your brain.
  327. no it wont by Anonymous Coward · · Score: 0

    I will boycott java and only use C if that happens. Java isn't a good language for writing an os.

  328. Re:Pascal, C++ and Java. by Craig+Maloney · · Score: 2

    Part of the difference between Pascal and Java is Java is the embodiment of a completely Object Oriented language, where Pascal was another in the long line of function-based languages. Pascal's role n the academic world was more as a training language for other languages like C, Modula, or Ada. Java, on the other hand, is a paradigm shift. That's why Java is gaining ground outside the academic world where Pascal merely floundered.

  329. Re:Good-bye VB! by stoolpigeon · · Score: 1

    I appreciate the feedback as I've been curious about this.

    I guess I don't notice the problems for a couple of reasons.

    A lot of the work I do is disposable. I can build my apps FAST with VB. Which is good. I have litte time to build them and in a couple of weeks they are gone.

    And I guess the work I do (GUI front end/SQL Server back end) works real well w/VB.

    I work w/C++ and java and I do really enjoy that work (at least partly because I do that on my own and work on what I want). But I've been curious as to why the big knocks on VB.

    Thanks.

    --
    It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
  330. Re:Java as a teaching language by Cowculator · · Score: 1

    It's not just universities... Java is becoming the official language of AP Computer Science in 2003-2004, so now high school students throughout the US will be exposed to it.

    The only problem is that they're not being exposed to the language. The syllabus is available here; according to it, the following things (among others) are considered "potentially relevant but not tested" (translation: you don't have to learn them):

    • short, long, byte, char, float
    • Bitwise operators (&, |, etc.)
    • Any type cast that isn't (int) or (double)
    • Any input functions (e.g. System.in) at all
    • public static void main
    • do/while, switch, break, continue
    • Importing packages with wildcards (import x.y.*)

    Note especially the lack of any input functions or public static void main - it seems that students could easily get a 5 (the highest possible score) on the AP exam without being ever able to write a working program.

    Given the many shortcomings of the new curriculum, I'm guessing that the most motivated students - the ones who plan to study computer science - are going to go out and learn stuff on their own anyway. The American students who only know what they learned in AP Computer Science aren't going to be getting the best programming jobs because they haven't learned enough programming...

  331. Re:XP effects? by Anonymous Coward · · Score: 0

    not at all. Java is used mostly on the server side. Java GUI's are bad so not many people write em anyway

  332. I love C++ but ... by Evil+Pete · · Score: 1

    STL is a bitch to learn without tutorials (which was how it was with me) , the Java equivalent is simple .. even novices can use it straight up. That for me was the seachange event that explained how it was so much easier for Java developers to actually get stuff out the door.

    All the C++ programmers I know who went to Java never went back ... except me .. and I did so only because they paid me ... now I do only Java. I still think in C++ but these days I work at a company that does its work in C and Java ... no C++. C for the hardware level and Java to make the apps portable from Win32 to Solaris to SCO. Even raw gui programming is simple in Java. And the APIs make even socket issues a non-event.

    Thats the way it is. I don't know how factual the article is , but I would not be at all surprised if Java overtakes C++.

    --
    Bitter and proud of it.
    1. Re:I love C++ but ... by Anonymous+Brave+Guy · · Score: 1
      3. But necessary, one are classes the other are generic types, how should they be handled otherwise?

      You could start by adding the concepts of value vs. reference and operator overloading to the language. In C++, you can write a class that looks and feels so much like a fundamental type that it's almost indistinguishable. There are very minor technical details where you can tell them apart, and people have noted these since the '98 C++ standard, so they can be removed in the next one.

      7. Unsafe Casts in Java ??? Well it has dynamic Type checking, you can not call anything which signatures does not fit on runtime. See 3.

      And you get an exception if you do, at run-time. Compile-time error checking is better than run-time, end of story. How do you explain to your multi-million dollar client that although your program crashed, at least it was "perfectly safe"? Do you still expect to have a multi-million dollar client after your explanation?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  333. Re:XP effects? by John_Booty · · Score: 2

    With hundreds of thousands of copies of an OS that won't do Java, that will have a very deep impact on developers. It doesn't do much good to make software that nobody can run.

    Yeah, but how popular was Java on the client side, anyway? I don't see many client-side Java apps. Java seems to have found its niche, and it's server-side development (server apps and server components).

    As for client-side Java web apps... they're usually stupid and frilly anyway. I've seen soem "wow, that's neat" ones but never anything useful...

    --

    OtakuBooty.com: Smart, funny, sexy nerds.
  334. Re:One more misconception to fix by WildBeast · · Score: 1

    Well hey, I'm telling you about the apps I've seen developed in Java. If it's such a popular and great language how come I have a hard time finding apps developed in it? The only other program I recently used was a notepad-like java app by HP, it took lots of time to load and I don't know, the menus felt like kinda weird.

  335. Re:Less Visual Basic Programmers by ackthpt · · Score: 5, Insightful
    We've had to adopt VB at work, and it's easy where problems will crop up and how weak documentation for a One Vendor product can be. When I visited Computer Literacy, in San Jose, I expected to see many texts on VB and related subjects. What blew me away was the plethora of Java texts. If the books didn't sell, they wouldn't have them.

    On a second thought, Java _was_ wildly popular among many of the dotbombs. Possibly the study is based too heavily on that time period. Does it still hold it's proportion of growth, or are IT shops, like us, drifting toward VB and other M$ development languages/suites?

    --

    A feeling of having made the same mistake before: Deja Foobar
  336. So what? by Futurepower(tm) · · Score: 1


    Automobiles have overtaken diesel trucks.

    --
    Bush's education improvements were
  337. One must question the Java findings when... by sysconfig · · Score: 1

    ...at the bottom of the article, the same survey says that FreeBSD has 20.4 percent market share among the "developers surveyed" as their Linux "distribution for use with a Web server or Web application server"

    I love FreeBSD, but I was not aware that it was a Linux Distribution.

  338. Re:Java as a teaching language by juha0 · · Score: 1

    Java as first programming language isn't a good idea. First of all it's OO, which confuses most newbies. Java is definitely a high level language. No control to memory, many common data structures already implemented, and those are the basics of programming - even with Java. I've done a lot Java in last two years, and it's extremely easy to make unefficient code. When coding with Java you have to think all the time how this is done in the low level which is hidden by Java API. This is what you don't understand by just coding Java. As an OO teaching language Java is ok. I had coded a lot of C before learning Java, and it was really easy to move to C++ after that. Too often you see C++ done by former C coders who can't use all benefits of OO.

  339. Interpreted Languages by Anonymous Coward · · Score: 0

    Maybe I have entirely missed the point, but compare C/C++ to Java is like comparing apples to oranges. C is not generally an interpreted language and therefore has completely different applications. Perl, Python, C#, and BASIC are usually interpreted languages and are comparable.

  340. Re:Less Visual Basic Programmers by Floofnargle · · Score: 2, Informative

    I use both Java and VB (and other things) and find it odd to hear that you can't find the information you need for VB, because I've always thought that MS's online docs were well-organized and complete. Usually when people complain about them they haven't explored what's available. It's usually possible to get a very specific answer to a given problem, often with sample code.

    Try msdn.microsoft.com. Don't mess with their site navigation, just do a full text search.

    As for books, quantity is not as important as quality. How many books on VB do you need to read?

    VB does make it easy to write horrificly bad code. But in the hands of someone who knows the tool, it also makes it easy to write elegant software. For that matter, I've seen some awful Java code, too.

  341. Why this is real. by actappan · · Score: 1

    Sure, C & C++ are more desirable than java for core apps. But really - what's the development time for a server side app written in C? Java allows you to develop quick, flexible and portable servlets and server side apps disgustingly quickly. Granted - since nearly anyone who's reading anything here is a serious user, we run anything we can get our hands on hard. ./er's demand sick wicked reliability, and don't have too much of a problem waiting years for a stable product. This simply isn't true for the vast majority of apps developed every year. Shops working for enterprises such as financial institutions, insurers (argh.) and most businesses turn out thousands of apps each year. Their requirements are often best met by something like java. Just look at how much in the *nix/*BSD world is written in portable scripting langs like perl, Python, and PHP. Same thing, only a little more portable, and with a lot bigger backer. My $0.02.

    --
    \Drew National Data Director, John Edwards for President
    1. Re:Why this is real. by WildBeast · · Score: 1

      Let's look at some stats, shall we.

      PHP serves 48 pages per sec ASP Serves 43 pages per sec JSP Serves 13 pages per sec
      Looks like Java on the server side is slow to. With MS removing Java and going with Perl and Python, I don't see how Java can be more portable.

  342. The ascent of Java by ergo98 · · Score: 1

    While I have noticed a huge uptick in the number of jobs which request Java experience (it's among the top), I personally have a lot of trouble adopting Java for projects because of three primary reasons:

    -There are lots of nasty things about the language that are unintuitive and lead to sloppy code. If it weren't for the power of Sun and a couple of Sun partners such as Bea and IBM, Java would have been relegated as a poor attempt at improving C++ and would have been supplanted by better languages long ago. Hence Java's success is a VHS-type phenomena.

    -The performance of Java on every JVM that I have tried has been horrible.

    -Java is controlled by Sun. If someone fixed the numberous flaws of Java and created PowerJava, or some other variant, all of the religious nuts would flood Slashdot berating those "non-standard" crazies, and Sun would have the lawyers beating down their door.

  343. Maybe, but... by kriemar · · Score: 1

    I've been wondering about this, and I'm not so sure Java will even stay out of the "optimized stuff" for long, either. E.g., COLT JavaNumerics

    1. Re:Maybe, but... by Anonymous Coward · · Score: 0

      We still use FORTRAN for numerics codes because its faster than C. There is NO chance of using something signifigantly slower than C. Sun's marketing department can claim dynamic optimization this and that, but those of us in the real world a) run our own tests and b) ignore marketing departments. I suspect the Java folks will learn that lesson someday.

  344. Re:Programming for Business by Anonymous Coward · · Score: 0

    But not all of the world is business apps either. Beyond that, there are REAL PEOPLE working on research and scientific applications, modeling/rendering and high-performance multimedia apps(including games), and MANY kinds of client side standalone apps (office programs, e-mail programs, Photoshop etc, etc) It sounds like some people think that Java will take over in these areas too - it's not enough to tout Java in enterprise apps (which I have no problem with) but Java has to be presented as some kind of swiss-army-knife language, that is superior to C/C++ in language design, and in usability for the aforementioned tasks.

    Your rant seems to marginalize critics of Java as Linux-is-the-world geeks who don't get any REAL WORLD WORK done - but my point is there are "real-world", significant programmers areas that Java is simply not appropriate for yet, and might not be ever. The world may not revolve around "Linux/Perl/GCC and kernals" but it doesn't necessarily relvolve around "distributed enterprise applications" either - and 9-5 enterprise programmers are not the only "real" programmers either.

    Sincerely,
    Kevin Christie
    crispie@hotmail.com

  345. $0.02 by Anonymous Coward · · Score: 1, Interesting

    60% use Java. 40% use Java. yada yada. What's the breakdown of what those developers are doing with it. I'm not disagreeing, It just could make a big difference. I mean a certain, not insignificant, portion of developers I meet follow every fad that comes along. C# is evil, but it'll mean an easy switch if the internet gets taken over by MS. Just a thought. Besides that, who here likes this whole concept of corporations controlling languages. Sun 'owns' Java, MS 'owns' C#. Who owns c++? C++ may be screwed up, but at least it won't be screwed up purely for marketing hype, profit and politics.

  346. language wars by paranoic · · Score: 1

    The only thing you can be sure of, is in 10 years, you won't be programming in the same language you are today.

  347. Re:I don't think so by Anonymous Coward · · Score: 0

    I'm so tired to read stuff about how "bloating" is OO, like C++. You can get a lot better result in C++ than C, but just depend of the quality of the code. For sure you may get in performance using some bad OO API like MFC, but plain C++ can be has effective than plain C...

  348. Re:Keep on dreaming, Java-boy by Anonymous Coward · · Score: 0
    Just where is the niche for Java after C# takes over?

    In case you missed it Java took over years ago. Where is the niche for C#? Who the fuck cares?

  349. why java is picking up: by Anonymous Coward · · Score: 0

    not only are some people switching over to java like slashdot [would like to] suggest[s], but there's also the fact that java is being taught at more & more educational institutions. if VB or Delphi were taught at more universities, this story wouldn't exist.

    yes, i learned java in school. however, i'll never touch it of my own accord. it might be the best programming language in terms of structured rules, but why regulate what you can do when you can do so much more than that, without the same *NAGGING* restrictions as Java? give me C++, VB, or Delphi/Kylix any day.

  350. XP effects? by wetdogjp · · Score: 2, Redundant

    There was news that Windows XP will not ship with any native support for Java. Certainly, a user could add Java support him/herself, but how many users are going to take initiative to do so?

    With hundreds of thousands of copies of an OS that won't do Java, that will have a very deep impact on developers. It doesn't do much good to make software that nobody can run.

    Granted, many a Java developer's projects are meant for *nix environments, which is just one more pro for the side of good. But I wonder how XPs lack of Java support will affect the number of Java developers.

    -WetDog

    1. Re:XP effects? by kentyman23 · · Score: 1

      *sigh*

      "With hundreds of thousands of copies of an OS that won't do Java..." blah blah blah

      And all those copies that won't do Java wouldn't've been doing Java if the JVM was included anyway. When people want to run the old Java things they used to, and can't, they'll get the damn JRE. They sure as hell would do that before finding a new product to replace it.

      When Johnny finds out that he can't play his favorite Java (*gasp*) Applet game, or talk in his favorite chat room, he'll get that JRE just as quickly as he downloads the newist (*gasp again*) Matchbox 20 song.

      As simple as that. Almost.

    2. Re:XP effects? by gfhilton · · Score: 1

      I am currently running post XP RC2 that came out last Wednesday and trust me when I say that Java is very easy to get. Whenever you access a page that needs Java an IE dialog box appears which asks, "Would you like to download the Java Virtual Machine?" and you say "Install" and it goes automatically and gets that good old crappy MS JVM implementation and autoinstalls it for you.

      I personally don't think that not having a JVM is going to deter XP users in the least from running applets in Java and if it's a server side app or something that's installed from a CD then it's not even an issue as Sun or IBM's newest JVMs can be installed.

      --
      "Do what you wish in your madness, but first let me down off this horse. I wish to see no eyes!"
  351. Is java really that good. I have heard people say that it is really good and is very similar to C++ but I never thought it would go so far as to completely overtake c/c++. Besides is it really fast enough to keep up with games that are being created now?

    It would be rather humorous to see a operating system coded in java that required the virtual machine to run it...well whatever

    --

    Mathematician, n.:
    Someone who believes imaginary things appear right before your i's.
  352. Re:Gotta love that "research" by writermike · · Score: 1

    >Going by Evans Data's "research" they might as well have used the results from a Slashdot poll.

    Considering those Sony execs creating a movie reviewer, who says CNet (or Evans) didn't use a /. poll?

    w

    --
    If Nalgene water bottles are outlawed, only outlaws will have Nalgene water bottles.
  353. The perspective of a professional programmer by eyefish · · Score: 1

    Ok guys (and girls), I'm sure we all have a favorite programming language, and use our favorite tools for our everyday programming tasks, but at least professionally, I have to admit that Java is today a time and mission-critical-proven platform.

    Some say that Java is slow, or doesn't have all the bells and whistles of other languages, but as a professional programmer I have yet to find Java slow (specially on distributed apps), or restrictive on what I can do.

    I think what has made Java what it is today is that it is easy to use and learn, it is strongly object-oriented, applications DO run on multiple platforms without modifications (cannot say the same of the old AWT technology, but that's from the old Java days), productivity goes way up, and maintenance way down (just garbage collection and no pointers have saved us millions of dollars), and it is easily expandable (notice the evolution from applets to applications, from JSP to J2EE, support for XML, etc).

    I only wish the Linux and open-source community embraced it as it should, since linux-java could be the foundation for a great trully standardized Web Services platform (and please, do not mention Apache, php, etc, those do not represent an integrated, well-understood platform).

  354. Re:Java's too fucking slow by BryceH · · Score: 1

    "Java has its advantage: all platforms (except Windows2000, mwahahah) can run the code"

    damn... i wish someone would have told me that before i started runnig all these java apps on my win2k box.. not to metion all that time ive been wasting writing java code. man.. is my boss is gona be PISSED when he hears this!

    --
    "Shut up brain or ill stab you with a Q-tip" Homer Simpson
  355. REAL STORY of Java App here by MSCSdude · · Score: 1

    I just put into production a nice Java 2 Swing app that is being used to handle all the report printing for our mid sized company. It works perfectly, the only glitch I need to work on is getting the screen to refresh better and make /find a file dialog box that allows for more than one file choice at a time. We have no Java apps in our system. Because of my success, now I can write more java in our VB environment and we have the JRE on the production server.. Very cool app too, it concuurently processes business reports and runs large reports batch ~jobs and send them to the Xerox printers for high speed printing. Later!!

  356. Re:Java as a teaching language by Anonymous Coward · · Score: 0

    Depends on whether you are trying to teach someone the basics of programming, or the basics of object oriented programming.

  357. Programming for Business by whjwhj · · Score: 5, Interesting

    OK I've read a dozen or so posts dissing Java because it's "Stupid" or "Slow" or "None of the apps I run are written in Java" or whatever -- which forces me to say this: Programmers who write in Java are writing code for distributed enterprise applications. They're professional computer programmers, not ether breathing geeks such as ourselves. I say it's waaaay past time that we all collectively pull our heads out of our asses and realize that the world doesn't revolve around Linux/Perl/GCC and Kernel patches!! There's a whole world of programmers out there (who DON'T generally post to this forum because they're too busy getting work done) who don't live and breath everything Linux day in and day out. They work for a living.

    End of Rant.

    1. Re:Programming for Business by Discoteck · · Score: 1

      I agree !! Each language has it's advantages and disadvantages. Java has a greater potential for building web connected devices and web based applets than C++ because of all the built in functionality. This does not mean that because the language does one thing good we should use that language for every programming task.

      --
      /.................../ \\ /...................../
    2. Re:Programming for Business by Anonymous+Brave+Guy · · Score: 1
      Iridium chose to use an OO methodology to develop all of their software. It failed miserably and had to be re-written. You'll find this to be the case with most software projects that adopt OO as their methodology.

      You'll find this to be the case with most software projects, period.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  358. Java Community Process??! by Anonymous Coward · · Score: 0

    You live in a dream world. All Java sanctioned libraries are controlled AND OWNED by Sun. One day (perhaps not far off) they will start charging a licensing fee.

  359. Java as a teaching language by Craig+Maloney · · Score: 4, Interesting

    Unfortuantely I see Java being used more and more as a teaching language in universities, ergo more and more developers graduating out of schools are learning Java. Very few college programs will teach anything like C or C++ when they can teach object oriented programming using Java. These developers then move into the private sector and recommend developing using Java to their superiors. It's a vicious cycle. this is also the natural progression for those who are "saved" by Object Oriented methodologies.

    1. Re:Java as a teaching language by Stu+Charlton · · Score: 1

      "but then again, I've found that Object Oriented programming isn't the complete answer to programming... you need a balance of both function and objects. Not everything can be represented by objects. "

      ..doesn't that just mean "I ran into a problem I couldn't solve with objects, so rather than admit I need to learn more, I returned to my old ways"??

      There's no program that can't be represented as functions (elegantly).
      There's no program that can't be represented as objects (elegantly).

      It's just a matter of which paradigm requires more skill & time. I would submit the latter paradigm require less, since it gives you more basic constructs out of the box.

      --
      -Stu
    2. Re:Java as a teaching language by Craig+Maloney · · Score: 2
      No, it just means that I don't believe that Object Oriented methodologies are the panacaea you make them out to be. A mixture of objects and functions can produce some very elegant results as well. Java does not allow this programming style. This is where I take issue with a complete Object Oriented system. Why limit yourself to one paradigm?

      It's not my intention to debate this on Slashdot.

    3. Re:Java as a teaching language by Stu+Charlton · · Score: 1

      I'm not claiming it's a panacea. For some reason you're implying that I am.

      I'm implying that mixing paradigms in a single program violates consistency of thought, hence making such programs hard to read.

      So, if you want to do procedural programming, then do so.

      But to mix & match the two is rarely a case of intellectual clarity - more a case of "I don't understand objects well enough to use this metaphor consistently throughout my program".

      But, since you don't want to debate this, I guess we'll have to leave it at that.

      --
      -Stu
  360. I don't think so by famazza · · Score: 1

    While java can be wonderful for database access, where the most time consuming is the access it self. It sux when used as a processing language. Imagine Java decoding mp3? Or event DVD, I dunno!

    The same happens to VB, or C# or other script languages like perl or python. Nothing can be better then a plain, compiled, functinal, not OO language to be used in preformance-critical applications. And to this kind of thing C is the BEST (ok, assembly might be faster, but ít's also too limited)

    IMHO it's easier to have Kylix as #1 programing plataform, then having Java. VB is a complete succes due to it's development speed, and now a days Kylix have brought this to *nix plataform.

    Let's think a little bit more before saying things.

    Oh, I forgot, I really like to be corrected when I'm wrong. And if I'm not, I also like to know others opinion. (thanks)

    --

    -=-=-=-=
    I know life isn't fair, but why can't it ever be un-fair in MY favor!?
    1. Re:I don't think so by Anonymous Coward · · Score: 0

      Amazingly how much this sounds like the people who said high/medium level languages would not take over from assembler becourse they are too inefficent.

    2. Re:I don't think so by Anonymous Coward · · Score: 0

      You sound like you're looking to apply the right tool to the job at hand; that's exactly the right approach - more programmers should do that!

      Looking for any one language to be the One Way To Do Things is falling victim to the "I have a hammer, all problems are nails" syndrome.

  361. Tthe rest of the family's future by Anonymous+Brave+Guy · · Score: 1

    In all this hype about Java having a majority share by 2002, people seem to be ignoring what's happening with other languages. From the article:

    Initial surveys have shown that only a small portion of developers intend to try Microsoft Corp.'s C# language, which is relatively new, and those developers will predominantly be ones already using Microsoft programming languages, Garvin said. There is no evidence of any significant adoption to date, she added.

    No kidding... There's not much uptake of a language that doesn't yet exist? Quelle surprise! Get back to me in a couple of years, though. With MS behind it, only a fool would rule out C# without even seeing the finished product. In 2002, C# should be available in a usable form for actual development.

    Perhaps a more significant event will be the approval of C++0x, the new C++ standard, currently expected 2003-2005. I've discussed this here before, mentioning several aspects that are directly relevant to the present issue.

    Ultimately, the article seems to assume the current trend will hold, in spite of Java's current evolution-not-revolution progress, and the imminent upsets caused by the arrival of C# and C++0x. Isn't that just a little short-sighted?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  362. Nice try but.. Re:PROTECT OUR DAUGHERS and BOYCOTT by Anonymous Coward · · Score: 0
    Java was invented by James Gosling, who invented Java at Sun Microsystems.

    Patrick was just a developer on the green team.

    Why should other people suffer for the crimes of another person. If that was the case we would be boycotting everything.

    If it makes you feel any better Patrick lost his $183,000 a year job, his $15 million in stock, his reputation and his wife.

  363. Specialization is for insects... by ChaoticCoyote · · Score: 3, Insightful

    ...to quote Robert A. Heinlein.

    The hallmark of an excellent programmer is the ability to learn and adapt. When I hire someone, I pay more attention to their attitude, creativity, and intelligence than I do to their list of "I knows". Certifications, degrees, and laundry lists don't necessarily impress me; capability and a willingness to learn always catches my interest. And anyone who comes in as a language bigot (or ignoramus) isn't going to be getting a check from me...

    I might add that I've been quite successful in finding excellent talent.

    As for mechanics -- well, I've spent enough time with gear heads and grease monkeys to know that working on mechanisms isn't something you pick up overnight.

  364. Re:Gotta love that "research" by gnovos · · Score: 2

    Oh, very true. For example, if I were to do a poll here at MY office, I could tell you that 100% of the developers here use Java! 100%! Wow, there are no more programming languages being used anymore! They are also 100% male, which means that the end of the human race is getting close... :)

    --
    "Your superior intellect is no match for our puny weapons!"
  365. J++... by Anonymous Coward · · Score: 0

    If someone fixed the numberous flaws of Java and created PowerJava, or some other variant, all of the religious nuts would flood Slashdot berating those "non-standard" crazies, and Sun would have the lawyers beating down their door. Do you mean sort of like Microsoft did with J++?

  366. Re:XP effects?...Well, "Duh" by darkPHi3er · · Score: 1

    "With hundreds of thousands of copies of an OS that won't do Java, that will have a very deep impact on developers.."

    sure will, ***EXACTLY*** the effect (and affect)that M$ intends for it to have....

    "everything old is new again"...in the late 50's and 60's Blue pursued every "platform specific" and "marketshare differentiation" strategy they could....it resulted in the rapid rise of DEC and HP sales of minis....which inevitably cannabilized MVS sales and resulting the "Great AS400 Giveaway" in order to retain some customers

    M$, strategically, knows nothing that IBM doesn't know/hasn't done, as M$ is Blue's Love Child

    M$ intends to force a platform split with Java, and then offer its Java-like, decade-plus old toad, C# as a "Better Java Than Java" and it will "make FULL use of your Microsoft technolgies"

    the only difference between a cell and a room is whether you have the key to get out....MS will be finding this out in the next decade...

    --
    Ten quid, she's so easy to blind. And not a word is spoken...
  367. Wonder if this means that Sun has woken up... by wrinkledshirt · · Score: 1

    ...and realized that in the wake of all the press about .Net and C#, that it's time to remind the world who brought this sort of computing to the internet in the first place.

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

  368. "Java can't do everything?" by thejake316 · · Score: 1

    Java comes damn close to doing everything. That's one of its weaknesses, actually, Sun overwhelms you with solutions. Java is appropriate to application servers, embedded devices, GUI environments, parallel applications, distributed environments, and any combination of any or all of these. Lots of the hard work has been done for you (JFC, servlets, enterprise beans), and much of the OO extra rope to hang yourself (like MI and structs) from C++ have been removed or made safer. Not all PHBs are totally ignorant, there's reasons Java rubs many of them the right way, and most of those reasons can be quantified on the balance sheet.

    --
    AC's cheerfully ignored
  369. Depends on the application... by Svartalf · · Score: 2

    Java, by design, has GC- can't get away from it. (Nor, do you want to- that's what makes some of it's selling points possible in the first place!)

    Garbage collection would slow/stop a system while it was being performed- it doesn't matter how much horsepower you throw at a problem it still will render it non-deterministic. For some things, that could be tolerated- for a vast majority of things out there it'd be obnoxious to downright deadly to be non-deterministic.

    You don't want predictable or unpredictable slowdowns in these sorts of systems:

    Fly-by-wire avionics.
    Industrial process control.
    NC milling.
    Automotive ignition control.
    Military Command and Control (incl. Signal warfare systems- SigInt, ECM, ECCM, etc.)
    Any consumer appliance (How about a microwave that takes a couple of seconds longer to cook something- some of the time...).
    Automotive control computers (try a system that doesn't shift the transmission at the right times because it's delayed a second for GC...).

    No, not all of this is coded in C/C++. Some of it is in assembly, yes. Some of it's in Jovial, ADA, Eifel, etc.

    Pick the tool that makes sense for the job. I don't think a language designed for set-top boxes (That's what Java was...) is suited for much of anything other than things like Word Processors, etc.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  370. DAMN! Now I've seen it all! by Anonymous Coward · · Score: 0

    I have, I really really have...

  371. Multiple paradigms by ChaoticCoyote · · Score: 2

    One advantage of C++, in my experience, is its support for multiple paradigms. C++ isn't an object-oriented programming language, or a functional programming language, or a procedural language -- but it allows me to use all of those paradigms as needed to accomplish a task.

    Software is like religion in that one solution doesn't fit everyone. Frankly, I'm happier with a well-written piece of Visual Basic than I am with a sloppy piece of C++.

    As for functional programming: I think it is another excellent tool, but much overrated by its adherents. Note that I also have the same opinion of object-oriented programming and other paradigms. Each paradigm brings ideas to the table, providing new insights and techniques. None is perfect, and several can be quite useful.

    1. Re:Multiple paradigms by Norge · · Score: 1

      > One advantage of C++, in my experience, is its
      > support for multiple paradigms. C++ isn't an
      > object-oriented programming language, or a
      > functional programming language, or a procedural
      > language -- but it allows me to use all of those
      > paradigms as needed to accomplish a task.

      There is a big problem with this attitude towards programming languages. One of the big advantages that many functional languages (and other carefully designed languages for that matter) have is that they have certain nice provable -- and in many cases proved -- properties that are a result of a tractable language definition. C++ is probably the best example of a totally intractable language and it is therefore impossible to say with mathematical certainty what a C++ program means. It is also a bit of a stretch to say that one can program functionally in C++. I understand that there are various contortions you can go through to get some of the features of functional languages, but it's still pretty far from ML or Haskell in my opinion.

      I agree that object oriented programming is overrated by its adherants. However, I have seen a few programs that drew quite a bit of expressiveness from being written in an object oriented language. I don't think functional programming is as overrated as you appear to. I think it is quite remarkable what has been accomplished in functional languages (i.e. the Fox project at CMU (SML) or wireless switching software at Ericsson (Erlang)) with a fraction of the effort as has been expended on similar projects written in more traditional languages. An Ericsson employee recently wrote a paper about their experience with Erlang, with respect to productivity:http://www.erlang.se/publications/Ulf _Wiger.pdf. Clearly there is a significant limit to the good and happiness that language choice can bring on any particular software project. However, I think a large portion of the application code running today would have been better off written in a functional language.

      Benjamin

  372. Damn! by Anonymous Coward · · Score: 0

    I'm obviously not spending enough time in airports.

  373. Depends on your definition of "overtake".. by Bowie+J.+Poag · · Score: 5, Insightful



    The study cited in this article refers to the number of people with Java skills, not the number of programs released. To quote:

    "Java usage is even stronger outside North America, with almost 60 percent of developers expecting to spend some part of their programming time using Java."

    This is one of those misleading statistics, like "Half of all marriages end in divorce".. What most people fail to realize is that the statement is not factually concise.. There are idiot-men and idiot-women who get married and divorced several times, which accounts for a disproportionately high "overall" divorce rate. The percentage of successful marriages is actually much higher, just the same as the number of coders actively writing in C all the time is much higher than the number of coders actively writing in Java all the time.

    Lame article.

    --
    Bowie J. Poag

    1. Re:Depends on your definition of "overtake".. by PieceMaker · · Score: 1

      Using completely fabricated numbers, say in this year 10,000 marriages were started (10,000 couples got married). Also, in this year, 5,000 marriages were ended (in divorce). Then half of the marriages ended in divorce? Assume there were already 1,000,000 marriages formed though. Then in this year 5,000 of 1,010,000 marriages ended in divorce -- a divorce rate of .5%, not 50%.

  374. Them Jafa Beans by RalphTWaP · · Score: 4, Funny

    Everyone knows that java's been underlying program development in all languages. After all, computer scientists are machines for turning caffeine into algorithms, right?

  375. Good-bye VB! by pinkUZI · · Score: 2

    It's evidently taking developers from the C/C++, but also the Visual Basic camps, with strong growth overseas.
    It's about time!
    Die Basic! Die!

    --
    You are receiving this message because your browser supports Slashdot Sigs and you have Slashdot Sigs enabled.
    1. Re:Good-bye VB! by pinkUZI · · Score: 1

      What do you call 5 VB programmers at the bottom of the ocean?

      A good start!

      --
      You are receiving this message because your browser supports Slashdot Sigs and you have Slashdot Sigs enabled.
    2. Re:Good-bye VB! by Anonymous Coward · · Score: 1, Informative

      Boy, you must be pretty stupid if you can't even program VB. Creating multiple controls is like the easiest thing to do. Create a control, any control. Set its index to 0. Now use load cname(i) and where cname is the name of the control, and i is a number, and it'll create that control.

    3. Re:Good-bye VB! by mjed · · Score: 1
      Personally, I'm surprised that VB has lasted this long. C++ can do everything VB can. (And it isn't that much more difficult to learn.)

      On another topic, I don't know what the big deal is about C# (pronounciation? anyone? I think it's C hash, but if I'm wrong, correct me.). It won't ever be able to compete with C++ or Java. Oh, and IMHO, niether Java or C++ is better than one another. It's like comparing apples to oranges. One recepie may require apples, the other oranges. Substitution would just result in a big giant mess. Let that analogy soak in for a while.

      --
      I'm a repairman in an imperfect world.
    4. Re:Good-bye VB! by Anonymous Coward · · Score: 0

      While I'm not a VB programmer, I do dabble, and I still can't figure out how to make a command line executable that dumps it's output to the console that started it, allowing me to pipe it.

    5. Re:Good-bye VB! by Anonymous Coward · · Score: 0

      "A lot of the work I do is disposable. I can build my apps FAST with VB. Which is good. I have litte time to build them and in a couple of weeks they are gone."

      And for that kind of short-lifetime app, VB is fine. Java and Smalltalk do those kinds of things well, too; that's why many finance programmers like them.

      VB just doesn't scale up to a larger project well; it seems to have self-limited to these kinds of short-to-build/short-lived projects.

  376. Pascal, C++ and Java. by standards · · Score: 1

    Pascal was once popular too, but that doesn't mean that a boatload of people actually used it for real applications.

    I agree that Java is a good (not excellent) teaching language - the most popular one at that. And it is certainly better than C++ for most junior programmer types. But when it comes to power and completeness for REAL applications, you just can't touch C++.... yet.

    However, mind you that there is work going on at Sun in terms of Java 2.x - an update to the language. If Sun does the smart thing and opens up Java's language design and takes it up a couple notches, Java very well could be the solid all-around winner on paper AND in practice. But until then, it's C++ in the real world of system software AND application software.

  377. Keep on dreaming, Java-boy by Anonymous Coward · · Score: 0
    Keep on dreaming.

    Just where is the niche for Java after C# takes over?

  378. Java is for PEDOPHILES by Anonymous Coward · · Score: 0
    Java is the Language of Choice among Pedophiles!

    If you like java, chances are you like having sex with underage girls, too!

  379. Try JEdit by Anonymous Coward · · Score: 0

    I was very impressed. Liked it alot. Am seriously thinking of using it for my coding.

    It's open source, I think. Look it up in Google or whatever.

    Now if Java programs would stop putting Js in front of the names...

  380. Java's too fucking slow by Anonymous Coward · · Score: 0
    God I hope not.

    All I have to do is to try LimeWire and Sun's Java development system (on a Sun workstation no less!) to see that the future would be unbearably slow that way.

  381. Why not? by the_mind_ · · Score: 1

    So when do we start to port the kernel to java?
    Hey! Maybe we can even convert the kernel to a java-applet!

    --
    You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
  382. Re:Real-time garbage collection by Malvolio · · Score: 1

    Real-time garbage collection is possible, as described by Donald Knuth in The Art of Computer Programming, third edition, volume 1, section 2.3.5, exercise 12. The basic idea is that whenever available memory is reduced to N, garbage collection is run in parallel with the main routine, with time shared so that the main routine still runs fast enough. N must be chosen so that garbage collection is finished before the main routine manages to exhaust N memory. Knuth gives an extensive list of references for more information.

  383. The Elvis statistic by Christian+Smith · · Score: 1

    http://www.open2.net/dd100/elvis/elvis.html

    The moral of the story, statistics need to be taken with a grain of salt.

    Statements like:

    Garvin said. "Java usage is even stronger outside North America, with almost 60 percent of developers expecting to spend some part of their programming time using Java."


    Is that in their spare time, at work, what? How much real work will be done with Java as opposed to C/C++?

  384. ironic... by courtneyelizabeth · · Score: 1

    Just an hour before I read this I was informed that my local school district is going to stop teaching C++ and replace it with Java. The classes taught now are "Topics in Computer Science" (which can be any "begginers" language the district thinks is currently most useful. It's Visual Basic right now), C++, advanced and AP. The last 3 will be replaced with Java, Java Advanced, and Java AP. This district is known throughout the bi-state area as having the "best class selection." It was among the first to offer programming classes, and has walls full of awards from state competitions. umm yeah... What does that say about our future programmers and how they'll be educated?

  385. Re:Less Visual Basic Programmers by blue+trane · · Score: 1
    VB does make it easy to write horrificly bad code. But in the hands of someone who knows the tool, it also makes it easy to write elegant software. For that matter, I've seen some awful Java code, too.

    I'm in the same boat, doing some Java and VB/ASP/VBA whatever. In my opinion VB encourages "hacking" more than Java, because VB doesn't enforce any sort of oop design. OTOH VB can be easier to write or read, and the debugging support in the IDE is nice.

  386. open standards organization? by Anonymous Coward · · Score: 0

    Try reading the Java bug reports that have been squashed by this supposedly open standards organization without mentioning a) why or b) the name of the Sun employee that unilaterally objected to the bug report or feature. Nevermind the fact that Java was withdrawn for both ISO and EMCA approval by Sun after Java reached a certain critical mass. Basically, lie to get in the door, and change your story once you have some measure of success. Just wait until Sun starts demanding a licensing fee for Java. If not this year, then perhaps next.

  387. So sad by Com2Kid · · Score: 1

    Performance one again gets fucked in the arse by the thug known as popularity.

  388. Riiiiiight by Gruneun · · Score: 2

    I like it because I don't have to worry about several different OS's and garbage collection. It's easy to code in and I can get a string output of *any* data type, which makes it easy to debug.

    It's that easy.

  389. Number of developers? by Alex+Belits · · Score: 2

    The number of developers means nothing -- there are more Macromedia Flash developers or Visual Basic developers than developers that any advanced language and Java combined, yet most of useful software is still written in C, C++ and sometimes perl.

    --
    Contrary to the popular belief, there indeed is no God.
  390. I Cant Believe What I'm Hearing by Anonymous Coward · · Score: 0

    I just can't believe all the comments I've read the state outright or allude to a mis-belief that speed is a non-issue with modern hardware.

    While the world moves to real-time transactions, virtual-reality environments, extreme simulations, etc. etc., the Java-advocates try to tell us poor software performance can be compensated for by modern hardware.

    Or that most programmers are building applications that don't require high performance.

    HOGWASH!

    Wake up and smell the coffee!

    In the future, every application that is written will be embedded in a real-time virtual landscape. Even a batch processing system will be wrapped in a real-time virtual tapestry.

    Cycles count. Every cycle counts. Always have. Always will. And these newly weaned Java programmers don't even have a concept of what a 'cycle' is anymore.

    I'll do what the man pays me to do, but in the end I'm looking out for number one. So, towards that goal, I'm dusting off my C/C++ books. Time to 'get real' about programming again.

  391. Gotta love that "research" by scott1853 · · Score: 4, Insightful

    Even when it doesn't actually show any true statistics, like how many people were surveyed, or any other minor factors like, did 60% of the people surveyed work at the same company!

    I'm sorry but I tend to like my "research" with some sort of graph, and something a little "meatier" that a single percentage bar.

    Going by Evans Data's "research" they might as well have used the results from a Slashdot poll.

  392. Re:C++ "could" use the java virtual machine...righ by synsent · · Score: 1

    Hey isnt't that like the .net Framework, a platform and a VM, an every programming language can be portet to that....

  393. Both side are correct. by papaya · · Score: 1

    I believe VB developers have out-numbered C/C++ developers long time ago, but that doesn't mean VB will replace C/C++. Period. Java is a clean OO language and I believe an experienced developer can use it to create applications under most catagories with acceptable performance. But for those shrink-wrapped software, there is a concept called "competition", I bet if any one use java to develop those general purpose software, his competitor can easily beat the crap out of it by using C/C++.Yes there is a Java mp3 player, but how many people are using it? any company made $ out of it? So the point is not can/can't, the point is which one is the best. Java fits in In-house projects perfectly well because it's easy and it does offer acceptable performance. and as long as you fulfill the spec you don't need to worry about competition. I don't have problem with Java, but it's kinda anonying when you hear some Java programmers talking about "Java is more OO than C++", even most time their audience are VB programmers.

  394. Yes, I agree... by Anonymous Coward · · Score: 0

    ...that you should stick your cock into one of the two a's in "Java" and have sex with it.

  395. Re:The ascent of Java by micje · · Score: 1

    Two of Sun's JSRs were voted down by the JCP. Kinda undermines what you're saying.

    --

    The nice thing about standards is that there are so many to choose from. - ast

  396. Object by Chetball · · Score: 1

    I'm sorry, but I just can't think of a language that assumes every encapsulation can be derived from one ultra-general class as being superior to C++. It's almost religious to think that everything must come from one deity-like entity. Are we all related to each other through Adam and Eve? (doubtful, but that's another story) So why model a language like that? What exactly is my new class inheriting from Object? Not a damn thing. Some things just aren't related in a system. They might talk to each other, but they don't need to have the same base class.

    I coded some GUIs in Java and that was great. The docs were fab and Swing was pretty easy to use. However, the thing took 3 mins to load on a PII200 and the UNIX interface looked like kaka, despite my efforts to native-ize some stuff (which is a no-no in JavaLand).

    Anyway, the next time I'm grateful that some schumck with a RIM Pager can 'interact' with my 'Java enabled' web page, I'll let ya know.

    Chet

  397. Re:The ascent of Java by easter1916 · · Score: 1, Informative

    The development of Java and its class libraries is controlled by the Java Community Process, not by Sun.

  398. Do you think this is symptomatic by ahde · · Score: 1
    of a problem with java, rather than otherwise. It takes more java programmers to write less code (technically more code, if you count lines, bytes, or bogomips)

    relax, I'm just making fun

  399. One more misconception to fix by catseye_95051 · · Score: 2

    For those who think Java today is only suited for slow buisness apss I'd encoruasge you to sdo soem of the following:

    (1) Talk to a bunch of folks who went to Quakecon and plyed the JAMID demo. (You need mroe thena samplr of one obviously as everyone's opinions will vary to some degree.)

    (2) Got to Siggraph in LA NOW and see the Pure Java F1 racer simualtro that is the talk of the show.

    (3) Got to javagaming.org's "Big list o links" and check out some of the stuff there. Of particular interest are "Blastian", "Arkanae" and Cosm.

    Those who want to keep their illusions, just skip all of this :)

    Catseye

    "Ignorance is bliss and boy do we have one happy government!"

    1. Re:One more misconception to fix by dodobh · · Score: 1

      Unless you consider the world outside the US, where slow hardware is much more common. Oh, and far more expensive. I prefer rather restrictive limits on my applications.
      And yes, I bitch about Perl being slow. mod_perl helps my requirements a lot, but it barely scrapes in. Sorry, your JVM hits my runtime memory limits.
      This isn't a bitch about Java, its just that I hate the way Java is implemented.
      I prefer gcc --ansi and Posix.
      Much better for me. C does its job, produces readable code which if properly written can be easily maintained. Object oriented programming is pretty limited, IMHO.
      On the other hand, designing in an object oriented fashion is a Good Thing. Programming that way is not. It might be good for a project where you have the entire design in your head, but it is far easier to slurp up the design from good C doe than good Java/C++ code.
      The code can be the documentation with C, but not with OOP.
      The idea of Java is a good thing, the implementation sucks. I may change my ideas later, when I find a JVM that runs on a command line, is blazingly fast on my slow machine (P 200 MMX, 64M RAM), which also runs a lot more things.
      I scream about bloatware from anywhere, including X and Windows.
      Happily, I can get rid of those two, but Java just does not match my requirements in performance yet.
      Read the source, Luke simply doesn't work with OOP.
      Ok , a rather confused rant, but hopefully, my point came through.

      --
      I can throw myself at the ground, and miss.
  400. Forte uses netbeans doesn't it? by Anonymous Coward · · Score: 0

    And that has reintroduced us to the idea of "Please wait... Loading".

    It's like being back using tape-drives, except this a language turning powerful hard-drives into mush.

  401. Games are not in assembly any more by Anonymous Coward · · Score: 0

    Even though a few years ago you would be mad to write a game in C on a SNES (or your name was EA Canada), but now most are written the easy way...

    VB/Java is taking over some ground from C/C++ in areas where its weaknesses (e.g. poor typing, no templates) count less than its advantages (better first-party libraries for boilerplate code)

  402. For those of you... by Anonymous Coward · · Score: 0

    who think java is still way behind c/c++ on performance issues. Have a look at this... http://www.azure-online.com/JavaRoam/

  403. And this is supposed to be objective? by Stu+Charlton · · Score: 1

    A lot of enterprise software isn't grunt work. (that you think so explains why you're disgruntled with your job).

    You've stated that you can't stand Java without providing much of a tangible reason. Swing is not a mess. (Yes, I use it daily.) It's quite good, actually, and getting better. Java the language, while not the best, is good.

    And Enterprise software is as real as programming can get... where else do you ahve to deal with very complex requirements, performance, scale, reliability, and usability all in one place? It's the ultimate balancing act and a wonderful & fun challenge for any programming team. Maybe you should look for another job, you don't seem all that motivated.

    --
    -Stu
  404. How is that a troll?! by Anonymous+Brave+Guy · · Score: 1

    An AC wrote:

    A huge library only does you good if you're familiar with it. If you dont know that a class already exists for what you want to do, you'll still hunt for a 3rd party solution, or reinvent the wheel.

    That is a very real problem in professional development, and indeed with Java's libraries. They may be big, but in several instances they are poorly designed or redundant. AWT vs Swing, anyone? Big != Better, no matter how often certain people seem to claim otherwise.

    Of course, what's more disturbing is that someone moderating on /. was sufficiently naive to think that this was a troll and not a valid argument against the pro-Java-library guys.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  405. Java Overtaking Visual Basic by Anonymous Coward · · Score: 0

    Actually, the article mentions Java vs. VB:

    ... for the first time, more North American developers will be using Java than Visual Basic ...

    Hopefully this will reduce the number of times I hear the "I go where the money is" excuse from VB programmers ;)

  406. Java in Corporate America by alienmole · · Score: 2
    Java is very strong in corporate America (and other countries) for in-house systems development. This is unaffected by the dot-bomb situation.


    The benefits of multi-vendor Java over single-vendor VB are too numerous to list here, starting with the fact that Java is a decently designed language (although certainly not perfect).

  407. Proposed Java generics by Anonymous+Brave+Guy · · Score: 1

    Thanks for the info.

    Unfortunately, it seems that as usual, the Java guys have avoided problem areas rather than actually solving the problems. In summary, what we have here is C++ templates, but with

    1. type parameters only
    2. less sophisticated (but also less complicated - phew!) type deduction rules
    3. no support for operator overloading
    4. no support for consistent notation for value/reference types
    5. the ability to tie a type parameter to an interface.

    And all this is provided using a minor variation of horrible C++ syntax - do they never learn? :-)

    In other words, you can create generic containers, and very simple generic algorithms. However, anything beyond that (metaprogramming, for example) is going to fall foul of points 1, 3 and 4. These limitations are going to be crippling.

    I think these changes will probably be good for Java if they do get implemented. At last, maybe Java evangelists will acknowledge that a runtime exception is not an acceptable basis for "type safety", and write properly safe containers and algorithms. They've still got a long way to go to catch C++ templates, though, and even further to a language with really good generics. It's progress for Java, but there isn't really anything new and it's still ten years behind the field. :-(

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Proposed Java generics by SuperKendall · · Score: 1

      I'd like clarification on what you mean by a few of the issues you raised.

      For number five, what are you saying is not allowed? I can do something like this:

      public interface Collection{...}

      Then have methods that make use of that type, or I can also subclass it. What do you mean by "tying" a type parameter to an interface?

      For number two, of course they were not going to add operator overloading. Frankly I don't miss it, I think it's dangerous, and I think of it as a convienience mechanism, nothing more. Moving to Java after years of C++ programming, I never missed operator overloading. I feel like that people who miss C++ features like operator overloading haven't really taken the time to think of alternate ways to accomplish the same feats in Java, which is nessicary for the move to any new language.

      What techniques of metaprgramming do you feel will fall foul of points 1, 3, and 4? I already use many metaprogramming techniques in Java (indeed, probably too many) through the reflection and BeanInfo mechanisms built into Java. One of the reasons I really loved the move to Java was in fact the ease of using such features. When I look at metaprogramming examples from C++ I have to wonder how people can stand the sytax behind it, and how practical it really is to use.

      One last thing, could you point out an example of item four? It seemed pretty conistent to me.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    2. Re:Proposed Java generics by Anonymous+Brave+Guy · · Score: 2, Informative
      For number five, what are you saying is not allowed?

      What I'm saying is allowed is being more specific about what types of class can be used for a type parameter. In C++, all you can do is write template <class T>. Here T can be any type, and you have to jump through hoops somewhat if you want to say "only things supporting MyInterface are allowed". The proposed Java generics seem to have this built in.

      For number two, of course they were not going to add operator overloading. Frankly I don't miss it, I think it's dangerous, and I think of it as a convienience mechanism, nothing more.

      But this is the problem. It's not just a convenience mechanism in the context of generics, it's essential. Suppose I want to write a generic summing algorithm, iterating over an array of values and producing values[0] + values[1] + ... + values[n]. I'd like to write something like the following.

      T total = new T(0);
      for (int i = 0; i < values.length; ++i) {
      total += values[i];
      }

      Unfortunately, while that works with arrays of int or float, it's no good with arrays of, say, BigInteger. Effectively, because user-defined types can't use the normal notation for addition, I need to have two versions of my "generic" algorithm, one for fundamental types and one for UDTs.

      Even then, I run into problems if not all UDTs use the same semantics for their add (or whatever they choose to call it) method. For example, since a BigInteger is immutable, I'd have to write a custom version of my "generic" algorithm to deal with this restriction, since the existing one breaks down in the way it stores and updates total. None of this would happen if UDTs could follow what is, effectively, the normal interface for addition.

      Incidentally, this code also provides an example of point 4 (inability to differentiate between value and reference types). As far as I'm aware, the line

      int total = new int(0);

      isn't valid Java. So, again, my "generic" algorithm breaks down because fundamental types need one style of initialisation, while user-defined reference types need another.

      Both of these points come down to the same thing: in Java, you can't write a class that looks like a fundamental type. As long as there has to be a distinction in the syntax used with these types, you can never write completely generic code, which is the obvious goal here.

      What techniques of metaprgramming do you feel will fall foul of points 1, 3, and 4?

      Aside from the lack of complete generality noted above, without the ability to parameterise on integral values, it's effectively impossible to do compile-time induction via generics. That particular technique is used by high performance math libraries for things like automated loop unrolling, generating matrix code, and so on.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:Proposed Java generics by SuperKendall · · Score: 1

      I thank you for the further clarification, and can see the point on compile time induction... it's true that high performance math is one area Java has not looked at closley.

      However, I still have to disagree on the use of operator overloading - it might seem like primitive types cannot exist with class types, but that's what the wrapper classes are for. The code you presented is valid if you do it like this:

      Integer i = new Integer(0);

      Now it is true that the wrapper classes have nothing like an "add()" call in them, so an extension would have to be made that proxied Integer (or whatever other wrapper you were needing) and returned a new class (since the wrapper classes are immutible).

      It seems like in Java the idea of immutible classes is fundamental enough that you would definatley want to work around this restriction anyway, unless the algorrithm was supposed to have a permenet change on members (and even then, better to change the contents of a set rather than the objects held themselves).

      Even better than having to write a proxied version of a lot of wrapper classes, why not just write the algorithm so it could be fed a class to take care of operations - the same way you can pass a "Comparitor" object into a binary sort in the Collections package. That to me seems like a lot more powerful technique in that it allows you to define addition or other operations as you wish, and not be limited by the built-in definition. It also allows for possibly mixing types of objects where plain operator overloading would fail and yet still having an algorithm work properly. The mix of a "Comparible" interface that a class can implement along with a "Comparitor" that one can provide, seems to me the perfcet approach to take when dealing with generic algorithms of all sorts.

      Another post to this original message brought up not being able to do traits properly (among other things). The "traits' Pattern seems like an interesting and very useful pattern in C++, but the same thing could be accomplished more easily (and I feel more maintainably) in Java using Enumeration style classes, where you obtain the "trait" for the type you are looking for with a simple static getTrait() method in the enumeration. This is even an extensible approach, just like Traits.

      In short, I feel like if anyone considers a technique impossible in Java that they just need to consider other ways to approcah the problem - My favorite language before Java was really Scheme, and I have managed to take some useful things learned there into the Java world, just twisted a bit. I think because the sytax is so similar to C or C++ it can be harder to find the patterns that do what you want to do elegantly.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    4. Re:Proposed Java generics by Anonymous+Brave+Guy · · Score: 1
      However, I still have to disagree on the use of operator overloading - it might seem like primitive types cannot exist with class types, but that's what the wrapper classes are for. The code you presented is valid if you do it like this:

      Integer i = new Integer(0);

      Now it is true that the wrapper classes have nothing like an "add()" call in them, so an extension would have to be made that proxied Integer (or whatever other wrapper you were needing) and returned a new class (since the wrapper classes are immutible).

      OK, I see your point. In this context, operator overloads are not strictly necessary. However, if you can't make UDTs look like fundamental types, the alternative is that you have to make fundamental types look like UDTs. That leads to the use of the proxy approach you mention above. Personally, I find op overloading more natural, but I accept that this is a personal preference.

      Even better than having to write a proxied version of a lot of wrapper classes, why not just write the algorithm so it could be fed a class to take care of operations - the same way you can pass a "Comparitor" object into a binary sort in the Collections package.

      That approach is actually used quite heavily in the C++ algorithms library; many of the algorithms can take an optional parameter that acts as a test for equality, ordering or some other binary property, in place of just assuming that < or == will work. However, this all seems overcomplicated to me here; if you use operator overloading sensibly, then usually < or == will work, and there's no more to be done.

      In fairness, though, this is a fundamental drawback to generics in most languages to some extent. All I want is to write a quick generic algorithm to replace a common loop, and I'm having to jump through hoops all over the place to do it. When it becomes faster to just write the d****d loop than to write reusable generic code, the generics need beefing up (as anyone who's tried to use the atrocity that is "binders in C++" will be painfully aware).

      Another post to this original message brought up not being able to do traits properly (among other things). The "traits' Pattern seems like an interesting and very useful pattern in C++, but the same thing could be accomplished more easily (and I feel more maintainably) in Java using Enumeration style classes, where you obtain the "trait" for the type you are looking for with a simple static getTrait() method in the enumeration. This is even an extensible approach, just like Traits.

      Unfortunately, that's not quite true. One of the key advantages of traits is that they are fixed at compile-time. Hence you can use other metaprogramming techniques to write generic code that changes depending on the nature of the type(s) it's used with, by examining those traits. Customising based on whether a type is immutable or not might be a good example. As far as I can see, this option isn't available with the Enumeration approach.

      By the way, for more information on the magic you can do with templates in C++, I recommend browsing "Modern C++ Design" by Andrei Alexandrescu. Andrei is a specialist in library design, where generic code really comes into its own. While the later chapters of the book focus on implementing common design patterns flexibly in C++, the earlier ones illustrate exactly the sorts of advantages I've mentioned here, and might be applicable to generics in other languages as well. Compile time code generation based on template parameters is a strong theme.

      In short, I feel like if anyone considers a technique impossible in Java that they just need to consider other ways to approcah the problem - [...]

      That's a fair point. Many programmers, particularly those moving from C++ to Java or vice versa, suffer from this "mental block". All I'm suggesting here is that the proposed generics in Java are too limited at present to be used for the kinds of technique C++ programmers can enjoy. That's not to say that Java programmers couldn't achieve many of those things in another way, of course.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  408. Re:Less Visual Basic Programmers by Anonymous Coward · · Score: 0

    dont worry most Americans cant speak English either.

    Flame On!

  409. not really the language by yzquxnet · · Score: 1

    I don't think that it is neccessarily that Java is a better language the C language. You can do far more things in C/C++ than you could do in Java. (at the moment) But what makes Java so much more appealing is that it is inhierently an object oriented languages. C on the other hand is not. You make C structures act like it is, but it isn't. Java has a very good enterprise level object request structure working for it. I think (not positive) that they are using CORBA to handle object requests.

    Everything now days is about object oriented programming, Reusing old code, Server-side proccessing. Why do you think MS is pushing .NET? Because that is where they see things going. Okay, I'm going to side with MS on one aspect. They are very good at seeing trends, but, they tend to get a little pushy as they move in to the new areas.

    Sure Java is a bit slower. But the negatives of java are far outweighed by its benefits. The open source community should be jumping all over this. Java apps can run on about a bazillion platforms. All you need is an appropriate interpretor for your platform and you're ready to go. I am actually surprised that people are holding onto C for as long as they have.

  410. Please by delmoi · · Score: 2

    C++ coding is no more difficult or time consuming then VB, and in many cases it can be easier; both to design and maintain, due to the more expressive grammar. The problem is that Most VB programmers are stupid and don't know how to design software.

    The fact that the windows C++ API is terrible dosn't help either...

    --

    ReadThe ReflectionEngine, a cyberpunk style n
  411. The case for compilers vs assembly language by Anonymous+Brave+Guy · · Score: 1

    The problem with modern processors is that it's hard to use them effectively with hand-coded assembler, too.

    Take a look at any C or C++ library implementation targetted at recent Intel/AMD chips. The assembly generated for the most simple things is convoluted, bizarre and almost unintelligable at times. Why? Because it runs faster and/or results in smaller code.

    The compiler writers have spent a long time understanding how the pipelining, cacheing algorithms and so on work in the modern processors. That's why I don't see REP MOVSB anywhere in the implementation of strcpy, although it seems the "obvious" way to do things.

    The everyday programmer has a different job to do, and rarely has the level of expertise of those compiler writers when it comes to assembler. As a result, dropping to assembly language for anything but the most trivial tightly coded loops or the simplest hardware access is often an anti-optimisation.

    For the foreseeable future, I think the Intel/AMD product lines are going to suffer from this, and possibly others as well (though RISC boxes are an interesting issue here). However, given the almost total dominance of compilers for writing code today, I'm not convinced it's a disadvantage. If the end result is still smaller/faster code, who cares?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  412. Nobody's reading this now, but it really bugs me. by Giant+Hairy+Spider · · Score: 1

    A small city's daily coffee consumption.

    --

    ---
    You'd be surprised at the broadband connection available to things crawling around in your hair.