Sun's Gosling On the Java Evolution

Discussions

News: Sun's Gosling On the Java Evolution

  1. Sun's Gosling On the Java Evolution (43 messages)

    Founder of Java James Gosling now serves as vice president and fellow at Sun Labs, where he is involved on in a number of ongoing research projects. Recently, Gosling was interviewed by Varbusiness, where he reflected on Java, Sun, and the arrival of Microsoft's .NET.

    Sun's Gosling On the Java Evolution.

    Threaded Messages (43)

  2. and he uses a mac[ Go to top ]

    According to this article, James Gosling does most of his stuff on a Powerbook these days: http://www.apple.com/pro/science/gosling/
  3. and he uses a mac[ Go to top ]

    And this is interesting because...?
  4. Boring[ Go to top ]

    What a boring interview. Anyways... if his ignorance towards .NET represents the Sun view, I'd say Sun is up for trouble. Having one foot in each camp, I can honestly say that .NET is in fact a fantastic piece of work. A fantastic product from a money-making machine like Microsoft is a threat they should take seriously.
  5. Re: Boring[ Go to top ]

    Yeah yeah yeah we've heard it all before... and yet .Net is a reaction by Microsoft to the Java threat, which in turn has many fantastic products from other industry bigs.

    VS.Net lacks a lot of features Java IDEs have.
  6. Re: Boring[ Go to top ]

    "Yeah yeah yeah we've heard it all before... and yet .Net is a reaction by Microsoft to the Java threat, which in turn has many fantastic products from other industry bigs. "

    So?

    "VS.Net lacks a lot of features Java IDEs have. "

    A lot of 3'rd party plug-ins make VS.Net just as advanced as Java IDE's including eXtreme Refactory, Igloo CVS plug-in, etc, etc. The macro tool is a killer too.

    In fact, with these extra tools, the only competitive Java IDE left is probably IntelliJ IDEA (which is FANTASTIC!)
  7. Re: Boring[ Go to top ]

    Boring? Let me see...

    Rational Rose, JBuilder, Weblogic, and Oracle database are all being used together to deliver on our requirements.

    Oh yes, I almost forgot, Solaris, Linux and even Windows servers are utilized with the above combination as well - for development and deployment. Darn, even that Mainframe down the street is in play here with all above...

    It's a wonderful privilege to have an "open" mind and freedom to explore "all" the possibilities. Those with the freedom to “make a choice” best serve business requirements for software applications.

    You don't got to a store and ask, "I need one J2EE, please". Instead, you survey "all" the J2EE vendors and choose the one with your votes (dollars).

    You can even vote with your time if "open" source was your "choice".

    Wow, all these vendors and open source communities to work hard in a "standard" way to win your vote.

    Even more possibilities are happening now with Microsoft’s .NET technology. First, let me finally welcome Microsoft to realize Object Oriented technology for common business practice.

    I cast a vote for .NET, for providing me with a good solution for "Windows" GUI layering

    Life is good, certainly not boring...
  8. Huh?[ Go to top ]

    I really can't figure out if this is sacasm or not. If it's not, you are a poor misguided soul, whoese sole purpose is to waste corporate dollars, perpetuate the buzzword death of the industry and **** the people who really get shit done in a corporation. Get you J2EE, Solaris, Windows, Oracle, Jbuilder, Linux, quoting ass back in bugerking.
  9. Boring[ Go to top ]

    I think Gosling probably has too big an ego to admit C# is as good, if not better, than Java. He probably doesn't care if SUNW makes money or not on Java because he is an academic. The problem is that McNealy is ignoring the fact Linux is eating into his business, and Java is not coming to the rescue. The threat to SUNW from .NET is probably not as bad as Linux is, because SUNW practically is making NO money from Java anyways.
  10. Boring[ Go to top ]

    <eric>
     I think Gosling probably has too big an ego to admit C# is as good, if not better, than Java.
    </eric>


    No: In previous interviews he has said that he doesn't like C# because he thinks it is too complicated. In designing Java, Gosling and the others made a lot of effort to keep the language as simple as possible.

    Anders Hejlsberg and the rest of the C# designers dropped a lot of the simplicity concepts in favour of the C++ 'all things to all men' approach.

    FWIW, I think Java has the better approach for a mainstream programming language.

    /david
  11. Boring[ Go to top ]

    "Anders Hejlsberg and the rest of the C# designers dropped a lot of the simplicity concepts in favour of the C++ 'all things to all men' approach. "

    This is simply not true. C# is just as simple to learn as Java (just learn the appropriate subset first) and beginners don't have to think about the hopeless classpath construct which confuses the hell out of newbies.

    When it comes to libraries, I think nobody will claim that Swing is simpler than the Forms library ;-) Swing performance sucks, by the way...

    "FWIW, I think Java has the better approach for a mainstream programming language. "

    You need to qualify that statement. Having used C#, Java and C++ in large-scale apps, I can say that all of these languages are superb for mainstream programming. C#'s so-called "complex" features addresses shortcommings of Java and there are in fact JSR's to fix the situation, including metadata and enums which should have been in Java from the beginning.

    I also love C#'s delegates, events and references (which, in some situations, simplifies stuff enourmously.) The next release of C# will have generics (templates) which is going to be a hell to implement in Java, whether they opt to change the VM or not.

    The only place where Java rules today is portability, but as mentioned before, this situation may change soon and Sun needs to be aware of that.

    What I'm trying to communicate here is that, C# and .NET is in fact - depite what Sun claims - fast, simple and consistent.
  12. Generics Hell?[ Go to top ]

    The next release of C# will have generics (templates) which is going to be a

    > hell to implement in Java, whether they opt to change the VM or not.

    What are you talking about? Have you seen the generics JSR and the generics compilers out there at the moment - these have been around for over a year? Generics is a compile-time problem and nothing to do with the JVM!
  13. Generics Hell?[ Go to top ]

    "What are you talking about? Have you seen the generics JSR"

    Yes.

    "and the generics compilers out there at the moment - these have been around for over a year?"

    Over four years, in fact, but they aren't any good. Besides, they are not part of the standard Java package, hence not a real solution at any rate.

    "Generics is a compile-time problem and nothing to do with the JVM! "

    This is not true for F-boundet generics where runtime checks are required. Besides, not putting any support into the runtime means text substution which is a technology of the early 90's.

    The following link explains which changes are required to the JVM in typical scenarios:

    http://www.ociweb.com/javasig/knowledgebase/2001May/JavaGenerics.pdf
  14. Generics Hell?[ Go to top ]

    "This is not true for F-boundet generics where runtime checks are required. "

    I would like to add that without JVM changes, reflection on generics won't work. That is something we need - hence we need JVM changes.
  15. Boring[ Go to top ]

    <han>
    This is simply not true.
    </han>


    Simple example: Autoboxing. I was initialially against autoboxing in Java because I had read an article raising a number of problems with their use in C#. However, when I looked in detail, I found that Java did not have the same problems because it had fewer 'features' and so fewer corner conditions.

    http://www.geocities.com/csharpfaq/box.html

    So yes - Java is simpler.

    <han>
    When it comes to libraries
    </han>


    I wasn't discussing libraries, merely language features...

    <han>
    You need to qualify that statement
    </han>


    Nope - I qualified it exactly in the way I wanted to.

    I did several years of C++, and although I loved discussing the details of the language (and boy there were a lot of those!), I've found Java to be way more productive than C++ for mainsteam programming. And I see C# making a whole load of the C++ mistakes...

    You may love delegates - but why create a language feature for something that can already be done using existing capabilities? K.I.S.S.

    /david
  16. Boring[ Go to top ]

    "I did several years of C++, and although I loved discussing the details of the language (and boy there were a lot of those!), I've found Java to be way more productive than C++ for mainsteam programming."

    Of course... the same is true for C#. But C++ still rules for system-level programming, but for most of my tasks, I choose C# (when targeting Windows and sometimes Linux) or Java (when portability is an issue.)

    "And I see C# making a whole load of the C++ mistakes... "

    A whole load... Right. Which are those, again?

    "You may love delegates - but why create a language feature for something that can already be done using existing capabilities? K.I.S.S. "

    That's like saying "why have a String class when you can already do it with char arrays?"

    Delegates facilitiates type safe function pointers which provide a natural solution to a large class of problems. That's why. The same solutions in Java requires a number of pro-forma interfaces.

    It's a pragmatic choice and I like it.
  17. Boring[ Go to top ]

    <han>
    "And I see C# making a whole load of the C++ mistakes... "
    A whole load... Right. Which are those, again?
    </han>


    OK...
      structs
      unsigned primitives
      operator overloading
      goto
      pointer arithmetic
      pass by reference

    Is that enough to be going on with?

    /david

    PS: I have a load of work to do. If you're going to try and have argument on each one of these, you'll have to have it with someone else. Let's just leave it that I think each one of these is at best unnecessary...
  18. Boring[ Go to top ]

    "OK...
      structs
      unsigned primitives
      operator overloading
      goto
      pointer arithmetic
      pass by reference
    Is that enough to be going on with?
    /david
    "

    David,

    You know, there are valid arguments for and against all of these features, it just depends on your view on the trade-offs involved. Typically these trade-offs include time and space efficiency and easy-of-use.

    For instance, structs enables efficient code because of stack allocation. Pass by reference is a naturlig and efficient choice for some problems and C# forces you to document that you are passing an object by reference by requiring the "ref" keyword both when declaring and calling the method.

    Unsigned primitives? Every graphics programmers love them (you know why?) + space efficicency when you don't need negative values which matters if you are, say, implementing an oodbms. Operator overloading is a matter of taste - don't use if you don't like it. But the classical Complex math class serves as a good example of its usage. Pointer arithmetic is something you must accept if you accept pointers in unsafe code portions (which must DECLARE unsafe; so what's the problem?) If you're a device-driver programmer, I think you'll find pointers quite useful :-)

    The thing is, these features are something that you can choose not to use, but they clearly broadens the scope of the language into domains that Java cannot handle. A lot of the trade-offs involves speed and I think we all agree that Java isn't exactly winning the performance race...
  19. Boring[ Go to top ]

    <han>
    If you're a device-driver programmer, I think you'll find pointers quite useful :-)
    </han>


    That is why I said mainstream use. Please read what I say - that was put in specifically to exclude areas like coding device-drivers.

    <han>
    I think we all agree that Java isn't exactly winning the performance race...
    </han>


    Do we? News to me... try (and this is an old article, JVMs have improved further since then)
    http://www.aceshardware.com/Spades/read.php?article_id=153
    which compares low-level benchmarks for C and Java and concludes that there is more difference between the C compiles and the JVMs than there is between C and Java.

    /david
  20. Boring[ Go to top ]

    "That is why I said mainstream use. Please read what I say - that was put in specifically to exclude areas like coding device-drivers. "

    Ooops. Sorry.

    "Do we? News to me... try (and this is an old article, JVMs have improved further since then)
    http://www.aceshardware.com/Spades/read.php?article_id=153
    which compares low-level benchmarks for C and Java and "

    This test utilizes an area where all compilers are good - arithmetic.

    For real-world applications, e.g. XML parsing and fairly complex GUI's, Java falls behind. Not necessarily a problem, but Java isn't even close to C in non-trivial applications.

    For instance, a Java XML parser is consistently a magnintude slower than one written i C (e.g. expat), even Perl is faster for medium-sized documents (see http://www.xml.com/lpt/a/Benchmark/exec.html.) This is due to the stack-based architecture as well as a stupid string implementation.

    Stack-based machines are hard to optimize.

    Don't take my word for it: Make a google search (newsgroups and web) on "java performance problem".
  21. Boring[ Go to top ]

    How did this conversation degrade so far, so fast?

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  22. Boring[ Go to top ]

    <han>
    For instance, a Java XML parser is consistently a magnintude slower than one written i C (e.g. expat),
    </han>


    As I've found out in the past, using objects rather than primitives can be worth an order of magnitude, even in C++ (literally 10-fold in one case that I benchmarked).

    My feeling is that O-O can, as often as not, be at the root of performance loss (which is not a reason for not using it, just an explanation).

    <han>
    Don't take my word for it: Make a google search (newsgroups and web) on "java performance problem".
    </han>


    As an aside, reliance on random google searches is dubious, as the quality of the source material is unknown (may be second hand or anecdotal), and whether it is up-to-date or not may be unknown.

    Example, I put that search string into Google (all quoted) web search and the first article it brought up was last modified in 1997!

    Since you have (apparently) so much time, why don't you research and select the links you want and then post them up for us...

    /david
  23. Boring[ Go to top ]

    "As an aside, reliance on random google searches is dubious, as the quality of the source material is unknown "

    And the quality of the source material in an anonymous discussion forum like this is known?

    "Example, I put that search string into Google (all quoted) web search and the first article it brought up was last modified in 1997! "

    Don't you know how to sort google results by date? My search string "java performance problem" was given in quotes so the relevancy sort doesn't make sense.

    "Since you have (apparently) so much time, why don't you research and select the links you want and then post them up for us... "

    I don't have much time, just genuine interest (and I'm a fast typer too:)

    Since you appear to have stopped replying with technical arguments, moving towards personal insinuations because you have no other sensible replies, I'll call it quits.

  24. > which compares low-level benchmarks for C and Java and "
    >
    > This test utilizes an area where all compilers are good - arithmetic.
    >
    > For real-world applications, e.g. XML parsing and fairly complex GUI's, Java falls behind. Not necessarily a problem, but Java isn't even close to C in non-trivial applications.
    >
    > For instance, a Java XML parser is consistently a magnintude slower than one written i C (e.g. expat), even Perl is faster for medium-sized documents (see http://www.xml.com/lpt/a/Benchmark/exec.html.) This is due to the stack-based architecture as well as a stupid string implementation.
    I do not know if you consider floating point numerical applications trivial, but here are the results I got with a benchmark called Scimark on several machines. The bechmark was developed by NIST ans is written in C and JAVA.
    These are the computers I used:
    cuaima: Dual Pentium III 700 MHz, Linux 2.2.19
    guayacan: Sun UltraSparc III 750 MHz, Solaris 8
    tortuga: AMD Athlon 1.15GHz, Linux 2.4.19
    vibora: Digital Alpha 200 MHz, OSF/1 :)

    C was compiled with:
    ????????gcc -O2 *.c -o scimark2gcc -lm (GCC on tortuga, cuaima and guayacan)
    ????????icc -O2 *.c -o scimark2icc -lm (Intel C on tortuga)
    ????????cc -O *.c -o scimark2icc -lm (C compiler on Alpha)

    Results in MFLOPS (higher is better):
    test 1:
    cuaima-java ibm 1.3.0: 118.95
    cuaima-java-server sun 1.4.1: ? ?93.23
    cuaima-gcc 2.95.2: ? ? ? ? ? ? ?135.87
    guayacan-java 1.2.2: ? ? ? ? ? ? 60.66
    guayacan-java-server sun 1.3.1: ?97.57
    guayacan-gcc 2.95.3: ? ? ? ? ? ? 93.29
    tortuga-java sun 1.4.1: ? ? ? ? 124.31
    tortuga-java-server sun 1.4.1: ?161.38
    tortuga-java ibm 1.3.1: ? ? ? ? 221.39
    tortuga-gcc 3.2: ? ? ? ? ? ? ? ?252.57
    tortuga-icc: ? ? ? ? ? ? ? ? ? ?308.14
    vibora-cc: ? ? ? ? ? ? ? ? ? ? ? 16.88

    Test 2: Also tests memory use (larger matrices, etc.)
    guayacan gcc 2.95.3: ? ? ? ? ? ? ? 62.04
    guayacan java sun 1.3.1 client: ? ?31.02
    guayacan java sun 1.3.1 server: ? ?33.40
    cuaima java sun 1.4.1 client: ? ? ?27.08
    cuaima java sun 1.4.1 server: ? ? ?30.89
    cuaima java ibm 1.3.0: ? ? ? ? ? ? 32.53
    cuaima gcc 2.95.2: ? ? ? ? ? ? ? ? 36.02
    tortuga java sun 1.4.1 client: ? ? 74.07
    tortuga java sun 1.4.1 server: ? ? 78.02
    tortuga java ibm 1.3.1: ? ? ? ? ? ?83.70
    tortuga gcc 2.95.2 : 83.69
    tortuga gcc 3.2: ? ? ? ? ? ? ? ? ? 85.51
    tortuga icc 7.0: ? ? ? ? ? ? ? ? ? 92.76
    vibora cc: ? ? ? ? ? ? ? ? ? ? ? ? ?9.52

    As you can see there is more difference between Intel C compiler and GCC then with GCC and Java.
  25. "I do not know if you consider floating point numerical applications trivial, "

    I don't. But I hope we someday can get similar results on more elaborate tests where the entire JVM is involved, especially string handling.

    Having said that, Java performing better than gcc on one occation must be attributed to the fact that gcc optimization is not implemented well on many architectures, including sparc.
  26. "I do not know if you consider floating point numerical applications trivial, "

    >
    > I don't. But I hope we someday can get similar results on more elaborate tests where the entire JVM is involved, especially string handling.
    >
    > Having said that, Java performing better than gcc on one occation must be attributed to the fact that gcc optimization is not implemented well on many architectures, including sparc.
    I completely agree with you on that.
  27. Boring[ Go to top ]

    "http://www.geocities.com/csharpfaq/box.html"

    This must be one of the worst "technical" article I've read this year.

    Boxing and unboxing doesn't even aim to be a "type system unification" mechanism. It just makes life simpler.

    Like beeing able to write

    int b = 10;
    string s = b.ToString()

    instead of

    int b = 10;
    String s = new Integer(b).toString();

    And in parameter-passing scenarios, things can get really ugly in Java if you mix primitives with reference types.
  28. Boring[ Go to top ]


    >
    > This must be one of the worst "technical" article I've read this year.
    >
    > Boxing and unboxing doesn't even aim to be a "type system unification"
    > mechanism.

    You'd best tell that to the language designers. From the C# Language Specification:

    "C# provides a "unified type system". All types — including value types — derive from the type object. It is possible to call object methods on any value, even values of "primitive" types such as int."

    > It just makes life simpler.
    >
    > Like beeing able to write
    >
    > int b = 10;
    > string s = b.ToString()

    Do you know what actually happens in the above code?

    >
    > instead of
    >
    > int b = 10;
    > String s = new Integer(b).toString();

    Anyone with an ounce of sense knows to write:

    String s = String.valueOf(b);

    >
    > And in parameter-passing scenarios, things can get really ugly in Java if you > mix primitives with reference types.

    They are just as ugly with C#. Autoboxing does in secret what Java does explicitly. I would rather know that filling an Object array with wrapped ints is going to be 30 times slower than filling an int array with primitives. Hiding the fact that boxing allocates memory and instatiates an object is a bad thing in my opinion.

    Jim S.
  29. Boring[ Go to top ]

    "String s = String.valueOf(b);"

    OK, so my example was bad. What about the other Integer methods? I believe String doesn't provide a solution for them as well? ;-)
  30. David> I did several years of C++, and although I loved discussing the details of the language (and boy there were a lot of those!), I've found Java to be way more productive than C++ for mainsteam programming. And I see C# making a whole load of the C++ mistakes...

    From my own experience, revisiting today's C++ is even tough for the once-upon-a-time-I-used-to-be-CplusPlus-programmer types, including yours humbly.

    When I returned to C++ a few months back for (obvious) performance reasons, I observed that:
    1. the C++ standards and the overall language acceptance has grown as has the language itself. Nothing can replace it as a systems language of choice.
    2. Despite it's growth and language-size, the Standard C++ language and the library has that "if-you-need-it-then-use-it" practical approach, which appeals the system folks much more than the mainstrean folks.

    And guess with which complier do I use "more" often than the open-source gcc based MingW compiler? VC++ 7.1, fyi.

    yours humbly,
    /Ravi
    A "Standard C++" specialist
  31. <ravi>
    1. the C++ standards and the overall language acceptance has grown as has the language itself. Nothing can replace it as a systems language of choice.
    </ravi>


    Absolutely agree - as a systems language. And I accept that C++ will have matured over the 5 or so years since I last used it - and that the problems with features being 'not yet implemented' on certain compilers must have (hopefully) gone away. (We couldn't even use RTTI on code that needed to be portable...)

    However my feeling is that main criticism (that of its complexity) remains. The problem with the 'corner conditions', where all the multitude of features interact with each other, isn't going to go away (unless you remove some of the features!).

    After all, it is rumoured that when an expert C++ panel was asked what percentage of the language that they thought they knew, Bjarne was the highest with 70%!!!!

    /david

    PS: One thing I definitely think is that if I went back to C++ now, I would program it totally differently to the way I used to - Java has taught me a lot!
  32. David -> " However my feeling is that main criticism (that of its complexity) remains. The problem with the 'corner conditions', where all the multitude of features interact with each other, isn't going to go away (unless you remove some of the features!). "

    True, in case you are interested, here is a thread I wrote about the complexity of the-even-more-complex-stuffin-the-giant-C++-language about template based metaprogramming design patterns:
    http://www.theserverside.com/home/thread.jsp?thread_id=19267#82685

    The truth of the matter is that all these post-GoF references came after the C++ 98 standard, which adds to the confusion in the once-upon-a-time-cplusplus mind that most of us have ;-)

    David -> " After all, it is rumoured that when an expert C++ panel was asked what percentage of the language that they thought they knew, Bjarne was the highest with 70%!!!! "

    I supsect every guru who chaims to know C++ at large and STL in particular, even say 55%, including myself, no kidding ;-)
  33. Boring[ Go to top ]

    han theman>>
     "Anders Hejlsberg and the rest of the C# designers dropped a lot of the simplicity concepts in favour of the C++ 'all things to all men' approach. "

    This is simply not true. C# is just as simple to learn as Java (just learn the appropriate subset first) and beginners don't have to think about the hopeless classpath construct which confuses the hell out of newbies.
    <
    C# is a fine language. It is more complex than Java though (as a pure language). The first time I went through the features of C#, I got a flashback from C++ days. It looks and feels a lot like Java too. It is not a surprise that C++ and J# are 'first class citizens' in the .NET world. Remember how it is difficult to port languages that do not have the features of Java, C++ and the like to .NET.

    I am just wondering which came first, C# or many languages/one platform thinking. My guess is that these two things are interconnected and that C# is not purely designed on requiremens of a 'good language', but it also seems to support some features because of requirements coming from many languages/one platform thinking. If it didn't support the features, it then would not feel like the flagship language in .NET and would be largely forgotten.

    han theman>>
    C#'s so-called "complex" features addresses shortcommings of Java and there are in fact JSR's to fix the situation, including metadata and enums which should have been in Java from the beginning.
    <
    Well, as you know, Java got popular by accident, sort of. I do not think that everything was foreseen from the crystal ball so that Java would satisfy every need. You can get by without metadata or enums if you design a language that is supposed to run in a coffee machine.
  34. Boring[ Go to top ]

    "Well, as you know, Java got popular by accident, sort of. I do not think that everything was foreseen from the crystal ball so that Java would satisfy every need. You can get by without metadata or enums if you design a language that is supposed to run in a coffee machine. "

    I wonder what language feature is driving my coffee machine today - it tastes funny. Deprecated Java Beans, you think?
  35. Boring[ Go to top ]

    han theman>>
    I wonder what language feature is driving my coffee machine today - it tastes funny. Deprecated Java Beans, you think?
    <
    I knew someone could not resist, what a disappointment. But you know the story about Microsoft beans that only brew in Microsoft coffee machine, always taste same and they give you a flu. Obivously something went wrong in copying the real thing.
  36. Gosling is an engineer[ Go to top ]

    Gosling is an engineer, so don't expect him to give you interesting answers to business centric questions such as "Why do you think Sun hasn't capitalized on the stewardship of Java ..." and "Are you at all chagrined at how successfully IBM has parlayed Java as part of its business reinvention?".
    At best, he delivers pre-packages official Sun answers which don't sound very convincing, especially from the company where senior executives often sound clueless.

    I've also seen him respond with pretty much the same answer to the .Net questions in the past few years. He's absolutely correct, MS picked up a lot of ideas that have been popularized by Java, and continued building on them. However, if Sun continues to be ignorant towards .Net, it will be dangerous for both them, as a company, and Java as technology.

    "...now IBM customers are Sun customers."
    I would say the other way around: Sun's been losing money almost all of the last year (Sun only had one profitable quarter) while IBM have been growing server and hardware sales.
  37. Gosling is an engineer[ Go to top ]

    Fortunately, because of the JSR structure, the fate of Java isn't only in the hands of Sun. IBM, Apache, JBoss, BEA, Oracles and a host of other JSR contributors know full well the danger .NET may eventually become and have pushed forward proposals such as metadata and Java Server Faces as a response.
  38. Gosling is an engineer[ Go to top ]

    I agree. If Sun do not care about .net, there are other players and they certainly do.
  39. Gosling is an engineer[ Go to top ]

    <balaji>
    I agree. If Sun do not care about .net, there are other players and they certainly do.
    </balaji>

    Indeed. One thing that is gaining momentum now is the interest in ports of .NET to other platforms. Great stuff has already been done, most notably Mono (Linux port) / Rotor and people are starting to use them.

    Now, I really like Java but I also see that we are much more productive developing under .NET for Windows targets (especially GUI and even persistence layers.) If .NET gets available for the various unices - and that may happend - then I see absolutely no technical reasons for choosing Java (not advocating anything here - just reality calling)
  40. Gosling is an engineer[ Go to top ]

    while I agree with Balaji, I think you misunderstood what he meant.

    he meant that there are other players in the java community who would be able to continue develop Java as platform to make it a viable alternative to .Net even if Sun won't do it.

    I don't think .Net for Unices will ever be on the level of the vendor support to be a platform of choice for much of the enterprise and web development - this is where Java is now. I also doubt that Mono will ever be more than a niche technology.

    Most of the Java is on the server side (see the domain name of the site :)), and this is where MS is aiming with .Net, so, no, there are plenty of technical reasons to choose Java as a platform, and I just hope that it will continue to be this way through innovation and openness .Net won't have.
  41. Gosling is an engineer[ Go to top ]

    "while I agree with Balaji, I think you misunderstood what he meant. "

    No, but re-reading my post, I can see what you mean ;-)

    "I don't think .Net for Unices will ever be on the level of the vendor support to be a platform of choice for much of the enterprise and web development - this is where Java is now. I also doubt that Mono will ever be more than a niche technology."

    Not sure about that. If developers start to embrace it...

    "Most of the Java is on the server side (see the domain name of the site :)), and this is where MS is aiming with .Net, so, no, there are plenty of technical reasons to choose Java as a platform,"

    Now? Yes. If .NET gets fully ported, including the future Enterprise Services upgrade? No. Not plenty. But hopefully, Java will catch up with the latest innovations as well...

    "and I just hope that it will continue to be this way through innovation and openness .Net won't have. "

    Hard to disagree on the openness issue - even though M$ submitted the CLR to a standards committè.
  42. In order for .NET to be a success Microsoft has to convince Companies to agree to their over-restrictive licensing. When you take into account that Linux servers, which don't run .NET, are outselling Microsoft servers considerably, one question that arises, is .NET a framework for GUI clients only?

    I don't see .NET as a huge success on the server simply because it takes too many Microsoft Servers to get the work done of a couple of Linux servers, or a single Sun box. Cost cutting is the approach of cost conscious CIO's these days and one huge investment is the licensing of Hardware and Software. Linux and J2EE on the server allows Companies to save a considerable amount of money. Go ahead and use .NET to encode SOAP messages to be handled by Linux/J2EE.

    As for the maturity of .NET - I spent the last year on a large project using it - I will say that it is far more mature than a simple 1.0 release. Having said that though, in tight economic times innovation comes second to dollars and cents. And CIO's are choosing Linux/J2EE over .NET on the server.
  43. People are starting to use it?![ Go to top ]

    Hi Han,

    <snip>
    Great stuff has already been done, most notably Mono (Linux port) / Rotor and people are starting to use them.
    </snip>
    Great stuff, sure, *might* have been done - but can you give some reference where "people are starting to use" Rotor/Mono. And is Rotor intended to be used for anything other than educational purposes?

    Just curious,
    Binil
  44. People are starting to use it?![ Go to top ]

    "Great stuff, sure, *might* have been done - but can you give some reference where "people are starting to use" Rotor/Mono."

    I only need to refer to the growing number of international .net user groups who have meetings discussing how people are using mono with linux in practical apps.

    Also, companies like OpenLink use Mono for their Virtuoso 3.0 database system. There is an Eclipse IDE running on Mono. Atsushi has mono-based products; lots of others in the pipeline, I'm sure.

    "And is Rotor intended to be used for anything other than educational purposes? "

    Whatever purpose - it's a great resource for people porting stuff and for some apps it works in production as well.