Slashdot Mirror


Trouble Ahead for Java

Jeremy Geelan writes "The editor-in-chief of the world's largest journal devoted to Java wonders whether, with the arrival of Microsoft's C# programming language on the scene, Java perhaps has only 5 years or so left to live. Javaland has erupted! This is a little like Bill Gates wondering out loud whether to send Scott McNealy a Christmas card. But is Alan Williamson right? Read this short article and decide for yourself."

670 comments

  1. Bah by jkeegan · · Score: 0, Offtopic

    Java's fine. C# won't do anything.

    --

    ..Jeff Keegan
    seven syllables explain TiVo: kee gan dot org slash ti vo
    1. Re:Bah by TheGreenLantern · · Score: 1

      One cavalry squad is fine. Those Indians won't do anything.

      The Maginot Line is fine. Those Germans won't do anything.

      OS-2 is fine. Windows won't do anything.

      --

      It hurts when I pee.
    2. Re:Bah by Axe · · Score: 1
      One cavalry squad is fine. Those Indians won't do anything.

      A..umm.. do you see lotsa indians around?

      The Maginot Line is fine. Those Germans won't do anything.

      Yep. I think Paris is under German rule now. Is it?

      It is the LONG TERM that matters, buddy..

      --
      <^>_<(ô ô)>_<^>
  2. Printable Version by The+Slashdolt · · Score: 4, Informative

    All pages on one page here

    --
    mp3's are only for those with bad memories
    1. Re:Printable Version by stoolpigeon · · Score: 0, Offtopic

      Thanks.

      Java may not be in trouble

      But their website is TOAST.

      .

      --
      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?
    2. Re:Printable Version by Usquebaugh · · Score: 1

      It would also help if the artcile was really 5 pages instead of 4?

      http://www.sys-con.com/java/article2a.cfm?id=140 1& count=4869&tot=5&page=4
      http://www.sys-con.com/ja va/article2a.cfm?id=1401& count=4869&tot=5&page=5

    3. Re:Printable Version by 56ker · · Score: 2

      Sadly, they are being led a merry dance by Pied Piper Gates.

      Who hasn't been?

    4. Re:Printable Version by Anonymous Coward · · Score: 0
      Which will be dead first, Java or *BSD?

      My guess is *BSD. It already has one foot in the grave. Java, on the other hand, still has a slim chance.
      Java might hang on for five years. It is doubtful that *BSD will last that long.

    5. Re:Printable Version by punkass · · Score: 1

      Well of course *BSD is dying...have you seen its support for Java?

      --
      "Nobody owns the fucking words man." - James Dean
  3. Not likely :) by Desmoden · · Score: 2, Interesting


    Java is popular because the programmers like it. Java may or may not be long for this world, but I can guarentee you that C# is not going to be what pushes it off the hill.

    It's really a funny idea :)

    Des

    1. Re:Not likely :) by kin_korn_karn · · Score: 1, Troll

      wrong. Java is popular because managers like it. it promotes a clear delegation of work - one architect and X code monkeys. pure object orientation has to be a concept thought up by MBAs just for this purpose...

    2. Re:Not likely :) by Peyna · · Score: 4, Insightful

      Pure OO was thought up by the creators of smalltalk, like Alan Kay. Java isn't even pure OO in the same sense that smalltalk is.

      --
      What?
    3. Re:Not likely :) by jcr · · Score: 2

      wrong. Java is popular because managers like it.

      I beg to differ. Managers *loved* Ada.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    4. Re:Not likely :) by ProtonMotiveForce · · Score: 0

      Umm, yes Java is 'pure-OO' whatever that means. Other than the primitives.

    5. Re:Not likely :) by pmz · · Score: 2, Informative

      I'm not sure there is a "pure OO", since there are so many variations of OO over such a long history. There are general information-modeling languages, such as EXPRESS, middle-of-the-road programming languages, such as C++, limited but useful programming languages, such as Java, and very limited languages, such as C, Pascal, etc. All of these languages exhibit OO-ness, but there isn't a clear time when OO suddenly sprang into being.

      There may be a paper somewhere that began the OO buzz, but OO really started when philosophers began classifying reality (this may even have occurred before the 1970s!).

    6. Re:Not likely :) by MisterBlister · · Score: 2

      Well your second statement proves your first statement wrong. The fact that Java has primitive types to appease the C/C++ programmers (FYI, I'm a C++ programmer by trade, so I'm not deriding C/C++ programmers) makes it non-'Pure OO'. To be Pure-OO, everything must be an object and derived from one single base type -- that is not the case in Java because of the primitives (int, byte, etc).

    7. Re:Not likely :) by Anonymous Coward · · Score: 1, Interesting
      I agree with most of your post except the following points:

      its main appeal seems to be in preventing stupid programmers from doing things their brains can't understand (like multiple inheritance).

      Not really... Programming in "safe" languages frees your brain to concentrate on solving the problem rather than dealing with every little detail. It is rather liberating, I love easy, clean, and safe languages.

      With that said, I still do 90% of my programming in C (for the last 15 years) because I need the speed. Ohwell, maybe one day we'll have the raw speed of C in a more programmer friendly language. I do use C++ some (when my clients allow), and if used properly it is much better than C, but still fairly dangerous, verbose, and tedious to use.

      Java has succeeded by marketing and not for technical reasons. Microsoft is better than Sun at marketing, so C# will win.

      Not really. C programmers wanted SOMETHING (anything) that was safer than C. Java is like C except safe... not only that, but it also had the promise of cross-platform compatibility.

      The cross platform thing is a joke... the whole idea of using a complete VM like what Java has is retarted. The JDK is too damn big, there are no easy ways to install a minimal application... It's just annoying. And on top of that Java is nearly as verbose and tedious to use as C/C++.

      I would argue that Smalltalk never took off because of the whole "VM" thing.

      There is currently no language that satifies me.

      I do some functional programming in languages like Erlang, O'Caml, and Haskell. Those are fairly nice but it's too hard to create fast code in those languages.

      D shows some promise but looks like it will lack some of the best features of C++: Templates for example... something Java is getting because people finally woke up. D is another rather verbose language though. If it had type inferencing like O'Caml then that would really help.

    8. Re:Not likely :) by Osty · · Score: 2, Informative

      (emphasis added by me)


      To be Pure-OO, everything must be an object and derived from one single base type -- that is not the case in Java because of the primitives (int, byte, etc).

      Egads, I hope not! That's the sickest, most incorrect thing I've ever heard. That is extremely fragile. What happens if you or someone else adds a virtual/abstract method somewhere up the inheritence tree? You now have to either implement a default (thus making it no longer abstract) in the class where the new method is added, or at least in any classes directly derived from that one. Worst-case scenario is that all inherited classes will need to implement that new method. This is bad. Not to mention that it's simply poor design (don't believe me? go read Design Patterns and see for yourself -- you're making arbitrary relationships that have no reason to exist).


      The only reason I can see to justify the "everything derived from a single base type" methodology would be for implementing things like generic containers. Obviously, Java must work this way because it doesn't have any concept of generic programming (C++ templates, for instance -- there are other ways to implement generic programming concepts without requiring everything to derive from a single class, but I'm not going to go into all of that now). In other words, I wouldn't really call Java "Pure OO" (whatever that means).

    9. Re:Not likely :) by smack.addict · · Score: 5, Insightful
      I agree that Java is on the way out.

      I seriously doubt it. All major metrics such as adoption in companies, teaching in education, and adoption by programmers suggests it is continuously growing. Furthermore, the only potential competitor on the market is C# which, while not an inferior clone, is a clone. Jumping languages is a hard task. C# will capture the windows client development market and the microsoft people who never adopted Java in the first place. It is hard to see what will compell people already in the Java camp to move to C#.

      The language is awkward and unexpressive; its main appeal seems to be in preventing stupid programmers from doing things their brains can't understand (like multiple inheritance). But we all know that you cannot prevent the programmer from writing bad code. OK, pointer safety and garbage collection is useful, but c'mon, practically every other language apart from C and C++ has this too, and C++ is pretty safe if you program it carefully and use the STL.

      You can succesfully prevent coders from being stupid. The difference between C and Java is that you have to be an expert to write good C code; you have to be an expert to write bad Java code. What you want from a language is a language that maps well to architectural models so that your architects are making the decisions, not your immature and inexperienced code monkeys. Java is that language. C# is almost that language.

      And the libraries: urgh. They all seem to be designed by committee and make QBASIC look elegant. The standard date library for example, or database access.

      The libraries, in general, are actually quite well designed. Especially the database access API. The problem is, novice coders don't generally understand that there are things like non-western calendaring systems, multi-byte character sets, and alternate forms for displaying dates. These libraries make sure such novice programmers do not code a company into a box.

      Java claims to be cross-platform, but it only does this by creating a whole new platform on top which has to be installed first. And the JDK is one of the least portable programs you'll find on a modern system. As for being vendor independent: don't make me laugh. Java is just as dependent on Sun as Windows is on Microsoft

      There is no way to get cross-platform behavior without installing a virtual machine. Whether you call that VM a browser, an emulator, or a VM is irrelevant. And Java really has no dependence on Sun. It is much more dependent on IBM than Sun.

      Java has succeeded because it solves real programming issues for large-scale software development.

    10. Re:Not likely :) by Usquebaugh · · Score: 2

      While is dis-agree on a number of points this post is far from a troll, stupid moderators.

      Java is not on the way out, more and more small companies are using it for their in house development. Small companies are where the majority of commercial code gets written. they used COBOL now they're using Java. Of course they've used VB in between but M$ is screwing them so badly they're deciding not to be tied in.

      Java is great from an application development point of view. I do not care about pointers, STL etc etc I want to write code that is easy to differentiate between business logic and systems logic. Java allows my colleagues to see what the hell I was trying to do not how I was trying to be clever. Get a decent framework and you never have to worry if that foreign key is going to be deleted or if the help text is going to be displayed at the right time. All I have to worry about is wether I can calculate value given quantity and price.

      C#=M$ & Java=Sun I'm pretty sure this is understood. Although, Sun is far more responsive in the development of Java than M$ is about any of it's langugages.

    11. Re:Not likely :) by Anonymous Coward · · Score: 1, Interesting

      The language is awkward and unexpressive; its main appeal seems to be in preventing stupid programmers from doing things their brains can't understand (like multiple inheritance).

      Now if that's not a stupid argument I don't know what is.

      Look, most people know perfectly well how to play in the freeway. It still doesn't make sense to do it.

      Extending two or more parent classes is not a difficult thing to do. However anyone who has had to maintain code that uses multiple inheritance can tell you that it geometrically decreases the maintainability of the code.

      Spend some time with the design before you start coding and you can see that the clusterfuck of multiple-inheritance can be avoided.

    12. Re:Not likely :) by Usquebaugh · · Score: 1

      The first OO language was available in '67!

      It's really scary that it took a good twenty years to become widespread in industry.

      Let's hope that AOP doesn't take as long.

    13. Re:Not likely :) by Anonymous Coward · · Score: 0

      Who modd'd this guy as a Troll?

      The truth may hurt, but its not a Troll.

    14. Re:Not likely :) by Anonymous Coward · · Score: 0

      Why aren't classes objects then? Why, as point out, are there primitives?

      Java is by no stretch of the imagination Pure-OO. Its a simplfication and evolution of C++'s object model.

      Have you ever used a real OO language like Smalltalk or ObjectiveC? Try it before you ignorantly spout off again.

    15. Re:Not likely :) by angel'o'sphere · · Score: 4, Insightful

      You are moderated as TROLL.

      If I would metamoderate you I would say: unfair.

      But the bullshit you wrote deserves a TROLL rating ... unfortunatly the moderation system has no option: WRONG or a option BULLSHIT.


      I agree that Java is on the way out. The language is awkward and unexpressive;

      As unexpressive as you can be with out templates (fixed in the next java releas, 1.5 will have templates) and without operator overloading(like using * for dereferencing iterators in STL).
      the rest is C or C++, so why is it not expressive?


      its main appeal seems to be in preventing stupid programmers from doing things their brains can't understand (like multiple inheritance).


      a) how often did you use multiple inheritance?
      b) are you sure it was the right thing to do in more than 50% of the cases?
      c) you ever had a memory leak in C++?
      d) you ever had a dangling pointer in C++?

      Oh, I'm just asking, 4 things in Java can not happen ...


      But we all know that you cannot prevent the programmer from writing bad code.


      And what do you want to say with that? When you started programming you wrote perfect code from your first day I asume.


      OK, pointer safety and garbage collection is useful, but c'mon, practically every other language apart from C and C++ has this too, and C++ is pretty safe if you program it carefully and use the STL.


      So STL has a garbage collector? As well as Pascal has(other languages)?

      But now it comes, the above is only sarcasm ...

      And the libraries: urgh. They all seem to be designed by committee and make QBASIC look elegant. The standard date library for example, or database access.


      Seems you have in depth Java programming experiance. And also QBASIC experiance. So in QBASIC it is more easy to acces a ODBC/JDBC/SQL data base than in Java JDBC(a API/library you claim is designed by commitee)?

      I think only PHP and Perl are easyer in data base accessing than Java. Oops, I forgott SQL.


      Java claims to be cross-platform, but it only does this by creating a whole new platform on top which has to be installed first.

      And? is that a drawback or what? What does .NET?
      What did the UCSD P-system? But more interesting: what would be your approach?

      And the JDK is one of the least portable programs you'll find on a modern system.


      This claim is very interesting as the only part of the JDK which is vendor or platform specific is the VM. The compiler and all tools are written in ... err ... Java, I guess.


      As for being vendor independent: don't make me laugh. Java is just as dependent on Sun as Windows is on Microsoft. Even other people like IBM who have their own JVMs have to license the code from Sun.

      What a laugh. IBM has licensed NOTHING from Sun, why should they?
      Probably they have licensed the SUN standard libraries, why not? Much easyer then writing 32MB source code for your self.


      The licence for J2EE seems to forbid using it for any purpose whatsoever: I don't know whether you have to 'purchase' the commercial version from Sun, but it can't be cheap.

      I suggest two things:
      a) reading the SUN licenses
      b) downloading the stuff, its for free, as in beer.

      Your customer can download it as well. And most stuff like JRE can be redistributed with your own stuff, for FREE. No special license required.


      In fact Java is less vendor-neutral than Windows, since the Wine project seems to have done a better job of cloning the Win32 API than the various free Java projects have with the JDK and libraries. (Not to diss the work these projects have done: but there's just so much of it.

      Well, you gave the reasons why FREE solutions failed so far. The point is: FREE is a political or ideological term. The free as in libre is simply not interesting for 90% of the java users. They only need free as in beer or free as in java community lisence.


      And every new release brings another set of 'standard' APIs for which the only existing implementation is Sun's.)


      Plain wrong: tomcat, JBoss, Jetty, Orion, BEA Web Logic, WebSphere, HPs XYZ, Sonys XYZ, Soniq MQ ... Oracle 9i ... well there are hundrets of implementations of SUNs APIs.

      Java has succeeded by marketing and not for technical reasons. Microsoft is better than Sun at marketing, so C# will win.
      -- Ed Avis epa98@doc.ic.ac.uk


      I disagree. As soon as you can call me with a mobile phone on which C# and .NET is running ... I give you 50% of my SUN shares.

      Regards,
      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:Not likely :) by Anonymous Coward · · Score: 0

      OO - shmoe-oe

      I like OO, put "pure OO" can be a bugger. Look at Python. Nice language to use, but it's so OO, you can code in it like C!

    17. Re:Not likely :) by Tablizer · · Score: 1

      (* The [Java] libraries, in general, are actually quite well designed. Especially the database access API. The problem is, novice coders don't generally understand that there are things like non-western calendaring systems, multi-byte character sets, and alternate forms for displaying dates. These libraries make sure such novice programmers do not code a company into a box. *)

      Actually, the novice programmer will probably go and buy *another* box.

      Sun's libraries drag you deep into the internal guts via high protocol coupling. To use/grok protocol A, you have to understand protocol B, and to understand protocol B, you have to use/grok protocol C, etc.

      They did a poor job of hiding away lots of nitty-gritty detail using defaults or whatever. I don't mind things like internationalization options, but don't make them part of the *primary* up-front interface. Make them an optional switch/strategy that *only* has to be changed/looked-at if you are doing something weird.

      Otherwise, EVERYTHING looks weird.

    18. Re:Not likely :) by ameoba · · Score: 2

      People arguing over ideological purity in language paradigms lose sight of the fact that real people need to use these TOOLS in the real world if their existance is to be justified. Compromise is good; there's a reason why Smalltalk is a niche language and Java and C++ are so widely used. That same 'purity' that makes Smalltalk so much better also limits its expressiveness.

      Personally, I'm quite fond of Python, it lets you use the appropriate abstractions where you need them; It's got OO, but no so much that you can't ignore it; It's got FP, but not so much that you can't write normal loops.

      --
      my sig's at the bottom of the page.
    19. Re:Not likely :) by gewalker · · Score: 1

      This is related to one of one of the few points that I really think was right on the money in the article.

      Programmers will almost always program in what the managers tell them to (there are a few exceptions). Managers are not notably technical usually, and even when former techs, they have often lost touch, or did not love the tech in the first case.

      I can't count the number of times a manager has required VB because "there are lots of VB programmers", or equally non-technology driven decisions. I'm not even sure the managers were always wrong. But I am certain that MS will do their best to sell C#, .Net, etc. to the managers. Even on Slashdot, few would argue that MS does not have a clue re: marketing. Although they seem as fond as shooting themselves in the foot as most, the have been successful in selling their product to the masses.

      IMO, Sun seems to have more trouble marketing their solution than MS. And that is why I believe .NET will grow at the expense of Java based solutions. Kill off Java, not likely. Kill off Java momentum, perhaps, though I have no desire to see it.

      On the plus side for Java, it has been Sun's strongest marketing success (in terms of mindshare and branding). But the heady days of "Java uber alles" have gone away and Java in left in a position where a new challenger could be successful

    20. Re:Not likely :) by Anonymous Coward · · Score: 0
      Java is hurting a little but it is not terminally ill like *BSD. We all know that *BSD is a failure, but why? Why did *BSD fail? Once you get past the fact that *BSD is fragmented between a myriad of incompatible kernels, there is the historical record of failure and of failed operating systems. *BSD experienced moderate success about 15 years ago in academic circles. Since then it has been in steady decline. We all knw *BSD keeps losing market share but why? Is it the problematic personalities of many of the key players? Or is it larger than their troubled personalities?

      The record is clear on one thing: no operating system has ever come back from the grave. Efforts to resuscitate *BSD are one step away from spiritualists wishing to communicate with the dead. As the situation grows more desperate for the adherents of this doomed OS, the sorrow takes hold. An unremitting glom hangs like a death shroud over a once hopeful *BSD community. The hope is gone; a mournful nostalgia has settled in. Now is the end time for *BSD.

    21. Re:Not likely :) by Tablizer · · Score: 2, Interesting

      (* Pure OO was thought up by the creators of smalltalk, like Alan Kay. Java isn't even pure OO in the same sense that smalltalk is. *)

      Although Alan Kay coined the term "object oriented" and documented many of its concepts, it is generally agreed that OOP was born in 1967 via the process simulation language "Simula-67".

      The inventors of Simula-67 just didn't know it was time to make buzzwords around thier creation.

      And, there is no standard measurement of what "pure OO" actually means. It is true that Smalltalk's primatives tend to be more OOP than Java's. However, that is mostly a syntactical issue to most programmers. For example, you could replace the language's string handlers in Smalltalk easier and more transparently than with Java. However, few programmers are going to bother in practice. Thus, it is mostly a bragging point cliche rather than something that makes real-world development quicker, faster, and cheaper.

      oop.ismad.com

    22. Re:Not likely :) by Ian+Bicking · · Score: 3, Informative
      To be Pure-OO, everything must be an object and derived from one single base type -- that is not the case in Java because of the primitives (int, byte, etc).
      I don't think that's true at all -- OO can look very different while still being OO. SELF, a very OO system (and a predecessor to Java) had no classes -- you could use the class pattern, but the class was not fundamental the way it is in Smalltalk.

      Lisp OO systems are even more different, as they have no methods, but they deal with base types just fine. Instead of methods they have functions, with overloading similar to C++ -- except, unlike C++, all type checking and dispatching is done at runtime, not compiletime. In fact, this isn't that much different from other OO systems -- they all boil down to calling a normal function, where that function is determined by the type of one or more of the arguments.

      The problem with Java is that it is statically typed. Whether dynamicism beyond static typing is necessary for OO is less clear, but Smalltalk is more dynamic than Java in more ways than just typing -- it also makes things like proxy classes very easy (also used heavily in Objective C). But that's just cool, I don't know if it's necessarily OO.

    23. Re:Not likely :) by pyrrho · · Score: 1

      "There is no way to get cross-platform behavior without installing a virtual machine."

      totally false! as you must know. You can have cross platform class or function libraries. Oh, you mean without recompiling? But what's the big deal about compiling once for every supported platform? The unknown platforms? Which would also be the ones without a VM?

      --

      -pyrrho

    24. Re:Not likely :) by Ian+Bicking · · Score: 2
      Although Alan Kay coined the term "object oriented" and documented many of its concepts, it is generally agreed that OOP was born in 1967 via the process simulation language "Simula-67".
      I heard Alan Kay give a speach where he identified what he believed to be the first object-oriented programming to be by an unknown officer in the military (not OO programming language, but OO programming). It was a tape-based file system, where at well-known locations at the beginning of the tape was stored code to access data in other parts of the tape. So instead of accessing the tape based on a known structure, you accessed it through what were, in effect, methods.

      Their might have been OO programming before then -- good ideas get implemented before people even know what they are implementing. Later on they might realize, or someone else might realize, and try to create a more conscious, formal understanding of what was going on. But big ideas like OO are never really just thought up.

    25. Re:Not likely :) by Anonymous Coward · · Score: 0

      Some of your comments are way off base:

      "... you have to be an expert to write bad Java code."

      WTF? That's just gibberish. I'm sorry, but novices can easily write bad code in any language (as can experts), including Java.

      You comments on calendaring indicate a complete lack of real-world use of the standard Java date/time libraries. I've written/maintained three separate schedulers for the enterprise market in Java and the Java date/time classes are a complete fiasco. Inconsistent interfaces, limited and heavily deprecated APIs, inconsistent behaviour, poor conversion tools, mismatched timezones (my timezone is listed as, variously AKST, PRT, America/Halifax. In fact, the only one missing is the real one... AST, which is assigned to Alaska which should be AKST).

      As far as things like multi-byte character sets go, Java is notorious for it's problems in dealing with certain characters/character combinations (i.e. the euro)

      Before you shout down my comments, you may want to speak with the Java core libraries team headed by Josh Bloch. At Java One 2001 he was asked several times about the date/time classes and at that time acknowledged they are a mess and need to be revisited but it was unlikely since they've already been redone once.

      In a recent interview on the SUN Java site, he was again asked the question and confirmed that SUN acknowledges there are signifcant failings in the Java date/time classes and that they WILL be revamped at some point in the near-to-mid future.

      As for Java's future... if it's opened to a standards body then it may have a chance, but I think that largely, the only survivor from the Java family over the long run (5+ years) will be J2ME running in small devices.

      The anti-Microsoft sentiment drips from the walls in /. like tar in a smoker's lungs. But the threat .NET poses to java is very real and sticking your head in the sand and pretending it doesn't exist doesn't make it so. Just because you personally don't like Microsoft and are making your views known in a forum rife with anti-Microsoft sentiment doesn't mean that C# will not usurp Java.

      Java has some very serious shortcomings. it's far from write-once, run anywhere and SUN is one of the main problems Java has in this area. SUN is determined to get Java running in clients. Every attempt to place Java in a client role has failed miserably (i.e. the original set-top box OS, applets, AWT, Swing... one long unbroken string of failures.) On the server-side, Java is VERY successful but SUN has this mental block that they MUST take the client space which is quite simply wrong-headed.

      Another major problem, again precipitated by SUN's insistence ontaking the client space is J2ME. You simply can not take an app written for the desktop and run it on a cellphone without serious modifications. Microsoft .NET, on the other hand, has addressed this problem.

      My personal opinion is that within 2 years C# will be tied or slowly overtaking Java for server-side code. The client-side will be dominated by .NET clients for the desktop and DHTML (or a derivative thereof). Within 4-5 years, Java will be marginalised into cell-phones/PDAs and will likely be offering interoperability with .NET which will have become the de facto standard for server technology.

      I think that if Java is to survive at all it will become a .NET language. Failing that, you may see Big Blue usurp it from SUN and turn it into a ahigh-end server-side only proprietary language.

      Flame away. The biggest problem the majority of people on /. have is a closed mind to the realities of the situation just becase it doesn't fit in with their choice of realities. I expect no more from you.

    26. Re:Not likely :) by Anonymous Coward · · Score: 0

      Objective C has C's primitives.

    27. Re:Not likely :) by Tablizer · · Score: 1

      (* [first OO] was a tape-based file system, where at well-known locations at the beginning of the tape was stored code to access data in other parts of the tape. So instead of accessing the tape based on a known structure, you accessed it through what were, in effect, methods. *)

      This is simply what is known as "indirection" in the industry. I don't see how this is specifically OOP. Languages like LISP, at least, have been doing this for a long time. Indirection is *not* native to OOP.

    28. Re:Not likely :) by Anonymous Coward · · Score: 0
      There is no way to get cross-platform behavior without installing a virtual machine.


      Not quite true, you could also get cross-platform behaviour by compiling on the fly the intermediate code (byte code or p-code or whatever) into the native instruction set of the machine you are running on. You could also just run an interpreter (e.g. JavaScript), but I guess that doesn't count 'cause it's gosh-awful slow. Let's just say you can't get cross-platform behaviour without some translation mechanism somewhere, and currently that translation mechanism doesn't ship with the OS.

    29. Re:Not likely :) by Ian+Bicking · · Score: 1
      "The industry"? Writing software ain't porn. And OO ain't magic. And the tape-based filesystem in question was a long, long time ago -- obviously it isn't a very interesting idea now, or even by the time Lisp had been created.

      And it's not even indirection. A form of indirection, I suppose, but so is following a pointer.

    30. Re:Not likely :) by Doctor+Faustus · · Score: 1

      The libraries, in general, are actually quite well designed. Especially the database access API. The problem is, novice coders don't generally understand that there are things like non-western calendaring systems, multi-byte character sets, and alternate forms for displaying dates. These libraries make sure such novice programmers do not code a company into a box.


      You start by saying the libraries are good, especially the database libraries, and then elaborate by talking about the date libraries. You do realize that doesn't make any sense, I hope.

    31. Re:Not likely :) by reflective+recursion · · Score: 1

      Cross-platform is an oxymoron. Any language _is_ a platform to begin with. To use C/C++ code, you must first have a compiler, libraries, and header files. Lisp has claimed this before, but you need a Lisp interpreter/compiler on any machine you wish to run the code on. Java needs the VM. Perl needs, well, Perl. It all depends on how you define "platform." This little fact is skewed a great deal when people start claiming things such as "Java code runs on Macs and PCs," when, in fact, the code is actually running in a Java _machine_ or _platform_, which in turn runs on a native machine.

      I would love to see the phrase "cross-platform" dropped from usage. As far as I'm concerned, it is only a marketing word used to make languages popular. It is about as useful as the word "innovative."

      --
      Dijkstra Considered Dead
    32. Re:Not likely :) by Anonymous Coward · · Score: 0

      Put down the crackpipe before posting such bullshit.
      You can write non oo-python.

    33. Re:Not likely :) by stekylsha · · Score: 1

      You start by saying the libraries are good, especially the database libraries, and then elaborate by talking about the date libraries. You do realize that doesn't make any sense, I hope.

      Actually this make great sense. In his post he also mentioned the date/calendar classes. But even without that the database uses the date classes heavily for date formatting. But since you asked ...

      Personally I've found the database classes a lot easier to use and understand than the MFC ODBC alternative. I've used both and I actually enjoy using the JDBC classes. They're very straight forward and easy to understand. And the big benefit is that I can take the same code and use Oracle, Sybase, MySQL, etc. with little or no change. Yeah, I know that MFCs ODBC classes support this too but not as cleanly as the Java database classes and the MFC version won't run on any OS other than Windows.

      I can hack together a generic database query program in about 15 mins in Java. Heh, with MFC I'd still be working on it. :)

      --
      "There is no spoon." - Neo
      "Spoooon!" - The Tick
    34. Re:Not likely :) by oingoboingo · · Score: 1

      agreed. sun desktop hardware is fucking disgusting. it boils my blood to see an ultra 5 or ultra 10 (or even a blade 100) sitting on someone's desk when it isn't being used to stop papers from blowing away. low quality components, terrible performance, a healthy hatred of the desktop user, and complete fucking highway robbery in terms of cost.

      fuck you sun. you're a dinosaur, and ironically, you're going to be destroyed by IBM within the next 5 years.

    35. Re:Not likely :) by Anonymous Coward · · Score: 0

      There is currently no language that satifies me.

      Have you taken a look at python recently?

      maybe one day we'll have the raw speed of C in a more programmer friendly language

      1. Write prototypes in python. Get things working rapidly.
      2. profile
      3. tune your bottlenecks in python if possible, or rewrite them in C/C++. They cooperate well with each other.

    36. Re:Not likely :) by Tablizer · · Score: 1

      (* And the tape-based filesystem in question was a long, long time ago -- obviously it isn't a very interesting idea now *)

      Actually, it sounds like "dynamic GOTO position calculation". I don't think *any* paradigm wants to take credit for that. Static gotos were bad enuf.

      BTW, you are possibly right about "indirection". I misused the term perhaps. (Although, there seems to be a "wide" definition, and a "narrow" definition, pointers being the narrow.)

    37. Re:Not likely :) by ergo98 · · Score: 2, Interesting

      My personal opinion is that within 2 years C# will be tied or slowly overtaking Java for server-side code. The client-side will be dominated by .NET clients for the desktop and DHTML (or a derivative thereof). Within 4-5 years, Java will be marginalised into cell-phones/PDAs and will likely be offering interoperability with .NET which will have become the de facto standard for server technology.

      As a long-time Microsoft droid (with several Microsoft composite certifications to prove it), I have to respectfully disagree: To me it appears that .NET has gone over like a lead balloon, and the industries apathy for it could not be more apparent. Despite it being the future, local job listings show Java leading C# job lists approximately 50:1, and of those few C# listings, most all have it as "one of many laundry list nice-to-have languages". I have no opinion personally about J2EE or C#/.NET, however it is astounding how this has been a giant paradigm shift that the industry just refuses to embrace.

      If I had to put it into a nutshell why, I'd say that Microsoft has "revolutionized" a few too many times, and companies are getting sick of seeing their investments in Microsoft technology being obsoleted. .NET brings a new component model that fundamentally obsoletes COM, rendering millions of hours of work wasted (yeah you can wrap a COM object in a .NET wrapper, however it isn't managed and has the standard MS slant of it being "dirtier" in some abstract, undefined way). Microsoft is in a continuous game of selling new software, and to do that they need to convince you that what you have is obsolete, and in doing so they continually obsolete customers momentum and investment, and there is absolutely no doubt that there is growing resentment. In just the past few years I've gone from being a dyed in the wool MS advocate, to actively encouraging the use of open standards and more vendor neutral tools : It isn't my responsibility to help Microsoft continue the multiple sales growth, and their dominance says that to continue to do it they'll have to start bleeding every customer that much more.

    38. Re:Not likely :) by Ian+Bicking · · Score: 1

      It's actually almost identical to C++ vtables. Nothing too bad about that. You assign each operation a number (an offset), and you load the code off the tape from that offset. You run the code in a conventional manner -- all in assembly at that time, I'm sure -- and you get a conventional result -- probably fetching or updating a record. When you start indexing the data, for instance, you change the code on the new indexed tapes, but the program doesn't have to be modified, and old tapes work fine. Kinda like microcode.

    39. Re:Not likely :) by Anonymous Coward · · Score: 0

      then your p-code interpreter is effectively a VM...

    40. Re:Not likely :) by Tet · · Score: 1
      The difference between C and Java is that you have to be an expert to write good C code; you have to be an expert to write bad Java code.

      From personal observation, I'd say that the reverse is true.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    41. Re:Not likely :) by Anonymous Coward · · Score: 0

      vtbls, and function pointers in general, are a poor choice for modern CPUs with deep pipelines. Branch-on-type is much faster (until you reach a ridiculous number of callable overloads of the same method) and even allows inlining.

    42. Re:Not likely :) by MrBandersnatch · · Score: 1

      As unexpressive as you can be with out templates (fixed in the next java releas, 1.5 will have templates)

      Oh no - not another damn release which is virtually unusable for those of us who actually need Javas preported cross platform compatability. I'm still targeting 1.1.8 when writting my code and its getting VERY difficult to check exactly *which* version of Java a method was introduced in. IMO the lack of true cross platform compatability is why many of us who really need it WILL switch to C# (and I cant believe I'm writting that either).

    43. Re:Not likely :) by bebroll · · Score: 1
      As soon as you can call me with a mobile phone on which C# and .NET is running ... I give you 50% of my SUN shares.

      Though I completly agree with what you said before, I would be careful with this - Sendo will release a mobile phone equipped with Microsoft Smartphone 2002 within 2002 (yeah - I know they wanted to release it for the past x years but they seem to have gotten quite far). Though I'm not sure whether you could code in C# for this phone, it is definitly a step into its direction.

      But - don't be afraid. It will also have Java installed (MIDP/CLDC). Yes, you're reading right - a Microsoft-software-based phone will ship with Java pre-installed. In the end, Sendo has to comply with the operators' wishes ...

      .bbr

      fear women playing with delete functions - next time it could by you

      --
      .bbr

      fear women playing with delete functions ... next time it could be you .

    44. Re:Not likely :) by Anonymous Coward · · Score: 0

      Yes, I do use Python some (I'm more of a Perl person though) but I like O'Caml better. If speed weren't an issue (which would be a reason to use Python) then I would probably be using SML or O'Caml.

      The problem is that speed is an issue. I'm working with graphical data (2D, 3D, etc.) which requires massive bandwidth. I can't just tune certain areas that need the speed, there is too much data to move around and crossing from one language to another sucks even more bandwidth. I would be using a higher level and safe language if it was possible just to tune certain areas but the "langaugeX" to C interface slows things down even more.

    45. Re:Not likely :) by joto · · Score: 2
      And, not to forget, there are pure OO languages, such as Smalltalk, Self, and CLOS. And there are good OO-languages (albeit not completely "pure" in the sense of you not being able to subclass an integer), such as Java, Eiffel, Sather, Beta, Python, and even C++ (and not to forget: a whole lot of other languages).

      The OOP-buzz started with SmallTalk (although Simula was the first programming language supporting OOP (and yes, that was before 1970)). Everything OO, but not OOP (OOD, OOA, OODB, etc) originated with OOP.

      Classifying reality is only relevant in class-based models of OO-programming. And many people does not tout that as the main reason for using OO (myself included). And the reason for most programming languages not being purely OO, is because most programming language designers also have other goals (otherwise, we would all be programming in SmallTalk or Self).

      OOP is for clean ways of reducing coupling, managing change, and allowing reuse in and between software projects. If you want to classify reality, you need a richer modelling language, such as e.g. logic, (or mathematics, depending on your viewpoint).

      Whether EXPRESS falls into this role I don't know (never heard about it), but if it is designed for modelling, and not for execution, it isn't completely unlikely (although most currently existing modelling languages trade off generality somewhere, because their ultimate goal is to produce software, not model reality).

    46. Re:Not likely :) by xtremex · · Score: 2

      Hmmmm, since I no longer program for a living (I like to program on my OWN terms), I do freelance on projects every now and then, and I program freeware and Open Source software. I like to program on my own terms, and I'll use any damn language I please as long as it does the job. I rememebr my last programming gig. They need a program done. They said it HAS to be in VB. I asked them why. They said that's all we know about. It didnt matter that they would NEVER see the code, or that when I gave them the final product 4 weeks later they were happy. It WASN'T in VB. (It was Delphi). Why Delphi? I honestly didn't know how to do what they wanted in VB. It would have taken longer fo rme to research it then to just write it in Delphi, which I knew how to do it in

      --
      If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
    47. Re:Not likely :) by mrfrostee · · Score: 1

      This is simply what is known as "indirection" in the industry.

      No, indirection would be having a pointer to the data at the start of the tape. In this case, there was code at the start of the tape that interpreted the rest of the tape.

      Alan Kay gives this as an example of an early instance of the themes later known as object oriented programming. He saw similar themes in Sketchpad, Simula, and to some extent Lisp, and wanted to explore the possibility of creating a system based completely on the idea of "objects" with internal state and code that communicate only by sending "messages". This is what is meant by "pure" object oriented programming.

      I don't see how this is specifically OOP. Languages like LISP, at least, have been doing this for a long time. Indirection is *not* native to OOP.

      Nobody (but you) said it is. If you are at all interested in understanding OO, track down "The Early History of Smalltalk". It's interesting. Alan Kay was very much aware of Simula and Lisp, and he gives credit where it is due (the first sentence in the paper is "Most ideas come from previous ideas.").

    48. Re:Not likely :) by joto · · Score: 2
      I'm surprised. Do you really find it hard to make Ocaml code fast?

      I would agree about Erlang (whose main implementation actually is quite slow), and Haskell (which it is really really hard to compile efficiently, and even harder to optimize unless you wrote the compiler). But Ocaml?

      Ocaml's native compilers are actually really fast, at least comparable to gcc (but maybe not to even more optimizing compilers). If you get much worse than 50% of gcc's speed you must be doing something really wrong!

    49. Re:Not likely :) by Anonymous Coward · · Score: 0

      Not entirely accurate. What if you have dynamically generated code on one machine that you want executed on another machine in a distributed manner? IE, suppose you are performing the equivalent of a Java RMI call where you are sending a serialized object as one of the parameters of the remote method invocation? Without a virtual machine, how will you do that? Send the source code, have the remote machine compile it, execute the remote method, somehow convert the result back into source code, send it back across the network, and let the other machine recompile it? Doesn't that seem a tad stupid? In a heterogeneous distributed environment, you're going to need a VM.

    50. Re:Not likely :) by ClosedSource · · Score: 1

      "Despite it being the future, local job listings show Java leading C# job lists approximately 50:1, and of those few C# listings, most all have it as "one of many laundry list nice-to-have languages". "

      And what was the ratio of C++ to Java listings one month after Java's official release? It's way too early to evaluate how the market will treat C#.

    51. Re:Not likely :) by Anonymous+Brave+Guy · · Score: 2

      I wholeheartedly agree; it's much easier to write bad code in Java and not notice you've done it than it is in C. The difference, IMHO, is that anyone who's still using C seriously is aware of its limitations, the potential issues of buffer overruns, etc. They like the low level control, they have learned to use it, and they make it work for them.

      While the same could, of course, be said of some Java programmers, many of those who jumped from the C++ bandwagon to the Java one a few years ago did so precisely because they didn't grok the low level stuff. They trust Java to prevent their resource leaks because it has GC (mistake). They knock multiple inheritance, then use incomprehensible hacks on the odd occasions they need the concept (mistake). They don't even see the problems with the Java containers library, and claim it's better then STL, then wonder why they get exceptions left, right and centre as a result of the casting it forces (mistake). You get the picture. :-)

      I think the underlying point is that "safe" languages like Java almost by their nature attract programmers who are going to be complacent. Unless proper training is given to those programmers, or they have sufficient experience of "unsafe" languages to draw upon, they will learn to trust their language too much, and the results are not pretty. OTOH, "dangerous" languages like C and C++ demand programmers with the skill and mindset to work with the language's strengths, and not fall prey to their weaknesses. (And, of course, C++ shares many of Java's technical advantages over C anyway.) I'm not sure the problem is so much the language as the kind of programmer it attracts -- interestingly, the same is probably true of Visual Basic -- but the fact remains that I'd much rather have a programmer with 5 years of C behind him than 5 years of Java, even if I were about to write a project in Java.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    52. Re:Not likely :) by ergo98 · · Score: 1

      As the ABG mentioned, .NET is hardly new by any measure of the imaginations: I've been playing with various betas for going on two years now, and Microsoft has been public with language specs, etc.

      However, even more importantly is that the job market is tied to the "future" buzzwords that the CTOs/CIOs get sold on (i.e. A couple of years ago XML was all the rage, and every job posting asked for 7 years of XML experience: But we're talking about something that was brand new, but it got a buzz to appear in those ads), and even more frighteningly : Microsoft is the #1 company, normally, of hyping management to go in certain directions. Yet it's flopped.

      I love Visual Studio.NET, ASP.NET offers some advantages, but let's face it: This is an evolution of the system for those who already are committed to the Microsoft platform. Being a user of ASP and ADO, sure I'm moving to ASP.NET and ADO.NET, but I doubt there are many Java shops who would do the same.

    53. Re:Not likely :) by Anonymous+Brave+Guy · · Score: 2

      It's too bad the "bs" moderation you suggested doesn't exist, because I'm afraid that, being entirely neutral and objective, several of your statements would qualify for it.

      To correct a few of the more glaring errors...

      • Java's proposed generics in 1.5 are nowhere close to the power of C++'s templates. They're a quick hack to get generic containers into the language, which is a far cry from the state-of-the-art C++ template research.
      • In answer to your four questions: yes, I have used MI in C++, though only rarely, and having written and maintained such code I think it was the correct solution close to 100% of the time. I have not suffered from memory leaks or dangling pointers any time I can remember in the last few years. Oh, and Java can leak resources faster than a broken fuel tank, so please don't consider it superior in any way here. Java's GC only deals with memory; its overall resource management is years behind the sophistication of the C++ approach.
      • The STL doesn't need a GC, neither does most of C++, because we have concepts like passing by value and local variables, so we don't have to clutter code with using new everywhere. Why do Java-ites insist on the myth that memory leaks are everywhere in C++? It's actually quite hard to create them. Granted, STL containers of pointers are a problem for the current standard C++ library, but hey, you can just download a better set from Boost for now, and they'll probably be standard in the next revision anyway. Considering that Java can't even make the distinction between storing by value or by reference, I hardly think this qualifies as a superior feature for that language, either.
      • Oh, yeah, and Java's libraries frequently do suck. They have been put together and expanded far too fast, without adequate forethought, and now they have to live with the mess forever to avoid breaking old code. AWT and Swing are hideous, the containers are a joke, writing the basic "Hello, what's your name?" function for the first class requires a deep understanding of dozens of stream classes, the use of Integer and such are just a hack to cover an obvious flaw in the language. I could go on, but I'm not here to bash Java, just your assertion that what the previous poster wrote was bs.

      Please, before you go shouting at people at such length, check the facts.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    54. Re:Not likely :) by Dun+Malg · · Score: 1

      Actually, it sounds like "dynamic GOTO position calculation". I don't think *any* paradigm wants to take credit for that. Static gotos were bad enuf.
      Read the original quote carefully: the tape header doesn't say where to find information on the tape, it defines how the information is structured. It's not a table of contents; it's a method of interpretation.

      --
      If a job's not worth doing, it's not worth doing right.
    55. Re:Not likely :) by Da+Big+Chet · · Score: 1

      bah. it makes TOTAL sense that a company would want you to build a solution in a language they knew the best. i'm sure your code NEVER has to be maintained, that it was absolutely perfect and no new features would ever be added down the road. supporting more languages means more cost for any development shop

    56. Re:Not likely :) by RFC959 · · Score: 2

      Hey, I would have just said that obviously everybody's an instant expert at Java. :-) More seriously - so it protects you from stuff like buffer overflows. Big whoop. It doesn't prevent you from writing utterly crap algorithms or having messed-up logic in your program, which is every bit as much "bad code" as things like buffer overflows or failure to cast properly.

    57. Re:Not likely :) by Tablizer · · Score: 1

      (* Read the original quote carefully: the tape header doesn't say where to find information on the tape, it defines how the information is structured. It's not a table of contents; it's a method of interpretation. *)

      I read it again and again, and my interpretation is consistent with the way it is worded.

      However, I think it *meant* to be the "swappable driver pattern" of typical OOP textbook lore. Kindof ADT. (Which BTW I find very little real-world need for in my domain because business don't pay people to write the same interface different ways......if the interface would even stay stable long enuf to make that possible. OOP is overly obsessed with changing implementation, but a bigger problem I witness is changing interfaces, and OOP has nothing special to address this, if not make it worse.)

    58. Re:Not likely :) by Usquebaugh · · Score: 1

      I can see why you no longer program for a living!

    59. Re:Not likely :) by Tablizer · · Score: 1

      (* explore the possibility of creating a system based completely on the idea of "objects" with internal state and code that communicate only by sending "messages". This is what is meant by "pure" object oriented programming. *)

      That may be Alan's version of "pure OO", but everybody views OO differently. Some say it *should* be all about "types", and not messages. The "type" parties fight with the "message" parties in OO groups in long, flamey discussions.

      IOW, it is a long, sticky, philosophical issue.

      I think OOP sucks myself, so I don't really care. However, I lean more toward the "dynamic/scripty" side, which is the "message" party more or less.

      IOW, if OOP is gonna be shuved down my throat by the suits, I would rather lean toward the Smalltalk/Python side than the Java/Eiffel side I think. (It is like a choice between BinLaden or Hitler.)

    60. Re:Not likely :) by Ed+Avis · · Score: 1
      Any language _is_ a platform to begin with.

      Only in a very loose sense. I don't think you can call the development environment like the compiler a 'platform'. You are right that the C standard library, for example, is a platform in its own right, but it's not a heavyweight monster like Java's runtime system.

      The difference I am talking about is illustrated by comparing Swing and the wxWindows GUI toolkit. With Swing, Sun defined a set of user interface widgets, from scratch, and some code to laboriously plot them onto the screen. This means you get the same look everywhere (some say this is good, I disagree) and sluggish performance. They defined some bitmaps to emulate the look of existing platforms like Windows, but the code itself is a complete reimplementation - in Java. wxWindows on the other hand tries to use the platform's native GUI as much as possible and wrap it to provide a consistent interface to the programmer. I would say that of these two, wxWindows is making a genuine effort to be cross-platform while Swing is sidestepping the problem by building a new, rather slow GUI on top.

      --
      -- Ed Avis ed@membled.com
    61. Re:Not likely :) by Ed+Avis · · Score: 2
      You can succesfully prevent coders from being stupid.

      By code review and education - yes. By a machine applying an arbitrary set of rules - no, of course not. If it were possible for the language designers to know in advance exactly what 'stupid' consists of for any given programming task, and it were possible to write a compiler to enforce this, then most programmers would be out of a job.

      Every language has missing features and programming styles it doesn't directly support, there's nothing wrong with that. But Java is unique in trying to cover up for its deficiencies by claiming that those programming styles are never needed, or only a foolish programmer would try to use them. At least, this is the standard line from many Slashdot posters - the language designers themselves are probably not so arrogant.

      What you want from a language is a language that maps well to architectural models so that your architects are making the decisions, not your immature and inexperienced code monkeys.

      I can't imagine that such a way of organizing programmers - a separation into 'architects' and 'monkeys' - could ever really work. At my last employer there was something a bit like this, and the architects got cut off from what it was really like to use the product and produced horribly baroque designs, while some of the monkeys wrote code of unusably poor quality. My feeling is that every programmer should be able to do both design and implementation competently. But I don't have enough experience to say for sure that this division won't work - maybe you have experience of successfully programming in such an environment?

      FWIW, if you did want a language that mapped well to your chosen 'architecture', it's much more likely to be C++ or even Perl rather than Java. Java supports only a rather simplistic view of the world - your chosen design might naturally require multiple inheritance (or virtual inheritance), for example. And of course the implementation people would appreciate a less cumbersome language to put things into code, without having to resort to circumlocutions like a.plus(55) or manually boxing things into Integers and Chars to store them in containers.

      The problem is, novice coders don't generally understand that there are things like non-western calendaring systems, multi-byte character sets, and alternate forms for displaying dates.

      The multibyte characters stuff I agree with, of course. But not the weird dates. This was exactly the example that made me think 'what an overengineered crock'. Can you honestly say that the typical application requires support for non-Western calendars? The 80-20 rule would seem to apply strongly in this case. What Sun should have done is include a simple date library for the common case, ideally something like Perl's excellent Date::Manip. Then if it is really needed (which I doubt) another set of classes can be provided for conversion to foreign calendars. Support for the Aztec calendar is cute when it's an extra toy in Emacs, but it shouldn't mean you have to wade through a complex API as part of a standard date library. It's classic design by committee / second-system syndrome / insert favourite phase for excessively complex software. Perhaps caused by a separation of the 'architects' from those who actually have to use the stuff.

      --
      -- Ed Avis ed@membled.com
    62. Re:Not likely :) by Ed+Avis · · Score: 1

      I wasn't referring to safety as in garbage collection and not having to manage pointers. That is a good thing, provided you have the ability to go back to fiddling with raw memory when you need it. I meant Java-the-language's decisions not to include things like operator overloading, which Java apologists try to justify on the basis of protecting stupid programmers from themselves. Sorry I didn't make this clear.

      --
      -- Ed Avis ed@membled.com
    63. Re:Not likely :) by Ed+Avis · · Score: 2

      OK, you got me. I confess. I do have a reasonable amount of Java experience, but not so much C++, and hardly any QBASIC - the reference to which was entirely rhetorical :-). The non-portablility of the JDK: this may be more due to the fact that Sun controls the source than technical issues - but still, things like just-in-time compilers are going to be pretty OS and processor dependent. I wonder whether the free BSDs are able to successfully run Sun's Linux JDK - they can run most other Linux binaries.

      About J2EE - I know you can download it free of charge, but subject to a licence agreement that you won't use it commercially. Of course I expect most companies ignore this, but if Sun did decide to start enforcing it a lot of people could get very red faces. I am talking about J2EE, not the JDK or JRE.

      The phrase 'vendor-neutral' or 'vendor-independent' does more or less imply free as in speech. At least, it means you can easily get a complete implementation over which Sun has no control. I agree, most Java users don't care about this, they just want free-as-in-beer, but the marketing hype around Java tries to suggest that Java is not tied to a single company, unlike (say) Windows.

      --
      -- Ed Avis ed@membled.com
    64. Re:Not likely :) by Anonymous Coward · · Score: 0

      OK, I have to ask why?
      SUN hardware is generally better designed.
      Their processors outpace an Intel at twice their
      megahertz. And where do you think some of that cool technology in you win-tel box comes from?
      Lets see:
      MMX - borrowed from SUN's VIS.
      Northbridge chips - borrowed from SUN's UPA arch.
      SUN's Graphics chips - mine does 1.6 GB/s
      to the bus, how about yours?
      I really would like to know your reasons?
      Do you own a SUN machine or is your beef with
      not understanding Solaris/Unix?

    65. Re:Not likely :) by ClosedSource · · Score: 1

      "However, even more importantly is that the job market is tied to the "future" buzzwords that the CTOs/CIOs get sold on (i.e. A couple of years ago XML was all the rage, and every job posting asked for 7 years of XML experience:"

      There's some truth in what you say, but you exaggerate. Many ads are looking for people with the skills that match what a company is using now. If that were not the case, you wouldn't have found any Java ads at all since Java is not a "future" buzzword.

    66. Re:Not likely :) by xtremex · · Score: 2

      Yeah..I decided I was too combative to be a programmer :) I refused to sit in a cube and punch a way code for 12 hours for someone else. I'd rather sit at home and punch away code for me :)

      --
      If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
    67. Re:Not likely :) by smack.addict · · Score: 2
      By code review and education - yes. By a machine applying an arbitrary set of rules - no, of course not. If it were possible for the language designers to know in advance exactly what 'stupid' consists of for any given programming task, and it were possible to write a compiler to enforce this, then most programmers would be out of a job.

      I have seen it work successfully in many environments now for six years. This is a vast change from what I have seen at shops using less strict languages, especially C++.

      I can't imagine that such a way of organizing programmers - a separation into 'architects' and 'monkeys' - could ever really work. At my last employer there was something a bit like this, and the architects got cut off from what it was really like to use the product and produced horribly baroque designs, while some of the monkeys wrote code of unusably poor quality.

      Why the hell would you have your architects doing the usability engineering? You should have usability engineers (aka information architects) handling that job.

      But I don't have enough experience to say for sure that this division won't work - maybe you have experience of successfully programming in such an environment?

      Yes, I do. On time, on budget, multimillion dollar projects. Consistently.

      FWIW, if you did want a language that mapped well to your chosen 'architecture', it's much more likely to be C++ or even Perl rather than Java.

      No way in hell. First of all, Perl is a monstrosity. It was designed to be a monstrosity. It needed to be a monstrosity to support the job of sys admins who needed to focus on their jobs, not focus on becoming programmers. I have never met maintainable Perl code. It simply is one of the worst languages in existence for large-scale programming.

      Second of all, C++ has lots of fun tools that let developers escape from the architects' designs and hang themselves. This makes it very difficult to model business problems.

      Java supports only a rather simplistic view of the world - your chosen design might naturally require multiple inheritance (or virtual inheritance), for example

      For business applications, multiple inheritance is NEVER needed. In those few instances where you might be tempted to use it, delegation works just fine. Now, I will grant that MI could be useful in other problem domains. Use a different language for those problem domains. C#'s support for delegates is a nice touch in this area, but it does not expand the problem domain.

      But not the weird dates. This was exactly the example that made me think 'what an overengineered crock'. Can you honestly say that the typical application requires support for non-Western calendars?

      Business application? Yes, it should. If you have any desire for your app too be used in the middle east or orient, should not hard code your calendar. I will grant that there is a bunch of deprecated crap in the whole Date setup that confuses the issue, but I would not drop support for multiple calendars.

      The design does do what it is supposed to. You can code all Western applications without knowing shit about the full capabilities of the Date/Calendar construct. Yet you leave your application capable of supporting other calendars at the same time.

    68. Re:Not likely :) by kin_korn_karn · · Score: 1

      I like the thought of Java having a challenger. That might force it to evolve beyond a cash cow for tool developers and "architects" who know how to connect the dots in Rose or Visio but know jack shit about anything else.

    69. Re:Not likely :) by SlashFrog · · Score: 1

      Actually, IBM created its own clean room set of class libraries that ship with its embedded VM called J9: http://www.ibm.com/embedded

      --
      --- One world, one chance Doc.
    70. Re:Not likely :) by ratboy666 · · Score: 1

      The quote was that to be pure OO, everything
      must be an object, and derived from one single
      base type.

      "Class" was not mentioned at all! You don't
      need classes to have OOP. Primitive types
      *are* a problem, because they cannot be
      re-defined.

      Classic example:

      What is the result of

      x = 1 / 3
      y = x + x + x
      print x

      in a pseudo-code format. Note that the variables
      are not declared here...

      In C, the answer given would be either 0, or
      0.99999... both of which are wrong!

      You compile this code, and then later someone
      discovers this bug. A replacement for the
      type ("class" or behaviour) of variables is made,
      putting in something which behaves like a number,
      but does things using rational arithmetic.
      Now the answer is 1, which is expected. You
      shouldn't have to redo the original software.

      Now, I am a stickler, and I like smalltalk,
      because I can make the substitution WITHOUT
      recompiling the original code. This is important
      if I am working with someone elses code. But, I
      am willing to recompile. But if native types
      are inserted, it becomes difficult to modify the
      code. And for what? A bit of performance?

      No, the idea of "class" isn't needed, but the
      ability to override EVERYTHING is important.

      Ratboy.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    71. Re:Not likely :) by ProtonMotiveForce · · Score: 0

      Classes are objects. What are you talking about?

  4. Or not by hexghost · · Score: 1, Interesting

    Give me a break. Java has over 1 million programmers (quoted off of the sun site) if not more in its user base. Its been embraced by more than one industry. It has APIs for everything from speach to distributed computing. What does C# have? Nothing yet but a BETA. Microsoft simply took java and modified it with some psuedo-new ideas and called it C#. Until they have the APIs and industry support, not to mention write once run anywhere, then, THEN perhaps they can start to challange Java. Until then, C# is nothing more than a new microsoft tool.

    1. Re:Or not by Anonymous Coward · · Score: 0

      What does C# have?

      Marketing.

    2. Re:Or not by Anonymous Coward · · Score: 0

      Good point. None of that for Java, or anything. Dipshit.

    3. Re:Or not by Anonymous Coward · · Score: 0

      > What does C# have? Nothing yet but a BETA.

      This sounds EXACTLY like the arguments made about Java several years ago.

    4. Re:Or not by ajs · · Score: 2

      Circa 1995 I was saying this about Java....

      C# is new, and so it has a less established user base. Never assume that that means it will be a smaller user base for long.

    5. Re:Or not by i7dude · · Score: 1

      "It has APIs for everything from speach to distributed computing."

      does it have a spell checking API as well?

      dude.

    6. Re:Or not by Twister002 · · Score: 1

      uhmmm, It's been out of Beta for quite some time now.

      but I understand, bashing Microsoft is more important than having your facts straight.

      --
      "For a successful technology, honesty must take precedence over public relations for nature cannot be fooled." -Feynman
    7. Re:Or not by cscx · · Score: 4, Funny

      It has APIs for everything from speach to distributed computing.

      Excluding spell checking APIs, that is ;-)

    8. Re:Or not by M$+Mole · · Score: 1

      As the authos says, many people seem to have miconceptions about C# and .NET, and part of the above message is one of them. The most common one I hear is that it's still in beta...actually it's been out in full release since late January, and VS.NET was launched in Feb/March.

      --
      Karma: Non-existant. Due mostly to the fact that you smell funny and nobody likes you.
    9. Re:Or not by Anonymous Coward · · Score: 0

      Netscape was stomping Microsoft with their browser until about a year into it. Then Netscape was destroyed by IE. Java will die, believe me. It will fade away just like Netscape Communicator did. Only fringe outcasts will bother using it.

    10. Re:Or not by W2k · · Score: 3, Informative
      Blockquoth the poster:
      What does C# have? Nothing yet but a BETA.
      The article was all about C#-related myths, but you seem to have found one which the author missed. C# has been out of beta for a while now, I think Visual Studio.NET (which includes Visual C#.NET) was released in february, and I'm using it for some minor programming work already (not C# - just C++ for now). So that it would still be in beta is, to put it simply, not true.
      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    11. Re:Or not by augustz · · Score: 2, Interesting

      Write once run anware is a load of bull. The syntax of java and C# are very close, true, but the underlying CLR has some real distinctions (and I'd argue improvements).

      API's? I think you forget Microsoft is a huge company. What's to stop you from using the Microsoft Speech component from C#? Nothing. In fact, C# is meant to take advantage of exisiting components. And though Java zealots hate to admit it, that means that there are more than zero API's that C# can use.

      Every time a read a Java zealots arguments I'm struck by how FACTUALLY wrong they are, and how STUPID they like to think Microsoft is. You call C# a bet.

      Visual Studio .Net is certainly not a beta. In fact. I look at the first Java SDK and I look at the first Visual C# SDK and I think, wow, if this is what Java zealots call beta (despite the fact that it is shipping) then those first Java SDK's should be called alpha alpha.

      The point of the article is that Java zealots like to ignore the facts, and that that may come back to bite them. I think your note proves the point.

    12. Re:Or not by Istealmymusic · · Score: 1

      Java may very well have over one million programmers, but how many do you think use Java based on merits of the language itself? Corporate marketheads certainly will pick up on C# and urge their programmers to develop in this language, touted as the next best thing. C# may be nothing more than a new Microsoft tool, but so are most corporations.

      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
    13. Re:Or not by Anonymous Coward · · Score: 2, Insightful

      You're right! The painless integration with COM and otherwise native code. (you can do inline C inside of C#)

      Also people are saying 'When Microsoft's API is as big as Javas...etc.'

      The size of the API doesn't matter as much as you think. Microsoft achieves the same stuff, from j2ee capabilities down through graphics, mathematics, etc on a full api. It also supports checked and unchecked arithmetic, as well as automatic marshalling between primitive and object types (no more of that Double() and Integer() bullcrap)

      Thats why Java should be scared, and that's why Java really needs to update their bytecode to make it more optimizable from an algorithims standpoint. If they dont they will be hurting.

    14. Re:Or not by borgboy · · Score: 1

      Ok, I admit it. I'm being sucessfully trolled, but in an attempt to educate those who don't know any better, I'll plow on ahead.

      C# is not in beta. C#, as implemented in the .Net Framework SDK, released earlier this year. ECMA has also ratified standards for C# and the CLI (Common Language Infrastructure.) Someone correct me if I'm wrong, but Java (tm) is not a standard, it is wholly owned by Sun.

      That said, C#, as a language, isn't a order of magnitude better - or worse - than Java. The core languages themselves are roughly equivalent. They are both C++ derived, single inheritance OOP languages without generics (yes, I know JG is looking at generics for Java (tm) - Anders is considering it for C#.) C#, in and of itself, won't kill Java. If anything, it's the integration between the tools, the ease of use, the boring simplicity of SOAP, etc that will bring Java developers over to .Net.

      As far as API support goes, I'm not even sure I know what you're talking about, and I suspect you don't either. The .Net framework comes with a APIs for writing GUIs, asynchronous messaging, diagnostic logging, file, network and device IO, internet protocols, rich collection data types like hash tables and dictionaries, XML DOM, SOAP, reflection, ........ the list goes on and on. Look no farther than sourceforge for examples of great, free software such as NAnt, NUnit, and log4net. Being a Java (tm) guy, I'm sure you'll understand what insired those projects.

      --
      meh.
    15. Re:Or not by bnenning · · Score: 3, Insightful
      Circa 1995 I was saying this about Java....


      In 1995 Java had substantial advantages over the then-dominant languages. Today I see no compelling reasons for Java developers to jump ship to C#/.NET (and one big reason not to).

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    16. Re:Or not by corps_inc · · Score: 0

      Think more like.

      Java has maybe less APIs, but for developing on quite few different platforms.
      C# is one platform only and still BETA. Guess all you get is less APIs than VC and still no portabllility

    17. Re:Or not by SashaM · · Score: 1

      Excluding spell checking APIs, that is ;-)

      Well, thanks to Google, we now have that too.

    18. Re:Or not by deanj · · Score: 2, Interesting

      Correction: 3 million programmers. 1 million downloads of 1.4 in the first month it was released (a few months ago)

    19. Re:Or not by Anonymous Coward · · Score: 0
      Write once run anware is a load of bull.

      Then why can I build on a Linux machine and deploy on a 2K or Solaris Box?

      The syntax of java and C# are very close, true, but the underlying CLR has some real distinctions (and I'd argue improvements).

      If syntax were that big an issue, why did C superceed PL/I? Why is Perl mor popular than Tcl?

      Please tell me about the API. Which APIs can I use for Free. MS has specifically restricted the use of its API in GPL Software.

      And do tell about .Net? Hailstorm is dead and Microsoft's idea of cross platform means any OS we currently support. 98, NT, 2K XP. No OS-X, no Linux Not even Xenix.

      Odds are the MS will use patents and trademarks to ensure that the Opensource community can not fully implement CLR. And even if they do the will make sure that the API remains propritary, just like the Win 32 API.

    20. Re:Or not by HunterOfBeer · · Score: 2, Interesting

      What does C# have?

      A full-featured IDE that lets you collapse arbitrary sections of code? (Among other features of course)
      A few million Visual Studio users looking for the next new thing?
      Support from an 800-pound gorilla?

      Java has a lot going for it too and neither language should be discounted.

      Maybe in five years COBOL.NET will be king...*shrug* You just never know in this industry and that's what makes it fun.

    21. Re:Or not by mpsmps · · Score: 1

      Both your response and the Java Developer's Journal article begin with the same point: C# is roughly as good as Java (maybe a little worse/better). However, you need to go on and read the rest of the article.

      The gist of the article is that he fears that a comparable technology combined with Microsoft's muscle could wipe Java off the map. He gives some examples of this from his experience with the tech industry.

      This point needs to be taken seriously. Look at how Microsoft has monopolized markets with inferior technologies, such as Windows. If they actual offer a decent (even if not superior) solution to go with their market clout (and exploitation of their monopoly), Java could be in trouble. The winner isn't necessarily the better technology (i.e. betamax), it just has to be close enough that business people can get away with choosing Microsoft.

    22. Re:Or not by Anonymous Coward · · Score: 0

      Excluding spell checking APIs, that is ;-)

      There's java spellchecking APIs available if you use Mac OS X :) Applespell!

    23. Re:Or not by Trevelyan · · Score: 1

      API's? I think you forget Microsoft is a huge company. What's to stop you from using the Microsoft Speech component from C#? Nothing. In fact, C# is meant to take advantage of exisiting components. And though Java zealots hate to admit it, that means that there are more than zero API's that C# can use.

      you fail to mention existing windows components.
      Does Microsoft Speech component run on linux, solaris, mac os x and other non ms os?

      you cant say C# has a full API and then use a os dependant API as an example

    24. Re:Or not by mrgaribaldi · · Score: 1

      Sweet microsoft has API envy

    25. Re:Or not by Anonymous Coward · · Score: 0

      The fact that Microsoft has "released" it does not mean that it's out of "Beta".

      Out of "Alpha", maybe. But it will be a few more years, and some rather expensive "upgrades" before it gets out of beta.

    26. Re:Or not by BeagleBoi · · Score: 2, Insightful

      There is one big compelling reason - people who want to develop Windows client apps will move to C# and .Net.

      Then, one day, they'll want to write an app that runs on the server and spits out HTML pages. Guess what? They'll be writing it in C# and .Net ...

    27. Re:Or not by RustyCritter · · Score: 1
      Write once run anware is a load of bull.

      Once upon a time, I found myself at a remote demo site trying to fix some broken software. Now, we were primarily a linux shop. Though one component had to run under WinNT due to Prolog support. (Back in the dawn of time before Linux support became commonplace.)

      Anyways, we're all working on laptops. And, due to a bizarre unfortunate hardware/software configuration, we found we couldn't transfer large quantities of data to the NT box. No cdrom support. No feasible way to manage it via ethernet. Etc. (Mind you, all the Linux boxes were happy. It was just the NT box that was uncooperative. Don't even get me started on what was required to get the ethernet card semi-working in the first place! On Linux it was grab, plug, and play. NT actually cared about the card version number. "No not that one. I need one that ends in a 'C'. No, the other one that ends in a 'C'. Oh hell, maybe if I uninstall and reinstall the drivers a few more times...")

      So, pluck up the NT-side source code backup cdrom. Put it into a linux box. Share /cdrom so my laptop can see it. Edit the JAVA source code under Linux. Compile it under Linux. Copy the .class files onto a floppy. Put the floppy into the NT box. Copy the .class files off the floppy onto the NT box. Software now works. Go find coworkers who are trying to upload the files by modem across half the country just so they can download them again under NT.

      Now, about that "write once run anywhere" nonsense. Perchance, are you living in a big river in Egypt? Better known as "de Nile"...

    28. Re:Or not by CableModemSniper · · Score: 0

      Ya know there really is a Cobol.NET?

      --
      Why not fork?
    29. Re:Or not by Anonymous Coward · · Score: 0


      I've been using a wrapper around aspell for years, but for poor windoze users, there's this:
      [sourceforge.net]

    30. Re:Or not by Anonymous Coward · · Score: 0

      Exactly.

    31. Re:Or not by WetCat · · Score: 1

      Ok. You omitted the following (as Java people usually do)
      ADD:
      1) A pain: install Java
      2) A pain: install CLASSPATH and packets.
      3) A LONG pain - compile.

      How it will look like in TCL
      1) Install TCL (a pain but a little)
      2) Install extensions.(some pain)
      Volia!
      Just copy your TCL files from Linux to diskette,
      copy that to Windows box, start a program - it works!
      NO COMPILATION at ALL!

    32. Re:Or not by TheAJofOZ · · Score: 2
      Ok. You omitted the following (as Java people usually do)
      ADD:
      1) A pain: install Java
      2) A pain: install CLASSPATH and packets.
      3) A LONG pain - compile.

      I don't know where you've been but for quite some time Java has worked out the CLASSPATH by itself. If you have a sane development environment (read: you arrange your source files according to their packages) you don't need to fiddle with the CLASSPATH at all.

      Also, compilation is a good thing, it may take time but it means that the computer is checking your code for stupid mistakes (misspelled function call, wrong paramaters, missing bracket, etc, etc). Without that check you are far more likely to leave a stupid error in your code. It takes an incredibly long time (and usually is not feasible) to test every line of code in a program in every possible situation, so anything you can do to reduce the chance of error is a good thing.

      Oh and you need to install any program before you can use it, TCL, Visual Studio, Java, gcc etc etc, they all need to be installed.

      That's not to say that TCL is a bad language (I personally haven't used it) or that Java is the be all and end all, but the things you highlight are not the faults with Java.

    33. Re:Or not by Anonymous Coward · · Score: 0

      ahh, but there is (or will be) legacy java code. With nutscrape, there was just legacy tags. Believe me, for every language pronounced "dead" or "obsolete" (fortran, cobol, pascal, ada, etc), there are still people doing it professionally.

      In 5 years, C# may have replaced java in CS 100. It will have replaced java on the desktop (where java never had a foothold), but java might still have a niche market as backend servers.

      Netscrape surprised everyone by "open sourcing". And by selling out to AOL. Will Java be open sourced? Will it matter? Sun refused standardization of java so they could keep it on a tight leash (and choke it better than MS could), so it seems unlikely. Of course, AOL does have a taste for sloppy seconds after MS is finished sodomozing.

      Time will tell.

    34. Re:Or not by BrerBear · · Score: 1

      All the companies that watched how Microsoft competed with its platform partners over the last few years are not going to jump ship and make themselves dependent on the new Microsoft technology.

      The recent market rejection of Microsoft Hailstorm / .Net My Services shows that the world has wised up.

      If something does replace Java, it won't be the
      solution controlled by Microsoft.

    35. Re:Or not by Anonymous Coward · · Score: 0

      I agree with you but I am sick of the betamax issue. You point to it as the better technology. I'll give you resolution but tape length was short. In one way it was good (resolution) and in another way it was bad (short record time). Now contrast that with VHS: crappy resolution (bad) long record time (good). One wasn't better than the other. It just depended on what you were doing: recording a baseball game for later viewing (the general public) or mastering a video (niche, where beta did well).

    36. Re:Or not by EllisDees · · Score: 2

      1) Yeah, it's a horrid pain to doubleclick that icon.

      2) Classpath done in step 1. If by packets, you mean packages, you have to copy any program onto the machine on which you want it to run regardless of the language.

      3) Java compiles at about the same speed as C++.

      --
      -- Give me ambiguity or give me something else!
    37. Re:Or not by Anonymous Coward · · Score: 0

      How exactly does an IDE define a language?

      So developers like that. Good. Then the next versions of JBuilder, VisualAge, etc. will do it as well.

      Or you could just write your code in Word, too, with a macro to save it off into a separate text file that then gets compiled, and another macro to get the error dump and highlight the error locations in your Word document. You could then use the various Word-based tricks to do the same kind of thing (i.e., outlining, table-of-contents, URLs, etc).

    38. Re:Or not by alext · · Score: 2

      A full-featured IDE that lets you collapse arbitrary sections of code?

      How quaint! Wasn't that in some early Smalltalk system? I thought people these days used Outline views, as in Eclipse and JBuilder.

    39. Re:Or not by RFC959 · · Score: 1
      I don't know where you've been but for quite some time Java has worked out the CLASSPATH by itself.
      HAAhahahaha! Yeah, tell us another good one. Java magically reads your mind and figures out where the class files you wanted to use are, huh? So I guess that's why my company's Java application server has a CLASSPATH as long as my arm. Either you're full of it and have never worked on a large Java project, or our vendor (one of the biggest and best-known in the industry) writes utterly crap code. The sad thing is that I'd estimate the odds at about 20:80...
    40. Re:Or not by TheAJofOZ · · Score: 2
      Either you're full of it and have never worked on a large Java project, or our vendor (one of the biggest and best-known in the industry) writes utterly crap code. The sad thing is that I'd estimate the odds at about 20:80...

      I'd make the odds out to be 0:100. If no classpath is specified, Java assumes the current directory to be the first place to look and then in the system standard places (which is where the java standard API classes will be found). So if you call the java application you want to run from the current directory and you arranged your classes according to packages (as the compiler does for you), it will just work.

      The other note here is that if you package your java app in a jar file (which makes it easier to distribute, take up less space etc) you can specify the main class to use and then all you need to do is:
      java -jar myJar.jar
      and your program will run. On OS X and probably a few other systems you can just double click the jar file and it will run.

      It is worth considering that on server side projects like what your company is running there are often good reasons to put class files, jars and wars in "strange" places and then use the classpath to point to them as this can make things easier to manage on a server that has numerous apps being delivered by one server instance. Even so, it's no more difficult than specifying where gcc can find it's libraries etc, etc.

    41. Re:Or not by HunterOfBeer · · Score: 1

      An IDE does not define a language, but when you have two languages with nearly identical syntax, the IDE can be the factor that pushes a developer to one language or the other.

      As for the Word macros, have fun writing them. While you're working on them, the rest of us developers using existing IDEs will be producing code.

  5. For a good time, call... by Anonymous Coward · · Score: 0
    1-800-564-8982 Press 2, then 5228. Enjoy!

    I'm sure all /. editors should be familiar with it...

  6. Control Freaks by Malc · · Score: 3, Insightful

    Perhaps it's time that Sun stopped being such control freaks. IMHO, they've been the biggest problem with Java. They're at a severe disadvantage on the client now that MSFT no longer ship it with the OS, but will have the .Net runtime... most people don't want to download and install Sun's JRE.

    1. Re:Control Freaks by dartboard · · Score: 1

      If Sun hadn't been developing and standardizing (and paying for that process) the API's there would be no Java in the position it is in now.

    2. Re:Control Freaks by elmegil · · Score: 2

      yah, we know Microsoft is NEVER a control freak.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    3. Re:Control Freaks by Istealmymusic · · Score: 1

      Not only that, but some peer-to-peer software now requires the .Net runtime! By shoehorning .Net into massively downloaded P2P software, Microsoft just converted those still using Windows 98.

      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
    4. Re:Control Freaks by mmacdona86 · · Score: 1

      Two points 1. The client isn't where Java is successful now anyway 2. AFAIK the XP's now shipping don't have a .Net runtime, either

    5. Re:Control Freaks by M_Talon · · Score: 2

      most people don't want to download and install Sun's JRE.

      Hmmm...people won't want to download Java. Yet people download "toys" like RealPlayer, Shockwave, etc. all the time for entertainment value. The only people who don't want to download it are recreational surfers who don't like to download plugins in general. People who want to use Java will download it, pure and simple. That's not a strong argument for C#.

      --
      Electronic Frontier Foundation for online civil rights information
    6. Re:Control Freaks by Anonymous Coward · · Score: 2, Insightful
      Very rarely a project succeeds which is not controlled by anyone. gcc and emacs succeeded largely due to control by Stallman (okay, he didn't have legal control). Linux due to Linus. Very few GPL projects have succeeded where you can't put some authoritative figure's name. If SUN was not controlling java, then we would have MS java as the most popular java and soon the only java would be windows java (may be a little of Mac java too, to fend of anti-trust concerns). That is what happened with Netscape. Since the start of Mozilla project, Netscape has continuously lost market share.


      So far my experience with Java has been best. I use non-sun jvm, javac and haven't had any problems even on 100,000+ lines of java code (both server and client side). Oh, I also use it on multiple OSes (windows, linux, solaris). When someone in future has .Net and C# project of this length running without MS tools on multiple OSes, I will seriously look at it. Till then, I will continue with Java but keeping my eyes open for anything better.

    7. Re:Control Freaks by phpdeb · · Score: 1

      >"most people don't want to download and install Sun's JRE"

      That comment is silly and irrelevant. Even when MS did ship a JVM, it still didn't work. People still had to download the JVM.

      But I don't see that as a huge stumbling block for Java's success.

      Say, for instance, you write this killer app for your company or to sell. Just bundle the stupid app in an install anywhere installer and throw in the JRE you want your app to run. When the user installs it, they get the correct jre that works with your app. Not to mention the fact that most companies have, or should have, people installing apps on workstations that know what the hell they are doing.

      People make too big of deal out of the fact that Java runs in a JVM, it's not a big deal it's just a packaging/distribution issue.

      I think it's to Java's advantage that MS doesn't ship with Java. That way you don't have to deal MS's extension, modifications, and incompatibilities.

      Java's not dead, nor will it be for a long time. Especially so after IBM buys Sun.

    8. Re:Control Freaks by Anonymous Coward · · Score: 0

      Exactly what i was thinking. One point to add is that very many MS users NEED java, and MS decided that in order to screw Sun, they'd take it out on their own customers. When will ALL THE MORONS using supporting the MS regime wake up?

    9. Re:Control Freaks by Spud+the+Ninja · · Score: 1
      1. The client isn't where Java is successful now anyway

      Actually, this could be where Java and .NET become most successful. If I'm designing an app that does some heavy computations, it's nice to have the intensive stuff in C, which is fast, and put the UI in Java or .NET, which will run anywhere. Or put the heavy stuff on a compute server.

      C (with a few well placed precompiler directives) is pretty platform-independant if it doesn't do any communicating with anything else and if you avoid the MFC <shudder>.

      I've always wondered at Java's server-side push. Ideally, I'd prefer a native framework for doing what most servers do as opposed to an interpreted one... The capacity of the server would be bigger, the responses more timely. I know what platform my server is on, why do I need so many resources devoted to the portability of the code I want to run there?

      Perhaps where Java and .NET will be ultimately successful is in breaking Microsoft's OS monopoly. Any OS will do, as long as you build the virtual machines for whatever platform's tools you want. This sort of makes sense, MSFT stands to make a lot of $ if everyone can just subscribe to some huge Word app server in Redmond. They even save on dev costs, they only need to build Word for one platform!

      Didn't Corel try to make a Java WordPerfect? An idea slightly ahead of its time.

      --
      You can never put too much water in a nuclear reactor.
    10. Re:Control Freaks by sparkeyjames · · Score: 1

      You will perhaps remember that Sun was ready to seriously piss off the Apache people. IBM barked and Sun relented. Who is controlling what?

      If sense were common everyone would have it!

    11. Re:Control Freaks by Anonymous Coward · · Score: 0

      ...but all MS has to do is pack the .Net runtime stuff into the next SP, and Voila! It's suddenly deployed on millions of computers. This is pretty much SOP for Microsoft (remember DirectX on NT, that came with SP3? It also forced you to install IE4...).

  7. Won't happen.... by mtrupe · · Score: 1


    Hey, I'm no Microsoft basher or anything, but as long as Linux is around, and still a better solution that MS, Java will do fine. I am writing software for Redhat. Why would I use C# for a high-level or Rapid App solution?

    1. Re:Won't happen.... by Anonymous Coward · · Score: 0

      Java for rapid app development? What are you smoking? The "80's tools" (VB, PowerBuilder, Delphi, etc) gave us real rapid development. Java is a throwback to the dark ages of software development. Rapid for behind-the-scenes stuff maybe, but totally lame for creating business solutions you'd put in front of users.

      'scuse me while I go wrestle with my classpath.

    2. Re:Won't happen.... by lpp · · Score: 1

      To be pedantic (word choice?) Delphi wasn't available until 1994. I was working there in C++ compiler support when the first internal Delphi demos were being done. It was quite fascinating. Of course, I was wondering at the time why they didn't do it for C++. I had only to wait.

      Any-hoo, Delphi definitely doesn't belong in any of the class of '8x (80-89).

  8. Where are the apps by Anonymous Coward · · Score: 1, Insightful

    I keep hearing about how Java is going to change the world, but all the apps (Linux apps especially) seem to be written in C & C++. If I were planning a new commercial application I wouldnt even consider Java. Perhaps if I was replacing some legacy Cobol mainframe system I'd look at it, but C++, Posix, and Unix look like the best bet for enterprises systems. I think Java is probably an artifact of the internet bubble where everyone was trying to hack up a portal and look like they had the latest tech. Now, Im not saying that Java was a bad idea, but why is it any better than C#? At least with C++ you know what you are getting... fast code, experienced developers, good tools, and no surprises.

    flame away

    1. Re:Where are the apps by Anonymous Coward · · Score: 1, Informative

      :cough: Dumbass :cough:

      eBay uses latest Websphere which uses Java

    2. Re:Where are the apps by Anonymous Coward · · Score: 0

      You wrote:
      >>"I think Java is probably an artifact of the internet bubble where everyone was trying to hack up a portal and look like they had the latest tech."

      I think the same can be said for linux, slashdot, and redhat.

      I think you speak a bit to highly of c++. It has its own problems, namely it creates slower executables than c or fortran95. But that's mainly a compiler problem. Sometime in the next 10 years that will be fixed. You're probably right that c++ has the best chance. Though for many programming projects c++ is too unwieldly, and c is a better choice.

    3. Re:Where are the apps by Istealmymusic · · Score: 1

      Well said. Remember the new-fangled Freenet P2P that was getting a bunch of press a while ago? After all that time, the developers are still only at 0.4. I argue Freenet would actually be useful if it was written in C rather than Java. Java claims "write once, run anywhere" but this is already a reality with C+autoconf. Why mess with success?

      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
    4. Re:Where are the apps by Anonymous Coward · · Score: 0

      liar
      can you get C to run on a banana?

    5. Re:Where are the apps by Anonymous Coward · · Score: 0

      can it run windows?

    6. Re:Where are the apps by einer · · Score: 2

      Why mess with success?

      Because if we didn't mess with it, we'd be programming with 8 switches on an Altair. Also, how would Freenet be more useful if it were written in C? You just state this and then go on to your argument that if something works it should under no circumstances be improved upon. Does C have some magical functionality that remains wholly unavailable in Java?

    7. Re:Where are the apps by Anonymous Coward · · Score: 0

      No surprises?

      what are you talki...

      *core dumped*

    8. Re:Where are the apps by Anonymous Coward · · Score: 0

      C++ is not necessarily faster than Java with proper jvm implementations, and C++ has far more surprises than Java, unless you limit yourself to a small subset of the language. C++ compilers have been notorious for being buggy and having lots of unsupported features from the spec. QT/KDE has to resort to another parser to get proper functionality out of the (C++) language.

    9. Re:Where are the apps by Istealmymusic · · Score: 1
      Does C have some magical functionality that remains wholly unavailable in Java?
      Portability. GCC can compile on any architecture out there, and it generates optimized code. This is in contrast to Java which takes the easy way out and interprets bytecode. Java is a pain to set up on my FreeBSD box, what is the purpose of installing an extra Java "development kit" when all Java functionality is available in C built-in to the OS? C is the standard, and if some application does not have a C port, I'm not going to use it under any circumstances.
      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
    10. Re:Where are the apps by Anonymous Coward · · Score: 0

      *cough* dumber ass *cough*

      eBay is not a desktop application.

      Java is generally used for proprietary in-house systems.

    11. Re:Where are the apps by HunterOfBeer · · Score: 1

      Basing the success of a language on the number of commercial apps available for it is not a good metric. Take Visual Basic as an example. There really aren't that many commercial applications written in VB. There are tons of shareware and freeware app, but you won't find many VB programs at Best Buy or Fry's. Now go visit corporate IT departments and you'll find VB apps everywhere. That's why there are millions of VB developers.

      PS - If anyone does know of any commercial VB apps, please list them here.

    12. Re:Where are the apps by einer · · Score: 2

      You did not answer my question. Portability is not functionality, it's an attribute. Were you to point out something that is possible in C and not in Java, you would have answered my question. As an aside, Java is portable. Why you can't set it up on your FreeBSD box?

      The purpose of installing the JDK is to get all of the API's, such as the jdbc stuff (which is easier to program with, and less error prone than using the C db api).

      C is the standard, and if some application does not have a C port, I'm not going to use it under any circumstances.

      Please explain why. I don't see the logic in this.

      As for C being the standard, it didn't used to be, which speaks to your original point. Why mess with success? People were programming in Assembler for quite some time before C came along and some people still are. The reason C came into being was to simplify the lower level details of programming, and let the programmer think on a higher level of abstraction. This is what Java does. C still has its place and Java isn't a replacement, but Java is a better tool for certain jobs. For example, if I wanted to write a servlet that did a complex search on a database (vendor independant, so long as I have their jdbc driver) of a known schema and dump the output to XML for choice of format to display would I choose to use C? No.

      Your fighting the tides here. New programming languages will be developed out of need. You may be able to do everything in C, but that doesn't mean you should.

    13. Re:Where are the apps by Sir_Real · · Score: 2

      Java sets up on FreeBSD without a hitch... All Java functionality is NOT available in C. C is only the standard on *NIX and clones. Being able to move a class file from one OS to another and not need to recompile is wonderful. Do that in C.

    14. Re:Where are the apps by Inthewire · · Score: 1
      --


      Writers imply. Readers infer.
    15. Re:Where are the apps by Anonymous Coward · · Score: 0

      C doesn't have classes. Learn the language, please.

      ANd 99.9% of C is totally portable. The only parts that aren't are the GUI calls and semaphore/message passing/threading calls. All of which are easily done with a #ifdef function. Theres hundreds of libraries freely available which do so.

    16. Re:Where are the apps by Anonymous Coward · · Score: 0

      And printing, network access, loading shared libraries, non-blocking I/O, process control, high-res timing ... you can't even handle "press any key to continue" without delving into termios! By far most C programs aren't portable, even if their authors assumed they are.

    17. Re:Where are the apps by Anonymous Coward · · Score: 0

      Visio

  9. Java will live on by Anonymous Coward · · Score: 0

    The main reason is because it compiles to .NET IL.

  10. This is a Good Thing by atrowe · · Score: 5, Interesting
    I, for one, welcome the oncoming of Microsoft's C# language. A little bit of competition can only help the market. When I first started programming in Java eight years ago, the industry was far different than today. Java was, for the most part, an open standard, and one was free to do with it as one pleased. Now that Java is the biggest player in the industry, it seems Sun has gotten a bit greedy, and is trying to cash in on Java's popularity.

    Microsoft's C# entry will only cause more competition in the market, and the consumers and programmers are the ones who will benefit. I'd love to see Sun loosen some of their restrictive Java liscensing practices in response to C#, and I think that is just what will happen. Open source wins the day yet again.

    --

    -atrowe: Card-carrying Mensa member. I have no toleranse for stupidity.

    1. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      first started programming in Java eight years ago

      Math 101 --

      This year: 2002
      Minus 8 years ago: 1994
      Java's Release: 1995

      Did you work for Sun at the time?

    2. Re:This is a Good Thing by zsa · · Score: 1

      It's been awhile, but I thought they had the alpha JDK available at the end of 94.

      --
      ---Your karma ran over my dogma
    3. Re:This is a Good Thing by Hard_Code · · Score: 4, Insightful

      "cash in on Java's popularity."

      HUH? Sun has put a TON of resources into Java, gives it away freely ("costless"), provides *extensive* docs, and even lets you look at the full source. Java is an immense and diverse platform. Sun sells hardly *any* Java-based products (the only thing that comes to mind is the HotJava Bean which has been discontinued, and Forte, which there is already a free edition!)

      Sun has no "services" they are trying to shove on people. They define everything as open specs, and then simply create a reference implementation that you can *choose* to use - next to being fully open source (and they've been making strides trying to be more open), there really isn't much *more* they could do for developers. I'm actually surprised that Sun is devoting this much energy to Java when there isn't much profit to be made from it, but it sure is great.

      I don't see C# having anywhere near the community that Java has. Typically Microsoft communities are people who have comradery in being serfs. It's a lot different with Java.

      --

      It's 10 PM. Do you know if you're un-American?
    4. Re:This is a Good Thing by garett_spencley · · Score: 4, Insightful

      Same here.

      I really don't like MS more than anyone else but my limited knowledge of c# vs. java really seems to tell me that java programmers who decide for whatever reason to give c# an honest shot are going to love it.

      I really like Java as a language but I never use it because it gives me no practical advanatage. I'm quite willing to spend lots of resources porting my c/c++ code to a million different platforms and testing it on those platforms if it means it's going to be really fast and my user's won't have to worry about installing and configuring Java and then having a program that runs slow as tar.

      I'm really starting to hate Sun lately actually. I don't see them as any better than MS. They're just a big corporation trying to make their big cheif richer than he already is.

      Java is an excellent language but since the actually design Sun has yet to produce anything of value.

      They haven't done anything to help open source or any communities. They announced that Solaris was going to be open source (big deal. It's widely used but I don't know anyone who actually likes it). But they dropped that plan anyway.

      They sure seem to be making good use of gnome but AFAIK they haven't made any contributions to the code (please correct me if I'm wrong).

      And as you stated Java is getting more and more proprietary.

      What we need is an open language that matches up to java and c#. Something free of patents and IP.

      So hopefully MS will cause Sun to smarten up and loosen up Java a little. Then we may actually be able to see what it's really capable of.

      --
      Garett

    5. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      Wow. You are a moron. Opps, I dignified your idiotic rant with a response. I apologize.

    6. Re:This is a Good Thing by Tim+Macinta · · Score: 2
      It's been awhile, but I thought they had the alpha JDK available at the end of 94.

      Nope, it was '95. Sun's Java press releases only go back to '95 and a read through the ones that are there point to a Spring 1995 release date. I also remember using the second Alpha JDK around the end of Spring 1995.

    7. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      > Java was, for the most part, an open standard, and
      > one was free to do with it as one pleased. Now
      > that Java is the biggest player in the industry,
      > it seems Sun has gotten a bit greedy, and is
      > trying to cash in on Java's popularity.

      What are you talking about? Java is still an open standard. Java is fully documented, and that documentation is available freely from Sun. Anyone could implement the language. I'd like to know how Java is not open.

    8. Re:This is a Good Thing by Rob+Y. · · Score: 1, Interesting

      Competition's fine -- as long as you have real competition.

      Let's see. I'ts 2003. All Windows systems come with the latest C# runtime environment and no Java environment.

      Well, yes. You can download A JVM for IE (you know, the web browser used by most people, you know why). Of course it's based on the old Java 1 AWT stuff, and anything newer will run really slow.

      Well, yes. You can also download the latest Sun Java runtime for standalone apps (or if you're a Mozilla user), but it won't work in IE.

      Do you think this is really competition?

      And by the way, you can bet any server side components used in any C# enterprise configuration will be Windows only. And for all the talk of openness, you can bet portability will extend to Windows on Intel and Windows on ARM (maybe Mac).

      So, it looks like all the Java crowd's got left to run on is some pretty good, truely portable technology and some very valid distrust of Microsoft.

      But MS's thumb's going to be pressing as hard as it can on the scale. That is, unless the Judge evaluating the DOJ settlement has *anything* on the ball.

      --
      Posted from my Android phone. Oh, I can change this? There, that's better...
    9. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      So I take it you're a serf ;-)

    10. Re:This is a Good Thing by arhra · · Score: 1
      I'd like to know how Java is not open.
      Java:
      • Controlled entirely by Sun.
      • You need to apply to them for a license before you can implement it (well, before you can call your implementation java, anyway).
      • Any changes to the language must be endorsed and approved by Sun.
      • If you deviate from the spec even slightly, you're likely to end up on the wrong end of a lawsuit courtesy of Sun (judging from prior behaviour).
      Compare this to C#/the CLR:
      • Has been submitted to the ECMA for ratification.
      • May be freely implemented by anyone, by following the freely available specification.
      • Changes to the spec will go through the ECMA.
      Which seems more "open" to you?
    11. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      How the hell did this get moderated to +5. This is the dumbest fucking shit I have ever fucking heard. You want to see the best programming resource around try looking at msdn.microsoft.com. Oh and it also happens to be free.

      Microsoft won the desktop war by winning over the developers. The only reason you haven't seen any Microsoft Dev communities is because obviously your head has been lodged up your ass for the past 8 years.

      And of course Sun gives away Forte, but thats still not enough. You would have to pay me to use such a piece of shit IDE. Its fucking slow, ugly, and horribly designed.

      Oh, and the reason sun doesn't sell many java based products is because they have realized what a slow piece of crap their language is. Notice that most of what they sell is actually written in a different language. If java was so cool then how come no JVM is written in it?

      - Yeh old Troll

    12. Re:This is a Good Thing by jallen02 · · Score: 1

      Heh, and just because C# is out there, does that mean it is any better than Java? I mean, What makes you think Microsoft will actually keep their version of C# compliant with the spec.. that is the piece of it that is overlooked?

      Microsoft is just one company implementing the spec... anyways...

      Jeremy

    13. Re:This is a Good Thing by Anonymous Coward · · Score: 1, Insightful


      Simple: don't slap the word 'Java' on it. No fees, no trademark hassles from sun. Open source java.

      Its not like .NET isn't trademarked too.

    14. Re:This is a Good Thing by Chicane-UK · · Score: 1


      A little bit of competition can only help the market.


      Am I the only one who finds this a little ironic? Microsoft - the company that tries to stifle all competition that threatens its business - and you praise their efforts in making a little competition?

      I am somewhat sceptical about this.. I dont Microsoft just switching over like this? I think they'll get people cosy with using .NET for a few years, then just pull the FreeBSD version, and make .NET inoperable with the older versions.. so its Windows or bust.

      Call me anti-Microsoft, but they do this kind of thing all the time.. and I certainly dont think they have changed their tack overnight.

      --
      "Hey! Unless this is a nude love-in, get the hell off my property!!"
    15. Re:This is a Good Thing by AntiNorm · · Score: 2

      A little bit of competition can only help the market.

      That's not what Microsoft thinks...

      --

      I pledge allegiance to the flag...
      of the Corporate States of America...
    16. Re:This is a Good Thing by AstroPup · · Score: 1
      Java is an excellent language but since the actually design Sun has yet to produce anything of value.

      You mean from version 1.0? There's been some major value added. It hasn't slowed down.

      Beans

      JMS

      JDBC

      Servlets

      JSP

      EJB

      JPDA

      JTA

      JNDI

      IIOP Support

      Java Help

      Much more but the pool is calling my name....

      All evolving, all open standards, all available with no Sun code. No value?

    17. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      As you can see, moderation is way broken. He should've had +2 maybe, because he did make some interesting comments, but then he blows it at the end by making the slashbot comment. I'd give it a +1 TROLL

    18. Re:This is a Good Thing by Pizza · · Score: 1

      Um, excuse-me?

      1) Ever heard of the _Java Community Process_? nearly everything new to come into Java ThePlatform(tm) came through this. And anyone can participate in the JCP. Anyone.
      2) I'll grant you that you need to get a license to implement the language.. but that's primarily there to ensure the quality of the implementations, which have to pass quite a validation process..
      3) Microsoft didn't deviate from the spec *slightly*, they left gaping holes in their implementaion, and included all sorts of non-standard windows-specific stuff that negated the whole reason to use Java to begin with. People tried to use stuff coded to the java spec, and it broke on MS's VM. That's where the lawsuit came from.

      If you make chances to the language, it is no longer Java, because the resulting language is different from what everyone else expects it to be.

      Nobody can make changes to C, and still call it C and expect it to work anywhere. That's why there is ANSI C, to define what MUST be there for it to be called C. Have you ever tried to get code to compile under multiple compilers on the same platform? Java avoids these headaches because it is very rigidly specified.

      And you're missing one very crucial point. C# is just another language, one of *thousands* of other languages. The language itself is remarkably unremarkable, much like Java, actually. There really isn't anything new from a language perspective.

      The real power comes from the *platform* as a whole, including the class libraries one has access to. (After all, even C is pretty worthless without #include ) and I'll bet a nickel that 90% of the libs will remain windows-specific because they're being used via COM. Which is completely non-portable, and reduces you to once again doing Windows programming with yet another language. Big Whoop.

      Whether the LANGUAGE is open or not is irrelevant. What matters is whether the rest of the system is open. (Aaside from the language and CLR spec, almost none of it is) And MS has an extremely poor track record in this regard with their propensity to embrace, extend, control , punish.

      C# is a remarkable improvement to the way you develop Windows applications, but *everything* it does has already been done before; primarily by Java.

      (...and freely implemented by anyone? Have you read the license for the CLR stuff? There's a reason that everyone involved in alternate implementations is deliberately avoinding being tainted by MS code)

      - Pizza

      --
      -- I ain't broke, but I'm badly bent.
    19. Re:This is a Good Thing by austus · · Score: 1

      >What we need is an open language that matches up to java and c#. Something free of patents and IP.

      Jython ?

    20. Re:This is a Good Thing by dachshund · · Score: 1
      I'm actually surprised that Sun is devoting this much energy to Java when there isn't much profit to be made from it, but it sure is great.

      I can testify that the only reason we still use Suns is as a platform for Weblogic and Java-based services, along with Windows. If we had to build our apps separately to run on Windows and Solaris, we might not make the effort.

    21. Re:This is a Good Thing by bsheep · · Score: 1

      what?!
      iplanet does not have anything to do with JAVA???

    22. Re:This is a Good Thing by mister+sticky · · Score: 1
      The problem with the "cool guys use JAVA" argument is that management doesnt *care* if it's cool to use or not; they heard that it's a language that codes itself (doenst matter if it's true or not). Java will always have a strong community, but i guess the question is whether a community is more important to a programming language than corporate support.

      I think that some of the answer can be seen in looking at Visual Basic. Is it cool to write in VB? Not really, but a lot of shit gets done in it cause the boss says so (well, they hire a VB 'programmer' who fits the bill).


      Will Java turn into the hobbiests language? Is that a bad thing?

    23. Re:This is a Good Thing by Shiny+Metal+S. · · Score: 5, Funny

      What we need is an open language that matches up to java and c#.

      Perl 6 is what I bet on.

      --

      ~shiny
      WILL HACK FOR $$$

    24. Re:This is a Good Thing by Alsee · · Score: 2

      [I welcome Microsoft] A little bit of competition can only help the market

      Err, yeah, kind of like a 10 mile asteroid can only help bring a little bit of competition to the ecology.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    25. Re:This is a Good Thing by mikec · · Score: 2

      Please, someone with moderation points: mod this
      funny. Very funny. Very, very funny.

    26. Re:This is a Good Thing by JordanH · · Score: 2
      • I, for one, welcome the oncoming of Microsoft's C# language. A little bit of competition can only help the market.

      I agree. I think that the big players pushing Java now are not always doing the best things for it, in the long run. Competition might unify and crystalize their efforts. Right now, it seems there are differing visions for how to best do Java on the desktop and that's not a good thing. You can bet that Microsoft will present a unified vision for .NET.

      Java can and should be pushed harder on the desktop, but Oracle/IBM/Sun decided that it was easier to dominate the back end, so they retreated to the server. I've seen some fine Java applets and I know they can be great.

      I don't see why it can't be used more visibly on the desktop, as well as the server. To keep a really vital development community alive, it has to be used everywhere or risk marginalization. IT Management is going to be looking for a low-risk, desktop to middlewear to server programming language. Java could be that, but now, they'd better get moving on marketing this vision. IBM and Sun should really get together on a single GUI development environment that everybody could get behind, also.

      Without real competition, the Java stewards (Sun/IBM/Oracle) just picked low hanging fruit (server apps) and haven't pushed hard on a complete vision for it.

    27. Re:This is a Good Thing by i_luv_linux · · Score: 0
      How do you know that Sun will continue to do this? Are you sure that Sun will never profit from Java. Sun controls Java, and it is in purpose. They will one day try to profit from it, and News.com had an article about this in the previous months.

      Also it doesn't make sense to profile people based on which community they belong to. Cetainly this is not the spirit of the open source!

    28. Re:This is a Good Thing by Green+Bean · · Score: 1

      > When I first started programming in Java eight years ago,
      > the industry was far different than today. Java was, for the most part, an open standard,
      > and one was free to do with it as one pleased.

      I kinda doubt it,, being as Java is only about 7 years old. (not counting its days as "Oak")

      Greed is the backbone of all corporations.

      I'm not clear how competition leads a business to give away its valuable assets.

    29. Re:This is a Good Thing by Anonymous Coward · · Score: 0

      I'm quite willing to spend lots of resources porting my c/c++ code to a million different platforms and testing it on those platforms if it means it's going to be really fast and my user's won't have to worry about installing and configuring Java and then having a program that runs slow as tar.

      I've always found that tar runs at quite an acceptable speed. I've extracted files from large tape archives in reasonably small periods of time. If all my programs ran as fast as GNU tar, I'd be quite happy.

    30. Re:This is a Good Thing by Tony-A · · Score: 2

      Double TWO = 3;
      Do you see a problem here?
      Making up your own whatever is ok but calling it what it is not is not ok.

    31. Re:This is a Good Thing by jpatokal · · Score: 5, Insightful
      Sun sells hardly *any* Java-based products (the only thing that comes to mind is the HotJava Bean which has been discontinued, and Forte, which there is already a free edition!)

      Maybe you should take a peek into the corporate world. Want to add SNMP functionality to your Java product? J. Random Hacker doesn't, but Q. Big Corporation often will, and the only way to do this is to fork out the moolah for Sun's JDMK. The cost? $10000 for one (1) developer seat and 50 runtime licenses.

      But Sun's basic strategy is to popularize Java (at a loss) and then sell Sun hardware for it (at a profit). The company I work for is almost entirely a Java shop. We make carrier-grade applications, and whenever possible we ask our customers to use Sun hardware, because that's what Java works best on. This is not a coincidence.

      Cheers,
      -j.

    32. Re:This is a Good Thing by Mike+McTernan · · Score: 1

      HUH? Sun has put a TON of resources into Java, gives it away freely ("costless"), provides *extensive* docs, and even lets you look at the full source

      Java is only free for weekend developers - if a company wants to use a JVM in a product they have to either pay big money or make their own (Like IBM and HP have).

      --
      -- Mike
    33. Re:This is a Good Thing by bebroll · · Score: 1
      ... if it means it's going to be really fast and my user's won't have to worry about installing and configuring Java ...

      For easily installable Java applications take a look at Java Web Start. I guess installation/execution of Java apps cannot get much easier than it gets with Java Web Start. Just install the Web Start software which comes equipped with a JRE and click the link to the software you want to launch. Web Start takes care of getting the newest version, caches the latest version and then executes it using Java's extensive security mechanisms. You want to get access to otherwise restricted areas of the user's computer? Go ahead and digitally sign your application - the user can now grant the application the rights it needs. For an example application, look at the Web Start version of TopCoder or the UML modelling software Argo UML.

      Java came a long way, baby - and there will be a lot of way ahead. With the next releases of Java focussing more and more on speed improvements, your speed problems should go away as well. And, BTW, there currently are Java apps which run very fast - take a look Borland JBuilder - a Java IDE written in Java. And it runs smooooth!

      .bbr fear women playing with delete functions - next time it could be you.

      --
      .bbr

      fear women playing with delete functions ... next time it could be you .

    34. Re:This is a Good Thing by Westley · · Score: 1

      That's rubbish. You're free to distribute Sun's JRE with your product - I know that we do!

      Jon

    35. Re:This is a Good Thing by hotpotato · · Score: 1
      I really like Java as a language but I never use it because it gives me no practical advanatage.

      I fail to see where you're coming from. I've done several small-to-medium-sized projects using C++ before I switched to Java, and since then I've never looked back. Just the small fact that memory-leaks (and thus related bugs) are reduced by 99% makes the move worthwhile, not to mention actual, readable documentation of the standard library, useable exceptions, OO support for esoteric things like database access, and being truly cross-platform. If these aren't practical advantages I don't know what is, and I can safely say Java has significantly reduced my organization's time-to-market, and increased the quality of software.

      I'm really starting to hate Sun lately actually. I don't see them as any better than MS. They're just a big corporation trying to make their big cheif richer than he already is.

      This displays such a glaring disconnect from reality, I'm not even going to touch that. I'll just give one example: MS has iron-clad claws dug into the .NET platform and C#. They solely develop it, and neither you nor anyone else has a say in how it's developed. Java, on the other hand, is led by Sun, but is devleoped by many organizations such as IBM, Oracle, and Apache. Part of the process is a public review, in which you get a say in how the platform is developed.

      Java is an excellent language but since the actually design Sun has yet to produce anything of value.

      Apparently you have not been watching the JSRs very closely. It's enough to look at the development of the J2SE from 1.1 to 1.4: Swing, Collections, Proxy, and now Logging, Preferences, Assertions, scalable IO for creating large servers, and the list goes on. All this was done in the most mainstream part of Java, and I'm not even getting into the unbelievable strides taken in the development of e.g. J2EE and J2ME.

      They haven't done anything to help open source or any communities.

      Once again you display shameless ignorance. Just a few weeks ago Sun agreed to change the JCP as demanded by Apache, so that open-source implementations of various Java standards (including J2EE) can be created. Do you honestly see MS doing something even remotely as helpful as this?

      In the future, I suggest not falling into MS well-oiled hype machine, and checking out the facts for yourself.

    36. Re:This is a Good Thing by nakaduct · · Score: 2

      First they laugh at you...

    37. Re:This is a Good Thing by toriver · · Score: 2
      Maybe you should take a peek into the corporate world. Want to add SNMP functionality to your Java product?

      Write the classes you need - declaring the necessary methods as native, run a program to generate JNI C++ headers to go with them and implement them, shipping the native bits as shared libraries.

      Oh, sorry, did I just shoot your claim in the foot?

    38. Re:This is a Good Thing by toriver · · Score: 2

      installing and configuring Java ... which can be done automatically - I guess you have never tried to use e.g. InstallAnywhere Now! - your loss I guess as long as people don't actually believe your FUD.

      slow as tar.

      Well, since a Java program on modern VMs normally is translated into native code a few (milli-)seconds after launcing, I fail to see how you have managed to write slow code, unless you

      1. use the -Xint flag to disable the runtime compilation into native code,
      2. use non-buffered IO,
      3. stick to really old releases of the JRE, or runtimes with known bugs (like running GUI apps on 1.2.0)

      all of which brand you an IDIOT!

      since the actually design Sun has yet to produce anything of value.

      So you are completely unaware of things like Swing (though based on Netscape code), J2EE, the Java2D graphics API, and a host of other new stuff added over the years?

    39. Re:This is a Good Thing by jpatokal · · Score: 2
      Write the classes you need - declaring the necessary methods as native, run a program to generate JNI C++ headers to go with them and implement them, shipping the native bits as shared libraries.

      Oh, sorry, did I just shoot your claim in the foot?

      When you're making software that costs $(BIGNUM) a pop, it's a far better solution to buy pre-written, carefully tested and well-supported 3rd-party software for a couple of grand than to try to roll your own. The S in SNMP may be "Simple", but in reality it's one seriously hairy protocol.

      And yeah, I know that NET-SNMP (ex-UCD-SNMP) is open source, but it's all C and our software has to work under Linux, Solaris, HP/UX and Windows -- this, of course, being why we use Java in the first place!

      Cheers,
      -j.

    40. Re:This is a Good Thing by garett_spencley · · Score: 1

      1. use the -Xint flag to disable the runtime compilation into native code,
      2. use non-buffered IO,
      3. stick to really old releases of the JRE, or runtimes with known bugs (like running GUI apps on 1.2.0)

      all of which brand you an IDIOT!


      Maybe I am an idiot but I've done one of the above. I'm a programmer but not a java programmer. I've played with a little bit of java just for fun and to see if has gotten any better and I haven't had much luck.

      All I know is that as a user (not a programmer) I find java programs to be very slow. Oracle's universal installer (for 9i even!) is very slow to respond to events. All I know is that it's written in java and in my experience java programs tend to be slow. Period.

      I was very excited when gcc came out with gjc because I thought that finally with the VM out of the way we'd see some really fast java apps. I was wrong. I was very dissapointed when a simple "Hello, world" program compiled natively to ELF took a good 3 seconds to load.

      So it's not the VM obviously it's the fucking library. Just like C++'s STL java's own library is slow as tar in implementation. It can probably be fixed but I have yet to an implementation where a java app wran just as fast as a c program.

      And maybe I'm a litte too old school but I really think that matters. It's not good practice to say that newer hardware will compensate. In my experience users tend to prefer speed over stability.

      If you want proof just look at windows 98. It's very sad to see people think that it's okay for it to crash on a regular basis. But if it ran slow you can bet anything that they'd have really bitched - and they do. I'm a sysadmin and a lady that I work with came to me complaining because her win98 laptop started running really slow all of a sudden. It crashes on a regular basis and she doesn't care but when it becomes unresponsive she needs to fix it.

      Anyway I'm ranting now so I'll stop. My point is that Java is slow. The language is very nice but I've seen few practical applications written in it. To be fair I will list one. There's a server side application that I work with a lot that uses Enhydra. It runs very fast and we can thank Enhydra for that because all of the libraries, vm etc. are always loaded 100% of the time. That definitely makes java applications more accepatable but when you add in the extra resources required on the system (and not to mention that these java apps are pretty much non-interactive - they just do backend interfacing).

      I'd mention the name of the application but I work for the company that makes it and so I don't want to come across as advertising for them.

      So you are completely unaware of things like Swing (though based on Netscape code), J2EE, the Java2D graphics API, and a host of other new stuff added over the years?

      No I'm not unaware of them. I just don't think that swing is something of vaule. It's the worst thing to come out of sun since solaris. Nice toolkit but so unresponsive that I may as well be running mozilla on a 386.

      I don't know much about the other things that you listed but what I do know is that I don't like java based on my experience with it. I always hear java fans raving about how great it is and they always seem to come down to the language and how it makes it pretty much impossible to make dumb erros like memory leaks, buffer overflows etc. I agree with them that it's a wonderful language. But the implementation has proven time and time again that it's just not working from a practical stand point.

      --
      Garett

    41. Re:This is a Good Thing by garett_spencley · · Score: 2

      Maybe I am an idiot but I've done one of the above.

      Yup, you're right. I'm definitely an idiot. That should be none of the above. Not one.

      Oops.

      --
      Garett

  11. Personally who cares? by torqer · · Score: 0, Offtopic

    I couldn't really care Java Dies and C# takes control of that market. Java and its clones (C#)will still be disabled whenever I browse the net. If you aren't going to use it, who cares?

    1. Re:Personally who cares? by dnaumov · · Score: 1

      You're talking about Java APPLETS. No matter how much you tinker with your browser, you're not going to stop the webserver from using SERVLETS.

    2. Re:Personally who cares? by Anonymous Coward · · Score: 0

      Neither Java nor C# have anything at all to do with web browsing you 1995-living twit. Java has been sucessfully refocused as a back end tool, and that's where C# is headed as well.

    3. Re:Personally who cares? by Anonymous Coward · · Score: 0

      you have such a small monkey-brain! Java is used on the backend of your servlet/jsp site you are browsing right now!

    4. Re:Personally who cares? by ip_vjl · · Score: 2, Insightful

      I don't think you realize that there are broader uses for Java (or C#) than embedded scripting in browsers.

      I'm a Java developer, and I know quite a few other Java developers and none of us develop applets. It's all server-side application programming or desktop application programming.

      Both these languages are nice general purpose tools for getting all sorts of things done, not just doing lame Javaduke animations in your browser.

      So, fine, turn it off in your browser ... it wont affect a single thing that the majority of people using those languages care about anyway.

    5. Re:Personally who cares? by TheAwfulTruth · · Score: 2

      "(C#)will still be disabled whenever I browse the net"

      FYI C# is a language NOT a runtime. You cannot "Turn off" C# any more than you could "Turn off" C or C++ on your computer. You're probably confused because "Java" is a language AND a runtime. When you say your turning off Java, you mean your disabling the Java runtime environment. .NET is the runtime environment you mean that you'll be turning off. .NET can be used by VB, C, C++, C#, Perl, Python and a dozen other languages.

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    6. Re:Personally who cares? by Anonymous Coward · · Score: 0

      Fuck that, I have Perl and C for back end stuff. Java is a web toy. I have yet to see ANY Java application that doesn't suck shit and run 10x slower than an equivalent compiled C program would. When our vendor started shipping a Java GUI I groaned. What a piece of shit. It hangs up and locks about 75% of the time. Java blows dick.

    7. Re:Personally who cares? by Anonymous Coward · · Score: 0

      Servlets in Java SUXX.
      Much better to write server CGIs (which servlets essentially are) using open-source
      technologies like TCL, PHP,Prolog.

    8. Re:Personally who cares? by Anonymous Coward · · Score: 0

      What is frightening to me is that grandparent poster probably thinks of himself as "technical" just because he disabled the VM's on his browser and he posts on Slashdot. (Shudder.)

    9. Re:Personally who cares? by Anonymous Coward · · Score: 0

      That's because you haven't run Java server side software. You're talking GUI which isn't where Java is at. Fuckwit.

  12. Hasn't C# been around for sometime now? by Anonymous Coward · · Score: 0

    So why hasn't it dented Java yet? If it's because .Net, I wouldn't worry. If .Net is suspose to be a collection of protocols, and not a marketing buzz word, then I don't see why Java couldn't use them too.

    Strangly enough C/C++ is still being used even though Java was suspose to kill it way back when.

  13. Idiots would believe this by Anonymous Coward · · Score: 0

    Only Idiots would believe this. This is a troll story to spread FUD. Lets the M$ use a CLOSED language to be portable. Only M$ goons would believe this god help this planet.

  14. Cobol is still in demand. by Lucky+Kevin · · Score: 5, Insightful

    There are so many Java programmers and so much Java code being produced that it will last a lot longer than five years. People still need Cobol programmers, ok so not mainstream but look how long ago that was designed and despite being crappy it is still here.

    But as the article says it really doesn't help when people who should know better say "Java? No one is doing that now. Microsoft is no longer supporting it."

    Gates has a lot to answer for.

    --
    Kevin
    "It's not the cough that carries you off, it's the coffin they carry you off in" O. Nash
    1. Re:Cobol is still in demand. by happyclam · · Score: 4, Interesting
      There are so many Java programmers and so much Java code being produced...

      Produced? Yes... supported? Maybe... I wonder what percentage of the Java code written in the last five years died with the series of dot com failures we've witnessed.

      That said, of course you're correct: COBOL is still in use, and Java will last much longer than five years.

      But the language of choice may be something else in five years. Java hasn't been around that long, and scads of people were saying it would never overtake C or C++ when it was first released. And really, C hadn't been around that long when Java was first introduced.

      --
      He looked at me and said, "Kid, we don't like your kind, and we're gonna send your fingerprints off to Washington."
    2. Re:Cobol is still in demand. by Kircle · · Score: 2, Interesting

      I hear Cobol programmers get paid fairly well these days. Why? Because there aren't that many of them. While I certainly do not believe Java will be killed off by C#, I do see the author making an good point.

      He asks if Java is "here to stay." In the sense of whether it will remain dominant in the coming years, maybe. Maybe not.

      --

      -- Kircle

    3. Re:Cobol is still in demand. by betis70 · · Score: 1

      Yeah but unlike COBOL, C# is pretty close to Java, so it would not be hard to go from one to the other, even after a number of years and MS 'innovations'.

      --
      I forget...are we at war with Eurasia or East Asia?
    4. Re:Cobol is still in demand. by pmz · · Score: 1

      Yes, COBOL is definitely in some demand. I went to a job fair a couple of years ago, handed a man a resume, and he asked, "Do you have experience with COBOL?" When I said, "No," I could see the disappointment in his face. I can imagine his frustration trying to find someone qualified for the position, when COBOL hasn't been stressed in academia or even the mainstream marketplace for years, yet there is a very large installed base of running COBOL software.

      Even if Java loses popularity, the current popularity will most certainly live on.

    5. Re:Cobol is still in demand. by Mr.+Frilly · · Score: 1

      You seem to be missing the point why Cobol programers are still in demand (or were right before Y2K). Cobol was used decades ago by many financial institutions as their programming language of choice. Why don't they convert these legacy apps to a different language? It's not because they can't offered the programming time, it's because they can't afford the debugging cycles, and it's far easier for them to incremently improve a program in a dead language then go through debugging cycles with $billions in transactions.

      I think you'll find far fewer Java apps (perhaps none) in such mission critical positions.

    6. Re:Cobol is still in demand. by imnoteddy · · Score: 1

      When I was an undergrad in Computer Science one of the grad student offices had a sign that said "We'd like to wipeout FORTRAN in your lifetime". Hasn't happened.

      --
      No electrons were harmed creating this post, though some may have been subjected to electrical and/or magnetic fields.
    7. Re:Cobol is still in demand. by Nexx · · Score: 2

      On the contrary, *many* large brokerage firms have large Java developments going and/or deployed, in "mission critical" positions. What's "mission critical" anyway? Aren't most systems "mission critical" if the disruption of the system affects productivity or the revenue stream?

    8. Re:Cobol is still in demand. by Mr.+Frilly · · Score: 1

      Yeah "mission critical" is subject to definition. I tend to define it as if something goes wrong 1) people die, 2) something explodes, 3) $millions are lost. Brokerage firms will fall under #3, 99% of commercial web sites don't.

    9. Re:Cobol is still in demand. by Jboy_24 · · Score: 1

      I think you will find MOST back end software (mission critical for their business cycles, not for life and death) for MOST large businesses and governments to be now in Java. Certainly most US States now support Java only as for their back end software. Many large corportations are as well and most others are moving to it.

      Why? Because the programmers you hire to implement your finacial logic shouldn't have to worry about memory, server loads etc. Java has an incredible framework for distrubuting large applications amongst many programmers with diverse specialties. This prevents someone who's working on a front end application to mess up the whole system.

      I think the problem many programmers see with EJB and everything is that there is so much overhead, and you have to write these very abstract objects then hand this all to the server to handle. Well, when you have 15-30 developers working, that is a very efficient way of working.

      As far as overhead? If you have a mid to large scale programing task the cost of development exceeds $2-4 million very quickly. At this price range, a savings in development time of 25% equates to the cost of a sunfire 10000!

      As well, for Mission Critical Applications, if i gave you 1 month to collect 30 engineers to develop in 1 year a Mission Critical Application for Millions of transactions is a complicated business rule enviroment. Do you think you could do a better job then BEA, IBM or JBoss of implementing a multi-server transactional system that supportable? Do you think the money you'd have to pay those guys to develop such an application would be less then the license of BEA or IBM? And there's Jboss for free to boot!

      What would you suppose people to program in for these applications? .net? C++ C? Perl?

    10. Re:Cobol is still in demand. by clarkgoble · · Score: 1

      Languages remain in demand based upon the applications that use them. There's a lot of business programs written in Cobol that need support. Thus Cobol is still around, albeit not taken that seriously. Same with Fortran. Lots of legacy code.

      The same would be true with Java, but that depends upon what major products use it. I think that right now there are enough programs written with it, especially enterprise based XML programs, that it will be here for quite some time.

      Just look at Obj-C. Everyone thought it was dead and there was far more reason for it to die than Java. Yet Apple bought NeXT and made their primary UI development with it. Thus it fended off death.

      With Java there is even more reason for it to survive since there isn't full C# for Macs, Solaris, and Linux yet. Yeah there are announcements or attempts at something like an opensource C#. But right now it isn't there yet. Thus we can't even say that C# offers everything Java does plus more.

    11. Re:Cobol is still in demand. by Anonymous Coward · · Score: 0

      one word:

      CLUELESS!!!

  15. ummm... heard this before... by Misha · · Score: 4, Interesting

    haven't they said something like this before?

    the problem with C++ was that exactly zero of code was reused, even though it was supposed to be made simpler. Java code actually reuses itself pretty darn well, and last I checked J2EE library just keeps growing and growing, and largely its success is in that.

    as for C#, i doubt anyone except Microsoft is interested in seeing more packages of it. it becomes pointless to have non-object code in C# if you are planning to devise a framework for other people to work with.

    anyways, if Java only has five years life in it, why would you stake your life on C# of all things? wouldn't you expect that in five years people would be switching to something newer than the love-child of Java and Microsoft that didn't overtake its predecessor and hardly had any advantages except probably back-doors into the Windows kernel?

    just my two cents...

    --



    I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
  16. Re:Yuck by ckuske · · Score: 2, Informative

    Take a look here, it's new in JDK 1.4

  17. Having coded in Java for 4 years... by Anonymous Coward · · Score: 0

    and now converting over to C#, I can say that they have their strenghts and weaknesses.

    My biggest gripe about Java is the end product speed, and the lack of the oh so touted cross platform compatability with the same JRE kit. Java is molasses on most platforms (but it does run on many platforms, hence why it is still with us), and there are plenty of instances of 'known' code work arounds to ensure platform compatability and stability... something that should not have to be given the marketing bent of Java / Sun.

    C# is, different. Not much different, but still. I am learning it quickly and glad our company is switching it's 4800 programers over... it's fast, it's stable, and it is efficient. I have some security concerns, like most of you, but when compared side by side to Java, it wins hands down no matter what you think of MS and 'ole BG.

    Will C# be the deathknell of Java... hell no. Java is the deathknell of Java... it has never matched the hype, and it's ease of programming has made it popular with the less skilled programming community that waves it's flag. I learned Java in less than a week, and within a month was developing enterprise class, networked, db hooked modules and full session terminals for a variety of computing systems and devices. Java needs a make over and serious update NOW, and the whole code base a good sweeping. The address schema is awful as well, leading to LOTS of compatability issues.

    No, Java is killing itself, not some outside force.

    1. Re:Having coded in Java for 4 years... by betis70 · · Score: 1

      Here is my problem with the point of the editor. If Java dies, who loses? Certainly not people like you and me who have programmed in it for a number of years. C# is a relatively easy pick-up for Java programmers (at least at this stage). The big App Server guys like Bea lose. And if C# actually can run on other platforms with the Mono work, then all the better.

      I'm not going to worry about it to be honest. I made the transition from C++ to Java with little work. I think the transition to C# will be about as difficult.

      --
      I forget...are we at war with Eurasia or East Asia?
  18. I'm no expert, but... by Ethelred+Unraed · · Score: 2
    ...it seems to me that Java has a lot going for it because of its versatility, like in embedded devices, as a web development platform and so on. I could be totally wrong here, but .NET and C# seem to be focused only on delivery of applications over a network -- not necessarily practical for many areas in which Java is currently used. Java also has a lot of heavyweights behind it *now* (IBM and Sun above all) and it is in widespread use *now*, giving it a lot more clout than .NET and C#, which are still essentially vaporware in comparison IMO.

    Cheers,

    Ethelred

    --
    Everyone wants to be Ethelred. Even I want to be Ethelred.
    1. Re:I'm no expert, but... by Doppler00 · · Score: 1

      I haven't seen any embedded products that actually run on java. It's a good idea, but I think there is too much overhead in the language for it to be very successful in that market. Most people who program micro controllers either use the native assembly language, or a compiled C version. The goal of embedded design isn't really to make elegant re-usable code, but to make one product that does something fast with as little code as possible.

    2. Re:I'm no expert, but... by Courageous · · Score: 2

      A quibble: compared to Microsoft, Sun is no heavyweight. They're what? 10 times smaller?

      C//

    3. Re:I'm no expert, but... by Troed · · Score: 1
      Java Card


      Only about 50% or so of the total smart card market .. don't know if you call that embedded or not ..

    4. Re:I'm no expert, but... by thermostat42 · · Score: 2, Interesting

      Well, if we're going by revenue:

      Microsoft: $25,296M

      Sun: $18,250M

      IBM: $85,866M

      So, with a little math (25296/18250) its actually 1.4 times smaller, while MS is 3.4 times smaller than IBM.

      --
      no comment
    5. Re:I'm no expert, but... by attobyte · · Score: 1

      People forget Sun sells servers for $1-2 million where M$ sells software for $100-200.

      --
      I didn't use the preview button, so get over it!!!!

      Mike

    6. Re:I'm no expert, but... by Courageous · · Score: 2

      I was going by market capitalization, which is about 10:1. MSFT has enough cash and short term investments to sneeze away SUNW. So does IBM. Wasn't there some speculation that IBM might be attempting to either corner Java or perhaps buy SUNW outright?

      Anyway, last year (2001) Microsoft had several quarters where it's *quarterly* net income was $1 or $2 billion dollars. Sun's best quarter was a measely $136M. Without FTC intervention, MSFT could easily squash SUNW like a bug.

      C//

    7. Re:I'm no expert, but... by Courageous · · Score: 2

      Look at their net income. Whatever else is true, SUNW really isn't earning any money. Their peak quarter last year was $136M whereas MS had several $1-2B net income quarters.

      C//

  19. Forget about Williamson by 2Bits · · Score: 1, Troll

    Bah, whatever Williamson says, you have to take it with a big grain of salt, and maybe add some soy sauce too.

    I used to subscribe JDJ, and I basically discontinued my subscription, in part, because of his sometimes quite stupid column. If you are a regular JDJ reader, you've probably figured out that he is quite pro-MS already.

    Couldn't read the article before it is struck down, and I'd suggest that Williamson go write article in his own magazine, probably something like "C# Developer's Journal", or something like that. I mean, why would you stick with a technology if you know that it has only 5 years left to live? I sure wouldn't.

    1. Re:Forget about Williamson by khuber · · Score: 1

      You're right - Williamson is a dipshit.

      He is an editor and not a venture capitalist. His job is sensationalism to sell JDJ, not predicting the computer industry.

      People are giving him way too much notice on this issue. It's an opinion of a magazine editor you probably never even heard of before this, fer chrissakes.

      -Kevin

  20. Read the article by Anonymous Coward · · Score: 0
    PLEASE don't just provide the usual /. knee jerk reaction to an MS-related topic. Read the article and you'll see that the author makes some very good points.

    I've long been a Java booster, and have used it for some very heavy-duty projects with considerable success, but I've also been following the C# situation, and I have to admit that it's a very serious contender.

    I think Sun will have to some very un-Sun-like things in order to stop the (soon to be) C# juggernaut. It will be very much like the early 80's, when IBM brought out the first PC and everyone was debating whether they could take marketshare away from Apple. Apple and Sun have very similar attitudes about many things, and I'm convinced we'll see Sun and Java get stuffed into a market niche just as Apple was.

  21. Really light article by nvrrobx · · Score: 3, Insightful

    This article is really light on details, and frankly useless. It seems more like a call-to-arms for Java developers, but it certainly lacks the power of Mel Gibson's speech in Braveheart.

    It basically is saying that since Microsoft doesn't support Java, Java will die. I'd like to hope that's not the case. Java has some things .NET and C# do not - it's more mature, has a large developer base, and it's APIs and technologies are well thought out, spec'ed and documented.

    As an example, I just started working with JavaMail a few days ago. Within 20 minutes I was reading emails and sending them. Talk about productive! .NET doesn't have anything that comes close.

    The only thing for me that .NET has going for it is Visual Studio.NET. Like it or not, it's a great development environment, and one that most Windows developers are already familiar with.

    1. Re:Really light article by Courageous · · Score: 2

      .NET doesn't have anything that comes close.

      Careful, there. .NET is at least in part an integration technology for COM. That's quite a large body of components you are blithely dismissing.

      C//

    2. Re:Really light article by nvrrobx · · Score: 1

      Yeah, but if you've ever tried COM Interop, you'd much rather get teeth pulled without an anesthetic.

    3. Re:Really light article by Art_XIV · · Score: 2

      As an example, I just started working with JavaMail a few days ago. Within 20 minutes I was reading emails and sending them. Talk about productive! .NET doesn't have anything that comes close.

      Err... really? What about CDO? Or the System.Web.Mail class? Heck... a well-trained parrot can use VBScript and CDO to send emails.

      Not a great example.

      --
      The only thing that we learn from history is that nobody learns anything from history.
    4. Re:Really light article by nvrrobx · · Score: 1

      When was the last time you used CDO to open an IMAP folder, iterate through the messages and read them?

      Sending them is easy.

      Reading them is a bit more difficult.

    5. Re:Really light article by Courageous · · Score: 2

      Well, _supposedly_ .NET makes all that seamless and easy. Looking at the C# standards, it's prety clear to me that Microsoft has at least in _theory_ created a COM-friendly virtual machine. Forgetting the evils of the involved parties :), it's not a bad idea.

      C//

  22. Like Cobol is dead... by cornice · · Score: 2

    Languages don't really die like that. Look at what happened with Y2K. There's too much invested already, especially in Java. Maybe Microsoft will be able to convince the kids in CS class that it's sexier to focus on C# and not Java. Maybe the number of Java hype magazines on the news stand will be cut in half. Maybe Java won't be as "cool" as it is today (maybe it will be) but it won't be dead.

    I'm amazed at the amount of OS/2 crap that I still see, and OS/2 has supposedly been dead for years.

    1. Re:Like Cobol is dead... by Anonymous Coward · · Score: 0


      Boy, that's encouraging.I can see Sun's new
      Java slogan already:

      "Java! The legacy analog to what
      COBOL was at the turn of the century!"

    2. Re:Like Cobol is dead... by Anonymous Coward · · Score: 0

      Indeed. Java is simply iCOBOL.

      Dumbed down, and marketed heavily at managers.

  23. Java Song... by md17 · · Score: 1


    We need a Java song!

    I am hoping that Na-nana-na hey-hey-hey good-bye isn't an option.

    I would rather see We are the Champions, Yes We are the Champions, Of the World!

  24. Does it really matter by rusty+spoon · · Score: 1

    "We have to look at this together and come up with a strategy that will enable us to effectively take on C#"

    Eh? Why take it on. Surely if it's better then you should use it. If it's not then you simply won't.

    No need for counter arguments, no need for a full frontal assault on the others battle lines.

    Java won't die any more than perl/vb/asm/cobol/etc. will. If C# is good then java will take an even more backseat than it already has - but that doesn't affect the current java developers negatively...afteral, they just want a good cross platform high level language that prevents them from doing bad things, right?

    If the solution is a good one then who cares. I don't use VB or perl (etc.) because they don't meet my requirements. C# might but I have yet to look at it, java doesn't because in my problem-domain it's too damn slow.

    May the best tool win their so called fight for being right.

    1. Re:Does it really matter by Anonymous Coward · · Score: 0


      Your whole argument is based on the idea that
      the best language will win out. The fear is
      that C# will win not on its merits, but due to
      a fact that SHOULD be irrelevant - Microsoft's
      monopoly of the desktop OS market.

    2. Re:Does it really matter by rusty+spoon · · Score: 1

      I don't see the connection. If they are trying to displace one developer tool with another than what do the consumers care. They care about their apps, not what tools were used to produce them.

      MS *will* use their marketing leverage to pound on us developers though. I've never had a mailshot from Sun nor have I been offered Sun sponsored freebies...so in the end if java loses (and *if* it's not due to technicalities) then it's down to poor developer marketing and nothing else. Shame on Sun then for sitting on their laurels for 6/7 years instead of heavily marketing their product to people like me!

      MS rolls out a new product and ships a stack of examples, a nice easy-peasy GUI and provides plenty of support for developers to get started. When I 'played' with java I had none of that. Maybe it's different now but I have no incentive to look. Java sucks and blows in the performance stakes, and if C# does too then it won't get a look in either.

  25. Somewhat premature by cheekymonkey_68 · · Score: 2, Interesting

    I think you'll find even COBOL programs are still be developed commercially, so to say Java will be dead within 5 years is flamebait.

    With C# Microsoft have taken ideas from Java, but C# is isn't Java.

    C# is designed to kill of Visual J++, by migrating users to the .Net via C# but I doubt even Microsoft think it will usurp Java itself.

    Sure Microsoft are trying their best to stifle Java, thats because they feel threatened like some sort of wounded animal.

    Microsoft can't rely on Windows and Office anymore as being their core business longterm, hence their .Net stategy (with C# a small part of their plan)

    Java probaly will die eventually, but I'm sure it won't be C# that does it.

    1. Re:Somewhat premature by Anonymous Coward · · Score: 0

      what?

  26. server seems to be dying by CmdrTaco+(editor) · · Score: 3, Informative
    Just in case it gets fully /.'ed:

    There May Be Trouble Ahead
    by Alan Williamson

    As Nat King Cole famously sang, we have to "face the music and dance..." This month's editorial is coming to you with a reader beware warning!

    I've been engaged in some great debates over the last month on a variety of topics, but the one that has caught my interest is the old chestnut regarding the longevity of Java. Is it here to stay? If not, how long do we have? Quite rightly, it's being talked about and I've had the good fortune to brush shoulders with a number of big names in our industry who have given me their perspectives on the whole debate. I have my own feelings about where Java is headed and I do believe that if, as a community, we don't get our act together, we may have only five years left at the most. After talking to my counterparts, it would appear I'm being overly generous with five years.

    What's happening? Well, it's our old friend C# and its relentless march toward the development community. Setting aside the old argument that due to Microsoft's dominance it may well win the day, it's interesting to look at other reasons why C# may win the battle. Let's blow away some misconceptions that you may or may not be aware of regarding this new kid.

    Myth #1: C# is a Windows-only technology.
    You could be excused for believing that, but did you know there's a major movement in the open source world to port the CLR (Common Language Runtime, i.e., their JVM!) to operating systems other than MS Windows? Linux, to name one. Imagine for a moment being able to run your .NET services alongside Apache on a Redhat box, seamlessly integrating into the rest of the network. This alone would be a major blow to server-side Java. It's also a subtle way for Microsoft to unofficially support the growing number of Linux seats without losing face (read www.halcyonsoft.com/news/iNET_PR.asp).

    Myth #2: C# is an inferior Java clone.
    This is the most dangerous one and the one you probably tell yourself in order to keep the scales tipped in Java's favor. The truth is, it's not an inferior clone; it's a different clone, with many arguing that the differences are minute to the majority of the developer community. It will be frighteningly easy for Java developers to move over to C# with no real headaches to contend with. I suspect this was always on Microsoft's mind when developing the language (read www.prism.gatech.edu/~gte855q/CsharpVsJava.html).

    Myth #3: C# is for developing Web services only.
    Most definitely not, and I have heard this one retorted back to me on a number of occasions. Ironically, this is the one area that could really hurt Java Ð on the client. As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses (although it must be said, the speed of a Swing application on a Mac OS-X does show what could be achieved). C# is the new building block for Windows applications, the next VB! And we know how many applications popped up when VB hit the market (read www.c-sharpcorner.com/WinForms.asp).

    Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.

    Allow me to cite you an example of such blind ignorance and if this doesn't scare you, then I don't know what will. I was recently involved with the Scottish government, discussing technology and what have you, where naturally the topic of Microsoft was high on the agenda. Excusing the fact that these people took a certain pride in believing they knew what was going on and loved name-dropping, the phrase that caught me off guard was the following: "Java? No one is doing that now. Microsoft is no longer supporting it."

    Wow! Talk about a major miscommunication. And this from someone who controls budgets for the technology sector in Scotland. Ironically, I believe he really thinks he has his finger on the pulse of technology. It's sheer ignorance like this that scares me the most. Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead. I have to admit I was taken aback and quite flabbergasted when I heard that retort. I really didn't know where to go with that. So much background information was obviously missing that I wasn't too sure if I would come over as patronizing and whether, ultimately, they would understand.

    Sadly, this is not an isolated incident. Ever since I started writing about this topic in my editorials, I've been hearing stories from you regarding similar misconceptions and it scares me. We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?

    You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!

    Until next month...

    Author Bio
    Alan Williamson is editor-in-chief of Java Developer's Journal. During the day he holds the post of chief technical officer at n-ary (consulting) Ltd, one of the first companies in the UK to specialize in Java at the server side. Rumor has it he welcomes all suggestions and comments.

    1. Re:server seems to be dying by CableModemSniper · · Score: 0

      Does it disturb anyone else that an editor posted a copy of the article just in case the site gets slashdotted?

      --
      Why not fork?
    2. Re:server seems to be dying by Anonymous Coward · · Score: 0

      What I find disturbing is that anyone would be gullible enough to think that CmdrTaco has a six-digit UID.

    3. Re:server seems to be dying by Anonymous Coward · · Score: 0

      How do you know how big my UID is, Kathleen is the only one that's ever seen it, and its way more than six digits anyway. I'd say you could probably fit to hands on there. What... oh, nevermind.

  27. Didn't they say this about Java and C++ by moocat2 · · Score: 2, Insightful

    It seems like we here this a lot. Now that we have language X, no one will program in language Y anymore. Time after time, this proves to be incorrect. There are many reasons to stay with an old language, even if a better one has come along. This includes finding programmers who have the requisite years of experience, the added development cost of doing multi-language development, programmer preference, etc.

    C# will definitely become a major player in the field. Both due to the fact that it is a well reasonably well designed language (Anders Hejlsberg did a good job) and that Microsoft is going to put its weight behind it. But just because C# becomes big, doesn't mean that Java will disappear.

  28. Valid points, not conclusion by bigmouth_strikes · · Score: 5, Insightful

    I think the author has several good points, especially in pointing out some key shortcomings of Java (java on the client, Swing). Also, the .NET toolkit looks very competent and building and deploying .asp's is quite simple as compared to deploying a java solution.

    But the key thing not mentioned is the fact that Big Blue and the rest of the industry is quite determined on Java. Sure, IBM and Microsoft are working together on Web Services, but I think IBM is unlikely to start supporting .NET instead of Java in their tools. More important, when IBM and MS are talking to each other and making standards for web services, it is more likely than not that both Java and C# will coexist.

    Java has shortcomings, but it has become a success despite this, and due to a vast support from professionals ranging from programmers to computer scientists. To say that all this will be gone in 5 years is more than bold, when in fact the amount of existing Java code are probably more than can be replaced in 5 years.

    Of course, languages and platforms come and go, but since C# doesn't drastically change the way application development is done - which is what Java did, in several ways - I don't think it'll start a revolution in the way that the article suggests.

    --
    Oh, I can't help quoting you because everything that you said rings true
    1. Re:Valid points, not conclusion by sheldon · · Score: 2

      "it is more likely than not that both Java and C# will coexist. "

      Agreed. Why can't we all just get along?

      "but since C# doesn't drastically change the way application development is done - which is what Java did, in several ways"

      C# doesn't drastically change things, but .Net does.

      The whole .Net framework completely overturns the way you developed applications for Windows. It's really quite incredible, just from a developer productivity standpoint.

    2. Re:Valid points, not conclusion by dmelomed · · Score: 1

      The whole .Net framework completely overturns the way you developed applications for Windows. It's really quite incredible, just from a developer productivity standpoint.

      I'll believe it when I see it in action, not hype.

    3. Re:Valid points, not conclusion by sheldon · · Score: 2

      VS.NET has been out for over a month now, and Microsoft has been doing demonstrations and handing out Beta copies for well over a year.

      If you haven't seen it yet, whose fault is that?

    4. Re:Valid points, not conclusion by Daimaou · · Score: 1

      Also, the .NET toolkit looks very competent and building and deploying .asp's is quite simple as compared to deploying a java solution.

      The following is just my experience with .NET and Java. I don't claim to have great wisdom or understanding of either technology.

      The .NET toolkit is fairly competent for applications, however, I have been developing some ASP.NET pages and custom controls for the company I work for and I find C# and ASP.NET cumbersome in many ways.

      As an example that doesn't take an hour to explain, when I'm writing a servlet or JSP, I only have to worry about Java and HTML. With .NET I have to concern myself with either VB (not a chance) or C#, ASP tags, HTML and either JScript or VBScript. I hardly call this simplified. I've also noticed that complicated pages and controls look great on IE, but suck on other browsers. I've never had that problem with servlets or JSP pages.

      If this is all that .NET offers me for web development, I don't think they will be killing Java anytime soon. Heck, they can't even kill VB.

    5. Re:Valid points, not conclusion by Hairy1 · · Score: 1

      Also, the .NET toolkit looks very competent and building and deploying .asp's is quite simple as compared to deploying a java solution.

      You must be kidding. NetBeans and Tomcat allow you to develop and deploy with amazing ease. Besides which, have you ever seen that junk programming that goes into ASP? I'm not saying you can't write nice ASP's, but I have yet to see a system that separates business logic from the ASP. One system had the login logic repeated on every page

    6. Re:Valid points, not conclusion by dmelomed · · Score: 1

      But that's still beta hype.

  29. Java has Willow Power by Anonymous Coward · · Score: 0

    Java used to be in trouble. Now Java has Willow from Buffy The Vampire Slayer on it's side. With Willow's Elite teaching ability and magical powers, Java will become unstoppable.

    You think I'm joking? See here - Willow Teaches Java.







    Geek Clothes with Slashed prices for the next 30 days.

  30. Mirror by Anonymous Coward · · Score: 0

    In case this site goes down, here's the article:

    As Nat King Cole famously sang, we have to "face the music and dance..." This month's editorial is coming to you with a reader beware warning!

    I've been engaged in some great debates over the last month on a variety of topics, but the one that has caught my interest is the old chestnut regarding the longevity of Java. Is it here to stay? If not, how long do we have? Quite rightly, it's being talked about and I've had the good fortune to brush shoulders with a number of big names in our industry who have given me their perspectives on the whole debate. I have my own feelings about where Java is headed and I do believe that if, as a community, we don't get our act together, we may have only five years left at the most. After talking to my counterparts, it would appear I'm being overly generous with five years.

    What's happening? Well, it's our old friend C# and its relentless march toward the development community. Setting aside the old argument that due to Microsoft's dominance it may well win the day, it's interesting to look at other reasons why C# may win the battle. Let's blow away some misconceptions that you may or may not be aware of regarding this new kid.

    Myth #1: C# is a Windows-only technology.
    You could be excused for believing that, but did you know there's a major movement in the open source world to port the CLR (Common Language Runtime, i.e., their JVM!) to operating systems other than MS Windows? Linux, to name one. Imagine for a moment being able to run your .NET services alongside Apache on a Redhat box, seamlessly integrating into the rest of the network. This alone would be a major blow to server-side Java. It's also a subtle way for Microsoft to unofficially support the growing number of Linux seats without losing face (read www.halcyonsoft.com/news/iNET_PR.asp).

    Myth #2: C# is an inferior Java clone.
    This is the most dangerous one and the one you probably tell yourself in order to keep the scales tipped in Java's favor. The truth is, it's not an inferior clone; it's a different clone, with many arguing that the differences are minute to the majority of the developer community. It will be frighteningly easy for Java developers to move over to C# with no real headaches to contend with. I suspect this was always on Microsoft's mind when developing the language (read www.prism.gatech.edu/~gte855q/CsharpVsJava.html).

    Myth #3: C# is for developing Web services only.
    Most definitely not, and I have heard this one retorted back to me on a number of occasions. Ironically, this is the one area that could really hurt Java on the client. As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses (although it must be said, the speed of a Swing application on a Mac OS-X does show what could be achieved). C# is the new building block for Windows applications, the next VB! And we know how many applications popped up when VB hit the market (read www.c-sharpcorner.com/WinForms.asp).

    Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.

    Allow me to cite you an example of such blind ignorance and if this doesn't scare you, then I don't know what will. I was recently involved with the Scottish government, discussing technology and what have you, where naturally the topic of Microsoft was high on the agenda. Excusing the fact that these people took a certain pride in believing they knew what was going on and loved name-dropping, the phrase that caught me off guard was the following: "Java? No one is doing that now. Microsoft is no longer supporting it."

    Wow! Talk about a major miscommunication. And this from someone who controls budgets for the technology sector in Scotland. Ironically, I believe he really thinks he has his finger on the pulse of technology. It's sheer ignorance like this that scares me the most. Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead. I have to admit I was taken aback and quite flabbergasted when I heard that retort. I really didn't know where to go with that. So much background information was obviously missing that I wasn't too sure if I would come over as patronizing and whether, ultimately, they would understand.

    Sadly, this is not an isolated incident. Ever since I started writing about this topic in my editorials, I've been hearing stories from you regarding similar misconceptions and it scares me. We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?

    You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!

    Until next month...

  31. Heck Yes! by augustz · · Score: 3, Insightful

    There are couple of key points that are interesting about this.

    C# really is a standard. Microsoft's decision to go the standards route really validates the competitive advantage true open standards generate.

    The HUGE question is if Microsoft will try and pull some patent / IP protection / royalty stunt with C#. We need to have some lawyer go over the C# license, standards doc, patent agreement to see if Microsoft has given up it's rights to sue for patent infrignment if people develop competing implementations.

    My feeling is that if it becomes clear that C# is a truely open standard, that it will be suprisingly succesfull. Despite what Java zealots like to claim, the underlying technology is good. And while I initially was a member of the Java lobby, their eternal harping on the "eventual" standardization of Java turned me off. Java is not an open standard, and for an underlying technology that every company can feel comfortable going with (including Microsoft) that fact is problamatic. And Sun has already pulled a couple of students with Java and royalties on the enterprise level etc. We're getting competing implementations already with go-mono.net for C#.

    The problem Microsoft faces is that they really need to totally convince folks (aka with binding legal agreements) that they are making this a real open standard and aren't going to pull a patent protection bogosity on anyone. They face in this case the facts of their history, which is horrible. I'm frankly concerned a bit less about the embrace and extend side of things, though it would be nice if they didn't pull stunts in that area either.

    Anyways, if Microsoft does it well, C# could really take off. The key is schools. Java is the it language now, and that matters more than people think. If you start with java you become familiar with Java IDE's, you become familiar with other Java projects, and when the time comes to whip up your first website you'll pick java which means when you deceide to make a big website, you'll probably choose Java as well. People will choose whats comfortable, not what is necessarily technically superior and the decisive moment for comfort is what you are forced to learn in high school and college.

    1. Re:Heck Yes! by Anonymous Coward · · Score: 1, Informative


      Java is not an open standard

      Then what do you call this?

    2. Re:Heck Yes! by Anonymous Coward · · Score: 0

      And what is the record for Microsoft STAYING on a standard (by standard I mean a STANDARD - something that can be used on more than one platform)
      ????
      If anyone is lured by the notion that C# is a standard they are a fooking moron if they think the lure will last.
      Microsoft will get people on board and then brazenly abandon the pretense of standardization
      JUST AS THEY ALWAYS HAVE DONE.

    3. Re:Heck Yes! by MisterBlister · · Score: 2
      The HUGE question is if Microsoft will try and pull some patent / IP protection / royalty stunt with C#. We need to have some lawyer go over the C# license, standards doc, patent agreement to see if Microsoft has given up it's rights to sue for patent infrignment if people develop competing implementations.

      Well, for all of their shady business practices, Microsoft is fairly reasonable when it comes to patent/IP issues. And in any case, they aren't in much of a position now to go suing people for writing competing products, even if they technically own patents, etc, because they're going to need to lay low for a few years while this anti-trust business blows over.

      C# is a pretty great language for what it is..Sure it borrows a ton from Java but Java borrowed a ton from C++, Smalltalk and other languages..That's how language evolution works. I think the bigger problem for Sun, though, is Microsoft's CLR technology is a lot more language neutral than Java VMs are, so its not just C# they need to worry about, but every language with a CLR implemention -- which is like 20 languages currently, and growing.

      I've always thought Sun's push to keep you from locking into a operating system platform was rather funny considering it consists of locking you into a language platform, which generally is much harder to get out of. (Easier to port a Win32 C++ program to Solaris than it is to port a C++ program to Java or vis versa). If we're going to have cross platform computing, make it cross-language too -- Microsoft is doing that, Sun isn't.

      (PS. Yes, I know you can get various languages to run on the JVM, ie. JPython, et al, but there's no denying that the JVM is very oriented towards Java as a language and won't let you stray too much from it without major kludge-work).

    4. Re:Heck Yes! by Ophidian+P.+Jones · · Score: 0

      Anyways, if Microsoft does it well, C# could really take off.

      Wow. You think?

    5. Re:Heck Yes! by Anonymous Coward · · Score: 0

      Does the existance of books about the win32 API make it an open standard in your mind?

      Hell, a few parts of win32 have even been submitted to standards organizations in the past.

      Even win32 is less proprietary than Java, but feel free to continue sticking your fingers in your ears and humming, if it makes you feel better.

    6. Re:Heck Yes! by Anonymous Coward · · Score: 0

      Replace Microsoft with Sun, and C# with Java and your post still holds true.

      It amazes me that people are falling all over themselves letting vendors lock them in in the worst possible way. Using JAVA or .NET is just giving one company a monopoly on the language, the OS (APIS) _AND_ the CPU (bytecode).

      If Intel came out with INTELOS that could only use the new INTELC!* language, and only ran on Intel chips, people would be suspicious. But no one is suspicious when Sun or Microsoft does essentially the same thing, simply because they pretend that its portable.

      Combine WINE and BOCHS and now wintel is just as portable as Java and .NET.

    7. Re:Heck Yes! by thelexx · · Score: 2

      "C# really is a standard. Microsoft's decision to go the standards route really validates the competitive advantage true open standards generate."

      BS. Only the CLR and C# have been submitted. Further, I seriously doubt that any real .NET tools will be available from MS for any platform but Windows, pretty much ever. You really think they are willing to completely open all their shiny new API's for easy implementation by everyone else? Re-reading the Halloween documents will help clarify what goes on the heads of MS management.

      LEXX

      --
      "Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
    8. Re:Heck Yes! by benwb · · Score: 2

      A specification for a language which remains under the control of a single company- i.e. a non-open standard.

    9. Re:Heck Yes! by SoupaFly · · Score: 1

      >The key is schools. Java is the it language now,
      >and that matters more than people think.

      By that logic, Pascal would have been a major language. But it was never really anything more than a teaching language.

    10. Re:Heck Yes! by Anonymous Coward · · Score: 0

      If anyone on the planet is able to create a JVM from scratch that is completely compatible with Java, why the fuck does it matter if Java is an "Open Standard"? Is your opinion of Linux or FreeBSD affected by the fact that they are not "UNIX"?

    11. Re:Heck Yes! by Anonymous Coward · · Score: 0

      > Does the existance of books about the win32 API
      > make it an open standard in your mind?

      > Hell, a few parts of win32 have even been
      > submitted to standards organizations in the past.

      > Even win32 is less proprietary than Java, but feel
      > free to continue sticking your fingers in your
      > ears and humming, if it makes you feel better.

      What is the title of the book or document that describes the Win32 API in great enough detail to produce a fully compatible independant implementation of it? Maybe we someone should send a copy over the WINE folks...

      The parent of your post contained a link to that for Java.

    12. Re:Heck Yes! by augustz · · Score: 2

      I call it fooling the folks like you by writing a book on a language which is not an open standard.

      If I write a book on Rebol / Visual Basic does that makes them open standards? If I write a book on the Windows API specification does that make Windows and open standard?

      How you got modded as informative is beyond me.

    13. Re:Heck Yes! by augustz · · Score: 2

      How is what I say BS? I say C# is a standard. You say C# -AND- the CLR are have been submited. Listen, all of this is light years beyond what Sun has submitted to standards bodies, despite their incessant promises to submit.

      And the point of standards is not that Microsoft port their .NET tools to any platform, the point is that I can implement on any platform.

      Just because someone doesn't make C++ tools for your favorite platform doesn't mean C++ is a closed language. Microsoft's willingness to put Visual Studio .NET on a Palm Pilot has zero bearing on whether C# is a standard or not.

      The FACTUAL errors of java zealots are always incredible.

      - August

    14. Re:Heck Yes! by AndroidCat · · Score: 1
      /me looks at Delphi 6 icon on my desktop
      /me scratches head.

      Granted Turbo Pascal/Delphi hasn't been anywhere close to the original standard from the begining. Turbo Pascal 2 ($49) was a godsend back when we were messing around with junk like Whitesmith C ($500). I forget when Turbo Pascal got objects, but I'm pretty sure it was before the first practical C++ compilers were available. (Zortech, etc)

      That's one reason I'm going to take a look at C#. Anders was the architect behind Turbo Pascal/Delphi, and the delevopment environment always fit me like a glove.

      --
      One line blog. I hear that they're called Twitters now.
    15. Re:Heck Yes! by AndroidCat · · Score: 1

      Of course, I might just keep using Delphi/Klyxx on Windows/Linux... :^)

      --
      One line blog. I hear that they're called Twitters now.
    16. Re:Heck Yes! by thelexx · · Score: 1

      "The FACTUAL errors of java zealots are always incredible."

      The ARROGANCE and WORD TWISTING of MS serfs is always incredible.

      "the point is that I can implement on any platform"

      And I say that that is only half the story, aka bullshit. That is all. Forms, etc will never be released to a standards body. The CLR and C# are largley useless from a cross-platform development point of view without all that. Unless MS is currently planning for and intending to _make happen_ the day that they give up control of the desktop. I guess we shall see.

      "Microsoft's willingness to put Visual Studio .NET on a Palm Pilot has zero bearing on whether C# is a standard or not."

      No, really? It never would have occurred to me! Thanks for explaining that. Jeez. You are again ignoring/missing the real issue of true cross-platform app development, which is the #1 or #2 reason people choose Java, depending on who you ask.

      LEXX

      --
      "Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
    17. Re:Heck Yes! by Anonymous Coward · · Score: 0

      If I write a book on Rebol / Visual Basic does that makes them open standards? If I write a book on the Windows API specification does that make Windows and open standard?

      Like I told some other guy, are those Visual Basic books in enough detail that you could completely re-implement the language from scratch on your own?

      No, I didn't think so.

    18. Re:Heck Yes! by Hard_Code · · Score: 2
      I think the bigger problem for Sun, though, is Microsoft's CLR technology is a lot more language neutral than Java VMs are, so its not just C# they need to worry about
      Not really. The CLR was designed with a particular type of language in mind, C#. Everything else is basically C# with different tokens. Ask functional programmers what they think of CLR.
      --

      It's 10 PM. Do you know if you're un-American?
    19. Re:Heck Yes! by augustz · · Score: 2

      Yes, I'm clearly a MS serf... Take a look at userid's you idiot.

      Java zealots like to pull out the name calling instead of actually addressing points. This "MS serf" BS. What about supporting your "arrogance" charge? Arrogant about what exactly?

      "The CLR and C# are largley useless from a cross-platform development point of view without all that."

      Ahh, since CLR and C# are useless, that explains why go-mono.net is going gangbusters to develop an implementation on Linux.

      Have you actually developed large cross platform client side java apps? I don't want to start a flame war, but I'd suggest you start following some mailing lists in the Java and mono communities. Sign up for a sourceforge account and contribute to some projects. It will help your credibility when you start calling folks "MS serfs" and you'll also have a better grasp of the technology side of things.

      Since I've been part of the community since 1999 (aka when SF opened) I hope you'll understand if I take your claims of "MS serf" with a grain of salt. I think you notice soon that the folks who are the first to yell "MS serf" are often the folks who talk a lot but have contributed little if anything to anyone.

    20. Re:Heck Yes! by sheldon · · Score: 2

      "The key is schools. Java is the it language now, and that matters more than people think."

      That's why Pascal is so popular.

      Oh, wait...

    21. Re:Heck Yes! by augustz · · Score: 1

      Totally true... It's funny, but now most microsoft languages are just different syntactic mappings on top of C#. Even VB has by and large made the leap.

      Since I'm not familiar with how one would design a CLR that was able to function languages, or even stuff like prolog nicely, is there a significant overhead in being so multipurpose or would it have been reasonably possible?

    22. Re:Heck Yes! by moncyb · · Score: 1

      Yes, I'm clearly a MS serf... Take a look at userid's you idiot.

      Not that I'm saying you are, but that is a silly argument. I mean, you're referring to your low slashdot uid number, right? For all any of us know, you could have been known as the "MS Troll" in your early days...

      Ahh, since CLR and C# are useless, that explains why go-mono.net is going gangbusters to develop an implementation on Linux.

      LOL! This one's really funny. That Linux Mono movement you're talking about was started by the GNOME people, and I think that it's obvious to anyone that knows the subject well that GNOME is just a low end clone attempt at Win98 for UNIX systems. I imagine if they saw a MS promotional video showing some Windows programmers shoving their hands into yak butts, the GNOME people would have one out within a week.

      All the real open source programmers seem to still be using lower level libraries like GTK ...then sometimes put in some basic support for GNOME just to make the GNU people happy. I honestly don't think GNOME (or KDE) is really wanted except by script kiddies and buzzword jockeys.

    23. Re:Heck Yes! by Anonymous Coward · · Score: 0

      Sun has not actively pursued, encouraged, or more importantly, allow to be certified, anyone to write JVM bytecode w/o writing Java. How tightly "integrated" is Java Bytecode with Java compared to CLR and C#?

      How orthogonal is CLR wrt to the languages that compile to it anyways? IIRC, there will be things you can do in C# with the CLR that won't be possible to implement in any other .Net language, but that anything the other .net languages can do C# should be able to do as well.

    24. Re:Heck Yes! by Anonymous Coward · · Score: 0

      > > "The key is schools. Java is the it language now, and that matters more than people think."
      > That's why Pascal is so popular.

      Pascal was designed from the outset to be just a teaching language; later on all the needed-to-be-useful stuff was added on.

      And Borland Delphi is *Very* popular; guess which language it uses?

      Java was already an established in-use language when schools started teaching it. Completely reversed evolution of the designs.

  32. XP quote and more by mgkimsal2 · · Score: 4, Insightful

    "Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead"

    I don't think MS had much to do with it. Sun and a seemingly large segment of the Java community and many industry pundits made a big stink about XP not including Java. I don't recall MS saying much one way or the other except saying you could download a JVM from their site. The Java community themselves planted this seed of doubt.

    "As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses"

    I'm not going to say Sun should open source Java, but for heaven's sake, make a GUI toolkit that doesn't suck. You can't cite Java's 'newness' as an excuse anymore.

    However little you think of VB (especially VBScript) MS has provided a huge number of tools to make development easy and painless - and the results are often decent. I remember being able to put together *simple* VB data collection forms back in 94-95 without having too much idea what the hell I was actually doing. There STILL nothing like that for Java. - Go ahead, flame away. I'm not a hardcore Java guy, but someone else here at the office is, and we constantly see shortcomings. That's not to say there's not strengths too, but still shortcomings. Open sourcing Java *MIGHT* help overcome many of those shortcomings (especially in the GUI toolkit area).

    I keep repeating this on various boards - if Sun was serious about getting Java to the masses, they'd carpet bomb the hell out of the US with CDs ala AOL with the latest JVM for multiple platforms. That they DON'T do this speaks volumes. Better yet - get AOL to bundle it on their CDs and have an installer with lots of nice Java packages - an 'intro to Java' for the common man. Explain the cross-platform benefits, etc. - something my mom could understand.

    1. Re:XP quote and more by Twister002 · · Score: 3, Interesting

      IBM has done a LOT more for Java GUIs than Sun ever has IMO.

      I installed the latest version of Eclipse and I was amazed at how fast the GUI ran. It is the first Java application that I've ran that didn't frustrate the hell out of me by running slowly. Sun should incorporate whatever GUI widgets IBM made into the next JDK.

      --
      "For a successful technology, honesty must take precedence over public relations for nature cannot be fooled." -Feynman
    2. Re:XP quote and more by revscat · · Score: 1

      I'm not going to say Sun should open source Java, but for heaven's sake, make a GUI toolkit that doesn't suck. You can't cite Java's 'newness' as an excuse anymore.

      If you are interested, try Eclipse. It is IBM's open source Java IDE and it is very, very solid. It is much faster than Forte, and isn't bloatware, either.

      Plus I love the fact that Ctrl-S not only saves but compiles. RaH.

    3. Re:XP quote and more by DA_MAN_DA_MYTH · · Score: 2

      I'm not going to say Sun should open source Java, but for heaven's sake, make a GUI toolkit that doesn't suck. You can't cite Java's 'newness' as an excuse anymore.

      I love hearing this argument. Yeah Java's AWT is somewhat heavyweight. But it is old, it's been around since JDK 1.0. JDK 1.2 Swing still has a ways to go but has made some significant improvements. However the problem that people neglect is that these Windowing toolkits are cross platform. I guarantee that my Java applications will out perform your VB, with the exception on Win32, on every other platform. Java gives people choice of where you can run those applications.

      However with the advent of .NET and J2EE becoming a larger API, it really isn't going to be about windowing anymore. It's all about Web Services. What can you do networking. Programming VB Data Collection forms will still be important, but soon you will see more and more drag and drop collections similar to VB with Java IDE's. That is once Sun really starts standardizing reusable JavaBeans.

      --
      "It takes many nails to build a crib, but one screw to fill it."
    4. Re:XP quote and more by mgkimsal2 · · Score: 2

      As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses

      That's right - when you can't compete, leave the arena.

      I'd guarantee my QT app (or wxwindows, or even GTK) would run circles around your Java Swing app and run on multiple platforms.

      soon you will see more

      OK - "soon". I was thinking 2 years ago when I heard 'soon' back then too. JAVA IS NOT NEW. Sun needs to have delivered stuff years ago. They can't get out of promise mode. The guy below was right - IBM has done more for Java than Sun *ever* has, except for write API definitions.

    5. Re:XP quote and more by Anonymous Coward · · Score: 0


      I guarantee that my Java applications will out perform your VB, with the exception on Win32, on every other platform

      Last time I checked, VB didn't run anywhere but Win32. Meaning only 92% of the desktop market.

    6. Re:XP quote and more by adubey · · Score: 3, Insightful

      I keep repeating this on various boards - if Sun was serious about getting Java to the masses, they'd carpet bomb the hell out of the US with CDs ala AOL with the latest JVM for multiple platforms. That they DON'T do this speaks volumes

      Actually, AOL spent billions of dollars shipping out the CD's, and they had a way to quickly make money off them: charge $x for dial-up access.

      Sun could spend billions of dollars shipping out Java CD's, but how will they make money from this platform? There are three ways: 1) make money from licensing the platform implementation (i.e. like a Windows license fee) 2) make money from add-on software (i.e. like Office over windows) 3) make money from hardware.

      The thing is, they can't make money from #1 they've already licensed JVM's for dirt cheap. Spending billions won't give them any real advantage over IBM or Dell on #3. That is one reason why Sun is losing marketshare to both.

      Then there is #2. But this doesn't make sense unless Sun already has software that people are willing to spend money on.

      And since their blitz campaign will cost billions, they better have software that people will spend billions on.

      They just don't have this. That's why they don't blitz.

    7. Re:XP quote and more by MisterBlister · · Score: 2
      Sun doesn't have to Open Source Java for alternate GUIs to become available...There are already various 3rd party toolkits, such as IBM's SWT that either use native widgets or run in pure Java (which for obvious reasons tends to be slower)...

      The problem is its hard to get people to adopt these other toolkits with Sun standing firmly behind Swing, which as the article mentioned is almost so slow as to be unusable on every Java implementation except the OS X one.

    8. Re:XP quote and more by MisterBlister · · Score: 2
      I guarantee that my Java applications will out perform your VB, with the exception on Win32, on every other platform.

      I guarantee that my VB or C# applications will out-perform your Java on the vast majority (90+%) of installed non-server (since we're talking GUI apps) computers worldwide.

    9. Re:XP quote and more by tdrury · · Score: 3, Insightful

      Eclipse is built on SWT. You can get all the source and the API that eclipse is built with. SWT is a very thin layer (one-to-one by design) to the underlying windowing toolkit. So far, Win32, Motif, and gtk are supported although I had some problems with the gtk one. Qt is sadly missing, but I suspect once SWT catches people attention, a Qt binding will be created.

      Try SWT, it run circles around AWT/Swing. Sure it breaks platform independence to a degree; you'll have to distribute the appropriate dll/so along with your app, but who cares? That is a very small price to pay for a good java GUI.

      API javadoc

      -tim

    10. Re:XP quote and more by Anonymous Coward · · Score: 0

      This was one of the things that Microsoft did to get around the poor GUI performance of Java. All of Microsoft's extensions were to increase performance under Windows and those extensions could be turned off by a single checkbox in VJ++.

      What did Microsoft get in return for its efforts to push client side Java on the Windows platform? A lawsuit from Sun claiming that they were adulterating the language.

    11. Re:XP quote and more by Anonymous Coward · · Score: 0

      It must have been a later version of J++ than the one I had because I could never find the options to:

      Disable MS-only extension classes.

      Compile using Java syntax rules instead a weird mix of K&R C syntax and Java syntax. Nice code reuse of their existing C++ compiler by MS though.

      Use keywords and options added after Java 1.0.

    12. Re:XP quote and more by Anonymous Coward · · Score: 0

      AOL could put the JVM on the AOL disks they mail out. Maybe other companies would like to get involved too. Then people would actually have a reason to open the AOL disk and put it in their computer, at which time it could play a little AOL advert. Everybody wins.

    13. Re:XP quote and more by Anonymous Coward · · Score: 0

      I use OSX on a 500Mhz G4, and Swing is still too slow to be usable.

      Maybe on a dual GHZ G4, but requiring that kind of hardware just for a simple GUI is fucking ridiculous.

    14. Re:XP quote and more by Anonymous Coward · · Score: 0

      However little you think of VB (especially VBScript) MS has provided a huge number of tools to make development easy and painless - and the results are often decent.

      go to symantec's anti-virus research site and do a search on VBS. You'll get pretty decent results.

    15. Re:XP quote and more by Jason+Earl · · Score: 2

      The stupidest thing about Java and Swing is that even Python combined with wxPython produces snappier GUIs, and wxPython runs very well on both UNIX and Windows. In other words, if you are willing to forgo supporting Macs, you can write a cross-platform application in Python that will be much easier to write and maintain than anything in Java.

    16. Re:XP quote and more by phpdeb · · Score: 1

      Why should Sun market Java to your Mom? Does your mom give a crap what language this or that app is written in?

      I really think that would be a waste of money for Sun. Sun needs to market to the development community. No one other than developers cares about Java or C#. Users just want apps that do what they say they are going to do and provide some sort of value to them, they don't care what language they are written in.

      Maybe I am just missing a portion of the problem, but I don't see marketing Java to the masses as providing any value to Sun.

    17. Re:XP quote and more by justin+sane · · Score: 3, Insightful

      However little you think of VB (especially VBScript) MS has provided a huge number of tools to make development easy and painless - and the results are often decent. I remember being able to put together *simple* VB data collection forms back in 94-95 without having too much idea what the hell I was actually doing. There STILL nothing like that for Java. - Go ahead, flame away. I'm not a hardcore Java guy, but someone else here at the office is, and we constantly see shortcomings. That's not to say there's not strengths too, but still shortcomings. Open sourcing Java *MIGHT* help overcome many of those shortcomings (especially in the GUI toolkit area).

      Yeah, as a result VB is the number one favorite coding vehicle for worm and virus writers. Great recommendation BTW. WHen is VB gign to be open-soruce along with all the tied-in Windows APIs? (never of course). LOL

      I keep repeating this on various boards - if Sun was serious about getting Java to the masses, they'd carpet bomb the hell out of the US with CDs ala AOL with the latest JVM for multiple platforms. That they DON'T do this speaks volumes. Better yet - get AOL to bundle it on their CDs and have an installer with lots of nice Java packages - an 'intro to Java' for the common man. Explain the cross-platform benefits, etc. - something my mom could understand.

      Yeah right. That's how C, C++ and Lisp became popular huh? Lame.

      Anyone notice the rapid incrase of M$ supporters on /. now that M$ thinks Open Source and Linux is a threat? Apparently they are starting a "simulated" grass-roots campaign on /. I wonder how much these shills are getting paid? Based on their poor analogy, logic, and reasoning skills I hope not much. Ignorance and sophistry should not be lucrative.

    18. Re:XP quote and more by spitzak · · Score: 2

      Qt was written in a good deal less time than Swing, and it is multiplatform.

    19. Re:XP quote and more by mgkimsal2 · · Score: 2

      "Users just want apps that do what they say they are going to do and provide some sort of value to them, they don't care what language they are written in."

      And they can get those already natively with Windows. There won't be *any* sort of market demand at any level for Java stuff on a mass scale unless there's some demand from consumers. MS isn't shipping a JVM with XP, and consumers don't give a damn.

      Sun shouldn't market the Java 'language' to my mom - Sun should market the idea of a Java 'platform' to my mom. Consumers currently want/expect Windows. With enough cajoling (as long as the Java stuff is relatively good) consumers *could* very well start wanting/expecting a Java platform instead of Windows.

    20. Re:XP quote and more by mgkimsal2 · · Score: 2

      That's rich - me a 'grass roots' MS supporter. Anyone who knows me knows I'm pretty far from that. But I'm not here to match credentials with someone.

      Sun is trying to go after many of MS' markets. C and Lisp have had *much* more time to mature and grow mind share among developers. Java is a relative newcomer, but the stakes are higher for Sun because they're basing a lot of their business on it.

      Sun (and/or Sun supporters) bitched because MS dropped the JVM from XP. Newsflash - Sun is a billion dollar company that could *well* afford to get current JVMs to a huge portion of the population (at least in this country right now) if they so chose. Instead, they require a 8-10 meg download which most people on dialup won't do. People on dialup (hint - the majority of the net users out there) don't have current JVMs - any experience they may have with Java apps or applets will suck. Java's image goes down the pan to the ordinary user.

      I said before, I don't think Java necessarily needs to be open source - any company trying to do open source really needs to be committed to the whole process, not just buzzwords. VB doesn't need to be open sourced because there's one company that provides fairly regular updates, tools, etc., (Microsoft) and they've done a very good job of coaxing/buying/convincing developers to developer on their platform. Additionally (and more importantly, imo) desktop apps written in VB generally don't suck as much as Java ones. Yeah, I've heard all about the threading model/event handlers and Java 1.4, etc. Plain fact is, Sun doesn't make it easy to make nice desktop apps with Java. Not as easy as MS makes it with VB.

      Whoops! Oh yeah, Java people say "desktop apps suck" (cause Java isn't good at it) "web services are the way to go". Whatever. You've got a hell of an uphill battle against MS. I'm not HAPPY about this at all. Personally, I'd rather see more people get behind Perl as ime it's much more cross platform AND faster to develop in. But it doesn't have a single huge corporation (Sun) behind it, so it doesn't get the mindshare/press Java and MS do.

      Also your line about "ignorance and sophistry" looks great in the same paragraph as "M$". Keep it up! :)

    21. Re:XP quote and more by mgkimsal2 · · Score: 2

      THANK YOU! Excellent point. But no good - half the the "we hate 'M$' and will support 'Java' because it's cool!" crowd probably don't even know what Qt is.

    22. Re:XP quote and more by Anonymous Coward · · Score: 0

      Yeah, then we would end up with Java/TK. I'm sure that would really take off.

    23. Re:XP quote and more by Steveftoth · · Score: 1

      Another reason that you cannot distribute jre to a million people via cds is that at the end of the day, the JVM is not a generic deployment platform.

      Any java application is just simply not able to easily deploy to a stock install of a jvm. As a java developer I know that it is much easier to install your own jdk with your client rather then use one that is preinstalled.

      the jvm lacks a real versioning scheme, if you program your application for java 1.2, then run it on 1.4, it will have a slightly different behavior. This is more true with 1.4 then any other vm to date. So sun would be stupid to do this.

      Java Web Start is slowly changing this, but that is very new and most people don't know about it and how to use it. And it still doesn't solve the versioning problem as when sun releases jdk 1.5 your application may suddendly be broken.

    24. Re:XP quote and more by Malcontent · · Score: 2

      I think you missed his point. Your VB app is useless on any platform other then windows.

      --

      War is necrophilia.

    25. Re:XP quote and more by sheldon · · Score: 2

      "Based on their poor analogy, logic, and reasoning skills I hope not much. Ignorance and sophistry should not be lucrative."

      Well than, you shouldn't have anything to worry about then, should you?

      But I'm curious, why are you so frightened?

    26. Re:XP quote and more by Anonymous Coward · · Score: 0

      What does an IDE have to do with GUI toolkits? How will using a different editor make Swing suck less?

    27. Re:XP quote and more by Jord · · Score: 1, Troll

      Well I just played with Eclipse and I must say, as an IDE goes, it is not very impressive. Seems to be build more for the Windows Developer than anyone else. And while that may be the "norm" of the script kiddies out there, I would rather see an editor more designed for the serious developer.

      Must also say that SWT looks HORRIBLE. I would rather put up with a slight lag in the gui than put up with something that is going to ruin my vision!

      Swing is only slow when the developer can't code. If you are using an IDE to build your gui for you it is going to be slow. Learn the language, write you gui by hand and learn how to make it perform. I write Swing GUIs on a daily basis that are quite fast. Would I say they perform as fast as native? Depends on the platform. Linux? yes, OSX? yes, Windows? hell no. Is that the language's fault? probably not.

      What I am saying here is dont fault the API when you are running windows. My bet is on the problem being in the OS.

      If you want to see a real gui, written in Swing, that runs quite nicely on every platform try out Netbeans I think you will be quite surprised and pleased. I know I was.

      Of course if you want to do some serious coding then you need to learn VIM, there is a true editor. Definitely not for the script kiddies.

    28. Re:XP quote and more by Anonymous Coward · · Score: 0

      Hmm... Java at least makes it possible to make an app I could run on a Mac (or Linux). VB for Mac? Not. When? Never.

    29. Re:XP quote and more by alext · · Score: 3, Informative

      This is an exaggeration. Thousands of developers use JBuilder all day, and that is built on Swing. I switched to Eclipse, which uses SWT, and noticed no difference in GUI performance at all - they're both perfectly OK.

    30. Re:XP quote and more by phpdeb · · Score: 1

      I disagree. I still don't think end users know or care what "platform" an app is written in. If I tell my mom about this great platform, she would look at me with a blank stare and say, "Platform?"

      I think that if you write an application in Java that people will want it is not going to matter whether XP has a JVM or not, just bundle a JVM with the app.

      Why is that so hard to understand?

  33. And five years from now? by headkase · · Score: 1

    Microsoft software usually doesn't start to be good/stable until version 3.0. They may not be giving Java a run for it's money now but how about 5 years from now when C# has the same number of API's as Java?

    --
    Shh.
    1. Re:And five years from now? by Anonymous Coward · · Score: 1, Insightful

      Microsoft software usually doesn't start to be good/stable until version 3.0. They may not be giving Java a run for it's money now but how about 5 years from now when C# has the same number of API's as Java?

      In five years from now java will still be five years ahead of C#. In five years Java is going to have even more APIs and the existing ones are gonna be even better(more powerful, easier), to work with.

    2. Re:And five years from now? by corps_inc · · Score: 0

      And you gotta be a rocket scientist, ain't you.

      One of the main functions they include in their API is LoadDLLLibrary(). It loads old DLLs. Guess where this'll take them. To porting 3.1 an 95 or other already compiled DLLs in .Net. Otherwise there is no effective usage of this and M$ would be forced to rewrite complete System.
      Using this technology this way it'll make them even more effective in being ineffective.
      Ain't bested them in their own game, busted him self in it's own game more likely.

  34. Java is actually quite useful. But it's doomed. by z00r · · Score: 0
    The Linux community should be pushing Java as much as possible---oh, but wait, Sun won't let Java ship with Linux without everyone paying a royalty.

    ....It's just yet another case of a useful project being run into the ground by the greed of a corporation. Oh well.

    1. Re:Java is actually quite useful. But it's doomed. by Anonymous Coward · · Score: 0

      "the greed of a corporation."

      Greed? GREED??? THEY SPENT TENS OF MILLIONS OF DOLLARS DEVELOPING IT!!! What the hell are you talking about???

      I'm sick and tired of people screaming bloody murder when companies who has spent huge amount of money doing something actually require a little payment in return if you use it.

      This isn't greed, this is what makes it possible to pay salaries and bills.

    2. Re:Java is actually quite useful. But it's doomed. by z00r · · Score: 0
      "This isn't greed, this is what makes it possible to pay salaries and bills."

      This is a typical conservative tactic: pretend to be on the defensive, while lying your ass off about the facts.

      The fact is, corporate tactics used to ostensibly make money have time and time again been shown to be unethical. They refuse play on a level playing field, but are always scheming against the public, or in Sun's case, they are scheming in such a way that it will in the end hurt themselves. Java will go the way of Warp.

  35. Karma mirror by TheFlu · · Score: 3, Informative

    Looks like the site is starting to bog down, so here's a mirror if need be.

  36. JAVA Rules by MxTxL · · Score: 2
    There is one good reason that Java will never go away, JAVA Rules!

    As a CS major, i've used quite a variety of programming languages. Among those, Java is by far the smoothest, easiest to understand and most elegant.

    C is outdated, C++ is the standard and is much more refined than C, but still has it's quirks and rough edges.

    Java offers very well documented classes and easy ways to do EVERYTHING. This alone makes Java superior, but also, Java enforces object orientation. While some people don't like this about a language(especially when you want to just write a 3 or 4 line mini-app), most people won't argue that once you have learned what classes, objects and methods are, OO makes things SO much easier to understand. It's a lot nicer way to think.

    C# will never replace Java, it's just too cool.

    1. Re:JAVA Rules by Anonymous Coward · · Score: 0

      My god you're an idiot. C is still in use in a LOT of places. Just because a language is not considered 'hip' does not make it any less useful.

    2. Re:JAVA Rules by Anonymous Coward · · Score: 0

      Java is a bloated bug of !!!
      I welcome C# and wish Java vanish.
      It is extremely huge and ineffective!
      Java is a language for Lines Of Code cubicule slaves - you have to write a ton of lines of code
      just to have marginal performance.
      Phew...

    3. Re:JAVA Rules by Anonymous Coward · · Score: 0
      As a CS major, i've used quite a variety of programming languages.

      As a CS major, you don't know jack about anything. Call me when you've been out in the industry for 5 or 10 years, and then you might have some clue. Until then, your opinion is worthless.

    4. Re:JAVA Rules by Doppler00 · · Score: 1

      I agree with you. As a CE major, I've found that doing things in Java is just so much easier than C++. Class templates work, but the syntax is far to complex and troublesome. I also like that java includes good standard libary files for doing things you would most often do.

      Java's documentation is also very well done. Everything is documented in a consistant manner as a plain old HTML file. With Visual C++, trying to find ANYTHING on MSDN is a nightmare and it requires a huge installation.

    5. Re:JAVA Rules by Anonymous Coward · · Score: 0

      Haha. Good troll.

    6. Re:JAVA Rules by Anonymous Coward · · Score: 0


      As a CS major, i've used quite a variety of programming languages. Among those, Java is by far the smoothest, easiest to understand and most elegant.

      C is outdated, C++ is the standard and is much more refined than C, but still has it's quirks and rough edges.

      What you say may be true for business application development. As a CS major I hope you understand there's more to the computing world than writing business applications and I sincerely hope you do not attempt to write an OS in java(Anyone remember JavaOS?).
      C is simply the most powerful and elegant programming language out there.
      C++ tried to do too much by adding OO to C.
      Sun simply took out the difficult to understand parts of C++,removed the power to write procedurally and called it Java.

    7. Re:JAVA Rules by Anonymous Coward · · Score: 0

      Wow. Someone hand this naive CS student an 'HC11.

      There's a time and a place for OO, and that time and place is in the *design* phase. Don't foist your OO hippiness on people that write code for performance. In fact, some of the *best* OO -> code translation I have ever seen has been written in plain C.

      I'd inform this person that it is possible to write "object oriented" code in assembler as well, but it'd be like telling a contradiction to Mudd's robots in the "I, Mudd" episode of ST:TOS. (I can see the smoke pouring from their ears already).

    8. Re:JAVA Rules by Anonymous Coward · · Score: 0

      Yes, Java is quite good (except swing and some more annoying shortcommings) but C# is quite good also.

    9. Re:JAVA Rules by lothix · · Score: 2, Insightful

      K. Whats next? Going to compare Java to Assembly? You get an F, go back to studying.

  37. Credibility of the Journal guy? by Anonymous Coward · · Score: 1, Interesting

    Nowadays, it pays to always suspect propoganda first. The press isn't in the information business, it's in the money business.

    I smell a rat when the editor of a bloody Java magazine sets the timetable of death for Java. He's either nuts, or he's bought. No other alternative.

    1. Re:Credibility of the Journal guy? by slyborg · · Score: 1

      Yes. seems like kind of blatant hit-mongering, as Salon is so fond of. Wonder what the readership numbers have been looking like lately, maybe they needed a bit of a boost ;-)

  38. apples and oranjes by vitalidea · · Score: 0

    I have only recently installed and used the .NET framework and C# on a project, so I am no expert. However, the entire marketing angle of C# seems to be more focused on it as more of a replacement for Visual Basic. There is a big push by M$ towards Web Services where XML is the glue between different languges (C#, C++, VB, etc.)

    Maybe if M$ changes their angle, C# will be taken more seriously by Application and Product Developers.

    However, Sun and Java have been pushing J2ME, and other uses for Java beyond windows applications and web services. The C# solution is more of a threat to J2EE than J2SE or J2ME. Not to say M$ doesn't have solutions that compete in those arenas. Just that C# doesn't seem to be the end-all-be-all language.

    not mention that to those solutions tie you down to wintel, which will always limit the growth since Java is much more platform friendly.

  39. He has a point by W2k · · Score: 1

    Well, the author does a good job of debunking some of the myths about C# that have been floating around, but he seems a bit too optimistic in my opinion. Sure, there are efforts underway to port the C# CLR to "alternative" OS'es, but last I heard, it's not quite there yet. He also makes the claim that C# is not inferior to Java, without really telling us why - just that it'll be easy for Java developers to switch over, which is prolly what MS intended in the first place. No surprises there.

    What is interesting about the article is that the author makes a U-turn on page three, shifting his writing from "here's why and how C# will own" to a more "we must combat the Evil Microsoft":ish stance, which is more along the lines of what one would expect from a Java developer.

    The article ends on page 4 (of 5 - where did page 5 go?). The pages are loading slowly now, a slashdotting is probably taking place .. read it while you can. It is interesting, though some die-hard pro-Java anti-MS fanatics will no doubt feel offended by it. Also interesting are the reader comments already posted.

    --
    Quality, performance, value; you get only two, and you don't always get to pick.
  40. Myths #6, #7, #8 by Pinball+Wizard · · Score: 3, Interesting
    I don't buy it. Here's why.

    Myth #6. .Net will be accepted by users of non-Windows systems.


    Despite the hoopla over Mono, its not likely that .Net will succeed on systems outside of Microsoft's control. Two reasons for this - 1 Microsoft will make certain that .Net running anywhere other than Windows is crippled in some way and 2 - people who already don't use Windows have a distaste for Microsoft products, generally speaking.


    Myth #7 Java needs the desktop to succeed


    Not so. Java's greatest success to date has been on the server, powering servlets and .jsp's. It is the overwhelming choice among corporate users standardizing on a development platform. Another factor to consider. Java will win where UNIX and Linux servers are used. .Net will be used where Windows servers are used. IMO, the decisive factor between the .Net/Java battle will be what servers companies choose to buy. And anyone who wants a powerful, reliable server with good security built in is going Unix, unless they are trying to be cheap(Sorry. The truth hurts sometimes). Because Unix/Linux/IBM/Sun are winning where industrial strength servers are concerned, so too will Java win.


    Myth #8. .Net is better because it allows you to plug in multiple languages.


    Um, well yeah, as long as they are singly-inherited languages that don't have pointers and don't support any unique features, I guess that statement is true. Otherwise you are really looking at a bunch of languages whose features are the same and only differ by syntax(unless they don't support all of .Nets features, in which case they are even more crippled). Don't expect Perl to be able to do all its cool tricks under .net, and forget about languages like lisp and scheme.


    Java is five years ahead in this game, has widespread corporate acceptance, and the deciding factor is the server, where Microsoft is still way behind. If this is a horse race, my money is on Java.

    --

    No, Thursday's out. How about never - is never good for you?

    1. Re:Myths #6, #7, #8 by M$+Mole · · Score: 2, Informative

      Myth #9 - .NET doesn't support pointers

      Try looking at the language spec for C# before you make comments like this. If you mark your code as unsafe, you can use all the pointers you like...you can create stack-arrays...just about anything you want.

      --
      Karma: Non-existant. Due mostly to the fact that you smell funny and nobody likes you.
    2. Re:Myths #6, #7, #8 by Anonymous Coward · · Score: 0

      "Um, well yeah, as long as they are singly-inherited languages that don't have pointers"

      You mean like Java?

      Should have left that last one off dude, it did nothing to prove your point.

    3. Re:Myths #6, #7, #8 by Pinball+Wizard · · Score: 2
      Yes, like Java.

      The point was - the whole thing about .Net supporting multiple languages is a farce. Whatever language you use has to interface with the CLR. .Net's "multiple languages" are really the same language with different syntax. I predict we will soon see several language translators for the different languages for .net. They will not be very hard to write.

      While I'm at it, allow me to predict that the one language .Net will kill is Visual Basic. You can't easily port a VB6 project to .net - it takes a significant rewrite. Microsoft basically screwed over their own developers and sabotaged the most popular programming language in the world.

      --

      No, Thursday's out. How about never - is never good for you?

    4. Re:Myths #6, #7, #8 by Anonymous Coward · · Score: 0

      ummm.
      try reading his post again.
      the part about pointers was in reference (sorry) to cross language support. (and in fact implied that you can use pointers in C#... which is != .NET)

    5. Re:Myths #6, #7, #8 by Pinball+Wizard · · Score: 2
      I'm aware of the unsafe block. What I don't understand is why anyone would use it - they could just get a real C++ compiler instead. Code that uses unsafe blocks defeats the purpose of using C# in the first place.


      Further, C# doesn't support everything C++ does. You can't use templates in C# - and thats what most C++ developers do these days - they create template classes.


      Finally, a choice quote -

      "C# is yet another proprietary language specialized for Microsoft's Windows system." -
      Bjarne Stroustrup, creator of C++


      You are mistaken if you think C++ developers as a whole are going to embrace C#.

      --

      No, Thursday's out. How about never - is never good for you?

    6. Re:Myths #6, #7, #8 by Anonymous Coward · · Score: 0

      they will...or they will be laid off. most people are switching to C# in droves.

    7. Re:Myths #6, #7, #8 by Anonymous Coward · · Score: 0

      "You are mistaken if you think C++ developers as a whole are going to embrace C#."

      They're not going after C++ programmers, they're going after the millions of java webmonkies.

      That you can interoperate with C++ relatively easily (but not transparently, unfortunately) is a HUGE plus. Just ask anyone who has ever dealt with that monster known as JNI.

    8. Re:Myths #6, #7, #8 by ZoneGray · · Score: 2

      >> Java will win where UNIX and Linux servers are used. .Net will be used where Windows servers are used.

      Heh. It's funny... all kinds of very knowledgeable programmers are discussing an incredible amount of programming detail, and I've think you've hit the nail on the head with that simple observation. That's how I think it will shake out, too.

      I'll go a step further. Java will become more open (and its future on the *nix platform will be extended) after Sun is acquired.

    9. Re:Myths #6, #7, #8 by aminorex · · Score: 2

      Really, it is very, very stupid to mix multiple
      languages in an application. I mean, 2 years
      later, when the VBA guy has alzheimers, and the
      C%#!)%^& guy has gone home to Delhi, and the
      Haskell guy has started a competing business, how
      are you going to maintain this app?

      Yeah, Myth #8 is a pipe-dream, and a failure in
      the execution is pre-ordained by a failure at the
      theory level, but even if it were not a delusional
      fever-dream, it would just be a bad idea all
      around.

      --
      -I like my women like I like my tea: green-
    10. Re:Myths #6, #7, #8 by Anonymous Coward · · Score: 0

      > I'm aware of the unsafe block. What I don't understand is why anyone would use it - they could just get a real C++ compiler instead. Code that uses unsafe blocks defeats the purpose of using C# in the first place.

      For the same reason someone would use JNI in a Java app - for those places where down-to-the-system level programming is needed. Certainly not everywhere, but when you *do* need it, C# (and Java) have a well-documented way to get there that sticks out so it's obvious that something maybe dangerous is happening here.

  41. Some aren't going to jump off the java wagon yet.. by Jabberjab · · Score: 1

    Java is certainly not going anywhere. Java is the very thing that allows some companies to be in business. For example, NerdTreeHouse is a company that uses 90% Linux and 10% BSD to power the entire company. Basically, they provide gaming servers to highschool and college kids. Without Java, the company won't be around.

  42. What C# gives you that Java does not: by Mr.+Neutron · · Score: 3
    C# is not only being pushed by Microsoft as a replacement for Java; C#.NET is the next-generation replacement for C++/MFC for Windows application development. Now, you can do native apps development, cross-platform applet development, and Internet client/server scripting, all using one language. Java, with its clunky VMs, could never offer that, and C# is (supposedly) the first language ever designed to do so.

    Microsoft benefits in two big ways: the hoards of Windows application developers will make the switch from Visual C++ to C#.NET, because of C#'s incredible versitility and cross-platform capabilities. Non-Windows developers (both C++ and Java) will start using C#, because it can do everything that C++ and Java could do, with the added bonus of being very Windows-friendly. Microsoft's third-party developer base expands. They gain further entry into the internet services world that they very much want to take over.

    Interestingly enough, as good as this is for Microsoft, C# and .NET may (perhaps) be a blessing in general to the world of computing by introducing the first *truly* write-once-run-anywhere development platform.

    --
    dinner: it's what's for beer
    1. Re:What C# gives you that Java does not: by angel'o'sphere · · Score: 1


      Microsoft benefits in two big ways: the hoards of Windows application developers will make the switch from Visual C++ to C#.NET, because of C#'s incredible versitility and cross-platform capabilities.


      No real idea about that. But why should one give up C++ templates for C#?

      Non-Windows developers (both C++ and Java) will start using C#, because it can do everything that C++ and Java could do, with the added bonus of being very Windows-friendly.

      Erm ... here I have an idea.

      I should buy .NET Studio to write apps in C#, C, C++ or VB?
      I should learn C# and the .NET tools suite to write such apps?

      Why? Java just runs *fine* on Windows. If SWING is to slow, then there are alternative GUIs, in Java, for Java. BTW: I'm using a 1993 200MHz Pentium for my Java stuff, it seems fast enough under SWING for me.

      I never switch back to Microsoft. After they where not able to deliever a C++ standads conform compiler for nearly ten years until Visual C++ 6.0 (and even that was only close and not conform) I dropped it.

      And I never come back.

      Since I only do Java I just send my *.jar files to a friend and they run ...

      Easy ... isn't it. It will take years until just one of my friends even has .NET or mono installed. Why should *I* be the avangardist to embrace it?

      In my eyes .NET and CLI and C# are the grave stone of MS ... their final big deal after that is not much more to expect and if they fail they are lost.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:What C# gives you that Java does not: by mmacdona86 · · Score: 2

      Write-once run anywhere? Hmmm, today I can write a nice app in Java and have it run on Linux, OS/X, Solaris as well as Windows. With .NET, it will run on Windows. If it doesn't interact with the display or a database, it will run on FreeBSD. It might run on Linux with Mono, someday.

    3. Re:What C# gives you that Java does not: by zenyu · · Score: 1

      start using C#, because it can do everything that C++ and Java could do

      Have you ever programmed in C#? It can't do half what C++ or Java can do. Variably sized arrays, fall through in switch statements, easy reflection, familiar libraries (STL/JDK), etc. You lose the security of Java, and don't get the speed of C++.

      You see win win, I see lose lose.

      C# may succeed, especially as a VB replacement. REXX and TCL still have their uses, but something else will unseat Java. Come to think of it, 10 years wouldn't be so bad for a language, C had maybe 7 years, and C++ 10 years in the limelight. I still use those every day.

    4. Re:What C# gives you that Java does not: by Chokolad · · Score: 1

      > I should buy .NET Studio to write apps in C#, C, C++ or VB?
      No. Please do some research before posting.
      You can download .Net Framework SDK from here
      http://msdn.microsoft.com/downloads/default. asp?ur l=/downloads/sample.asp?url=/msdn-files/027/000/97 6/msdncompositedoc.xml&frame=true

      and you will get pretty much the same stuff you get with JDK - all the libraries, docs and command line compilers for C#, VB, C++ and JScript

    5. Re:What C# gives you that Java does not: by Junta · · Score: 2

      >I'm using a 1993 200MHz Pentium for my Java stuff....

      Impressive, seeing as how the Pentium 60Mhz was released in 1994..... 200 MHz Pentium is a 1997 release, IIRC...

      --
      XML is like violence. If it doesn't solve the problem, use more.
    6. Re:What C# gives you that Java does not: by Junta · · Score: 2

      Ugh, tell me how Java as a *language* is not even a remote possibility for natve apps? As far as the others, Java is deployed widely in cro-ssplatform applets and client/server scripting, so that leaves the point about Java being a flawed language for native development. The inability to create native code has nothing to do with the language, so much as it does the current widespread implementations. Implementations started as bytecode only, now we see pretty common use of Just-In-Time compilers to compile code to native instructions on the fly for performance, and we see are seeing some products that do ahead of time compilation, just like C or C++ (gcj comes to mind, but there are commercial products...) So currently, Java is not an easy choice for native development thanks to current implementations, but as implementations become more advanced, Java could be used for native application development. As a general rule, if it can be interpreted, then it can be compiled, any language that can be ran on many platforms has the potential to have a native compiler developed for any of those platforms that can probably perform optimizations beyond what is possilbe in interpreted mode.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    7. Re:What C# gives you that Java does not: by MassacrE · · Score: 1

      The 'feature' of .Net which annoys me the most is that Exceptions are no longer required to be caught (it's as if every exception type is a RuntimeException). They also therefore aren't required to be declared, either. Microsoft's own documentation does not tell you what exceptions are thrown, so you wind up finding when you deploy.

      for example, System.Xml.XmlNamespaceManager sometimes gives you:
      a valid string
      string.Empty
      null
      or throws an (undocumented) exception. The valid string is the only result that is actually documented.

    8. Re:What C# gives you that Java does not: by Jord · · Score: 1

      Do some research. If you want a native app written in Java it can be done. Check out GCC and you will find that it compiles Java just fine.

      For most purposes, however, Java in bytecode format runs just fine. Used in companies around the world. In those cases that you need native speed, compile it to native code, enough said.

    9. Re:What C# gives you that Java does not: by angel'o'sphere · · Score: 2



      > I'm using a 1993 200MHz Pentium for my Java stuff....

      Impressive, seeing as how the Pentium 60Mhz was released in 1994..... 200 MHz Pentium is a 1997 release, IIRC...

      You are right, its a 1997 machine :-)
      Sorry.

      My 1993 machine was my first windows machine, Win 3.1, a 486 66MHz EISA. It was also my first linux machine.

      Well, to the other poster: Yes, .NET Studio can be downlaoded. NOW. But it will soon cost money just like the other MS Development Studios.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:What C# gives you that Java does not: by Junta · · Score: 2

      That was my point, it wasn't as easy, but it is possible. That is the very point I was disagreeing with the parent post about.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    11. Re:What C# gives you that Java does not: by zenyu · · Score: 1

      The 'feature' of .Net which annoys me the most is that Exceptions are no longer required to be caught

      I forgot that one, I thought maybe there was some way to turn that feature back on that I just hadn't discovered yet.

      Another annoyance is the documentation. I had to link with a non-COM dll that I didn't have source code to. I ended up writing a COM wrapper, and then a C# wrapper that called it. I got the impression from some of the documentation that I could call functions directly but none of the several syntax versions in the documentation compiled. The examples didn't compile, etc. Not to mention the difficult and slow documentation browser (ie6-w/?XML?) Don't blame it on my dual Xeon only being a 1 Gig 1.4Ghz machine, the javah html works fine on my ancient pentium pro.

      But still the lack of real arrays reminds me too much of Pascal pre-Borland... I really liked their TP6 which I've read was designed by the same man. *shrug*

      What I'd really like in C# or Java is dynamic templates. It could be done, in Java you'd just call the compiler on some template code the first time a Vector was instantiated.

  43. So? by leifb · · Score: 1
    A bad programmer clings to one solution in the face of every possible situation. A good programmer uses the best tool for the problem, and constantly expands his tool set.


    There are a few reasons to fear a particular solution:
    1) technical inadequacy
    2) a single point of failure inherent to the system, such as a proprietary identification system.
    3) submarine patents & copyrights


    .Net seems to be a technically viable solution & Hailstorm has been withdrawn. That leaves #3, and that's being attacked by better minds, as we sit on our asses reading /.

  44. Don't post Java stories on /. by Anonymous Coward · · Score: 0

    the morons will always post first and the normal ppl will be silenced in the voices of the fuckwit script kiddies who think they are l33t

  45. Java will outlive C# by Glock27 · · Score: 5, Interesting
    Java will outlive C# simply because C# is tied to Windows. Don't believe the hype about Mono - Mono is in it's infancy, while there are at least two high-quality commercial JREs for Linux and a rapidly improving open-source ahead-of-time Java compiler, gcj. Mono faces an uphill legal battle to actually provide any signficant subset of .Net on Linux.

    One example of the author's cluelessness is that he touts the Halcyon solution - which is implemented in Java. This is supposed to show Java's vulnerability how?

    The rest of his "myths" are just as insightful..i.e. a bunch of crap. ;-)

    Where was SWT in this discussion for instance? Where was the discussion regarding millions of Java-enabled devices in the marketplace? Where was the discussion of Javas total dominance in application servers right now (perhaps .Net will make a dent, but it remains to be seen).

    Then the author gives forth with:

    "We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?"

    For a start, perhaps NOT writing clueless, FUD-filled articles that completely exaggerate the threat of C# to Java... Many, many Java users are going to be very slow to move to a Microsoft proprietary solution...and make no mistake about it, .Net is Microsoft proprietary. Only the C# language and the CLR runtime have been submitted to ECMA and those make up a tiny subset of .Nyet (sorry, couldn't resist doing that at least once!).

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
    1. Re:Java will outlive C# by tdrury · · Score: 2
      Where was SWT in this discussion for instance?
      Exactly. I've been playing with SWT for the last couple weeks and I've decided there is no need for AWT/Swing anymore and all the baggage those two carry. SWT is fast and is tightly coupled to the OS. I don't care that its not platform dependent. I can distribute my SWT app with the appropriate OS/window manager binding. SWT just needs work on the gtk binding and it needs a qt binding.

      Coupled with a native compiler like gcj or JET(free for personal use) and you have a winning combination. I pulled together a quick SWT app that was running IE inside of it (using SWT's Window binding which includes OLE) and compiled it native. It took about 12 lines of code to do this and it started up and ran very fast.

      -tim
    2. Re:Java will outlive C# by jas79 · · Score: 1

      Where was SWT in this discussion for instance?

      Maybe you should ask that question to sun. The main reason that I prefer C# over Java,is that Sun is ignoring the desktop.

    3. Re:Java will outlive C# by kelzer · · Score: 1
      . . . Mono is in it's infancy, while there are at least two high-quality commercial JREs for Linux . . .

      There are at least three for Linux. JRocket is now free. It was recently aquired by BEA (makers of WebLogic). There's also a Windows version, for those of you stuck on legacy systems. (Before anyone mods this as a troll - it's just a joke - lighten up!)

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    4. Re:Java will outlive C# by Anonymous Coward · · Score: 1, Insightful

      Mono will outlive Java on Linux because all the source code is freely available to anyone for any use - commercial or otherwise. This is opposite to the Sun "look, but don't touch" Java policy.

      Halcyon's solution which you brag about will never fly because no one will pay for something when there is a free beer/or/speech substitute available. Besides, Mono's speed would destroy the emulated Halcyon approach any day since many C# constructs such as delegates and enums cannot be easily or efficiently emulated in Java.

      popular software ported to C# in less than a month:

      JUnit -> NUnit
      Ant -> Nant
      Log4J -> Log4N

      As you were saying?

    5. Re:Java will outlive C# by Glock27 · · Score: 2
      This is opposite to the Sun "look, but don't touch" Java policy.

      That is not Sun's policy...that is Microsoft's policy with everything in .Net except C# and the CLR.

      Oh wait, I forgot "Don't implement". :-P

      You can modify the JRE and use it for your own purposes to your heart's content. You just can't distribute it without a license. You can also turn in your bugfixes to the JCP with the hope that they'll be adopted (similar to Linux kernel patches;).

      popular software ported to C# in less than a month:

      JUnit -> NUnit
      Ant -> Nant
      Log4J -> Log4N

      I can't wait to do some benchmarking between the Sun and IBM JREs and Mono. Should be very...revealing. :-)

      I hope mainstream Gnome development uses another path (gcj!), or there'll be big trouble someday...

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    6. Re:Java will outlive C# by Anonymous Coward · · Score: 0

      That is not Sun's policy...that is Microsoft's policy with everything in .Net except C# and the CLR.
      Oh wait, I forgot "Don't implement". :-P


      Do you get paid by the word?

      What about Mono? You don't call that an implementation?

      You can modify the JRE and use it for your own purposes to your heart's content. You just can't distribute it without a license. You can also turn in your bugfixes to the JCP with the hope that they'll be adopted (similar to Linux kernel patches;).

      Yeah, you can also grow marijuana in Alaska and smoke it for medicinal purposes. What is your point? You cannot use your modified JVM for any practical purpose.

      I can't wait to do some benchmarking between the Sun and IBM JREs and Mono. Should be very...revealing. :-)

      Yes, Mono would obviously win because it does not have to allocate every object on the heap as Java does. No brainer.

      I hope mainstream Gnome development uses another path (gcj!), or there'll be big trouble someday...

      What does this mean? Trouble for you being out of a job? Do you work for Sun or something?

    7. Re:Java will outlive C# by Pedrito · · Score: 2

      There's already a C# compiler (with source code) available for FreeBSD. You don't think it'll be on Linux before long? I think you might want to cut down on the crack. It's messing with your perception of reality.

    8. Re:Java will outlive C# by ChannelX · · Score: 1

      The author is not clueless. He is the founder of a very successful Java servlet consulting firm in Scotland. They even made a servlet system to let you run Cold Fusion apps on a java server. He may be other things but clueless is not one of them. Maybe I'm biased as I know him ;)

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
    9. Re:Java will outlive C# by Baki · · Score: 2

      So what, apparently it is you who is on crack (or paid my MSFT to spread disinformation here). As the auther you replied to mentioned, .NET is much more than just C#. Having a C# compiler and CLR does NOT make .NET cross-platform.

      Any software written with .NET shall make heavy use of MSFT only libraries. Those libraries have not been submitted to ECMA, they are non-portable (relying on underlying WIN32). Therefore these ports of C# and CLR are no more but propaganda to spread the false impression that .NET does not mean lock in to MSFT.

    10. Re:Java will outlive C# by alext · · Score: 2

      I trust that your cognitive abilities extend to perceiving complete sentences. The poster referred to a 'significant subset' of Dotnet on Linux. A C# compiler is not a significant subset of Dotnet since the number of C# applications using standardized classes is small and will remain so.

    11. Re:Java will outlive C# by alext · · Score: 1

      What about Mono? You don't call that an implementation?

      No. It's a useless subset of an implementation.

    12. Re:Java will outlive C# by Glock27 · · Score: 1
      Do you get paid by the word?

      Au contraire, I provide my insights gratis. What about Mono? You don't call that an implementation?

      Absolutely not. It is nowhere near complete. We'll see what stance Microsoft takes once it is (nearly) useful for deploying .Net functionality.

      Yeah, you can also grow marijuana in Alaska and smoke it for medicinal purposes. What is your point? You cannot use your modified JVM for any practical purpose.

      Submitting patches would be one practical purpose.

      I'm not sure what the legal issues are with using your modified JVM for your own purposes...but in practical terms Sun has no control over it. Just something to think about...

      I can't wait to do some benchmarking between the Sun and IBM JREs and Mono. Should be very...revealing. :-)

      Yes, Mono would obviously win because it does not have to allocate every object on the heap as Java does. No brainer.

      Java implementations can do stack allocation, as long as the implementation conforms to the language standard.

      However, if you think that one issue will make any significant difference, you're mistaken.

      I do hope more Java implementations will include realtime Java features like Immortal (static) objects.

      I hope mainstream Gnome development uses another path (gcj!), or there'll be big trouble someday...

      What does this mean? Trouble for you being out of a job? Do you work for Sun or something?

      Um, no (to all of the above).

      I was referring to the time when Mono becomes nearly real and Microsoft sues the hell out of them for a) copyright infringement, b) DMCA violations and c) patent infringement. It's going to be ugly. Does Ximian really have the resources to fight Microsoft? I doubt it seriously. Then where will all that Open Source energy have gone...? It's sad that so many are being sucked in, as apparently you have.

      You can see Microsoft going after the GPL even now.

      Finally it's sad that Sun decided to standardize on Gnome, and fund some Gnome development, and then a major Gnome developer decided to use a Microsoft technology for next-gen development. I can't believe that decision was made...the only saving grace is that writing Java bindings for that stuff should be relatively easy.

      There are many great things going on with Java. Don't sell out and get locked in to Microsoft heroinware (I love that term!). It's not worth it.

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    13. Re:Java will outlive C# by magicianeer · · Score: 1
      Where was the discussion of Javas total dominance in application servers right now (perhaps .Net will make a dent, but it remains to be seen).


      Java and .Net are buried under the web server scripting systems PHP/ASP/XSL. The "application server" is typically a DBMS with Apache+scripting playing at middleware. HTTP requests become a kind of RPC (SOAP not required). Maybe your script calls into some large C applications like sendmail. Web scripting systems don't have the hype of Java and .Net, but they're easy to setup, easy to learn/use and are widely deployed.
      --
      You can have it good, fast, or cheap. Pick any two.
  46. Not a beta, -1 wrong by Smallest · · Score: 5, Informative
    VS.Net has been released for months now. In fact I have a copy sitting on my desk right now. C# is included, as is VB.Net and VC.Net.

    You can get a copy of the source to a CLI implementation which also includes a C# compiler that can run on XP and FreeBSD, here.

    From the link:

    The Shared Source CLI goes beyond the printed specification of the ECMA standards, providing a working implementation for CLI developers to explore and understand. It will be of interest to academics and researchers wishing to teach and explore modern programming language concepts, and to .NET developers interested in how the technology works.

    Features
    The Shared Source CLI archive contains the following technologies in source code form:

    An implementation of the runtime for the Common Language Infrastructure (ECMA-335) that builds and runs on Windows XP and FreeBSD Compilers that work with the Shared Source CLI for C# (ECMA-334) and JScript

    Development tools for working with the Shared Source CLI such as assembler/disassemblers (ilasm, ildasm), a debugger (cordbg), metadata introspection (metainfo), and other utilities

    The Platform Adaptation Layer (PAL) used to port the Shared Source CLI from Windows XP to FreeBSD

    Build environment tools (nmake, build, and others) Documentation for the implementation

    Test suites used to verify the implementation

    What can I do with the Shared Source CLI?
    There is a wealth of programming language technology in the Shared Source CLI. It is likely to be of interest to a wide audience, including: Developers interested in the internal workings of the .NET Framework can explore this implementation of the CLI to see how garbage collection works, JIT compilation and verification is handled, security protocols implemented, and the organization of frameworks and virtual object systems.

    Teachers and researchers doing work with advanced compiler technology. Research projects into language extensions, JIT optimizations, and modern garbage collection all have a basis in the Shared Source CLI. Modern compiler courses can be based on the C# or JScript languages implemented on the CLI.

    People developing their own CLI implementations will find the Shared Source CLI an indispensable guide and adjunct to the ECMA standards.

    -c

    --
    I have discovered a truly remarkable proof which this margin is too small to contain.
    1. Re:Not a beta, -1 wrong by Malcontent · · Score: 2

      Hey do you have a sample code that shows me how to connect to a SQL server database from freebsd using C# and .NET?

      --

      War is necrophilia.

    2. Re:Not a beta, -1 wrong by Anonymous Coward · · Score: 0
      Sure, we all know that *BSD is a failure, but why? Why did *BSD fail? Once you get past the fact that *BSD is fragmented between a myriad of ncompatible kernels, there is the historical record of failure and of failed operating systems. *BSD experienced moderate success about 15 years ago in academic circles. Since then it has been in steady decline. We all knw *BSD keeps losing market share but why? Is it the problematic personalities of many of the key players? Or is it larger than their troubled personalities?

      The record is clear on one thing: no operating system has ever come back from the grave. Efforts to resuscitate *BSD are one step away from spiritualists wishing to communicate with the dead. As the situation grows more desperate for the adherents of this doomed OS, the sorrow takes hold. An unremitting glom hangs like a death shroud over a once hopeful *BSD community. The hope is gone; a mournful nostalgia has settled in. Now is the end time for *BSD.

    3. Re:Not a beta, -1 wrong by kinga · · Score: 1

      Announced on the garbage collection list on the 28th of March, which shows you that at least if /. isn't paying attention some people are...

      * 2002-03-28 14:29:32 Microsoft release Shared Source CLI (for .NET) (articles,microsoft) (rejected)

  47. An issue of maturity by A.Soze · · Score: 1

    I think the issue at hand here is one of a language's maturity. Java was discarded early on because of performance problems and a clunky GUI toolkit. Now that Java lives primarily on the Web and on the server side, it has exploded. Java and C++ control the server market of today. Is that to say that they will in five years? Probably. It is a simple fact that large ISVs and corporations cannot change dev. platforms every six months. It's simply not cost effective.

    Secondly, to echo what other developers have said already, developers don't like to jump from development platform to platform. Sure, Java took a while to get used to, but once you're there, you're done. Learn another API, pick up a book. Why bother with a language that hasn't been put through its paces? Why bother with a platform by a company known more for its mistakes (security, IP, networking) than its successes? As a Java developer, I'm not really worried...

    Then again, COBOL programmers can still find work too.

    --
    "Goodness, how did you people live long enough to invent tools?" -Hobbes (the tiger, not the philosopher)
  48. Re:ummm... heard this before... by geekoid · · Score: 2

    "the problem with C++ was that exactly zero of code was reused, "

    bull.
    I won't get into a JAVA/C++ debate, but please don't go off spouting crap like that, and try to understand that which you speak out against. You make yourself out to be a damn fool.

    A damn fool, is the worse kind.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  49. Go where the money is by soconnor99 · · Score: 1

    As a java programmer, I want to see it succeed in the long term, which I think it will. However, if C# begins to become more popular, I will learn and use that too. Why not? It's just a language. I don't subscribe to the "if it's from Microsoft it's evil" nonsense. Use the right tool for the job. My goal is to get paid. If Sun continues to basically ignore the GUI, then the choice for client-side development will be an easy one for all of us.

    1. Re:Go where the money is by Anonymous Coward · · Score: 0

      A few years ago, I would have agreed with you - but then I grew up. There is no, "it's just a language". I hate to sound like a hippy, but Java is as un-micro$oft as it gets. It runs on Windows, but is out of their control - I hate to state the obvious but...

      We just can't let micro$oft win! I hate to sound like a new age hippy freak, but the thought of one COMPANY controlling everything scares me. All societies become aristricatic, it's just how long you can keep the middle class big - ever read the Marks books by Robinson?

      C# is just a language, sure, but it's being put out there by Miscro$osft, a monopoly, with the sole intent of killing Java. Yes, to KILL java, java which is one of the few widespread tools, that you can still find EVERYWHERE,that's NOT controlled by ONE company.

      Economics will tell you, that if Micro$oft wins, people may be overjoyed about "one standard", etc., until the shit starts to stink too much from lack of competition...

      Please, mod this down for any other reason but spelling mistakes, I don't need the spelling/grammar nazi ignoring what I said because I can't sbell wurth a dam.

  50. Perhaps by Stephen+VanDahm · · Score: 1

    On one hand, I've never heard anyone say anything nice about Java. While languages like Perl, Python, PHP, etc attracted a following because they're good (or at least because programmers think they are), people seem to be pretty ambivilent (sp?) about Java, and I think a lot of folks would gladly jump ship if they came across something else.

    On the other hand, it seems that most CS students have to learn Java in college these days. I don't know how many schools use it in their courses, but I suspect it's enough to ensure that Java has a decent following for a long time. Furthermore, I have very little faith in open source efforts to bring C# to UNIX. C# will probably remain a Windows-only language. Also, remember the backlash when Miguel announced that parts of GNOME should eventually be developed in .NET? Even if an implementation of C# for UNIX were ever completed, I think UNIX geeks would look down their noses at it.

    Anyway, I think that C# will have a sizeable impact on the Java community, but I doubt that it will kill the language altogether. We'll see.

  51. Corporations are tired of Java by Yo+Grark · · Score: 2, Interesting

    As a sideline observer, I have seen Java rise and CRASH. At more than 18 customer sites, Java was regarded as amateur. Java is a great cross platform language, but it never did fulfill it's promise of a THIN Solution to bandwidth problems.

    Our company spent Millions coding in Java, only to replace it with Native C 2 years later. Guess what? 55% increase in speed, 45% reduction in size, and before you knock the programmers, they're completely competant.

    I know of 2 companies who put their faith completely in Java, had a great product, but somehow corporations kept waiting and waiting til Java "matured" and these comanies both went bankrupt waiting.

    -YoGrark

    ==The opinions expressed in this opinion are not necessarily based on fact, are not necessarily reprentative of the poster==

    --
    Canadian Bred with American Buttering
  52. Too bad you can't moderate the main message! by Courageous · · Score: 2


    -1 Troll

    C//

  53. Beyond the Java vs. Anything debate by midh · · Score: 3, Interesting

    I started learning Java during the great Java hype (1997). Then I went back to school to learn C. My initial impression was, why would anyone want to program in this unweildy language where your executables crash with weird errors like "Segmentation Fault" and "Core Dumped". I did not like all that pointer crap and the fact that you hade to declare your variables before you did anything else.

    Four years of college and several programming languages later Java is still my best girl. But I have learned to appreciate the beauty of C and its need to be a control freak in some cases.

    To solve the debate, I am going to quote the words of one of my professors. "A programming language is a tool in a tool box". There are several things wrong with that analogy. I tend to think that a programming language is like a woman and learning one is like dating.

    Im my 5 year 'dating' life I dated more languages than girls. Perl, Python, Tcl, C ... each have their own attractions and turn offs. C# is something I haven't approached yet. But like dating, it just broadens your outlook (not to mention the fact that it is fun).

    There should be not be fear of a new programming language. It is the new girl in town. It is true that one has to be wary that C# is a Microsoft baby. If it turns out that you cannot use C# without paying MS big bucks and the returns are not justifiable there are always other alternatives to look to.

    When I was a sophomore, I was scared when some senior started talking about C++. I thought, another language. Oh no. But once you have mastered the basics of what I referer to as the dating game, you can romance almost any girl. Even if it was the girl with red hair and pierced ears (Perl) or the one that you can't take your eyes off of (Scheme).

    1. Re:Beyond the Java vs. Anything debate by kelzer · · Score: 4, Funny

      There should be not be fear of a new programming language. It is the new girl in town.

      Don't date that C# slut! Next thing you know, she'll be knocked up, and you'll be gettin' married whether you love her or not, because Bill Gates will be pointing a shotgun at your back.

      It is true that one has to be wary that C# is a Microsoft baby. If it turns out that you cannot use C# without paying MS big bucks and the returns are not justifiable there are always other alternatives to look to.

      Just try to leave her, and Bill will hunt you down. Stay away from her - she's trouble!

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
  54. 5 years? Sigh. More pundits "killing" more things by dinotrac · · Score: 2
    The first thing that caught my attention was the 5 year timespan. Does anything last five years in computing any more? Seems these days that things flame out fairly quickly, say within 2 or 3 years, or hang on damned near forever.

    Java seems to be in the damned near forever category. There is a lot to recommend it, but, more importantly, there is already a lot of java code out in corporate infrastructures and corporations don't like to rewrite from the ground up.

    That's not to say java won't shrink in terms of overall importance. That seems a likely outcome of more competition, especially given the poor experiences many people have had trying to implement java-based solutions.

    C# is only one -- though a signficant one. Off in the weeds, python use is slowly growing, and python can fill many of the same purposes served by java. With Mozilla finally biting the bullet and declaring an API-frozen 1.0, some of its tools might also find a spot.

    Java is like every other technology that ever existed: sooner or later something or some things come along to displace it. Not kill it necessarily, but displace it.

  55. Song by zephc · · Score: 2

    "We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?"

    Well, another song product, Open Firmware, has a song (though it's not a programming language... but it does use Forth!)

    --
    "I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
    1. Re:Song by Anonymous Coward · · Score: 0

      weird, i meant to quote this: "You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song! "

  56. bundling with xp does NOT matter by fz00 · · Score: 0

    i'm so tired of hearing that microsoft's not bundling of java with xp is going to cause it to die. that's patently untrue! if i write a killer app in java nothing stops me from packaging the jre with it for a small cost of 10 meg. considering my java code in most cases will be less than 1 meg, the size is not much different than most apps. in fact, it's smaller than most apps! and nothing stops me from putting the damn thing on a cd and distributing it. concerns of not having java bundled are overblown bigtime!

  57. There is one good thing about C# by bunhed · · Score: 1

    Perhaps all those VB "programmers" will actually learn how to write real code.

    1. Re:There is one good thing about C# by Anonymous Coward · · Score: 0

      I don't know VB Programmers, just VB users. The programmers doesn't use VB.

  58. a quote by vinnythenose · · Score: 2

    The Dean of Engineering at my university was overheard saying "Boy, switching the curriculum from C to Java was a big mistake".

    Java has some really nice features but I find it more useful in the learning situation. In real life I found C and C++ much more useful.

    --
    --- I used to moderate, then I read the -1 articles and decided having to filter through them was not worth it.
    1. Re:a quote by egomaniac · · Score: 2

      And one of my old professors bemoaned the switch away from Fortran.

      So what?

      The opinions of individuals are irrelevant in a contest decided by the masses.

      --
      ZFS: because love is never having to say fsck
  59. Interesting by shawnmelliott · · Score: 1

    This is interesting but I feel Java is far from dead. It's not a useless language. what it needs is the following... and here's my suggestions on how they can be achieved

    Optimized JVM's that do more than just work. solution? Open source

    Designed to work more efficiently and seamlessly as a desktop language. solution? Open source

    Greater programmer support in windows development. solution? see above, Open source

    1. Re:Interesting by Graymalkin · · Score: 2

      So..open source is the solution to all of life's problems. I guess that means despite evidense to the contrary Blackdown really DOES have JIT support and is the fastest JVM ever made? Man I'm sure glad you told me that so I don't have to believe the Blackdown group's lies anymore.

      --
      I'm a loner Dottie, a Rebel.
  60. It Java DEAD? by StevenMaurer · · Score: 2

    Absolutely!

    But then, so is Unix. NT is going to absolutely destroy it.

    ...at least that's what I'm reading from a magazine circa 1987.

    1. Re:It Java DEAD? by Anonymous Coward · · Score: 0

      UNIX would have been destroyed had NT been technically superior or equivalent to UNIX (robust security, reliability, decent permissions and controls, interoperability). even XP doesnt cut it compared to *nix.
      On the other hand C# HAS equivalency to Java technically and once it becomes cross platform -- bang. thats all folks.

    2. Re:It Java DEAD? by GunFodder · · Score: 1

      Right, just like Unix killed the mainframe. I think I have some clay tablets somewhere proclaiming this inevatability...

    3. Re:It Java DEAD? by VistaBoy · · Score: 1

      Was Java even BORN in 1987?

  61. It's the tools by blamanj · · Score: 2, Troll

    Don't forget that Visual Studio costs over $1000. There are a large number of decent Java tools that are free (as in beer.) For the notoriously cheap developer community, that is significant.

    1. Re:It's the tools by Anonymous Coward · · Score: 1, Informative

      The .NET framework SDK is free, just like the Java 2 SDK.

      Anything you can do in Visual Studio.NET, you can do from the command-line and Emacs.

    2. Re:It's the tools by HRbnjR · · Score: 2

      Right argument, wrong outcome.

      I am a professional Java consultant. Billing at over $100 an hour, $1k on Microsofts tool set means nothing to me.

      And I find Microsofts tools very appealing.

      If there was any one reason I would consider switching to C# it would be to gain access to Microsofts tools.

      I have been using JBuilder for Java development for a long time, but it has lagged on support for Java 1.4. And they are not releasing patches at all for their products, but rather force users to upgrade at exhorbitant costs ($1900 for enterprise) every 6 months. JBuilder is just starting to be able to hold a candle to MS Dev Studio in terms of functionality - debugging, code profiling, refactoring. Though, being written in Java, it's slow.

      I have recently been testing both Netbeans and Ecipse. While both of these tools have great potential, neither of them are half baked yet. It's not any one thing they are missing, but rather an endless string of gotcha's and little bugs or oddities of design which make them very hard to use (for me at least). Using JBuilder was much much easier. And if you want the /definition/ of PIG software, try NetBeans. It took 30 seconds to respond to the close box on my Dual PIII 733 / 512Mb.

      Microsofts tools are a great. If for no other reason than the fact that they are three times more mature than the Java ones. People WRT Java often point to the lack of applications... well, it sure shows that many apps have been built on MS tools. I think that is why Borland managed to create a decent Java tool with JBuilder, is because they brought their previous experience to the table. Unfortunately, I don't see that with other Java products so much.

      Either way, I would still LOVE MS dev tools. Combined with command line tools like Cygwin... (like Mozilla does) makes it perfect.

    3. Re:It's the tools by HuguesT · · Score: 1

      Re-read yourself:

      1- [...] $1k on Microsofts tool set means nothing to me.

      2- [...] exhorbitant costs ($1900 for enterprise) every 6 months

      So $1.0k is nothing but $1.9k is exhorbitant. Do you
      have anything in between?

  62. Greedy? by tswinzig · · Score: 2

    Now that Java is the biggest player in the industry, it seems Sun has gotten a bit greedy, and is trying to cash in on Java's popularity.

    I'd like to know how much time and millions of dollars Sun has spent developing this free language, with a wonderful API, and plenty of source code available, before I start calling them "greedy."

    If anyone's greedy here in this context, I sure as hell don't think it's Sun. Shit, they could make Java proprietary today, closing off all source access, requiring people to buy the JDK, etc... and it would still be popular, and you'd still have all their current and older Java-related stuff available for free.

    --

    "And like that ... he's gone."
  63. maybe we should... by morgajel · · Score: 1

    check mr. williamson's bank accounts to see if he got any lump sums in the last month or two....

    wouldn't that be a kicker!
    :)

    i could totally see this being a power play by MS- buy out a loud voice of the competitor and have them downplay their products(obviously they'd make sure it wasn't tracable back to them).

    think about this- what would happen to .NET if bill gates was to say(while drunk and near a microphone), "are you kidding me- I'm not trusting THAT with my credit card numbers!"

    or senator hollings was to say "yeah, I use MP3's at home, but I'm not a pirate, I fight piracy"

    what that would do to microsoft's shareholders? how about hollings credibility?

    --
    Looking for Book Reviews? Check out Literary Escapism.
  64. .NET isn't bundled with XP by WildBeast · · Score: 2

    just like Java, you have the option of downloading or not the .NET framework. So, the fact that Java is bundled or not with Windows won't make much difference.

    1. Re:.NET isn't bundled with XP by Anonymous Coward · · Score: 0

      yes but the next version of windows WILL have it bundled. or the DirectX 9.0 release will have the C# CLR. either way, it will be rectified quickly.

    2. Re:.NET isn't bundled with XP by Anonymous Coward · · Score: 0

      True, though a minor point. It's not the C# CLR (there is no such thing) it's the .Net CLR...

  65. Why .net will really win over java by johnburton · · Score: 5, Insightful

    .NET platforms will win over from java because .NET compilers to .EXE and .DLL files which look and seem to work just like the ones you are used to. Of course they are completely and utterly different behind the scenes, but that one simple fact makes .NET seem familier but new and exciting, and not at all like all those scary java .class files. Ok, so I exagerate, but I think that having .EXE and .DLL files really WILL make a lot of difference to how people percieve this platform.

    --
    Sig is taking a break!
    1. Re:Why .net will really win over java by kelzer · · Score: 2, Funny

      Let's see, ".EXE" files are those nasty things that sometimes spead viruses when attached to emails, and ".DLL" files are those nasty things that inspired the term "DLL Hell".

      ".CLASS" files sound pretty classy, so I think I'll stick with Java.

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    2. Re:Why .net will really win over java by kelzer · · Score: 1

      And Java also has ".JAR" files, which remind me of peanut butter. Yummy!

      Server-side Java isn't so nice though. It has ".EAR" files (yuck!) and ".WAR" files (scary!).

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    3. Re:Why .net will really win over java by SashaM · · Score: 1

      .NET platforms will win over from java because .NET compilers to .EXE and .DLL files which look and seem to work just like the ones you are used to.

      I'm sorry, but this is a load of bull. Download and run the windows version of this application and tell me how you would figure out (unless you're a Java developer) that the application is in Java. And no, it's not even compiled to native windows code (something you can easily do with Excelsior's JET compiler) OR requires you to install or configure anything except the application.

      Another thing you are missing is that client side is not everything, and in fact, Java is currently more popular on the server side, where it doesn't matter whether you run "java HelloWorld", or "HelloWorld.exe" (actually, it'd be more like "./helloworld" on most servers :-) )

    4. Re:Why .net will really win over java by cookie_cutter · · Score: 1
      C# programs compile to Intermediary Language (IL) into "assemblies" files, .asm , not to .exe

      ie it is no different from .class files until they are run(where the CLR is really different from the JVM).

    5. Re:Why .net will really win over java by TummyX · · Score: 1

      Actually, managed EXEs and DLLs are assemblies.

    6. Re:Why .net will really win over java by quintessent · · Score: 2

      Finally, a post from someone who actually knows.

      I will add one more thing.

      At the time an app is installed, it is possible to "pre-jit" applications, so they could be .exe's by the time they run.

    7. Re:Why .net will really win over java by johnburton · · Score: 2

      Lot's of people posting half right information here :- Yes, .net code compiles to "assemblies" but those assemblies are packaged into .exe and .dll files. Yes you can pre-jit the code using "ngen" but this in no way modifies the assembly. It just creates a separate cache of the jitted code, which the runtime is free to load if it feels like it. I've found that in practise it doesn't actually make all that much difference to the speed. A .net .exe file only ever contains the IL code and the metadata and the manifest. (And unmanaged code as well if you have any)

      --
      Sig is taking a break!
  66. It is about the development Environment and tools by Anonymous Coward · · Score: 2, Interesting

    The problem with the Java Environment is the integration of the tools. Even beta 2 of .net I was amazed at the productivity gains. Even thou I hate the beast they do have very good tools. The tools will make the difference. They did in the early 90's with VB. People bitch about performance that is not the case. If you look at VB It had performance problems compared to C MFC apps but it was highly adopted because a lot of people could easily churn out code. Even people that should not ever write code.

    C# as a language does not matter it is very similar to java. It is about the tools and can you get a business analyst that churns out VB code who has never used a command line to adopt your environment.

    Jbuilder is a nice IDE and ANT is nice for makes but while I am vi ing an apache .conf file and figuring out where my classpath is pointing too and why my servlet is not making its JDBC call the .Net guy has already deployed their app and is fetching XML records from SQL Server.

    Which one will they adopt and why? A nerdy UNIX /Java person that can be as productive as a .NET / VB business analyst will cost a company more.
    I hope the beast does win but it is about the tools!!!! History repeats itself.

  67. Java has supposedly *been* dead/dying/suffering by PierceLabs · · Score: 1

    But like most things that come out of the popular press, the truth is far from the reality. Java has actually been gathering strength and momentum in many areas which is somewhat odd for a dead or dying platform. Java is currently the principal platform for deploying into the mobile market with many announcements for Nokia, Nextel, Sprint with services based around Java technology. C# and PocketPC/WindowsCE are nearly non-existant in this space. The application server market is consolidating and the remaining players are still making a bundle of money as corporations are still investing heavily in the market - which tends to prevent a technology from dying. More players are involved with Java and dedicated to its success such as IBM. IBM has bet heavily on Java and since they STILL deploy more servers and machines than anyone else - Java will be around for many years yet - hell OS/2 is STILL around in many ATM banking applications. Confused journalist who don't actually work in the field are always quick to look at one or two events and claim to predict the future - I recall that the XBox should be mopping the floor with PS2 and Gamecube at this very moment. After all, most of them believe Microsoft is the second coming and that it cannot be beaten at anything, so I tend to ignore their predictions as they are generally baseless and without any evidence other than "Microsoft is coming - everything else will lose because that's the way its happened in the past".

  68. Why care? by ToasterTester · · Score: 2, Insightful

    Java is a good language, but starting to show some of the wear all languages do as they age. C# and up coming J# are new languages and like all new languages build on the past with new features, requirements, and libraries. Java did the same thing when it came out, building on C++, Smalltalk, and other languages.

    Bottom line Java isn't going to go away, if you like it keep using it. You will have plenty of work for years to come. C#/J# (they all compile down to CRL anyway) are new and cool and people will use them.

    Be happy, you got Java because Sun thought they had a better tool than C++ with MFC or OWL or whatever library. MS has upped the ante in order to compete and came out with the CLR and C# and other languages CLR will support. Now its Sun's or anyone elses turn to come out with something better. It called evolution and we all benefit from it.

    1. Re:Why care? by soap.xml · · Score: 2

      J# is a compiler. Java is the language. .Net is the framework. J# is not a language.

  69. Quality of a language has never meant popularity by El+Cabri · · Score: 1

    Yes, C# is a better designed language than Java. But Objective CAML is far better than both of them, ad nobody uses it outside the academia. And C++ is a piece of crap that became hugely popular. History tells that the popularity of languages has nothing to do with how well they are designed.

  70. java by hatrisc · · Score: 0

    i hate java. it sucks, i guess in my opinion at least.

    --
    I write code.
  71. Java Good Boy by NeonRazor · · Score: 1

    I have in the past used pascal, ADA, C, C++ and changed over to Java about 3 years ago. Of all the languages I have used Java is my favorite.

    reasons:

    Its very easy to pickup the basics

    Its well documented. Once you learn the basics of java its easy to pick up any of the new packages.

    Its easy to document(Javadoc is great)

    Its cross platform, I have never had any trouble with my server side code or GUI code.

    Its the most productive language I have used.

    It forces Object Oriented coding, which alot of C/C++ coders dont like at first but once you get the hang of it youll wonder how you did without it.

    Admittedly the GUI is very difficult to start off with but once you get the hang of it it is very quick to use(especially with the GUI builder tools in forte or JBuilder).

    I have coded many GUI apps with java and found it to be very quick to develop them with. Its not as fast as a native app when running but I have never had a user complain that it too slow.

    Although I love Java I would have no problem learning a new language, although I dont really want to learn a Microsoft only language(which it is dont bullshit me that C# is cross platform) I would if it was better for a certain problem.

    This is the typical my console is better than yours argument thats been going on for years. Each programmer likes the language he uses and doesnt want the hassel of learning a new language if he can possilbly fudge the solution with the language he uses.

    Java wont die, .Net will do well and they will both co-exist and talk to each other using SOAP or whatever protocol is popular at the time.

  72. Re:ummm... heard this before... by pod · · Score: 1
    the problem with C++ was that exactly zero of code was reused, even though it was supposed to be made simpler. Java code actually reuses itself pretty darn well, and last I checked J2EE library just keeps growing and growing, and largely its success is in that.

    Oh, well, ok, as long as we're talking libraries here, I doubt Java will beat the breadth and raw number of C++ libraries out there for a while yet.

    In any case, I would hardly consider the number and size of libraries available a sign of reuse.

    --
    "Hot lesbian witches! It's fucking genius!"
  73. If that bothers you... by mrpotato · · Score: 2
    why not settle for a language that just won't die: Lisp.

    I'm serious.

    --

    cheers
    1. Re:If that bothers you... by jjohnson · · Score: 1

      Anytime an argument ends "I'm serious", I read "I'm fucking insane".

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  74. oh, how awful by Anonymous Coward · · Score: 0
    Java and dotnet are just another in the series of technologies combining what corba/com/sunrpc (ie, rpc) has done for years and what smalltalk has done for decades (ie, p-code).

    If people happily follow dotnet, they're basically allowing MS to embrace and extend every programming language and the means of communication. Frankly, I'm not going to be a part of that.

    IE won because it was free, and packaged with every Windows computer. MS basically made it happen on its own. dotnet will win because developers -- people who should have an ounce of sense when it comes to IT decisions -- choose it.

    In which case my decision to consider moving away from computing will be even more correct.

  75. Take the source with a grain of salt. by Tank · · Score: 2, Informative

    IIRC, Java Developers Journal has very close ties to it's older sister publication Windows Developer Journal, and receives much of it's funding from none other than....

    <drumroll/>
    Microsoft
    <cymbal type="crash"/>

    With that in mind, it's not surprising that the editor has such dire predictions since you can guess who signs the checks.

    Note, I'm not bashing C#. The language is so similar to Java that you can certainly find good things in it, but predicting that MS will port their runtime over to a large number of other platfoms might not be the smartest bet.

    1. Re:Take the source with a grain of salt. by be-fan · · Score: 2

      It's amazing how computing technology has advanced so. It used to be that we'd see fake HTML in postings. Now, its fake XML. Ah, progress...

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:Take the source with a grain of salt. by Anonymous Coward · · Score: 0

      no. its also what a lot of java developers are thinking. its unlikely he was paid to publish this.

    3. Re:Take the source with a grain of salt. by joemc79 · · Score: 1

      It's actually not well formed. The author needs a document element. You can't have more than one root element.

  76. rethink apps by GunFodder · · Score: 1

    You're still thinking about traditional client-server or even client only apps. Java is making good progress in web-based apps, like shopping carts and dynamically configured websites. I've started noticing more large commercial websites written with JSPs, which are basically Java servlets.

  77. You really need to get out more.. by jcr · · Score: 3, Insightful

    There is one good reason that Java will never go away, JAVA Rules!

    I notice that you only compare Java to C and C++..

    Sure, it's better than Stroustrup's train wreck in a lot of ways, but I notice very little enthusiasm for Java among people who already knew a superior OO language, such as Smalltalk.

    What you say about OO is true, but Java isn't a very good example.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:You really need to get out more.. by Anonymous Coward · · Score: 0

      I guess you and the one other guy who uses Smalltalk have reason to celebrate! Didn't I see you at the Amiga Users Group meeting last month??

  78. This is going to be one of those 1000+ threads by Anonymous Coward · · Score: 0

    Sitting back to watch the show!

  79. Speed and MS Instruction Set on AMD Chips? by Quirk · · Score: 1

    While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses...

    I'm a Java neophyte and have just begun the tutorials along with a second reading of Brian Eckel's books. Accordingly I'm framing this as a question that will hopefull bring in a helpful reply. Will the implementation of a MS Instruction Set in the upcoming line of AMD chips lend greater credence to the Java not being as snappy as a native Windows app on a Windows OS? Thanks in advance.

    --
    "Academicians are more likely to share each other's toothbrush than each other's nomenclature."
    Cohen
    1. Re:Speed and MS Instruction Set on AMD Chips? by Quirk · · Score: 1

      Where you're concerned I'd pretty much have to.

      --
      "Academicians are more likely to share each other's toothbrush than each other's nomenclature."
      Cohen
  80. Re:ummm... heard this before... by Misha · · Score: 2

    please don't go off spouting crap like that

    ok, without going into a flame war... sure there are excellent packages available for C++. even some libraries that people use, like sockets, STL, perhaps even system libraries that you can throw in the mix. i was a little too brief there.

    but Java made so many packages beyond that.

    yes, there are XML parsers for C++, but everyone uses the Java one. (not the least of the reasons is that Java looks more web-friendly)

    yes, it's conceivable to write a servlet/ODBC solution in C++, but Java does that so fresh and so clean (ok, mostly clean...).

    yes, C++ has a mechanism for extensibility, but Java even has reflection that beats everyone's pants off when it comes to enterprise solutions.

    in short, when you don't want to sit and program all day, but simply want to customize someone else's application, much like what the web services want you to do, you simply go with Java, because you won't need to start your Java application from scratch.

    yes, i realize that a lot of these reasons are due to marketing, but they are real concerns for enterprises.

    --



    I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
  81. HTML by helinem · · Score: 1

    The arrival of SHTML, ASP, and other standards did not kill HTML, so why would C# kill Java?

  82. Oh this is great... by WeaselGod · · Score: 1

    ...A front page troll. How clever. And now we can listen to all the various fanatics proclaim that C# is shit and the Java R0x0r5. Of course no one here is going to agree with the author, they all are so blind they assume that anything MS does will immediately suck and fail (you know, like how they failed to capture the desktop market, failed to capture the browser market, etc).

    Truth to the matter is that Sun may be in a bit of trouble here. Sure, C# isn't currently as portable since there are no VMs for other platforms, yet (there will be a freebsd version, and then there is Mono. And since they did submit C# to a standards commitee anyone could develope one) however its much faster, has far superior client side features, has a much better IDE and is just as competitive server side. Moreover it is relitively easy for a Java guy to go pick up C#. I suspect that we will see a good deal of people going over to the "Dark Side" once .net server is released.

    On another note, how come so many OSS guys like Sun yet Hate MS. The only difference between Sun and MS is that MS plays the game better. Sun does try though. Remember which one challenged the GPL, hint, it wasn't MS.

    --
    - WeaselGod
    Eagles may soar, but weasels don't get sucked into jet turbines
  83. The "power" of .NET by smagruder · · Score: 2

    .NET is great when you run a wine storage facility and one day, most of the storage shelves fall over, breaking all the bottles. Then, you can use the almighty .NET to change the price in one button click!

    Peanut gallery: Hmmm... I thought any well-designed inventory/price control system could handle that.

    --
    Steve Magruder, Metro Foodist
  84. C# = Be Flat by jarcher · · Score: 1

    M$ is purely angry. After all these years, C# is merely Anders pouting about how his idea for adding method pointers to Java was shot down by the Java community.

    Very stubborn dude. Go back to Borland where they get it....

  85. Languages die hard period. by FooMasterZero · · Score: 1

    Fortran, COBOL, and Smalltalk are still around not too mention a lot of other lesser known languages like scheme, prolog, pascal, and if i may visual basic :) Some of theese languages should be Looooong gone due to thier age and over the notion that they aren't designed wit hall the Enterprise mumbo jumbo that flats in most companies, and being a java advocate i try not to be biased in saying that java is not that bad anyways since a lot of companies have built the java platform as thier flagship for either thier products to sail on, or used for internal use services.

    So i think this is guy is either.
    A. Just trying to get site traffic for his comany by placing an isidious article like this.
    B. Playing the devils' Advocate for the worse to may be spawn more proactiveness in the java community.
    C. Being plain stupid. my guess is here. :)

    on a side note though.
    like many dumb postings and aritcles like this one seem to be teeming with lame biased rhetoric that personally i am tired of hearing about.

    1. Re:Languages die hard period. by Mr.+Frilly · · Score: 1

      1- Fortran is still alive because it doesn't allow the user of pointers. While this makes it useless for modern application programming, it makes it possible to write good optimizing compilers for the language, so it's still used in the engineering/computational world. That being said, have you ever used a program written in Fortran? Probably not, even if you are an engineer.

      2- COBOL was adopted decades ago by major finanical institutions as their language of choice. The result is a lot of legacy apps that are too expensive to convert to a new language. Not because of the cost of the programming, they just can't afford to go through even a single debug cycle.

      3- As many times as I've heard the word "Smalltalk", I've never seen anything written in the language, I'd call that dead.

      4- I've been forced to program in Scheme, let me tell you, it sucks. Comp. Scientists may think it's elegant, but Scheme (and Lisp) are close to useless in the real world. Ever try to write a real application in Lisp? Ever seen anything written in Scheme/Lisp besides Emacs macros? Ever try to understand an Emacs macro? Yeah, I'd call Lisp dead outside of academia.

      5- Pascal? It's a learning tool, like Logo. No pointer arithmetic, so same problem as Fortrain but without the legacy of use. Again, have you ever used a program writtin pascal? Didn't think so. If you mean Ada as well as Pascal, that's a different story, but Ada's only alive because of government regulations.

      Languages may not die, but most of the examples you gave are a close approximation to dead, and usually with good reasons.

    2. Re:Languages die hard period. by anderman · · Score: 1

      3) mostly used in the enterprise in some niche areas.

      4) ever hear of a program called crash bandicoot? written in lisp just as other games are. I'd call that alive.

      5) isn't delphi a revamped version of pascal? kind of like pascal++ ;)

      Just because you don't know how/where they are used doesn't make them dead.

    3. Re:Languages die hard period. by Tiny+Elvis · · Score: 1

      Let's see if we can sum this up.

      1. If the language doesn't have pointers, it must suck.

      2. If Mr Frilly has never personally seen something written in said language, it is dead.

      3. If the language is alive despite 1 or 2, there is an obvious explanation, such as government regulations.

      Mr. Frilly, are you out of college yet? Please come back in 15 years when you have learned something about software engineering.

      ps. I'll tell you what sucks: pointers.. I stopped raving about them right after I gave up my pacifier.

    4. Re:Languages die hard period. by djvaselaar · · Score: 1

      Yes, FORTRAN lives! New code is still being written in it, even now. For one thing, there are plenty of tasks that don't require pointers (and the attendant bugginess that comes with the things). For another, thoroughly debugged, highly optimized compilers and libraries can be pretty useful things.
      By the way, it isn't just engineers who use it. For example, the airline where I work uses it in programs that generate flight plans, monitor flight progress, track aircraft maintenance, message switching and numerous other things. It isn't pretty, but it's fast and reliable. Sure, at some point it will be replaced, but so far we can't find an application written in a 'modern' language that can do what our 30+ year old stuff does.
      The point? The tool isn't as important as the ingenuity shown in its use.

    5. Re:Languages die hard period. by Tablizer · · Score: 1

      (* Yes, FORTRAN lives! New code is still being written in it, even now. For one thing, there are plenty of tasks that don't require pointers (and the attendant bugginess that comes with the things). *)

      The use of RDBMS to manage large collections instead of RAM-pointers probably has kept many older languages alive. A good relational table system is superior to a single-language RAM thingy in most cases anyhow. It is easier to share, view, sort, filter, save, crossref, etc. the data. (OOP often suffers a similar problem in that one ends up trying to recreate a database in the language structures. GOF thingies, for example: hand-built indexes they are.)

      And "lite tables" are better than arrays IMO also. However, it is hard to find such these days.

  86. C# is a superset of Java, but not other way around by Anonymous Coward · · Score: 0

    It is very easy to port Java code to C# (proof: Ant -> NAnt, JUnit -> NUnit, Log4J -> Log4N) - but it's not easy to port the other way around if you use C# features like delegates, structs, enums, bit fields, unsigned types and the rest. C# has fixed many of the shortcomings of Java that Sun was unable to roll into their releases due to time constraints. Instead of arguing about Java "purity" and it is "not cluttered", Sun should be adding these same features to Java to remain competitive and viable.

  87. I'll Never Stop Using Java by Ribo99 · · Score: 1

    The day I'll stop using Java is the day they will have to pry my keyboard from my cold, dead hands...

    ...or the day I can't find another job

    --
    I wear pants.
    1. Re:I'll Never Stop Using Java by sunking2 · · Score: 1

      This will happen sooner rather than later because you'll have starved to death because no one will hire you as a Java programmer.

    2. Re:I'll Never Stop Using Java by Ribo99 · · Score: 1

      Riiiight

      humor impared?

      --
      I wear pants.
  88. Swing by yuri · · Score: 1

    I've run Swing apps that respond like they are native. Things like JDiskReport and even Intellij is not too bad. Thats on a 650MHz machine, I imagine you couldn't tell the difference on a 1.7GHz.

    The naive implementation of the event handling is what gives the bad performance. VB must intelligently handle this issue because I can't imagine VB programmers all coding background processing to free up the event queue.

    Plus Swing apps look a lot better, even look damn sexy on Mac OSX!

  89. You are misinformed by dnoyeb · · Score: 2

    Sun is trying to maintain control over Java and leverage it. Its clear to any Java programmer.

    They currently only put 2 certificate chains in their keystore. so how much do you thing verisign and thawte paid Sun for that priveledge? you think that was free? Especially since we have to pay over $100 per year to get certificates.

    Their are ago old problem with Suns Functionality on Windows which Sun seems to think is cool to blame on M$. So they dont fix them as long as they can pass off the blame. They could have been fixed them. Like getting rid of terminal windows on spawned programs.

    Sun is not smothering Java, but they are not letting Java move as fast nor as friendly as it could.

    No I agree c# will not have the community that Java has EVER.

    C# does NOT compete with Java. I have to say this about 15 times per month. Clearly M$ wants to keep pushing this idea, but no one has yet told me why its supposed to. C# competes with c++. c# is for windows, Java is for everywhere. Yes maybe you can use c# on some other os, but c# is "for" windows.

    I wish they would just let this fake arguement of c# knocking off Java die.

    1. Re:You are misinformed by Anonymous Coward · · Score: 0

      >They could have been fixed them. Like
      >getting rid of terminal windows on
      >spawned programs.

      Lol. Why should they fix that when it's your responsibility to do so.

    2. Re:You are misinformed by ZeroConcept · · Score: 1

      >They could have been fixed them. Like
      >getting rid of terminal windows on
      >spawned program.

      Call javaw.exe instead of java.exe

    3. Re:You are misinformed by Hard_Code · · Score: 2

      I think he was talking about applications spawned through Runtime.exec(), in which case he has a point.

      --

      It's 10 PM. Do you know if you're un-American?
    4. Re:You are misinformed by Hard_Code · · Score: 3, Interesting
      dnoyeb said:
      Sun is not smothering Java, but they are not letting Java move as fast nor as friendly as it could.
      Actually, I'm not so sure I buy into this. From where I'm standing, it is still very hard to get clients updated quickly to the latest bleeding edge Java (no thanks to Microsoft's desktop dominance), so I don't see how Java is not moving as fast as it could be. Are you keeping track of all the specs and extensions they churn out? RMI, EJB, CORBA, JDBC, XML support, Servlets and JSP, JDO, Mail libraries, JNDI libraries, LDAP libraries, 3D graphics support, now they even have a serious Java Gaming push! Java seems to be moving very fast to me.

      No I agree c# will not have the community that Java has EVER.

      C# does NOT compete with Java. I have to say this about 15 times per month. Clearly M$ wants to keep pushing this idea, but no one has yet told me why its supposed to. C# competes with c++. c# is for windows, Java is for everywhere. Yes maybe you can use c# on some other os, but c# is "for" windows.

      I wish they would just let this fake arguement of c# knocking off Java die.
      Just wanted to quote that because I wholeheartedly agree. C# is primarily a migration path for *MS developers* to step into a world which until now J2EE has been the sole citizen. Of course MS is going to hype it if it can detract from Java, but that's just extra. And frankly, I'd rather see MS software written in C#/CLR (which is actually a decent architecture, with security, etc.) than C and C++.
      --

      It's 10 PM. Do you know if you're un-American?
    5. Re:You are misinformed by Anonymous Coward · · Score: 0

      I think he was talking about applications spawned through Runtime.exec(), in which case he has a point.

      Seems to have been fixed as of 1.4.

      Took 'em long enough.

  90. "Open Source"? by schmaltz · · Score: 2
    Open source wins the day yet again.
    What? This is a joke, right? Seahash is open source? Hello??

    TTBOMK, seahash was developed closed-source and proprietary, then it was submitted to ECMA to be considered for becoming a "standard." Open source usually means community-supported from the get-go, and good software becomes a de-facto standard, e.g. Apache, Squid, Perl. Microsoft developed seahash as a Java contender.
    --
    Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma ... where's Siggy?
    1. Re:"Open Source"? by Anonymous Coward · · Score: 0

      Go back and read that last line again, dumbass. He said OSS wins because Sun will have to loosen their insane chokehold on Java if they want to compete.

    2. Re:"Open Source"? by Anonymous Coward · · Score: 0

      I think the poster was saying that at the end of the day open source would be the winner; he was not implying that c# was open.

  91. Myth #1 by dnoyeb · · Score: 1

    "Myth #1: C# is a Windows-only technology."

    Uhh it is. This guy is off his rocker. Why doesent m$ like Java, because its from Sun? heck no. Because its crossplatform.

    What makes this fool think m$ would be happy to replace the cross platform Java with a cross platform c#?? How is it m$ interest to allow this?

    Thats just an insane thought. We know m$.

    1. Re:Myth #1 by Anonymous Coward · · Score: 0

      I disagree. They are almost certainly going to have *nix versions of .Net... although whether they release them or not is another question.

      They make most of their money from Office, *not* Windows... and this is a safety play. In a few years Office will be mostly .Net based, so if Linux takes off and gets a decent desktop share, a Linux MS Office will come quickly.

  92. Greatest Thing about .NET by yuri · · Score: 1

    Microsoft suddenly has millions of VB programmers that can now write enterprise level code. I'm talking distributed code, web services, security instead of just forms hiding a database table.

    OH! My God! What have they done!

    Plus its basically a new language that they will have to learn. Least its adding features I suppose. Bertrand Meyer seems happy to take out features from Eiffel just to get on the bandwagon.

  93. wow, you must have interesting time sense by StandardDeviant · · Score: 4, Insightful
    And really, C hadn't been around that long when Java was first introduced.
    C = early 1970s, Java = mid-90s (well, unless you count Oak and that's still only early/mid-90s)... A 20 year lead time is pretty considerable in any field, let alone IT where everything changes on a biweekly basis...
    1. Re:wow, you must have interesting time sense by Anonymous Coward · · Score: 0
      If you look at when C became available outside Bell Labs (1975-6), you see a bit of a loss on that lead. If you note that the main impetus for using C was for Unix, which exited Bell Labs at the same time, you see a bit more of a loss, because Unix growth had grass-roots growth patterns. If you see that the early C implementations sucked an incredible amount of ass, especially compared to the other languages available (several Lisps, Bliss, Pascal of some kind, APL), you see that C didn't grow that fast at first. Finally you'll see that C didn't become industry standard until an entire new generation of operating systems were written on C, and then as those spread so did C. C probably didn't reach 'largest developer share' until the mid to late '80s.

      Just a heads up.

    2. Re:wow, you must have interesting time sense by 56ker · · Score: 2

      which makes what you're saying out of date about .... now. :)

    3. Re:wow, you must have interesting time sense by Sentry21 · · Score: 2

      Unless you're a large company, in which case nothing changes for 30 years (let's face it, COBOL is not exactly today's language of choice, but it is still widely used). Sure the little guys jitter around like a jumping bean on a hot plate, but the monoliths (by and large) build systems and stick with them. You can't afford to stay behind, but you can't afford to upgrade every 6 months either, and changing languages is just a pain.

      --Dan

  94. Wrong by dnoyeb · · Score: 1

    Anyone using Java now is not entirely interested in makin .exe and .dll files. Else they would simply use VC++.

    And besides that point, a XP2000+ processor is more than enough to speed my java to acceptable levels of windows performance :D

  95. Where are the client side java apps? by bulletman · · Score: 1

    For all java promises greatly enhanced productivity over C++, there should be a huge selection of client side java apps to choose from. But they are not there.

    Why? The GUI is dog slow and ugly.

    How much better would java be for the client side if, for example, high quality bindings to wxWindows, gtk+, or qt existed? Then the GUI could be snappy and java could execute all of the logic. If a cross platform toolkit were used, the program would be cross platform.

    Swing is a poor substitute for a native cross platform toolkit.

    1. Re:Where are the client side java apps? by Anonymous Coward · · Score: 0

      it exists and is called SWT. it is part of the Eclipse platform.
      This is IMO a killer GUI API for java.

  96. Sing along... by Anonymous Coward · · Score: 0

    You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!

    I sure as hell hope it won't be like that KPMG anthem...

    J2EE, we're as strong as can be...

    aye caramba

  97. More likely by Paradise+Pete · · Score: 2
    Of the two extremes I'd say it's more likely that in five years Microsoft will be in tatters. Their business model is collapsing. They know it, and so they're trying to find a new one. There's hardly a guarantee that they will. All industry giants eventually come back to the pack or collapse altogether. It usually takes a long long time, but now we're traveling at internet speed.

    Their market capitalization is fragile, based on things staying pretty dang rosy as far as MS is concerned. Once Wall Street no longer believes then the game is over. Suddenly all their best and brightest will be working for peanuts. At first they'll fool themselves into thinking it's just a blip, but eventually they'll start to leave. Once that happens MS will have to start paying real salaries. But they really can't afford to, because their accounting scheme is based upon rewarding with stock options they can print, not actual dollars they can't. So now they start missing quarters, and a few missed quarters in a row and then the stock price collapses down to conventional levels and below.

    The above doesn't have to happen, it's certainly a real possibility and more likely than C# taking out Java.

  98. Critical Mass by smagruder · · Score: 2

    What makes Java different from another once-hyped language, like Delphi, is that Java has actually reached a critical mass with the guru-level developers and the best development shops and has maintained it for at least a couple years. This means that there will be plenty of Java maintenance work lying around for years, if not decades to come. You can't say the same about Delphi. Most shops in the U.S. have already vacated Borland technologies (even though they're better than MS Visual Studio crap, of course).

    So, bring on C# and .NET. J2EE needs competition, and thus Java development is bound to get better and better, and stick around longer and longer.

    --
    Steve Magruder, Metro Foodist
  99. Codin' for fame, high on cocaine by aburnsio.com · · Score: 1

    This JRE
    does just-in-time
    leaves the app server
    respondin' just fine
    Hits on the web
    make new beans load
    database thrashin'
    instatiatin' again

    Codin' for fame
    high on cocaine
    Bill Joy you better
    watch out for billg
    .NET ahead
    VB behind
    you know that C#
    just crossed my mind

    .NET ahead
    with Balmer in bed
    some folks are sayin'
    Java soon will be dead
    JCP slackin'
    Apache don't know what to do
    look straight ahead
    C#'s comin' for you

    Codin' for fame
    high on cocaine
    Bill Joy you better
    watch out for billg
    .NET ahead
    VB behind
    you know that C#
    just crossed my mind

    Apache's Tomcat
    ain't J2EE
    You've got to be crazy
    to attack what is free
    Didn't you know
    where developers go?
    Apple and Lotus
    what have they tought us?

    Codin' for fame
    high on cocaine
    Bill Joy you better
    watch out for billg
    .NET ahead
    VB behind
    you know that C#
    just crossed my mind

    Hope you all enjoyed the show. Apologies to Jerry. Boy, I needed one really long line to post this because slashcode thinks it's really smart not allowing poetry. Stupid code. They don't like songs? Men of prose? Men of prose bore the world. We need men of poetry. Just how long does one line have to be to drive up the threshold? What is the threshold? I just keep typing and previewing, driving up the average until it works. Up to 16.4 now. I wonder how much longer this will take. Boy, this is the kind of silliness I go through every day at work ;-) Still only 17.9. Maybe twenty will be the magic number? I don't know. They're probably trying to prevent sill firstpostism. Their attempt can be easily defeated since they rely on averages. Finally made it! Must be around 20 or so.

  100. Java, but not on the desktop by nomadicGeek · · Score: 1

    Java will be around for a good long time. There are plenty of server based applications that are built around Java and for them, portability is a major plus.

    On the desktop however you would have to be crazy to build your apps around Java. Java apps run slower, require more resources, and just feel funny on the desktop. C# and VB.NET along with good old fashioned C++ will dominate. Portability is not an issue on the desktop. Everyone runs Windows or a Windows emulator/VM anyway.

    I have always liked the Java language but never the results on the desktop. I have put up with VB and Visual C++ for a long time because they produce better desktop apps. I'm glad that MS took some notes from Java and made life easier with C# and VB.NET. I know have many of the nice features of Java (don't care about portability) while still being able to produce good desktop apps.

    It must really piss off McNealy and gang that MS followed their lead and will probably make more money in 1 year with .NET than they ever have with Java but those are the breaks. Sun made their choices and stuck to their course. If they wanted .NET type financial success they could have catered more to the desktop market. That isn't what they wanted to do. They have been very successful in their chosen space. It's just a little smaller than the one that MS concentrates on.

    There is plenty of room for Java. I don't want to live in a world without competition. MS pulls a lot of crap but Jeez, Sun had a good 5 years on them on this one and didn't do much with it.

  101. Eight years? by d3l1r1um · · Score: 1

    When I first started programming in Java eight years ago

    That's a good trick... The official "birthday" is May of 1995 -- how'd you get ahold of it more than a year beforehand?

    ;)

    1. Re:Eight years? by d3l1r1um · · Score: 1

      Of course, NOW I see the other comment about this. :)

      Here's a reference though:

      http://java.sun.com/features/2000/06/celebration.h tml stating that it's May 24, 1995.
    2. Re:Eight years? by ArsonSmith · · Score: 2

      resume time?

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  102. not supported? by gripdamage · · Score: 1

    Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead.

    I don't know about you, but the first thing I do after installing any Windows distribution is go to Windows Update to install whatever updates are available. After installing XP, I went to Windows Update and near the top of available of updates was a JVM. Furthermore about one week ago an update to that VM was released by MS closing a security hole.

    Obviously XP does not contain a JVM by default. That said how exactly are they "not supporting Java in XP," when anyone who updates their machine has it and it is being maintained.

  103. Re:ummm... heard this before... by Anonymous Coward · · Score: 1, Insightful

    "but Java even has reflection that beats everyone's pants off when it comes to enterprise solutions."

    It worries me that (presumably) professional programmers are so inexperienced with langauges that they think Java's reflection API is anything other than a bag hung on the side (note: you could implement a similar bag on the side of C++, using the FFCALL library and debug symbols).

    Reflection/Introspection really just covers up for the lack of a metaobject protocol, which is a characteristic of a real (not C++ derived) OO language.

    Try writing dynamic code in a real OO language (like smalltalk, for example) and see how incredibly easy and powerful it is.

    Note to programmers: Learn more than one or two languages. If you don't see that Java and C++ are almost identical both syntactically and in terms of their respective object models, you need to learn some more.

  104. Scheme implementation... by (a*2)+(ron) · · Score: 1


    Educate yourself:

    Scheme: Tachy
    A bunch of other non-algol languages: Project 7

  105. Who cares??? by sterno · · Score: 2

    If it is true that C# is very similar to Java and it is true that C# can be used on non-windows platforms, then why should we be concerned about C# coming to dominate? I mean, all the java developers go learn C# and life goes on.

    What's the problem?

    --
    This sig has been temporarily disconnected or is no longer in service
    1. Re:Who cares??? by reflector · · Score: 1

      You're missing the whole point, and that is that MS doesn't want ANY platform-independent language to succeed, as that would be a threat to their Windows monopoly, since software developers would no longer be writing windows-specific software. Java is under Sun's control, and Sun won't let MS get away with fragmenting it by creating system-specific versions of java. If java goes away and is replaced by C#, MS is under no such compulsion to not fragment it and make it fail. I doubt that MS has any interest in making C# succeed other than taking some of the steam out of java.

      .

  106. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  107. Not quite right.. by willy_me · · Score: 2
    To be Pure-OO, everything must be an object and derived from one single base type -- that is not the case in Java because of the primitives (int, byte, etc)

    Not true. What Java lacks is dynamic binding / linking. For example, take two classes - Obj1 and Obj2. Obj1 can't be compiled if it makes a method call to Obj2 and doesn't have some sort of reference to that object - like a header file. A true OO programming language would allow you to do this because everything is linked at run time.

    Take a good look at ObjectiveC. It is completely ANSI C compatible and is also a true object oriented programming language. SmallTalk is another prime example of a true OO language.

    You're right when you say that Java isn't a pure-OO language but you're reasoning is incorrect.

    Willy

    1. Re:Not quite right.. by thomas.galvin · · Score: 1

      Not true. What Java lacks is dynamic binding / linking. For example, take two classes - Obj1 and Obj2. Obj1 can't be compiled if it makes a method call to Obj2 and doesn't have some sort of reference to that object - like a header file. A true OO programming language would allow you to do this because everything is linked at run time.

      Um, nope. Dynamic binding and linking means that classtype is determined at runtime; for example, if class sphere is a subclass of type circle, a sphere object can be referenced by a pointer to circle. If linking is done dynamically, if sphere ovverides any of circle's functions, the sphere methods will be called. If linking is dynamic, the circle methods will be called. All linking in java is dynamic; by default, C++ is static, hence the virtual keyword.

  108. Self-fulfilling by Anonymous Coward · · Score: 0

    Java isn't going anywhere. In fact, it will only get better. Microsoft has excellent marketing, but Java is a much better technology. The Microsoft zealots will say otherwise because that's the type of thing they say.

    Why they support the company, I don't know.If you develop a great technology with .NET, Microsoft will either buy you or cream you. If that's what you want, then great. If you use Microsoft's platform, you must consider Microsoft your master. That's okay, I suppose if you believe everyone will eventually work for Bill, like the rest of the pukey punks who work there. That's what they tell themselves to get by, anyway, and misery loves that company!!! Let's see some Microsoft employees, like Carnage4Life come out and say, Bill is my daddy, damnit, and I love him and he's the best father I could ever hope for. I really wish he and Melinda had begotten me, but then again I probably wouldn't be such a twit if they had. I suppose then that the next best thing is doing his dirty work just so I can be close to him and use the same name on my letter head.

    Seriously, Microsoft, and all those within it's walls, are white collar criminals who refuse to give themselves up.If you tag along you may have some excitement in your otherwise boring life, but you'll get caught eventually.

    Technology is not important relative to society. The fact that some company has great products means absolutely nothing if they destroy the ecosystem in the process. Microsoft has destroyed the organizational ecosystem. They're not even American-loving Gods, I mean God loving Americans. People get smitten with shiny shit, like diamonds, but would you really want something that you didn't earn or that was stolen? That's what Microsoft gives you. A bunch of broken promises for a blissful society. They actually believe themselves, so they must be forgiven, but there is no opportunity with them. I agree, give them ten years. Those people owe the world lots of $$$$$. They didn't even earn their place in society honestly. A bunch of looters and robbers and petty thieves. Microsoft is mud.

  109. separating language and API's by Tablizer · · Score: 2, Insightful


    (* What we need is an open language that matches up to java and c#. Something free of patents and IP. *)

    Heck no!

    There are already PLENTY of open languages. What is needed is open API's.

    Why should I have to use language "X" in order to use API "Y" ??????

    Sun is trying to turn Java into a fricken OS. It is like Emacs: "It is not just an editor, its an OS". Java: "It is not just a language, it is an OS".

    1. Re:separating language and API's by Karellen · · Score: 2

      The thing is, Java is an OS. And a platform. And a Language. And a library.

      Which can get a little confusing at times.

      --
      Why doesn't the gene pool have a life guard?
  110. It's not the language C#, it's the library by hqm · · Score: 1

    C# is just a clone of Java with the
    serial numbers filed off. What is persuasive
    is the big honking library that goes with it.
    Sun looked at every library developed for Java,
    took all the best ones, plus some other goodies, and rolled them into the huge CLR
    standard libraries. So what you get out of the box is a lot of really useful functionality. The core language is irrelevant, and in fact they
    have bindings from the .NET libraries to
    Javascript, VB, and many other languages.

    Until the Mono people can clone that library, Microsoft will have the edge. But hopefully, it
    shoudn't be too hard to clone the library,
    as long as lots of open source heavyweights get
    into the act (IBM, I mean, and Sun if they have
    any brains).

  111. no-GUI == platform-neutral ? by Tablizer · · Score: 1

    (* Maybe you should ask that question to sun. The main reason that I prefer C# over Java,is that Sun is ignoring the desktop. *)

    That is a good point IMO. What good is platform-neutrality if it is only server-side? Ignoring the GUI, you can get cross-platform with Perl, Python, Pascal/OOPascal, LISP, C, C++, etc.

    And, the GUI should be a multi-lingual API's anyhow.

    SUN suckered a whole lotta PHB's.

    1. Re:no-GUI == platform-neutral ? by Pfhreakaz0id · · Score: 2

      ... and that's been my point lately about a Java porting effort we're considering at work... We're moving to (already have many) web-based apps. Ok, fine, argue out development speed, tools or something.... but portability of code to many platforms is simply not a consideration for me at the server level. that's ONE server... big whoop.

    2. Re:no-GUI == platform-neutral ? by Tony-A · · Score: 3, Insightful

      Portability of code to many platforms is a major consideration at the server level, particularly if you can only have one server at a time. If it runs right on one standards-conforming server, it should also run right on another standards-conforming server, with no nasty surprises. The realistic choices are COBOL, PL/I, ADA, and Java provided Sun can keep everybody from screwing up the language. That's of course assuming that the stuff on the server is actually important.

    3. Re:no-GUI == platform-neutral ? by Tablizer · · Score: 1

      (* it should also run right on another standards-conforming server, with no nasty surprises. The realistic choices are COBOL, PL/I, ADA, and Java provided Sun can keep everybody from screwing up the language. *)

      Being 100% tweak-free to switch over is probably not realistic. Anyhow, what about languages like Python, Perl, or LISP, for example? Why have you excluded them from your list?

      In practice, few companies switch servers anyhow unless something drastic happens to the vendor.

    4. Re:no-GUI == platform-neutral ? by Tony-A · · Score: 2

      In practice, few companies switch servers anyhow unless something drastic happens to the vendor.
      Over a thirty year time span?
      There is a lot of code that has not been changed in the last 30 years, and a lot more code that will not be changed in the next 30 years. The code is long, tedious, dull, boring, etc, none of which is helped by a better language.
      Tweak-free isn't so much a problem as implicit and insidious assumptions about implementation details. Both work, but they don't work the same way.
      Can you imagine a bunch of COBOL programmers thinking Lisp?
      Can you deterministically determine rounding errors in Perl or Python?

    5. Re:no-GUI == platform-neutral ? by Tablizer · · Score: 1

      (* Can you imagine a bunch of COBOL programmers thinking Lisp? *)

      Sounds like an "old-dog-new-tricks" kind of suggestion. Do you really want to risk a flamewar?

      (* Can you deterministically determine rounding errors in Perl or Python? *)

      There are decimal-based libraries out there. Floating point is not the only way to do money math. Floating point might be efficient, but it less maps to the way humans think about money math.

      BTW, I meant "switch server vendors" and not so much box upgrades.

  112. Java isn't going anywhere by Anonymous Coward · · Score: 2, Interesting
    The world is made up of two kinds of people:
    • Those that set standards and try to, the leaders. These are the people who fight up stream, sometimes have crazy amounts of loyalty, oddball ideology, etc..
    • Those that follow. There is nothing wrong with these people, they play a very critical roll and in many ways they probably have their lives more put together than those of us who insist that X is going to be the next big thing and work outselves in to a 3 year long frenzy trying to make sure that it is rather than getting to know our neighbors and smelling flowers and such.

    No disrespect intended at all but java lowered the benchmark. In the bad old days you need to know about different platforms, you needed to know how OSes and processors worked to be a really really good software engineer. Not that those skills are what define a programmer or what make someone useful in this industry but that's how it was. Java steps in and you don't need to know about hardware or anything like that to be an effective programmer. Plus it's insanely easy to do a lot of stuff, you can just churn out code that does the job correctly in it. Now it's going to take a super computer to run on and your apps are going to have a slightly different look and feel and there is this huge JRE image you have to transport with your apps but you can make apps faster and you can use people with less knowledge to do it and that's probably a lot more valuble than a few cycles and a few megabytes of RAM. (BTW, I've always felt that lowering the benchmark was my duty as a guy with the CS degrees and the knowledge about how all the low level stuff works, the job of us is to make it possible for non-computer people to do useful things with computers.) Java lowered that benchmark in a radical way and then heavy weights like IBM, Sun, and even MS at the beginning were touting it as the future, the new VB, the future of software.. There is a lot of legitimacy to using tools like that, it shouldn't take a genius to write most of the code that needs to be written. Java is an insanely good tool because it does lower the benchmark and it allows people to focus more on solving problems than bits and bytes.


    Now that's a prime tool for followers to use, it's easy, it has support from big players. Lot's of the people who are in the java game are people who follow, not all of them but a lot of them. They saw that as the skill to put on the resume, plus it's easy and fun to use, so they move in and start coding up java. Now MS is trying to piss on their parade, java doesn't come with XP (big f---ing deal because anyone serious about java application development was only supporting a specific JDK or two anyways and you probably put it on the CD with your app, that how we do it at IBM and both IBM and Sun have pretty liberal licenses for redistributing their JREs) and they've got this great new C# technology that's just as easy and not too many people have been fired for picking MS solutions. That's another prime environment for the followers. Of course there will be people who flock to it. It's all FUD and hype but it works. The thing to recognize is that those people who moved to java and are going to move to C# will move to whatever the next thing is too, it's not like they're really loyal or something, as long as it's profitable to use and there isn't something more profitable they'll use something.


    I think the reality is that a ton of code has been done in java and some of the big boys have committed enough that it's not going to be easy to move completely to C#. Java is going to die just like C and C++ did... oh wait. The fact that C# exists at all is proof of how good a tool the java is because MS is trying to knock it off and lock their followers in to their platform. It's also proof that these kinds of tools are needed and desired.


    Java won't go away but I think there is a lot to be said for watching this tide of followers move. The Free software community can benefit from it largely. Maybe we build our own Java/C# for Linux and BSD. There are plenty of tools that already exist for it. I think you could make a standard distribution of Python with a select group of modules, document it, brand it, rally some support for it and you have something similar. If we want to start to really move over to that next level we should start trying to build that benchmark lowering tool for the opensource world. Simply copying or porting those kinds of tools is enough to give Linux and free software some a fair amount of credibility but to take it up a notch we should lead and create our own tools like that, the best you can do while Sun and MS are leading is suck hind tit, you still get some milk but you might not get your hunger satisfied.

  113. Java and C# are as different as Python and Perl by qweqwe · · Score: 1

    Java and C# are as different as Python and Perl. Java is a minimal language that does not tend to add features that could be solved by libraries or conventions. C# is a maximal language that tries to incorporate all language idioms in the language. For instance:
    * C# has attributes. Java has external XML manafests.
    * C# has event types. Java has Event classes
    * C# has for loop iterators encoded in the language. Java has Iterator classes
    * C# has resource allocation blocks (where resources are automatically disposed of when you leave the block). Java takes care of this by convention.
    * C# has many ways to access the underlying OS transparently. Java has native methods. (Native methods are good enough to wrap OS system calls. Take a look at Eclipse's SWT.)

    The JVM and CLR continue this minimalistic versus maximalistic trend. From what I've read, next version of the CLR will likely include closures, templates, and other functional language goodies natively in the VM via special instructions, so the difference between the JVM and the CLR will only increase with time.

    Getting a Java supporter to admit to liking C# (or vice versa) is like getting getting a Python programmer to admit to liking Perl (or vice versa). It does happen, but it's the exception not the rule. Both languages have different mindsets.

    Because of this, neither language will die.

    The JVM, OTOH, might have a limitted life because the CLR's instructors are more or less a superset of the JVM's instructions. Few people look at the Java or C# VM output so there's a lot less fanatacism where this is concerned as long as "100% pure Java" code work 100% of the time on the CLR. It's a tall order that involves all of Java's base libraries being recompiled for the CLR, but I'd be willing to bet money that some enterprising company out there ans some open source programmers out there are working on this as we speak.

  114. Java for CLR by dannannan · · Score: 1

    The CLR only threatens the JVM, not the Java language. Someone will implement a Java compiler for the CLR; then components written in Java and C# and other languages will be able to seamlessly interact. We will finally be rid of the JVM's language lock-in now that there's a competing product available in the cross-platform market. This is the whole point of the CLR: you can use whichever language you want to.

  115. I think, he believes that if he says... by Alex+Belits · · Score: 2

    ...that he isn't a FUD-monger, everybody will just buy all the FUD that he wrote. Then he is being more naive than his readers.

    Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.

    I personally believe that Java and C# both suck by themselves, both are "poisoned technologies" (ones that carry arbitrary idiosyncrasies built into them just to advance the agenda of their creators -- the only positive example of "poisoned technology" that I have seen is fictional -- it's Asimov's robots, and even they aren't completely positive), that they pretend to solve existing problems while actually solving the problems that people have yet to invent. However the amount of FUD (ex: C# on Linux? Without a single Win32-only library that every usable C# program is going to depend on?) makes me feel bad for Java -- if it has friends like that, enemies are completely unnecessary.

    --
    Contrary to the popular belief, there indeed is no God.
    1. Re:I think, he believes that if he says... by micromuncher · · Score: 1
      I personally believe that Java and C# both suck by themselves, both are "poisoned technologies" (ones that carry arbitrary idiosyncrasies built into them just to advance the agenda of their creators -- the only positive example of "poisoned technology" that I have seen is fictional -- it's Asimov's robots, and even they aren't completely positive), that they pretend to solve existing problems while actually solving the problems that people have yet to invent.

      Hmmm... have you ever tried to write a real multi-threaded app. in C/C++? What about a cross platform (I don't mean BI platform) networked application in C/C++? Hello, have you written a caching immutable string factory? Sorry dude, picking proprietary libraries or rolling your own is just bad business sense, and saying that languages perks are pushing agendas or solutions looking for problems only shows ignorance [by definition] on your part.

      --
      /\/\icro/\/\uncher
    2. Re:I think, he believes that if he says... by Alex+Belits · · Score: 2

      Hmmm... have you ever tried to write a real multi-threaded app. in C/C++?

      Multithreading _is_ one of the ideas, Java is poisoned with, at the expense of such alternatives as asynchronous processing and multiple processes, that both were superior solutions for everything that I have seen.

      What about a cross platform (I don't mean BI platform) networked application in C/C++?

      Did nothing but those things for at least six years.

      Hello, have you written a caching immutable string factory?

      More poisoning. It's not the language's fault that it doesn't come with everything a developer thinks, he wants -- but templates mechanism (that has nothing to do with STL -- STL is, if anything, an example of its abuse) allows to do that, and more easily.

      Sorry dude, picking proprietary libraries or rolling your own is just bad business sense,

      I don't give a [damn] about "business sense" if it involves hiring large number of incompetent people as "programmers" and looking for a language that will cover up their stupidity and ignorance. I can, and did write code that was cross-platform, efficient, or even both, and C/C++ never caused me, or any programmer that I know, any trouble. If inferior minds have problem with this, they should get a job that matches their intellectual abilities.

      and saying that languages perks are pushing agendas or solutions looking for problems only shows ignorance [by definition] on your part.

      Just the opposite. What you see as a perk, I see as a bad idea, being promoted by making a language that doesn't allow you to use any alternative -- but since you (and other "java developers" that were kept from studying C properly) never were exposed to any other ideas, you cheerfully eat half-chewed for you language, thinking that this is actually a good design.

      --
      Contrary to the popular belief, there indeed is no God.
    3. Re:I think, he believes that if he says... by micromuncher · · Score: 1

      I still write C/C++ applications under the credo right tool for the right job. And for it is not business sense, I am LAZY (some people call it efficient.) I hate spending time coding solutions that already exist because smarter people have already come up with good solutions.

      As for studying C [C++] properly... my nickname was Bjarnie. You don't get a nickname like that unless you are a purist. I can almost cite ARM with the best of them ;-)

      Java is pervasive in enterprise exactly because those bad ideas are 80% of the shit work. So I can spend my day getting at business logic, or solving architectural issues! Its not religious at all - its purely pragmatic.

      --
      /\/\icro/\/\uncher
    4. Re:I think, he believes that if he says... by Alex+Belits · · Score: 2

      As for studying C [C++] properly... my nickname was Bjarnie. You don't get a nickname like that unless you are a purist. I can almost cite ARM with the best of them ;-)


      Bjarne Stroustrup obviously knows C++ well (doesn't automatically translate to you though), but he is pretty ignorant about the philosophy of C design, he just built his own language on top of it.

      --
      Contrary to the popular belief, there indeed is no God.
  116. the sky is falling by zer0*ryok0 · · Score: 1

    the sky is falling the sky is falling.

    if you are currently developing java programs
    or like java like i do.

    do the following:

    .....keep programming in java and liking it

    your current version isnt going to disapear

    i often wonder if things like 'such and such thing wong last so long because of X' actualy create the situation it describes

    because i certainly wasent thinking that, and i still dont, but that seed is definatly in alot more peoples heads now

    --
    the only fact is that everything is an opinion
  117. Success for Both by gibara · · Score: 1

    C# is certain to be a large success, primarily because it offers windows developers a migration route to a platform which is inherently more supportive (in terms of increased type safety, thorough exception handling etc). However, I think that most of the ground it steals will be from developers already using Microsoft's Development tools.

    Java, on the other hand, actually seemed to help kickstart a whole new programming ethos when it was released, introducing new techniques to a new generation of programmers. I don't believe C# provides any functionality which will cause history to repeat itself in that way, and Java developers have no reason to change their tools.

    There is another significant thing to recognise as distinct between the .Net platform and the Java platform (as opposed to C# and Java the language). Unless you already the know the language well, spend a few hours reading the Java 1.4 API. It is enormous. And most of that code is pure Java. .Net appears equally large, but it seems as though most of it is actually a wrapper around existing windows code. What I'm saying is that the amount of C# in .Net is tiny compared to the amount of Java in Java.

    Java is designed around (or at least firmly moving to) a specification/provider framework where Sun provide an API in the form of a set of interfaces and base classes together with a reference implementation, for which anyone else can supply an alternative. This encourages lots of Java development which is actually not visible to developers external to the Java development community.

    For example, you could probably find a dozen different crypto packages for Java, all written to the same API. I don't think that's how it will work with Microsoft. How often does a developer get to replace a component which Microsoft supplies? Rarely, they're just not encouraged to, or perhaps even allowed to.

    --
    Programmers of the world unite, you have nothing to lose but your strings.
  118. The Lesser of Two Evils by Screaming+Lunatic · · Score: 2
    A long, long time ago there was this company by the name of IBM. IBM made a computer. IBM had power. Then the bios was reverse engineered. IBM didn't have power anymore.

    Then came the folks at M$. M$ bought an operating system by the name of "Quick and Dirty Operating System" or QDOS. M$ dropped the Q, both figuratively and literaly, and we were left with a dirty operating system by the name of DOS. Now M$ had the power. This power continued with the introduction of Windoze and continues still today.

    A bunch of people got really, really mad at M$ for a variety of reasons. Groups of them attempted to overthrow M$ by creating other operating systems. But a sly company by the name of Sun developed a new cup of proprietary abstraction called Java.

    Java gained much appeal, but was never able to really give Sun the power that they sought. And they all didn't live happily ever after since everybody has paper clips yelling at them pretending that the paper clip is smarter than the user.

    Moral #1: Sun created Java to create another layer of abstraction so that they could rule the desktop market.

    Moral #2: The paper clip is smarter than most users.

    So which evil do you wanna support? I'd support Java if it was standardized by a committee such as ANSI or ISO. And Sun allowed use of Java license-free.

  119. Don't believe the hype by sigmond · · Score: 1

    Innevitably when .NET and Java are discussed there is a posting about the significance of MSFT makine C# and the Common Language Runtime (CLR) standards via ECMA. While this is true it is emphatically _not_ a reason to believe that MSFT is going to stick to that standard rather than performing their standard embrace and extend routine.

    Much of the .NET "platform" is not standardized, nor is it part of Rotor (the source available implementation for FreeBSD). This includes ASP.NET, ADO.NET, Windows Froms and other API's I believe. All that is standardized and available for FreeBSD is C# and the CLR. That is equvalent to the Java language and the JVM.

    The entire API of Java 2 Standard Edition (J2SE)version 1.2, 1.3 and 1.4 is available on Windows and Solaris in _freely_ _redistributable_ _form_. Version 1.3 of the API is available on Mac OS X. While I am not familiar with the Java imlementations available for other platforms, I am confident that some version of J2SE is available for the vast majority of computer platforms. This includes a growing number of PDAs, Cell Phones etc.

    Java as a _platform_ is now and will for the far forseeable future be more cross platform than the .NET platform.

    Count on it.

  120. Programming Languages by Anonymous Coward · · Score: 0

    Programming languages are like sexual positions. Some are more exciting than others, some are more difficult, some are unusual. Few have tried them all and everyone has a favorite.

  121. I'm beginning to think... by glassware · · Score: 5, Informative
    that Microsoft has discovered the key to getting good press on Slashdot. What if some of the unusual articles that have appeared recently are coming (whether directly or indirectly) from Microsoft PR?

    By Way Of Example: This article, the strangely prophesied Unix Isn't Dead, and this booster for the next version of Windows.

    Although I might be paranoid to wonder about this, it would be a pretty impressive use of grassroots resources. It seems like what they're doing is writing articles that cast doubt on the official Microsoft position. These articles naturally become (in a free spirited discussion site) a thread with some people defending MS and some people attacking it, which provides an excellent position for posting Microsoft's stronger arguments which then reach open-minded developers.

    Anyways, it's an amusing thought. :)

  122. You idiot (maybe) by Beliskner · · Score: 1
    You're either an idiot and have your webpage pointing to ../ of where it should be, or you're very clever and have your Unix permissions set so correctly that having your home directory world visible doesn't bother you. As an IC graduate, I suspect the former, and after having seen some MIT and Berkeley computing grads make much worse mistakes, I can tell you to not feel embarassed.

    Don't worry I won't tell anyone, apart from whoever reads this post. Just double-check your permissions, unless of course you're a sadist ;-)

    As for your comment, C++ is much more error-prone for the average coder than Java because of double free() and null pointers, but then while learning this improves your coding skill level so yeah by all means use C++ at Uni, Java in the real world unless you need the extra performance/turbo-charging of C++. Yeah the libraries are crap, but at worst you can always pipe it in from a small C++ program in Linux/Unix. JDK is as portable as you can hope for. I know you hate it now (as I did) probably because you have a difficult tutorial excercise in it due this evening or something. You know the architectural differences between systems, Java does damn well.

    As for being vendor independent: don't make me laugh. Java is just as dependent on Sun as Windows is on Microsoft
    True, there are other vendors selling Java Application Servers, but as for Java compilers (javac) that compile to java-bytecode, and JREs that can run java classfiles, I can't think of any bleeding edge vendors. Microsoft dropped J++ ages ago. But I don't think Microsoft copying JVM by using CLR vulnerable to embrace-and-entend tactics is something better.
    In fact Java is less vendor-neutral than Windows, since the Wine project seems to have done a better job of cloning the Win32 API than the various free Java projects have with the JDK and libraries.
    True, to be fair though Java is developing fast especially after having been thrown at the server-side. Windows is starting to approach the status of "Ulimate PC Desktop Operating System" via defacto standards plus usability, so they haven't added lots of new stuff to the Win32 API recently that everybody has to use (unlike from Win3.x 16-bit APIs to Win95 32-bit APIs). In other words Java is more of a moving target.

    C# has some flaws, but Microsoft doesn't just sit there, it'll tweak C# until it hits Java right on target. These linux people don't want Linux to die so they love the fact that they are soon going to have a good CLR working, if MS does that on enough platforms then it WILL boil down to a C# vs. Java on every platform.

    I don't know whether you have to 'purchase' the commercial version from Sun, but it can't be cheap
    You're damn right it's expensive. At least they're nice enough to give away a free taster, to tempt you. It's midnight, sweet dreams.
    --
    A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
  123. So? It's Sys-Con by Anonymous Coward · · Score: 0

    Publishers of such fine works as "Cold Fusion Developer's Journal", "Web Services Journal", ".NET Journal", "Linux Business Week", "PowerBuilder Journal", etc. They suck advertiser dick to get a contract, then go off and create two new buzzword magazines a year to meet the requirements. JDJ unfortunately seems to get one or two decent submissions per month, but certainly not from their own staff.

  124. another OOP fight breaking out by Tablizer · · Score: 1

    (* pure object orientation has to be a concept thought up by MBAs just for this purpose...[moderated as "troll"]*)

    Why is it that whenever anybody criticizes OOP, it gets marked as a "troll" by some hit-and-run moderator(s)?

    Please tell me why, Mr. Run, why:

    Anti-OO == Troll

    in your brilliant little mind?

    Jerk!

    (I used to think it was just me. But now it appears that *anybody* who dares criticize OO is a "troll".)

    oop.ismad.com

  125. Java is the BASIC of the nineties by Pussy+Is+Money · · Score: 1
    Kill it. Java is one of the worst ideas ever to hit the market and succeed. Let me tell you that I used to be a staunch Java supporter. I acquainted myself with all the toolkits and conventions. I ported my AWT app to Swing when it finally became apparent that the AWT abstraction just crumbles to dust as soon as you start writing programs that work with the rest of the system, rather than around it. I dutifully followed the path from interpreted to JIT to HotSpot and patiently waited for the promise of "faster-than-C" performance to materialize, only to discover that as inner loops became faster, the startup time became slower and the memory use ballooned. I tried to forget about memory management only to discover memory leaks in Swing.

    It all just doesn't work. Java has its place, but that place grows smaller and smaller every day. In many ways Java is the Basic of the nineties -- including the way in which it fosters questionable programming practices such as sloppy editing (after all, the syntax should prevent slop) and shotgun debugging (after all, the toolkits should shield you from having to know what is going on). Meanwhile it does all this without offering any of the benefits of languages such as Python or LISP or even LOGO.

    Java truly should be considered the worst of both worlds. Even though ironically that makes it a perfect fit for some of the most constricted, toy-problem, "the-customer-is-always-wrong" jobs.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
    1. Re:Java is the BASIC of the nineties by jwambach · · Score: 1

      While I agree with you is some respects, how is C# going to be any different? If you want native speed you are going to have to resort to native APIs. Last I checked, the CLR was standardized, not the APIs (specifically the Win32 API).

      I don't believe that C# apps that are geared towards 'cross-platform' implementations are going to buy you much over Java/Swing. If you want speed you are going to have to rely on Win32/GTK, etc...

      If someone comes up with native implementations of all platforms that conforms to the .NET api for all languages, then you have something, but until then, all I can see is a massive kludge.

      The whole reason I (and many other developers) adopted the Java development strategy was to offer applications with the freedom of platform. This was the fundamental logic behind the initiative, not to preach that interpreted languages were faster, better, etc. Sometimes it's easier said than done, but more often than not, the applications that I have written worked the first time on platforms that hadn't even been tested on before!

      You give me an API that beats Java on all platforms, offers the quality and flexibility and performs better, and I'll learn it. But until then C# just looks like a clone of the Java syntax backed by MS with little API support for cross platform development.

  126. Platform/Toolkit Specific Bindings by commander+salamander · · Score: 1

    So far, the main advantage C# is touting on the desktop is its' native UI, rather than Java's clunky Swing, etc. Non-native UI elements are irritating to the end-user, and visually disorienting (like running MS Word 6 for the Mac!)

    But on Mac OS X, Java has Cocoa bindings, so you can call native methods for drawing windows, menus, or whatever you want. You can do the same with QT/KDE (although I haven't tried it, check out http://developer.kde.org/language-bindings/java/in dex.html).

    This seems ideal to me. Develop your app's core logic, then write a platform specific UI. I've always preferred write-once, compile-anywhere anyway.

    So does GTK have Java bindings? How about Win32? Don't tell me that GTK will have .NET bindings but not Java bindings...

    --
    Is this rock and roll, or a form of state control?
  127. Does .NET doom Java? Yes, and for a good reason. by Anonymous Coward · · Score: 2, Insightful
    What is the fundamental difference between Java and its ilk, and C# .NET and their ilk (inluding Mono and dotGNU)?

    Simple.

    Java is Java. You cannot plug any other language into the VM. The VM is Java, and Java is the VM. This means that you have all the good and bad associated with this language (more in a minute).

    With .NET, and C#, C# is not .NET. The CLR allows you to plug in other languages. See ActiveState for details. You can plug in Perl, Python, Tcl, etc. And it works.

    Why this is important (and it is): No one language is suitable to all tasks. Things which are trivially expressible in Perl or Python are non-trivial in Java. Things you might be better suited to use Fortran or C++ for (for speed or other reasons) are best left in those languages.

    Java makes the fundamental mistake of attempting to be all things to all people. It really isnt as good as the hype surrounding it makes it out to be. And the hype has been shrill as of late.

    What is Java to do? Well, it can shrivel up and go away, or adapt. This means that it would need to open its VM up to other languages. It is not C# vs Java that is the problem for Java, it is J2EE vs .NET. J2EE suffers from all the problems that Java suffers from (it has to). .NET has its own issues, but Mono is coming along nicely, and it runs nicely.

    My best guess is Java will probably continue to win designs for another year or two as this technology (.NET and Mono) firm up. Microsoft is smart enough to know that Linux is its strongest and fastest growing threat in server-land, so if they can give the Linux world something they can deal with (by allowing Mono to continue and interoperate), they get to kill off J2EE by sucking the oxygen out of it.

    And that is exactly what they are doing.

    Java and J2EE are "dead languages/environments walking" for a few more years, unless they can open up the VM and interoperate like Mono, .NET, and the CLR allow them to. Check out the articles on perl.com about using Perl with the CLR and .NET.

  128. Code reuse by HiThere · · Score: 2

    Well, that's a considerable overstatement.

    It's true that C++ code has many dependencies that make it difficult to reuse (e.g., "only virtual members can be redefined, but how can you tell?", etc.) But there are many successful libraries.

    Java make code reuse a bit easier than C++, but does so at the cost of reducec execution time efficiency. There proably isn't any way around this, despite the claims that keep being made.

    A still larger amount of flexibility brings us to the arena of Smalltalk/Python/Ruby. And you will notice that the execution time is again slower. Sorry about that. TAANSTAFL.

    But Smalltalk is well know as one of the best examples of code re-use. Ada tried to design for reuse, but Smalltalk built documentation into the environment. So code reuse became common. At a cost. The environment must be present when running the application.

    There are a series of trade-offs here. You get to choose which one you make. You can do worse than the optimum, but you can't do better. Some people have been claiming recently that by designing a virtual machine (interpreter!) small enough to fit in memory, it becomes more efficient than native code. I really doubt this. Really. But there may be some particular machine configurations and ram/cpu speed pairings for which it is true. (You can do as well as optimum, but how does one determine that? Remember that the assembler instructions themselves are microcoded these days, so the native code is, itself, a virtual machine.)

    And I doubt that C# will remain restricted to the MS platform (or MS + BSD). But think of the BSD version as a step towards the Mac. And C# is close to running on Linux (I thought I heard that it compiled itself about a month ago [not to something that would execute, mind, just that it compiled], so give it a year or two).

    Personally, I'd like to see C# and SmallEiffel and Ada added to the gcc. SmallEiffel seems to be aways off, but Ada was rumored to be nearly there (possibly for gcc3.1?) a few months ago. And C# (plus mono) would allow gcc programs to access most things on *.net. Technically, at least. Licenses might make this illegal. (Which licenses should themselves be illegal, fraud seems appropriate here.) Still, as well as the good aspects, that might open Linux user-space up the the new flood of MS viruses that should now be expected. (Mono, it seems to me, should NEVER be run as root. Of course, I don't really understand it, as I haven't read any of the technical documentation and have instead merely subsisted on news reports.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  129. ./ misrepresents the article by micromuncher · · Score: 2, Interesting
    Once again the intent of the article is to KNOW YOUR ENEMY. Williamson tries to quash some arrogance on the part of the Java community and reiterates the M$ media machine can win the mindshare of decision makers.

    Riding home on the train last week, I was listening to two "software guys" talk about the issue. The summary, "Wow! Microsoft! .NET! Java is dead." "Do you know any Java?" "Yeah I took a course."

    The guy took one course as a "programmer" and is an instant expert. Microsoft LOVES the instant expert, and books devoted to the programming shaman are dedicated to stroke their egos before the technologies are publically released.

    My point is that its not just the high end decision makers that M$ buys, but also the low end technoweenie.

    (The conversation proceeded to Oracle is dead 'cause its over priced, SQLServer rules the world - at which point I wanted to YELL M$ IS PAGE RECORD LOCKING F**KHEAD - then I realized that saying that I'd likely get the same blank stare as my mother gives me when I talk computer talk.)

    --
    /\/\icro/\/\uncher
  130. Why doesn't Java have Functions? by Tablizer · · Score: 1

    (* Compromise is good; there's a reason why Smalltalk is a niche language and Java and C++ are so widely used. *)

    Which niche?

    I am not a Smalltalk fan, but I don't see anything better about Java over Smalltalk (except maybe for "normal" IF statements.)

    It is hard to tell why some languages are more popular than others anyhow. I would guess that Java got popular because of the hype, and C++ because of its raw speed and C base.

    And, if Java is such a good "compromise", then why the heck does it *not* have regular functions? It wouldn't be that hard to add global functions. OO fans complain that too many Java users end up writing procedural style anyhow. (That is because task-oriented thinking is natural to many humans, and has not been shown to be objectively inferior to noun-centric org of OO.)

    1. Re:Why doesn't Java have Functions? by Ian+Bicking · · Score: 2

      Smalltalk's problem is that it is too insular. It exists in a runtime environment that is pure and perfect, but does not play well with others. Maybe in these later years this would not be such an issue, because Smalltalk can talk across the wire as good as anyone, but if it's been good at talking to people far away for some time, it has been on bad terms with its neighbor from the beginning.

    2. Re:Why doesn't Java have Functions? by big_hairy_mama · · Score: 2

      why the heck does it *not* have regular functions? It wouldn't be that hard to add global functions.

      If you really want to write ugly code, then that's what static methods are for.

      Global methods in the C sense get really bad because they only have one namespace. Static methods have a containing class and a package name, so nothing gets polluted. Maybe some people just don't like typing the extra class name every time they call System.out.println() (not really a static method, but you get the idea), in which case Java probably isn't for you anyway, what with the packages and descriptive English class names.

    3. Re:Why doesn't Java have Functions? by Tablizer · · Score: 1

      (* Global methods in the C sense get really bad because they only have one namespace. *)

      Aren't C's functions "regional" in scope? (My C is rusty) IOW, you have to explicitly export them. Most procedural languages are like this more or less. A local function/routine "overrides" a global one.

      (* Maybe some people just don't like typing the extra class name every time they call System.out.println() *)

      Yes, that kind of pattern gets really annoying and clutters up the code, making it harder to see what is actually going on. Plus, it is a Law of Demeter violation, isn't it?

      (* in which case Java probably isn't for you anyway, what with the packages and descriptive English class names. *)

      Yeah, Descriptive English names reminiscent of "BufferedImageMediaStreamWatcherHandlerFactory".

      A real model of simplicity and clarity, cough cough.

      Perhaps some people like Java its API's for some (delusional bucketheaded) reason. However, it ain't me. To each his/her own (just keep it out of my fricken yard).

    4. Re:Why doesn't Java have Functions? by Anonymous Coward · · Score: 0

      Aren't C's functions "regional" in scope? IOW, you have to explicitly export them.

      Nope. Functions are exported by default. The only way to make them local is to explicitly declare them as static.

      Yes, that kind of pattern gets really annoying and clutters up the code, making it harder to see what is actually going on

      Imho, it's no more cluttering than all the extra crap I have to add to my C function names to avoid clashes.

      Maybe some people just don't like typing the extra class name every time they call System.out.println()

      If it bothers you that much, you can always write static PrintStream so = System.out; which will save you 8 characters on each print command. Be glad you're not forced to write java.lang.System.out.println() .
    5. Re:Why doesn't Java have Functions? by joto · · Score: 2
      Aren't C's functions "regional" in scope? (My C is rusty) IOW, you have to explicitly export them. Most procedural languages are like this more or less. A local function/routine "overrides" a global one.

      Actually, it's the other way around. They can be "static", meaning they are only accesible from the same source-file, but you have to explicitly make them "static". "extern" is the default. And that is unfortunately the only separatiorn you get, there are no namespaces, classes, modules, packages, nested functions, or any other means to keep things out of the global namespace, except for the concept of a source file with static functions.

      But on to java... Since java has the concept of packages, it wouldn't be that bad to allow functions lying inside a package. But it's not really such a nuisance to prefix with a class-name either. The difference between Quaternion.add(a,b) (Java), and quaternion_add(a,b) (C) isn't really that bad. On the other hand, with overloading on arguments, you could simply end up with add(a, b) in Java (if it supported functions), and a+b in C++ (since you can overload operators as well).

      I guess some people like it a bit more explicit. Personally, I'm a bit schizophrenic about the issue. I like brevity, of course, but it can also make it really hard to understand other people's code (and in the case of C++, even my own). I think this last objection could be removed with the help of better tools, but currently I know of no such thing as a compile-time debugger for C++ templates, or a slower-but-smarter typechecker for languages using Hindley-Milner type-systems (ML) that can tell me what's really going on, or at least give me somewhat reasonable error-messages when something goes wrong, so I can screw things up on purpose to find out what's really happening.

      I don't know what to do about "BufferedImageMediaStreamWatcherHandlerFactory", though. If it's really an abstract factory for creating handlers to watchers to buffered mediastreams of images, then it's really a well-chosen name, but I don't think that's a pretty common abstraction that would end up all over your code (and if it was, I'm sure you would come up with a shorter name). It's just like "assistant for the the chief packaging master of buillon dice" (or translated into norwegian: overbuljongterningpakkemesterassistent, (a well known song by Øystein Sunde))), is actually a very good descriptive job-title, but if you were working with him a lot, you would just end up calling him the packaging assistant.

    6. Re:Why doesn't Java have Functions? by Dun+Malg · · Score: 1

      I don't know what to do about "BufferedImageMediaStreamWatcherHandlerFactory", though. If it's really an abstract factory for creating handlers to watchers to buffered mediastreams of images, then it's really a well-chosen name, but I don't think that's a pretty common abstraction that would end up all over your code (and if it was, I'm sure you would come up with a shorter name). It's just like "assistant for the the chief packaging master of buillon dice" (or translated into norwegian: overbuljongterningpakkemesterassistent, (a well known song by Øystein Sunde))), is actually a very good descriptive job-title, but if you were working with him a lot, you would just end up calling him the packaging assistant.

      This is true, but what if the company (object library) had fifty "packaging assistants"? How would you tell someone to give a memo to one of them in particular? Likely you'd use the highly abstract and context-dependent Human Naming Convention and say "give this memo to Mike in packaging". This works great so long as A) packaging only has one "Mike", and B) your messenger knows who "Mike" is. Programming languages, however, require totally explicit instructions so you'd have to tell a computer messenger either this:

      BullionDiceMasterPackagingAssistant.GiveMemo(Mem o)

      ...or this:

      PackagingAssistantMike.GiveMemo(Memo)

      You essentially have two choices in Object naming: Give it an irritatingly long descriptive name, or give it an irritatingly obtuse abbreviated name. The difference is that the former is easier on beginners because it requires less "RTFM again" breaks, whereas the latter is easier on experienced coders who've already memorized the entire code library because it requires less typing and makes complex nested equations easier to read.

      That's the way I see it anyway. But what do I know?

      --
      If a job's not worth doing, it's not worth doing right.
    7. Re:Why doesn't Java have Functions? by Tablizer · · Score: 1

      (* Imho, it's no more cluttering than all the extra crap I have to add to my C function names to avoid clashes. *)

      I don't use C these days, so I won't comment on its particular naming shortcommings. (Unfortunately, people view C as the "best that procedural can get", which is kind of annoying. OOP attention has ruined procedural progress IMO.)

      (* If it bothers you that much, you can always write static PrintStream so = System.out; *)

      Don't you have to do this in *every* class?

      I am not saying that global functions will simplify *everything*, but for certain common calls they can. (printing, logging, access rights checking, error checking, etc.) Java should provide that option IMO.

    8. Re:Why doesn't Java have Functions? by Tablizer · · Score: 1

      (* This is true, but what if the company (object library) had fifty "packaging assistants"? How would you tell someone to give a memo to one of them in particular? Likely you'd use the highly abstract and context-dependent Human Naming Convention and say "give this memo to Mike in packaging". *)

      Actually, it might be best to say, "give it to employee #3625". That is very explicit, but not very human-friendly. Fortunately, well-design software does not have to expose these things to the human reader: it is put into a variable(s) or something.

      x = getPerson(.....)
      GiveToPerson(x, PackageA)

      Java just does not hide enuf things into defaults IMO. It drags the programmer into its own internal structure, but claims that since it is "only exposing the protocol, not implementation" it is not doing bad. Baloney! That approach sucks in my book.

    9. Re:Why doesn't Java have Functions? by joto · · Score: 2
      Actually, I see now that I was wrong. It's about a year or so since last time I used java, and that java doesn't have a typedef I had forgotten a long time ago. So basically, if BullionDiceMasterPackagingAssistant is a class-name (which it should be, not a variable, as there can of course be zero or many BullionDiceMasterPackaginAssistant's), and Mike just happens to be one of them. So if your code mainly revolved around organizing BullionDiceMasterPackagingAssistant's, then you really had to write BullionDiceMasterPackagingAssistant a lot, as it would be likely to pop up as arguments and return-values in every method dealing with BullionDiceMasterPackagingAssistant's.

      So what would really be the correct choice, should you call it megacorp.employee.food_division.buillon.packaging. MasterAssistant, and just import that namespace when needed? Personally, I find that even more offensive, because you would then rely on package prefixes to differentiate different kind of employes. The inability of java to introduce a local shortcut for an extraordinarily long name (and long names is sometimes needed, just as shortcuts to them are), is definitely at fault.

      I give up. Ok, let's admit it, java sucks in quite a few places, and this is definitely one of them.

    10. Re:Why doesn't Java have Functions? by Tablizer · · Score: 1

      (* because you would then rely on package prefixes to differentiate different kind of employes. *)

      Taxonomizing employees into "subtypes" is usually futile if you consider all the possibilities and changes that may come along. Best to use has-a instead of is-a for employee modeling.

    11. Re:Why doesn't Java have Functions? by joto · · Score: 2

      True, it was intended as a hypothetical example.

    12. Re:Why doesn't Java have Functions? by Tablizer · · Score: 1

      (* True, it was intended as a hypothetical example. *)

      Like all the other "examples" that have sold PHB's on OOP's idealism, but puke when a little reality is sprinkled in?

      You touched off a nerve. Dividing almost any "business object" into "subtypes" can easily result in similar problems. "Subtype" is too fat a granularity to match potential differences in real world biz things, in my observation. Each instance/record should be modeled as a set of independent attributes. Sure, some will depend on others, but that may be fleating, or not guarenteed to stick to a tree pattern.

      oop.ismad.com

    13. Re:Why doesn't Java have Functions? by nixnixnix · · Score: 1

      Why doesn't Java have Functions? This has to be one of the silliest questions ever posed about Java. Personally, having package identity to me is better than the crappy #include. It makes Java inherently more grokable.

      What is it you have a problem with?

      double t = Math.random();

      vs.

      #include
      ...
      double t = random();

    14. Re:Why doesn't Java have Functions? by Anonymous Coward · · Score: 0

      What about:
      Person x=PersonManager.getPerson("HumanReadablePersonName Name");

      Package p=PackageManager.getPackage("PackageName1");

      p.giveTo(x);


      And if you wanna know the subtype of x you can say it x.getType();

      I think you are involved in a disccusiion without knowing so much about the OO paradigm.
      You don't need to specify all the information about a class in the name of the class.

  131. who cares about the desktop? by GunFodder · · Score: 1

    Desktop apps are a hassle to maintain. If the hardware dies then the app dies with it. Lusers beat on the apps like a red-haired stepchild, screwing up the configuration. And Windows crashes and takes data with it.

    Sun wants to sell servers, not commodity desktops with margins measured in cents. So Java is designed to run on the server. Why would Microsoft release .NET if they were only interested in desktop app development? They already own that segment and there's very little competition.

    1. Re:who cares about the desktop? by nomadicGeek · · Score: 1

      I agree that desktop apps are a hassle to maintain. In any cases where a server based app will do I am all for it. There are just a ton of applications that are not suitable for web apps using the current technology.

      As for desktops being low margin. Are you crazy? One of my customers is preparing to roll out XP Pro to their desktops. The cost is $200k for the licensing. Even if MS prints the license agreement on really fancy paper and sends them a really nice CD, they still make a pretty good margin on the deal. Pretty much every company in the US and much of the rest of the world will be ponying up a check for Bill. The incremental cost for each user is probably in the cents. Each desktop license costs considerably more. Old Bill figured out a long time ago that getting a couple of hundred bucks from each user on the planet is better than a few fat contracts with Fortune 500 companies.

      Like I said in the original post, Sun has chosen their market and MS theirs. Last I checked Sun was losing a ton of dough. JAVA had/has some real promise but they haven't capitalized on their tremendous head start on MS in this area.

      Anyway, Bill seems to agree with you that server apps are a promising direction. He is betting the farm on .NET and will begin to seriously compete with JAVA based solutions. Despite Sun's 5 years or so head start, I think that they will begin to have trouble with .NET competition. They may pull it out but past experience has shown MS to be a very intense competitor. He has billions of dollars sitting around from all of the desktop software that he has been selling to fuel his campaign. If Sun doesn't start making some profit off of their high margin server software, I doubt that they will be able to borrow enough to compete.

  132. Why Swing bites by LadyLucky · · Score: 2
    Java was created by Sun.

    Sun sells big servers.

    Sun wants people to buy more servers.

    You dont run swing on a server.

    --
    dominionrd.blogspot.com - Restaurants on
  133. cfm extension on a page about Java and C# by ehiris · · Score: 1


    Big battle between Java and C#:

    And the winner is Coldfusion!?!?!

  134. GUI tollkit by alder · · Score: 1
    You may want to check SWT from (IBM's/OTI's) Eclipse. If you have not seen it before you'll be very pleasantly suprised.

    PS: to see it in action - download (I would recommend the latest stable build - not 1.0 release) and try Eclipse IDE.

  135. Java is doomed and it's Sun's fault. by Fefe · · Score: 1

    Java is doomed. It could have been a powerful tool to break the Microsoft monopoly if Sun hadn't been exactly the same kind of control freak about it as they claim Microsoft is. Nobody is using Java because it is good technology. People use Java because the university does not teach anything but Java anymore, or because clueless management made a strategic decision that from now on all projects should be Java based. The same kind of constellation that brought us the Microsoft problem in the first place.

    Anyway, I have seen Sun strong-arm an industry consortium in a (big) niche market to make it impossible to implement their Java based standard with a GPL re-implementation of Java. Sun deserves all the doom they get. They are no better than Microsoft.

    And, on a side note: Java-the-language sucks. The syntax and semantics are more complex and less powerful than previous languages. You need more training to do less work with Java than with other languages (I'm not talking about C++ here, obviously). I don't know why Sun did this, but they had a reason for it. I guess the reason why Java is so slow is that they wanted to sell more and faster hardware ;-)

  136. Java has always been an unfortunate case... by JanusFury · · Score: 0

    Java is an excellent language... when it was first announced, and started becoming popular, I went out and bought a set of 5 official Sun books on java.

    After getting them home and messing with them, I was sorely dissapointed.

    Java was a GREAT language. But Sun's JDK, and JRE, and everything, sucked horribly. They were slow, inflexible, buggy, and hard to work with. So I kept using C++ and VB. And now Sun has finally started to get their act together, with lots of fixes to the JDK and JRE, and with technologies like Java3D - but SWING is still horribly slow, and Java is still at a large disadvantage when compared to C#.

    Microsoft has the money, the support, and the staff to pull off the .NET thing, and C# is an excellent language - I personally consider it better than Java, in design. Unless Sun pulls some major overtime, they're going to lose to MS.

    --
    using namespace slashdot;
    troll::post();
  137. A question of maturity... by verbatim · · Score: 2

    With every day that passes, Java grows more and more mature. Developers can learn and use the language in the wild, so to speak, and continually work with it and understand all of it's little... quirks.

    C# is new. It's flashy. It's Java when it first came out. It's also immature and not widely used or even understood. With all the weight Microsoft will flog behind it there is no doubt that it will be a platform du jour for many developers. However, that does not mean it will displace Java.

    For fucks sake, many places are still using COBOL. C didn't dislodge it, neither did Java dislodge C or C++. Sure Java, and eventually C#, is popular, but that doesn't mean that these other languages simply drop from the face of the Earth.

    Too many retards are comming along plugging specific programming languages as the be-all and end-all cure for every programming woe that ever has been or ever will exist. In fact there is benifit from being able to choose languages and systems that cater to certain kinds of tasks.

    I doubt many existing systems will be rewritten simply because Microsoft is thrusting C#. CLR? So, maybe, Perl or C++ or even Java can compile into the .NET bytecode? The question is will it work the same as their original counterpart? Will it work flawlessly with so-called "legacy" code.

    I think a better apprasial would be that it will take 5 years for C# and .Net to mature enough to "compete" with Java. Some of those years have already passed, but many more are still to come.

    --
    Price, Quality, Time. Pick none. What, you thought you had a choice?
  138. Re:ummm... heard this before... by pyrrho · · Score: 2

    "he problem with C++ was that exactly zero of code was reused"

    I can only imagine what you mean by this. As a C++ programmer I can tell you that I reuse a great deal of code. And further, the "industry" is providing libraries for all the functionality that the Java API gives... with more options and better performance.

    I do like Java for servlets, I must say.

    --

    -pyrrho

  139. Coders will abandon BOTH Java and C# by revbob · · Score: 2
    ...and start coding in Ada.


    Ada was just ahead of its time.

  140. Packaging... by alder · · Score: 2, Interesting

    That is a matter of preference. You can easily provide very similar appearance for Java applications as well. Try to check Eclipse (the first example that came to mind, possibly because I use it every day :) - it uses a "launcher" which is seen by people as eclipse.exe file. The rest are plug-ins, which are .jars, though as an IDE user you couldn't care less about it. In other words, this Java application has the same appearance, as any .NET application. And though Java's method to achieve this is different from .NET's, "people percieving a platform" will not notice anything.

  141. But not with Sun at the helm by MtViewGuy · · Score: 2

    I think Java can be extremely successful, but the problem is that Sun's development pace for Java has kind of rubbed Hewlett-Packard and IBM the wrong way at times.

    What Java really needs is the backing of a company that has made Java do real useful applications and provides a very good Java Development Kit. That company is called IBM.

    Why do you think IBM's Java tools are so well-liked in the developer community?

  142. Java _is_ dead by Bugmaster · · Score: 2, Insightful
    It doesn't really matter if Java or C# is better. In most people's minds, Microsoft is synonymous with computers. MS makes computers work; without MS, there would be no civilization as we know it. When people are told about Linux, for example, they ask, "Which version is that ? Was that before or after Windows 95 ?".

    So, when MS announces that Java is no longer supported on their OS, the message people hear is, "Java doesn't work". This includes ordinary users and clueless CTOs; the techies know better, but no one listens to them.

    In addition, "everyone knows" that .NET is built into every computer in the world, for free (well, there is that MS tax, but you need to pay it anyway, right ?). If you were developing a new server-side application from scratch right now, what would you use - a framework which is already built into every computer on the planet, or some dubious 3rd-party software that you have to download and learn ? Plus, it might be un-american to boot, who knows... better stay away from it.

    You might think that the level of ignorance I described above is excessive, but I do not believe it is. As a comparison, consider this: recently, I advised my friend (who doesn't have much cash) to install Linux on his old PC, and he said, "No, that's too expensive". Can you expect people who ask questions like this to understand what a "Java library" is ?

    In conclusion, I give Java about 3 more years (I think 5 years is optimistic). It's sad, but .NET is the future. MS simply has better marketing.

    --
    >|<*:=
  143. [L]GPL it by rsd · · Score: 1

    Maybe its about time to Sun to reconsider a more open License to it.
    [L]GPLing it might give it the boost it needs.

  144. woah, nelly! by mister+sticky · · Score: 1

    you'd think that someone just foretold the second coming or something. I mean, chill out.

    Did you know that it has also been foretold that Latin is a dead language? Hell, how many Latish people do you know??

    Anyway, while this may seem like god saying "fuck off" to the Christians, but I'm sure this Geelan guy said it as a joke. This reaction simply shows how outrageously untrue it is.

    [www.doodie.com] the possibilities are endless...

  145. Aha. And COBOL is long dead, right? by Axe · · Score: 1

    Wrong. With the amount of the code written - Java will at least outlive COBOL. Which is to say - I will be twice dead and reincarnated before is goes away.

    --
    <^>_<(ô ô)>_<^>
  146. The Real Winner Will Be.... by Not+The+Real+Me · · Score: 1

    The programming language with the best (i.e. developer friendly) IDE, debugging tools, and code wizards will ultimately win out.

    Yes...the vi, emacs and gdb purists will have their opinions, but the majority of developers don't like banging their heads against the wall dealing with vi and emacs.

    Although my Java apps run on Linux, I do all the development using Visual J++ v6.0 on Win95/98. Sorry, people, but Forte and JBuilder running on a Linux system are way too slow and suck up far too many resources for me to use them.

    I also do a lot of VB development, and my perspective has always been if the java people could put together a development environment just as fast and easy to use as Microsoft's, Java would be unbeatable.

  147. Books are a trendy language metric by thogard · · Score: 2

    If you go to your local big bookstore and count the books about a language and do that every few months you will find they are a great metric on langauges (and other computer buzword trends).

    If you go count the books on C, Fortran or assember you will find a small number that is about the same size as it was last month as well as 15 years ago. Others like C++, Java, C# as well as Ada, Pascal, Modula2 before them all went through stages from none, to lots and then back to very low numbers. At this point Java is going down and C# is on the rise. C++ took a huge hit when Java came onto the block.

  148. But you by Anonymous Coward · · Score: 0

    need a big server to effectively run Swing.

  149. Yep. And Oracle will rewrite their servlets to C# by Axe · · Score: 1
    ..NOT.

    Amount of the code that is already written and commited to production leaves absolutely no chance it would be "dead in 5 years". Marketing or not - commitement already happened. I have a number of systems installed on my computer right now, most of them have heavy Java support, and not a trace of C#. Most of them absolutely have to run on platforms other then Windows. Most of them are in widespread use in large corporations. Already.

    There is absolutely no damn way it will just magically dissappear in 5 years. Whatever is your opinion of the language. C# does not bring any sizable advantages (of the order Java had over COBOL and other legacy systems).

    And also: elegant QBASIC? Compared to Java? You may have you morning doze of sour grapes, but it seems they were crack cocain laced..

    --
    <^>_<(ô ô)>_<^>
  150. Microsoft: All your Java are belong to us by Anonymous Coward · · Score: 0

    It will be sweet when someone ports one of the many free Java compilers to .Net.
    Will the Java programmers still be called Java programmers at that point or will they just be called "stupid assholes"?

  151. Over the Top by shadowRider · · Score: 1

    The guy is an admitted sensationalist...

    "I purposely went a little over the top just to test the water." (second sentence of second paragraph)

    ...so take it for what it's worth.

  152. Sun is screwing up by j09824 · · Score: 2, Insightful
    Sun has promised standardization for Java, efficient support for numerical computations, fast startup and reduced memory footprint, availability of multiple independent implementations, and a whole lot of other things.

    What has Sun delivered? Well, they have been doing a good job on the JIT. But beyond that, the Java APIs have become huge, there is no new support for numerical computations, the genericity support is flaky, VM sharing and fast startup are missing, and Sun is suing or picking a fight with whoever shows any initiative in the Java space.

    C# isn't a lot better than Java, although it has a few important additional features. But, amazingly, Microsoft has been doing a much better job opening up C# in the form of ECMA C# than Sun. Maybe, in the long run, we may just have to thank Sun for providing the competition that caused Sun to open up.

  153. Java's strength is nowhere near a Windows desktop by pbranes · · Score: 2, Informative

    Java does not belong anywhere near a Windows desktop when actually running programs (not just coding/testing). Java belongs on a server. plain and simple. On the desktop, Java is slow - no, Java is *really* slow. Other programming languages (i.e. VB) are slow, but they provide an easy way for people to make simple applications that can look professional. Java does not provide this. Therefore Java's slightly higher knowledge requirements and slowness make it unsuitable for the desktop. However, Java's strength is running on a server in a JSP environment. This is because Java has so many tools built in for networking (no more C style sockets, yay!!) that a (relatively) few lines of code can produce a very powerful Internet program that is fairly safe to run. I believe it is only hurting Java's image to even pretend that it can function as an application base for desktop applications. Sun should drop all of that - including Swing - and focus on enabling network technologies such as database interfaces and web services where the end user never even knows that they are being fed by Java.

  154. Do you tolerate emotional insecurity? by Anonymous Coward · · Score: 0

    Just a comment on your .sig - Mensa is the domain of the semi-intelligent emotional retards of our world. Surely if you're sop intelligent, you see the irrationality of identifying with a group to bolster your own sense of worth.

  155. Silly on the face of it. by the+eric+conspiracy · · Score: 2

    Languages are nearly immortal.

    We still have wide use of languages like C, FORTRAN, RPG, APL and Cobol, and Java has a very large, and rapidly growing code base, surely larger than FORTRAN, APL and RPG, and maybe even as large as C or Cobol. With the near universal use of Java as an instructional language, and the reams of Java code being produced every day for commercial use it is very hard to imagine the day when Java will be 'dead'.

    To suggest that C# will replace Java is at the very best a great extrapolation.

    Remember that Microsoft is first a great marketing engine, and most of it's initiatives do not live up to the hype. Like Hailstorm.

  156. Java by Anonymous Coward · · Score: 0
    I hope so -- but not becuase I like Microsoft...quite the contrary.


    Java, I have found, is the best way to bring a good system to its KNEES. The overhead is unacceptable. And I for one can not for any reason understand why a developer would use it.


    Write one debug everywhere


    Perhaps its a good idea, too bad its build buy a group who spent too much time with bong and hash pipes.

  157. Moore's law and Programming by descubes · · Score: 1

    All programming languages have a limited lifespan. There are many reasons, but one of them is that Moore's law impacts the complexity of programs that become possible. After a while, it becomes necessary to create a new language simply to accomodate the growing complexity.

    See Mozart - The Future of Programming for a more in-depth discussion on this topic.

    And if you want to be the first one to use tomorrow's language, check out LX

    --
    -- Did you try Tao3D? http://tao3d.sourceforge.net
    1. Re:Moore's law and Programming by Tablizer · · Score: 1

      (* All programming languages have a limited lifespan. There are many reasons, but one of them is that Moore's law impacts the complexity of programs that become possible. After a while, it becomes necessary to create a new language simply to accomodate the growing complexity. *)

      I think it is also fads. Something gets hyped, people get used to the hyped things, whole industries get built up around it, and then the vendors discover that things are getting commitized and thus starts hyping something different to keep up sales.

      CPU cycles and RAM seem to be a minor influencer at best.

  158. JavaOS, .NET OS? by cehardin · · Score: 1

    I can't help but wonder how long it will be till someone starts a .net OS project.

  159. It might be the other way around by haggar · · Score: 1

    It might be that C# .NET and the CLI will actually reinforce Java's position.

    To understand why, you only have to remember what Gates said about Java at the very beginning. Oh, he was disparaging and ironic, expecting that Java will be unacceptably slow, and die a horrible death right there right then. It didn't happen. Sure, Java was and still is slow, but it solved so many problems that people cared less about the speed than uncle Bill liked. He thought the only way to program was C/C++, and that the unwashed crowds of programmers would soon come to their senses and worship Windows.

    And now, with the safety of the historical distance, when peoplehave forgotten those totally unprofetic words, Bill is doing exactly the same!
    Surely many in the industry will now have a confirmation that the Java way is, indeed, a good way, even Bill says so!

    --
    Sigged!
  160. They are the same! by Anonymous Coward · · Score: 0

    J2EE and .NET are development Platform. When you start a project with J2EE or .NET, you will most likely use it everywhere.

    Actually, I don't see servlet/JSP is better than php/perl in developing server pages. The performance is really bad, and writing Java is harder(you slashdot people must not agree with it, but there are many other people out there). Why cannot there is a way to communicate php/perl with EJB?

    I really hope there are something which come from the open source community can replace J2EE and .NET.

  161. Yup. by Axe · · Score: 1

    It is not HOW, it is WHO you fuck what matters.

    --
    <^>_<(ô ô)>_<^>
  162. I remember... by xdfgf · · Score: 0

    A while back I was watching C-Span and it was a luncheon or something with Scott McNealy from Sun. There was a Q&A session and someone asked a question involving Java.

    He seemed to (without saying it) blame MS for the "failure" of Java.
    McNealy went into a story saying something to the effect of:

    "Java was great. We had liscenses with everyone who had their own implementation of it. Then Microsoft came along. Now think of Java as a cup of water. Its pure, safe, and ok to drink. Then take that same cup put a couple of drops of Microsoft poison in it and you don't have a cup or water with poison in it. You have POISON."

    I looked for a copy of the actual text but I couldn't find it. Any mis-quotes are accidental.

    There was alot more to the program, and was quite interesting to watch.

  163. c# by Anonymous Coward · · Score: 0

    If I developed a programming language called D-flat, would Microsoft sue me for trademark infringement? (Ok, this only makes sense if you're familiar with musical notation)

    1. Re:c# by Anonymous Coward · · Score: 0

      Your tired and overused D-flat joke would only make sense if you were high on crack! Like me! Yaboo Dabba Doo! Give me that sweet sweet Java. Mmmmmm!

      Don't eat all your Java at once - you'll spoil your dinner!

      Now with extra Java(tm) in every spoonful!

      Quality is Java #1.

      Java Java Java Yippeee!

  164. Re:Aha. And COBOL is long dead, right? by Tablizer · · Score: 1

    (* Wrong. With the amount of the code written - Java will at least outlive COBOL. Which is to say - I will be twice dead and reincarnated before is goes away. *)

    I think people generally mean "fall out of fashion". I don't know when COBOL started being considered "out of fashion". I assume it was around the rise of minicomputers, in the late 1970's perhaps. Anybody in the industry back then remember?

  165. The best thing about Java is by Anonymous Coward · · Score: 0

    the hats they give you. The C# hats are pretty cool, you got to admit.

    I was on the bus and Scott McNeally was there talking to Bill Joy and they were sweating 'cause they was feelin' the C# heat!

  166. The Meaning of the Name "C#" and MS's Intentions by iskander · · Score: 1

    The Microsoft Press has been a publisher of a series of chess books (which I have read and liked) by international grandmaster Seirawan (coincidentally, a Seattle resident, I think) since the eighties, when MS was not the giant it is today. I believe that the name "C#" is a direct "chessical" reference, rather than a musical reference; furthermore, it is a reference the meaning of which will not surprise anyone here. Let me explain.

    In chess, when the king is on a square to which an opposing piece could make a legal move if only the king were not there (as, legally, the king cannot be captured) the king is said to be in check; in most chess notation systems, this condition is notated by appending a plus sign, "+", to the move that sets up the position. When the king is on a square to which either of two opposing pieces could make a legal move if only the king were not there, the king is said to be in "double-check"; this condition is expressed using two plus signs, as in "++". Now, when no legal move can relieve the king of a "check", the king is said to be "check-mated"; this condition is notated by appending the octothorpe, "#", to the move that sets up the "check-mate".

    In other words, if you were to read "C++" (which, incidentally, is incorrect chess notation because C is neither a piece name nor a board location) as "C double-check", then you would read "C#" as "C check-mate", which could be interpreted to mean "a move by a pawn onto a hypothetical square C (or perhaps by a hypothetical piece C?) which sets up a condition of imminent capture of the opposing king (not legally realizable, as I said) from which there is no relief and which, therefore, wins the game. See? By delivering the C# language (i.e., delivering checkmate) Microsoft expects to win the game (i.e., move the match to the Windows arena, which it controls) and, thereby, win the match. In fact, in the language of chess, one might say (quite idiomatically but with humorous overstatement) "C# Wins".

  167. It can't go on as it is by pkesel · · Score: 1

    There's little doubt that Java won't continue to grow without some fundamental changes. There has to be a breakthrough in the JVM for it to remain successful. It's far too limiting in so many ways. It forces you to live in a tiny address space. You have to give up those wonder OS goodies like signals and semaphores. The classpath, in any large development effort, gets cumbersome, especially when portions of your project require different versions of a particular class. And all those types of packaging. Jar, war, ear, loose classes.

    No doubt, Java has been wonderful for the development community, but it's not the pinnacle of computing languages and runtime environments. It's handy, and that's what's selling it.

    --
    - Sig this!
  168. Yeah, try Tcl/Tk instead, dim witted fuckbrain.. by Anonymous Coward · · Score: 0

    You do not know shit. If you think Motif (native fucking C for ya) is faster or better - you are retarded MORON. Go back to your cave.

  169. both win, in different markets by GCP · · Score: 2

    Everything I see of .Net and C# shows it to be better than Java -- but you only get the benefits if you are on Windows.

    Outside Windows, C# and .Net are not even in the game, and may never be.

    My prediction, and it's not much of a stretch, is that .Net will own Windows and Java will own the rest. Java will nearly vanish on Windows, since .Net can just send messages to Java apps.

    .Net will probably be somewhat better than Java, which will influence some people to use Windows servers (everyone will keep using Windows clients), but many others can't or won't use Windows. Those folks will put a lot of pressure on Java to keep up, probably mostly successfully.

    Of course, if we get really good non-MS .Net implementations on non-Windows platforms, everything I just said will change. That's the wild card in all of this, and there are some scenarios where really good non-Windows .Net implementations could really help MS, like MS-Office on the Mac. This should be interesting.

    I'm happy for the competition.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  170. Chess heads should mod this up if true by Anonymous Coward · · Score: 0

    Wow. That is a great analysis, if true.

  171. EMBRACE, EXTEND, EXTINGUISH! by Shuh · · Score: 1

    'Nuff said.

  172. C# NO.... .NET YES well MAYBE by PSL · · Score: 1

    C# isn't a replacement for Java.... .NET overall is. Every language in .NET is designed to work on every OS.... IF and that's a BIG IF the .NET framework is designed for each OS. Right now it's only for Win. And I don't see MS actually making it for anything else other than Windows. They have only build themselves a safety net that IF *nix takes over (and that another IF) that they will still be left in the market.

    Personally I think *nix has a long way to go to take over the desktop. And until it does take over the desktop it won't take over the server market completely either. It is much easier to manage everything in the same environment. Don't believe me? Remember Novell and Win3.x/95? I'm sure I'll have a nice long article for your guys soon.

    --

    "Times may change, but standards must remain the same." - George Carlin.
  173. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  174. Sun's contributions by ragnar · · Score: 2

    They haven't done anything to help open source or any communities.

    On the contrary, Sun has contributed source code to the Apache group (xml parsers, tomcat and batik). Lets not forget OpenOffice.org, where you can get the source code to StarOffice. Sun has also made various protocols open, like NFS and NIS (for good or bad). Has Sun satisfied everybody all the time? Nope, but I would affirm that they have helped the open source community.

    Regarding the article and its assertions, I don't give it much weight. As long as Java programs accomplish the tasks at hand the language is viable. I'm sure some Java programmers will jump ship for C# and others will add C# to their repetoir, but that hardly counts for killing the language.

    --
    -- Solaris Central - http://w
  175. A little off-topic: Re:Java _is_ dead by fanatic · · Score: 2

    It's sad, but .NET is the future. MS simply has better marketing.

    I think that some people, particularly some business people who understand the issues a little better (e.g. the upgrade treadmill, the reliability issues, the 'who owns your data' issues (though that last may be stretching it) are biginning to get it, even without being geeks. But numerically, you may be right. Even folks where I work who understand where I'm coming from and let me dabble in Linux still advise me to concentrate on niche areas, rather than going for everything, which they classify as "quixotic".

    --
    "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
  176. My two cents by Daimaou · · Score: 1

    I like some things about Java, like its simplicity, servlets, JSP and its cross-platform capabilities. I also like some things about C#, like the way it does threads. I don't think Java will die due to C#, however, for the following reasons:

    1) C# doesn't come close to the cross-platform, browser agnostic, enterprise server capabilities that Java does. C# is very Microsoft centric right now and can't even create applications for Windows 95 since there isn't (to my knowledge anyway) a copy of dotnetrun.dll (whatever the file is called) available for 95. Java works everywhere there's a JVM, and you can find them everywhere.

    2) Java is basically free (as in beer) for developers to download and use. Other technologies that work with Java and the web (Apache, Tomcat, MySQL, PostgreSQL, etc.) are also free. If I wish to create a database driven web site, I can do so for free if I go the Java route. I will have to pay thousands of dollars to do so using IIS, C#, ASP.NET, SQL Server, etc. I think this alone will keep Java around for a very long time.

    Corporations can afford MS tools and they are willing to accept silly per-user and per-CPU licensing schemes. These tools and their licenses are simply not a choice for the average individual programmer (sure, some programmers "borrow" their company's MSDN discs, but MS puts watermarks into the compiled product so heaven help you if you create a successful program using pirated dev tools and then try to sell it).

    3) C#, like most Microsoft tools, is designed around their operating system. As I understand it, the parts of C# being ported to Linux (and other operating systems) do not include the forms and other controls (aren't they just an update of the WFC crap MS shoved into J++ 6?) That is fine, but what effects will this have on cross-platform capabilities if C# has to use a different graphics library on other operating systems? Swing isn't the greatest thing in the world perhaps, but it is very usable and available on many platforms and I personally think it looks great. In fact, the only thing I don't like about graphics programming under Java is the GridBagLayout.

    I could go on, but I think I have made my point. There may be reasons to feel that Java will be killed by C#, but I think there are an equal number of compelling reasons that it wont.

  177. Ignore NOT the second mover advantage by Anonymous Coward · · Score: 0

    A while ago, the CTO of my company give us a speech and touching on Microsoft, he said,
    "A lot of people ignore the second mvoer advantage, people are always
    saying how if you are not in the pack of first mover in the Internet world, you are out. Well, Microsoft has
    proven that theory WRONG! Time and again." He gave afew examples, DR-DOS(MS-DOS), OS/2(Win95),
    Macintosh(point and click) and so on.

    Folks, i maybe a Java programmer but i'm scared when i saw in the recent Visual .Net launch
    seminar, how easy the presenter deployed an application similar in complexity
    to a J2EE apps (no it's not even the .Net pet shop) in the .Net platform. The plain truth that struck
    me was that the sheer power of Microsoft Office combined the Windows server platform and Visual .Net...it just surpasses any
    packages currently offered by any of the J2EE vendors
    in the market today. I honestly don't know how any vendor (Sun, IBM and whoever) hopes to
    compete with such a behemoth.

  178. Look at the date by Anonymous Coward · · Score: 0

    The date of the article is April 2002.... April 1st is .... April Fools. C was to be killed by C++ and then Java and OOP in general. C is alive a well.

    IBM is supporting Java and Linux, I think Java will be around for a long long time to come.

  179. is c# built on top of win32 api too? by 1001+0000 · · Score: 1

    Yeah right, OOP brought to you by the monsters that crapped out MFC. One of these days i'll have to give C# a try, but i feel like an abused spouse that keeps on coming back.

    1. Re:is c# built on top of win32 api too? by Anonymous Coward · · Score: 0

      Abused spouse that keeps coming back. Exactly. They buy you a Mercedes and you feel all special again, until the next time they fuck you up the ass.

  180. Ximian will be bankrupt before Mono is finished by Anonymous Coward · · Score: 0
    Ximian will be bankrupt before Mono is finished, and like most Open Source programs, Mono will die when its corporate backers go away. I think there is one other effort to clone Microsoft's stuff (dot.gnu I think?), but I don't have much hope in that project completing any time soon either.

    Let's be realistic about this, shall we? Java is here right now, works on just about every platform on Earth, and has almost identical features as C#. If you want a modern programming language that works in the real world, and on more than one platform, Java is your choice.

  181. Tough analogy for this crowd... by PDHoss · · Score: 1


    % man girls
    No manual entry for girls.
    %

    --
    ======================================
    Writers get in shape by pumping irony.
  182. the fact remains by Ender+Ryan · · Score: 2
    All this talk about open standards etc. is really becoming nauseating, because while all that sounds nice on paper, the sad fact remains that you simply cannot, I repeat CANNOT, trust Microsoft.

    It simply does not make good business sense to put any trust in MS, as history shows time and time again.

    Those who do not understand history are doomed to repeat it...

    I respect what the mono team is doing, they've done some really great work, but I think it's going to end up being a waste of time, I think it will come back and bite them in the ass.

    But, I could be wrong. I _hope_ I'm wrong! If the CLR does become an unencumbered industry standard, well, that could only be good.

    Personally, I never liked Java. I didn't mind the language, but every implementation I've seen has been quite dissapointing. And then... Swing?

    The best thing that could happen is that the CLR turns out to be great, people freely use it, Sun loostens up, and Java switches to the CLR...

    But these are my predictions...
    1. Microsoft throws legal weight around and kills off more competition, completely destroys all competing implementations, stops supporting FreeBSD.
    2. Sun loses lots of Java developers due to industry hype(aka, MS Marketing/FUD). Sun, being a stupid corp, becomes more controlling of Java and helps to kill off more developers.
    3. Mono ends up being a complete waste of time. Miguel de Lcaza gets a job at Microsoft ;-)
    4. Linux remains a niche OS. ESR and RMS keep talking too much.
    5. My Linux servers keep running without skipping a beat.
    6. Wine continues to improve allowing Linux users to continue getting that much needed gaming fix.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  183. how easy is it to become a C# programmer? by alx · · Score: 1

    This is one thing I've wondered with regards to C#, and something I've found to be relatively easy with Perl and Java. How easy is it to become a C# .Net developer?

    With Perl all I had to do was go to any perl web site and follow the tutorials, maybe buy one or two books. All the tools were free.

    With Java, same thing, though I would contend that Java did an even better job than Perl. The JDKs are free, the documentation is ample, there are APIs and extensions to do everything, especially in the distributed computing space. And the resources to learn them are all on java.sun.com and the JDC. I don't have to spend a lot of money to become a java developer, or to specialize in any specific area of java development, all I need is time and a web browser.

    Will this be possible with C# and .NET? There is Mono, but I don't think the resources for learning Gnome were as complete and intuitive as those for Java, so I don't have high hopes that Mono will be any different. Miguel himself even said that Mono will be at least a year behind the times when it comes to .Net, so why would anyone use it?

    I'll be worried when I see more .Net/C# jobs than Java jobs being posted.

  184. Sounds like a big deal to me... by artemis67 · · Score: 3, Insightful

    I don't recall MS saying much one way or the other except saying you could download a JVM from their site. The Java community themselves planted this seed of doubt.

    Yeah, but the friggen Java download is 6 MB's! (So I've heard.) That's nothing for corporate users on broadband connections, but when you're trying to appeal to Joe Consumer surfing the web with his modem at home, with an attention span of maybe 20 seconds, he's not going to be patient enough to sit through a 30 minute download just so he can view your site. More than likely, he's gonna keep on surfing.

    If broadband had 80% saturation with consumers, then maybe it wouldn't be a big deal. But I'd bet large amounts of money that this is Micros~1's plan, to push Java into irrelevancy by making it difficult to use. They couldn't own it via their embrace and extend strategy, so they're attacking it by slieghting it.

    1. Re:Sounds like a big deal to me... by Fulcrum+of+Evil · · Score: 1

      Yeah, but the friggen Java download is 6 MB's! (So I've heard.) That's nothing for corporate users on broadband connections, but when you're trying to appeal to Joe Consumer ...

      Are we talking about the same people who download mp3s off of Kazaa?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  185. Compiling C# programs for the JVM? by feklee · · Score: 1

    I once read in an interview with a consultant from a company partnering with Microsoft that the JVM is only capabable of running JAVA programs whereas the .NET VM is capable of running programs written in several other languages. Of course this is not true (eg. look at KAWA: Scheme->JVM). Now, I'm wondering whether it would be possible to compile C# programs for the JVM. In that way both camps would be united and some Microsoft propaganda be demystified.

  186. 8 years?! by autopr0n · · Score: 2

    When I first started programming in Java eight years ago, the industry was far different than today.

    Oh my god. That was eight years ago!? Damn I feel old all of a sudden.

    --
    autopr0n is like, down and stuff.
  187. And... by autopr0n · · Score: 2

    Lets not forget ImageIO, XML stuff, Swing (slow, but cool), and Java2d.

    --
    autopr0n is like, down and stuff.
  188. My thoughts by jedir0x · · Score: 2, Interesting

    Well, i am on a win2k pro workstation right now. I have a highly modified distribution of RedHat 7.2 with latest stable kernel from kernel.org. I'm a Java developer (among other languages). I installed visual studio .NET the other day... and learned the language (syntax and some libraries) in a matter of hours... it's ALMOST exactly like Java, syntax wise. I thought it was cool beacuse the GUI type stuff was faster than Java's Swing/AWT stuff... but then realized, how often am i making GUI stuff in java?... never. o well. As i browsed through the API, i started noticing stuff for accessing the windows registry... i saw stuff for loading DLL's... I saw a multitude of other things that were specific to windows. Now i ask you, how the hell will they port .NET to *n?x (that's unix) based operating systems if a good portion (about 20%) of thier APIs are specific to windows? How is that cross compatible? And what god awful software am i going to have to install on my Linux box to make it ".NET compatible". Are they going to force me to install a "registry emulator"? I hardly see C# taking over java. For one thing, I can't imagine any UNIX admin allowing microsoft software to run on his servers... eh... who cares... I'll still write java code when i want to write quick and easy OO code. Oh yeah, and my bigest concern about the whole .NET thing is this: Everything compiled under .NET (C/C++, C#, VB, etc) is ran through the CLR, and will run the same speed, no matter what language it was writen in. I've heard you can compile "nativley" but you loose a huge percentage of the .NET APIs. With that said, why would i ever use C++.NET? If i'm gunna spend time writing C++ code i want it to run natively!!!!

    --


    I'm not drunk, I'm just in touch with pi.
  189. C# is not the issue by cheezehead · · Score: 1

    C# is fine as a programming language. It has some dubious constructs, such as the "unsafe" option (MS should wrap that around all of their code), there's some things like enum's, which are very useful if you write a Solitaire game, but overall it looks a helluva lot like Java. So that's good, imitation is flattery, yadayada...

    A recurring argument in favor of C# is that is supports .NET.
    The problem is that not a lot of people seem to be questioning .NET and Web services in general.
    Now, apart from the fact that MS put one of their Web Services projects on ice yesterday, who needs Web services??

    Do I want to keep my appointment data on a (MS controlled) server, so that I can download it into my PDA while waiting at the airport?

    Do companies want to buy word processing services to write letters through Web services?

    Are corporations going to be processing their payroll data through Web services?

    Especially for government institutions, do people want to be held hostage by keeping their data on some Web service?

    Call me a Luddite, but I don't see how it makes sense. This thing of being connected all the time also creates a tremendous dependency on Web Services being available, and a lot of big customers are not going to go for that (I think).

    To get back on topic, it seems that the justification for C# mainly depends on .NET. And that could very well be a non-issue in 5 years time.

    --

    MSN 8: Now Microsoft even has bugs in their ad campaigns.

  190. Nothing can explain Mono by alext · · Score: 2

    that explains why go-mono.net is going gangbusters to develop an implementation on Linux

    Pointing to others who share your beliefs does not advance your argument. Mono has been extensively criticized on /. and I don't believe that Miguel de Icaza has ever responded to the substantial points, viz.

    1) Java and the JVM are better established and equivalent in all major aspects to C# and the CLR, therefore a Linux platform would be better starting with that.

    2) Since of the ~1200 classes in Dotnet, only about 150 are standardized, the chances of any substantial application actually working outside Windows are zero.

  191. SWT works, so does Swing by alext · · Score: 2

    Having used JBuilder 4/5 (Swing) and Eclipse (SWT) on fairly ordinary Windows machines I think they're pretty even performance-wise, and visually. However on Linux JBuilder has the edge as the Motif version of SWT is a bit ungainly. Would be nice if there was a KDE version...

    Anyway, I'm sure IBM didn't invent SWT purely for technical reasons.

    1. Re:SWT works, so does Swing by Anonymous Coward · · Score: 0

      There is a GTL version, there will never be a KDE/Qt version because of Trolltech's licensing bullshit.

  192. Sun Is Dead -- Java Will Be Unless... by Baldrson · · Score: 1, Troll
    You know how I know Sun is dead?

    I just downloaded their Java SDK 1.4 and tried to use it to build the JDBC interface for Postgres.

    The compile failed.

    If Sun were alive, it would have taken a tiny fraction of a percent of its budget for its primary software product and paid some test monkeys to compile all the major open source products that use it.

    Now, the fact that they released a version of Java that doesn't work with one of the most important open source products that uses it isn't necessarily doom for Java -- someone else might pick it up and run with it -- but they'd better do it soon before Sun's necrosis sets in on that most vital organ of Sun's.

  193. No FUD please! by j3110 · · Score: 2

    As many times as people post the numbers all over the net, you would think people would get the idea that java isn't slow. I'm not going to bother adding another link to some benchmark showing the progression of java from 24X slower than C to ~1.5x C and continuing to improve. In fact, in some places, it ran faster than C (compared to Intel's compiler).

    They wouldn't have to worry about installing and configuring Java if MS didn't hate it so much. Do you really think that a linux user or a mac user is going to be setting up a .NET platform anytime in the foreseeable future? Even if they did, Mac and Solaris are not going to come with the ability to run C# programs out of the box. If you wrote your code in C#, you aren't going to be running it on anything but windows for quite some time. Right now, you can have Java up and running on you system without any problem. I just point people to java.sun.com, and even the least intelligent seam to get it working. Anyone that can download and install winzip, can do the same with java. It's not a big requirement.

    Sun recently worked out their differences with the Apache people. Any non-profit organization can now be certified for free as far as I understand. Go check out jakarta.apache.org, it should still be there.

    Java is not getting more proprietary! There are several compliant Open Source JSP servers(Tomcat and jetty to name a couple) and at least two open source J2EE platforms (JBoss and Enhydra).

    On the other hand you have the FUD claims of MS. They took the Java PetStore tutorial, and used it for a benchmark. Just to be fair, Larry Ellison is probably guilty for doing that to begin with, but no one took his "Oracle Challenge" seriously because it was just silly. Just so you know, Oracle put together a performance enhanced version of the PetStore, and beat MS again, just proving once and for all, it's how you program, not what language you use.

    I had a similar opinion to your's a few months back, but after taking a look and testing it myself, I was quite suprised. Java didn't become popular by being slow, difficult, or a licencing hassle. I don't know whether I believed it because I actually thought it was true, or because I was too D***ed lazy to play with it. You'll find it quite interesting if you bother to take a look at what all you can do with it and how fast it really is.

    The standard API comes with as much functionality as Perl with every CPAN module available :) I read another post on here that claimed PERL would be the next thing, but I just don't see that happening. Do you really think that Perl is going to be user-friendly to the end user? You can get just about any package you need from CPAN, but you have to install it, and face it, CPAN is not as easy as just grunting as you download the 20M or so that is the JRE.

    My point is, Sun is very willing to work with the Open Source community now, much more than MS, and Java is not the beast it used to be. Java also has a large chunk of the mindshare, and MS is not going to steal one single developer from the Java platform until they know that their software can be used by all their clients. If you develop an enterprise application, you will be running it on windows, and you will be paying constant upgrade fees for more users, newer versions of windows, SQL Server, and the .NET Developer Studio. On the Java side of the world, you can get along just fine with JBoss, Linux, Eclipse, and NetBeans/Forte, all for free. I guarantee you when you add up MS licensing fees, !/$ (read: bang per buck) award is going to go to Java every time. That's how they measure it in the Java world... go check out ECPerf over at theserverside.com.

    --
    Karma Clown
    1. Re:No FUD please! by HuguesT · · Score: 1

      Java is *not* fast. It maybe acceptable if you are on a supported platform with a good performance native compiler or a fast JIT. Neither of these are usually free. The only real free hope is GCJ and it's dog slow right now.

      For some projects the speed of Java is not the issue, fine. This is not the case in every industry where a project can be rejected by a client if it is to slow by a factor of 10%.

      To succeed everywhere java needs a free fast compiler, it has already won where speed does not matter but it not about to displace C++ everywhere else.

    2. Re:No FUD please! by j3110 · · Score: 2

      That's what they said about assembler. Assembler was twice as fast as C and still is 10% faster at least. Don't think that just because C is fast that C# is. What does C#'s VM get you? I've yet to see what C# has over C++ except an entire new way to do things that won't really be portable.

      Exactly what platform are you running Java on? I really don't think there is a platform that doesn't support some form of Java.

      WTF are you talking about expensive JIT? JRockit(jrockit.com) is free for both windows and linux... go get your copy today! Don't complain about things before you read the news :) It's free as in beer as of a few weeks ago. Other than that, there is the IBM JRE that is blazing fast for linux (leads all the specs and can be dld for free from their site) as well as IBM's open source jikes compiler that is the best I've really seen out there. Just go take a look at things. If 10% speed bothers you, get out your assembler book :) You're not going to find a better combination of cross-platform support and performance than Java, and it gets faster every day.

      I just really don't like it when people who haven't used Java in the past year knock it. I had the same mentallity, because I hadn't used java since about 5 years ago on my 486 with 16 megs of ram. I couldn't run emacs then, but I do now. Java isn't slow, take the oracle challenge :) hahah

      --
      Karma Clown
    3. Re:No FUD please! by dthable · · Score: 1

      I've yet to see what C# has over C++ except an entire new way to do things that won't really be portable.

      C# offers Microsoft a way to fix their mistakes in the past with VB. VB is a god-awful language with a lot of legacy overhead and design problems. So instead of changing the VB language, which would piss off numerous developers, just make a new language.

      Anyone remember some of the first J++ frameworks that appeared? I even think it was called WinForms, but it was a clean Java library for Windows development and people liked it more than VB. So MS is going to keep VB, and use the WinForms concept to make C# into the next VB. My guess is VB dies in the next three years.

    4. Re:No FUD please! by j3110 · · Score: 2

      Really??? Wouldn't suprise me except that there is a VB.Net which completely alters the VB language to add OOP principals. MS is just wierd sometimes.

      --
      Karma Clown
  194. MS has bought him by whoaah · · Score: 0

    I hate to say Java is way superior than Java and this author was bought this author.

  195. It's plenty early enough to form first impressions by Anonymous+Brave+Guy · · Score: 2
    It's way too early to evaluate how the market will treat C#.

    I disagree. Microsoft have been trumpetting .NET and C#, and had them in Perpetual Beta Mode(TM) for nearly two years. Many of us (I work in a Microsoft Partner software house, for example) have taken a look at C# in that time, quite a few investing significant time in researching what it can and can't do, where its strengths and weaknesses lie, etc. And now, as the floodgates open with the full release of Visual Studio .NET, you know what? Most of us aren't shifting.

    There is simply no compelling commercial advantage in moving to C# for most commerical development. There are exceptions, and I'm sure they'll go with C# given time, but they make up a small minority of the whole software development industry. After all, we've been writing every type of application there has been for years without Web Services, etc. Why would anyone think that all these different fields would suddenly benefit from a tool that, frankly, is totally irrelevant to them?

    In summary, it's plenty early enough to form first impressions, and first impressions count.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  196. Most people *don't* know -- that's the problem by Anonymous+Brave+Guy · · Score: 2
    Look, most people know perfectly well how to play in the freeway. It still doesn't make sense to do it.

    But that's just not true. The Java community as a whole displays a staggering ignorance of many basic principles common to other programming languages and computer science in general. I've heard more crappy arguments from Java-ites trying to justify the lack of some language feature than from advocates of all the other languages I know put together. (Sadly, I am not exaggerating.)

    Free functions, multiple inheritance, operator overloading and templates are my favourite examples. There are perfectly sensible reasons to include all of these features in some languages, and times when using them is much easier than the alternatives. However, I don't have a problem with a language that, for some sensible reason, chooses not to include them. I do have a problem with people who discount them on the basis of lousy arguments and lack of thought. My favourite utterly naive statements are:

    • Pure OO is better than procedural code, so we don't need free functions.
    • Multiple inheritance always causes tangled code, so we're better off without it.
    • Operator overloading is just syntactic sugar.
    • Java 1.5 will have template support just like C++.

    Anyone reading who actually agrees with any of these statements needs to do some more research before they start having a go at the features concerned.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  197. The numbers game by Anonymous+Brave+Guy · · Score: 2

    Be careful with these numbers, though. It's very hard to estimate how may people actually use or actually know a particular programming language. Number of downloads is certainly not the way to do it; I am personally responsible for three of those downloads, since I like to keep up to speed and have reinstalled a couple of times recently, but I am not currently programming in Java.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  198. Java at the University Level by Self-Important · · Score: 1

    Here at NC State University, Sun has given untold millions to our otherwise spotty engineering and computer science departments. What this entails is six different curriculums based around the Java language. Far more useful C and C++ programming courses have already been killed. Seriously. Next fall, you will be unable to take a C++ course at the largest university in the state of North Carolina.

    There is a culture of corporate sponsorship, kickbacks, and unwarranted influence that dominates the university landscape, and Sun is a big player in that respect.

    I balk at the notion that Java is going away any time soon. It won't--not with Sun ramming it down the throats of the next prospective generation of programmers.

  199. security? by cyberbob2010 · · Score: 0

    Web Techniques (now New Architect)
    has got an interesting article on a similar topic.
    the question is, will people be willing to substitute ease of use and standerdization for security. considering how C# IS part of the visualstudio.net package and we can expect to see C# play a critical role in M$ internet take over scheme, i would rather stick with older technology that works than newer tech thats easier.

    --
    We seldom regret saying too little but often regret saying too much.
  200. C#.NET is the next-generation replacement for C++/MFC for Windows application development.

    I very much doubt that. There are probably millions of programmers in the world who have some familiarity with that combination, and hundreds of thousands who use it every day. There are certainly milions of man-years invested in existing code using that combination. Why on earth would companies who've made that investment just throw it away and switch?

    What is it that makes you think we're all going to give up the C++ and Java we use at present and switch the C#? A few years ago, people claimed Java was the next-generation language in the C/C++ family. Now, C++ is still going strong, Java still hasn't caught up in popularity by any metric I know, and people are questioning how long Java will last. (Meanwhile, work is starting on the next C++ standard, driven by an enthusiastic and informed community of experienced developers.) So, now, C# evangelists (mostly hired by or sucking up to MS, it should be noted) are claiming that it, too, is the next generation language. Why is this time going to be different? Why should I believe that they are going to kill Java or C++? Where is even the slightest evidence for this, beyond MS marketting hype?

    No, I think the world will continue to use Java, C++, VB and many other successful languages for a long time yet. And why shouldn't they?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  201. Idiot alert! by mcrbids · · Score: 2
    They haven't done anything to help open source or any communities.

    Well, lessee... How about Open office? or (looking back) their contributions of NIS/NFS? (originally called YP or Yellow Pages by Sun and distributed today with most distros)

    Oh, and don't forget JXTA , which provides very .NET-like P2P connectivity between any two devices.

    Is Sun out to help Open Source? Not really, they, like ANYBODY TRYING TO MAKE A LIVING, are out to promote themselves, but at the very least, they don't seem to have any problem co-existing with OSS initiatives, having founded quite a few.

    Oh, and openoffice.org, which consumes massive bandwidth (Open Office is 50+ MB per download) is primarily funded by Sun...

    Love 'em or hate 'em, but don't spread FUD...

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  202. What about ECMA C#? by Anonymous Coward · · Score: 1, Insightful

    Okay, so maybe Microsoft isn't the most cooperative when it comes to defining standards, given its preference to embrace and extend. But, seriously, learn to dissociate C# from Microsoft's overall .NET strategy. Perhaps many Java brewers are not trying out C# because of the MS barrier.

    C# is a language very similar to Java, but is an improvement upon it in many ways. Many desirable features absent in Java are present in C#, such as operator overloading, unified type system that permits universal indirection of objects and the all-powerful attributes that permit code to be decorated with metadata inline. Having worked with C#, I think it improves programmer productivity quite a bit, especially when coupled with the Visual Studio .NET IDE.

    I think one way to combat apprehensions about C# is to encourage the independent development of ECMA-C#. That way we get to use a language as good as Java without having to deal with the tactics of the software big brother. Once ECMA-C# is dissociated from the flavor MS sells, Java and C# will be in a situation where programmers, and not business contingencies, decide who survives.

  203. Both Java and C# will dye. Long live to XML! by panserg · · Score: 1
    The time of procedural, no matter either structural or object oriented, languages is finished. With XML it is obvius that it was a mistake to ignore decarative languages.

    Yeas, it was simpler to step from assembler to C to C++ and to Java. Because the compiler does really just a mapping from function calls to address jumps keeping the main idea of the program the same - do next step after you finished the previous one.

    It is not the first time in our history when it was realized that the militarism is against the freedom and the spirit of software engineering. First experiments in 1960x, then Lisp, then Prolog, now XML/XSL.

    Cycle by cycle, programmers required the language helping them to think in math about the problem rather than in electro-mechanical terms about how to control the computer behaviour.

    And cycle by cycle the theory and practice of compilers (interpreters) failed to translate declarative description of the problem into the set of machine instructions. Did you noticed why? Because in case of procedural language it is a mapping from more structural and general set of instruction to concrete one specific to the machine. In case of declarative languages, it is not just a mapping, it is a real translation. The process is more complecated and the translator should be smart enough by itself. That time the world was not ready for smart translation. That's why most of declarative languages translated in interpreters. On more detail to notice: each declarative language had its own syntax in order to better reflect its semantics.

    Time changes. With XML we've got a universal syntax capable to declare virtually any semantic. XML devides the programming progress into two big periods: without XML and with XML. Before XML the program language was based on "raw" text format and every compiler had own parser and own syntax validator. With XML the syntax parsing and validation problems become obsolete. With XML the compiler or rather interpreter will focus on semantic validation using formal human-readable language meta-description format such as Schema and RDF. Remember programming languages with exactly one line per instruction? Most of programmers even don't know such times. Well, in exception of legacy programmers still working with mainframes and hardware drivers. Same thing: people will forget non-XML syntax of programming languages. Again, in exception of legacy programmers.

    Ok, I admit - there are just few XML-based programming languages today: XSL, XPath, XQuery and XUL are the most known. But now it just a metter of time when we will see all pre-XML programming paradigms in XML format: functional programming, backtracking, OOP. User Interface, workflow automation, data mining - every area will have own set of XML vocabularies and the real program will use ususally more than one vocabulary in one project. Why should I stick with one or two programming languages if I can create the right language for the right problem?

    Did I fogot about Java and C#? Not yet. But I hope to forget at some point soon. Who remember Pascal and Algol? Same will be with Java and C#. You cannot write a hardware driver and expert system rules at the same language. That's why Java and C# have no future. C (actually, C++) has - we still need OS and GUI. We also need all those XML parsers and transformers. But why do I need JVM to do the task which is more alike a system software task? JVM is certainly not a very effective way to it. Any VM. Besides... XVM? What is XVM? eXtensible Virtual machine? Pure cross-platform AND cross-language universal LEGO-based engine? It is a concept we still have to understand.

    I know you're out there. I can feel you now. I know that you're afraid... afraid of us. You're afraid of change. I don't know the future. I didn't come here to tell you how this is going to end. I came here to tell how it's going to begin. I'm going to hang up this phone, and then show these people what you don't want them to see. I'm going to show them a world without you. A world without rules or controls, borders or boundaries. A world where anything is possible. Where we go from there is a choice I leave to you.

    --
    "I shall explain this by waving my hands about in an appropriate manner." -- Cambridge University Math Dept.
    1. Re:Both Java and C# will dye. Long live to XML! by Skapare · · Score: 2

      What language is XML implemented in?

      --
      now we need to go OSS in diesel cars
  204. If you have installed it you would know it IS BETA by Anonymous Coward · · Score: 0

    but then again who would expect you to have YOUR facts straight. .Net is a piece of shit.

  205. Who cares by Anonymous Coward · · Score: 0

    Let's see. You could A) program the functionality yourself (assuming you make 75k/year) it would take maybe 1 year to program. That would cost the company $75k. Or you could B) skip 1 year of development and save $65k by buying their product.

    Hmmm wonder which makes more sense? I hate it when people cannot pull their heads far enough out of their asses to see the economics of purchasing products.

    A perfect example is you could go out and build your own car from scratch or you could buy a car from a dealer. Which is going to be better and which is going to be more cost effective? Likely you'd say "I'll build my own". Apparently you don't have any money invested in a real company.

  206. Since when... by f00zbll · · Score: 1

    is a programming language suppose to last forever? Languages change, people change, business change, and everything changes. Get real. Only people who buy into the hype in the first place have something to loose. Nothing is permanent, therefore deal with it.

  207. Re:It's plenty early enough to form first impressi by ClosedSource · · Score: 1

    Keep in mind the context of my post. The claim I responded to was that C# was not going to be successful because there were many more job advertisements for Java than C#. Very few companies are going to require knowledge in a language that only exists in beta. I'm not claiming that C# is going to replace Java or C++, I'm just saying that the evidence he presented is unconvincing and a poor predictor of the success or failure of C# in the long run.

  208. Re:It's plenty early enough to form first impressi by ergo98 · · Score: 1

    The claim I responded to was that C# was not going to be successful because there were many more job advertisements for Java than C#.

    No, the claim (because it's my post that you were responding to) is that there isn't the buzz around C#/.NET, and it's that buzz that gets mass changes such as it implemented: Java did have the buzz almost immediately, and as I mentioned in my other post, so did XML.

  209. Re:It's plenty early enough to form first impressi by ClosedSource · · Score: 1

    ".. local job listings show Java leading C# job lists approximately 50:1 .."

    Do you read your own posts?

  210. Re:It's plenty early enough to form first impressi by ergo98 · · Score: 1

    Again, you seem to be rather missing the point: When XML hit the scene INSTANTLY a very large percentage of ads added "XML" in the buzzword "nice to have" listing. On that same board there are about 40x more XML results than C#, and I'd wager than less than 5% of those ads are actually for jobs that use XML in any capacity whatsoever. Hell, there are more bluetooth results coming back than C#.

  211. SNMP libraries for java by AProgrammer · · Score: 1

    Try again. Sun is not the only place that has snmp libraries for java, and they actually weren't even the first, the jdmk hit the scene late.

    try a google search, or since snmp is just based on udp why not write your own. It is the "Simple" network management protocol after all.

    google

    --
    --Time flies like an arrow, fruit flies like a banana.
  212. post no. 731 by Anonymous Coward · · Score: 0

    just an observation from discussion:

    * programmers prefer safe and easy way
    * they realy hate even to think about nasty
    dangerous language

    and from the reality:

    * programmers can be really turned on
    only by nasty dangerous language

    hmmm...

  213. Alan Williamson is a Scotch Bozo by Anonymous Coward · · Score: 0

    Alan Williamson is a fucking twat. He knows *NOTHING*-ary. He just raves about his fucking kid in that crap magazine (can you say "Hngarian notation" anyone?), and posts URLS to the fucking ugly offspring!!!! It's a Java mag Alan, not for your fucking grandmother!!!!

  214. Re:It's plenty early enough to form first impressi by ClosedSource · · Score: 1

    "Again, you seem to be rather missing the point: When XML hit the scene INSTANTLY a very large percentage of ads added "XML" in the buzzword "nice to have" listing."

    Again, you should read your original post I responded to, it said nothing about XML.

  215. Re:It's plenty early enough to form first impressi by Anonymous Coward · · Score: 0

    Actually, what I said in my post was extremely clear: I indicated that there are very few mentions of C# in job postings Despite it being the future (or at least, that's what Microsoft promotes). I then pointed out a similar scenario where XML was indicated in wanted postings almost the moment it hit the market. Hence, there is not the buzz around .NET, and the industry isn't anticipating it being a necessary shift. I'm sure you'll fail to understand this though.

  216. no JAVA VM included in Win XP? by stock · · Score: 1

    Thats true, however your mileage may vary:

    I installed a fresh WinXP professional last week
    on someone's PC. The lady wanted
    http://www.msn.nl/ as her home-page. So i did,
    and started loading that page. IE complained that
    it couldn't display the page correctly and asked
    with a pop-up windows if it could download a
    JVM to correctly display it. I installed it
    and after that i was amazed. I had a WinXP Prof
    machine with a JVM installed. I tested some
    nasty java test-websites, and XP's new JVM
    passed all tests.

    So again microsoft is spreading FUD to us, while
    in practice Java is running just fine on XP.

    Robert

  217. teaching CS in Java is wrong by mshurpik · · Score: 1

    OTOH, "dangerous" languages like C and C++ demand programmers with the skill and mindset to work with the language's strengths, and not fall prey to their weaknesses.

    I totally agree with this.

    Recently, I went back to school for my CS degree. In the time I was away, my school had switched from C and C++ to Java. Originally I was excited because Java is popular and modern. But once I got into the coursework, I became appalled.

    It was like the lifeblood had been drained out of the curriculum. CS as I had come to understand it - pointers, arrays, code management, optimization - had been reduced to nothing more than reading docs and pasting method calls.

    Of course, Java requires adhering to the concepts of abstraction, inheritance, and modularization, so the professors touted Java as "a great language for teaching CS." Well, no, that's backwards. When you require inheritance, it becomes a feature of the Java application in the minds of the students.

    Likewise, my school also touts Lisp as a great language for teaching the concept of abstraction. But by the end of the course, half the kids still don't get it. They're lost in a sea of parentheses, not grokking the fact that they have been writing abstracted code all along. Without a contrasting example, they are unable to identify abstraction for what it is.

    Schools have gone to great lengths to limit the scope of their curricula in order to "facilitate" the teaching of "fundamental" concepts. But teaching CS in Java or Lisp is like starting a pianist on a Casio or starting a deejay on CD's. It's like starting a sysadmin on NT. By creating a high-level teaching environment, you create a seminar course in the basics. And by creating a context-free "single path" towards comprehension, you disregard the fact that everyone learns in different ways.

    Mastering a CS course in Java means knowing your way around java.sun.com/doc. The students who fail or drop out - like me - are the ones who couldn't grok that this is all they were ever expected to do.

    1. Re:teaching CS in Java is wrong by jishcat · · Score: 1
      In the time I was away, my school had switched from C and C++ to Java. Originally I was excited because Java is popular and modern. But once I got into the coursework, I became appalled.

      Thinking like yours is why in 1999, (and probably still today,) I had to use FORTRAN 77 in my numerical methods course. We spent a couple of weeks learning the tricks and bugs of the FORTRAN compiler, and how to use the VAX system which was pretty much only around to run the FORTRAN compiler on. As I brought my 132 column printouts of my source and output to class to turn in, I would think to myself, boy, I'm glad I didn't do this in C++, I'm sure it would have been much less efficient on the CS dept's new Sun workstations. And if I had to electronically submit it, I wouldn't have all this large paper for my little boy to draw on.

  218. Maybe have a deeper understanding. by Anonymous Coward · · Score: 0

    Wow...major FUD and misinformation.

    Market.
    Ask any Fortune 500 company's CIO what they
    think of Java.

    Code.
    People can write unmanagable code in any language
    including Java. I have got a suggestion to my
    fellow commrades ... learn how to type, learn about things like polymorphism(sp), data hiding,
    and inheritance.

    MyClassHasAReallyLongName
    BecauseIDontUnderstan dHowToUsePackages

    or more likely
    MClssHsRlyLngNm
    BcseDntUndrstndHwTUsPkgs

    Morons.

  219. The Emperor Wears No Clothes by petilon · · Score: 1
    I think C# is getting a lot of undeserved praise. I find it astonishing that programming language experts and journals have only good things to say about this language.

    I want to be the first to say that the emperor wears no clothers.

    What is nice about C# is its Java underpinnings. Just about every feature they added on top of Java is flawed.

    Take for example the much touted Type System Unification. It is broken. According to Microsoft, "boxing and unboxing" bridges the gap between reference types and value types. But it doesn't. Reference types have the concept of identity and equality, while value types only have equality. Boxing and unboxing does not change this fundamental difference. Autoboxing in C# allows value types to go back and forth between being objects, but each time a value type becomes an object it acquires a new identity. This is very dangerous as it can lead to bugs that ar hard to track down. For more information, including sample code see http://www.geocities.com/csharpfaq/box.html

    For another example see structs in C#. Structs look just like classes when they are declared and used. But they work very differently. Using structs can result in very unexpected results, as you can see in this example: http://www.geocities.com/csharpfaq/test1.html. For more information about structs in C# see: http://www.geocities.com/csharpfaq/structs.html

    Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work. C# does not support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit http://www.geocities.com/csharpfaq/test2.html

    C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.