Slashdot Mirror


James Gosling On .NET And The Anti-Trust Trial

gwernol writes: "There's a short but interesting interview with James Gosling over on ComputerWorld. He talks about the differences between J2EE and .NET and also about the Microsoft anti-trust trial. Some interesting perspectives from the founder of Java."

37 of 270 comments (clear)

  1. J2EE vs .NET by Hemos+(editor) · · Score: 5, Informative

    I read this comparison last November. The author, Dean Wampler, Ph.D., concludes the following:

    "The experimental flaws of the Microsoft tests render the performance comparisons unusable. All tests must be run on the same test bed and a more suitable application must be chosen. J2EE and .NET are most appropriate for large-scale, high availability applications. The documented tests say little about how well these frameworks support those applications.

    The .NET and Java Pet Stores support the same features, but they implement different "nonfunctional" requirements. The .NET version assumes a single hardware/OS/database combination and makes performance paramount. The Java version supports multiple hardware/OS/database combinations and ranks performance as less important. In fact, both frameworks can support either emphasis. Hence, comparing the two code bases is misleading.

    For developers who are comfortable with limited choices, .NET is a well-designed framework with good tools. J2EE provides greater freedom, but the J2EE community can't ignore the need for tools that create powerful and efficient applications in a timely manner."

    The Ultimate Linux Bookmark

    1. Re:J2EE vs .NET by Anonymous Coward · · Score: 4, Interesting

      You hit the nail on the head. Having just completed a .NET project and am now working on a J2EE project, the development environment for our J2EE product is like working with stone tablets and chisels in comparison. There is greater flexibility with the J2EE environment but there is tons of redundant work that we must do that the .NET environment takes care of for you. I would estimate that it takes about 3X the effort to write/deploy our J2EE product as it would if we implemented it in .NET (that is how I estimate the work for our schedule and so far it has been very close to that).

      Simply getting several 'products' from different groups (JBoss, Catalina/Tomcat, etc.) to work together as well as dealing with a seperate edit/compile environment (JBuilder6 - no choice here), AND having to modify no fewer than 4 files (two Java source files and two XML files) by hand to simply add one field to an EJB (in ADDITION to the code you have to write to support it), AND having to deploy the .jar file into two different places (JBoss and Tomcat) is a logistical nightmare. Add to this the fact that depending on which container you use, you have to have different XML files specific to that container to tell it what to do with itself. Even the smallest change can require quite a bit of work.

      There are probably better ways to do it but we haven't found it yet.

  2. Mac user? by petree · · Score: 4, Interesting
    Q: Some corporate users have expressed an interest in using .Net for the front end and Java on the back end. How does that strike you?

    A: It's certainly the case that Microsoft pretty much has an absolute monopoly on the client. Certified and convicted. And so in some sense that makes it sort of easier for them on the client end. I think these folks would be amazed to discover how easy it is to write client software on the PC in Java. That works very well. And from a personal point of view, I personally actually read the [Windows] XP license and decided I couldn't sign it. So I've been shifting over to Mac.
    Interesting, I never thought someone who could run sun hardware all he wanted would choose to go with a mac. Especially with them not running the most current JRE (they -just- came out with 1.3.1). That's somewhat amusing. That's like Bill Gates running Windows NT 4.0. Everybody I know now wants a mac, either for OSX (geeks) and for how awesomely designed they are (geeks and non-geeks).
  3. Speaking of .NET... by Flarners · · Score: 5, Informative

    Microsoft released their shared-source CLI and C# implementation a couple days ago. I've been playing with it on my FreeBSD box, and while it's hardly the Java killer Microsoft's making it out to be, it's an interesting piece of work. If you've got a spare FreeBSD or Windows XP box lying around, download the source, compile it and play around with it some; it's always nice to know something about the platform before you start bashing it mercilessly :-)

    --
    "The problem with the French is that they don't have a word for 'entrepeneur'." -George W. Bush
    1. Re:Speaking of .NET... by rabtech · · Score: 5, Informative

      Well, let's look at your statements:

      "It seems worth pointing out that it is "illegal"
      (in the sense that that Microsoft owns the law)
      to do this on Linux. Really. Not kidding. Read
      the license."

      Now, let's look at Microsoft's license. (original in italics, my comments normal.)


      MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE

      This License governs use of the accompanying Software, and your use of the Software constitutes acceptance of this license.

      You may use this Software for any non-commercial purpose, subject to the restrictions in this license. Some purposes which can be non-commercial are teaching, academic research, and personal experimentation. You may also distribute this Software with books or other teaching materials, or publish the Software on websites, that are intended to teach the use of the Software.

      You may not use or distribute this Software or any derivative works in any form for commercial purposes. Examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, or distributing the Software for use with commercial products.


      OK, so the license covers the software only, not works which take advantage of it. You can only use it for non-commercial purposes... well, the source code anyway.


      You may modify this Software and distribute the modified Software for non-commercial purposes, however, you may not grant rights to the Software or derivative works that are broader than those provided by this License. For example, you may not distribute modifications of the Software under terms that would permit commercial use, or under terms that purport to require the Software or derivative works to be sublicensed to others.


      OK, so I can make modifications to the software AND give them away, so long as I don't try and sublicense it or make the license terms broader than they already are. Fair enough?


      You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information.


      Here is a very important point: Looking at this code does NOT in any way restrict your contribution to other Open Source projects or business use. The only thing is that it doesn't grant you use of their copyrights/patents, which you don't have in the first place. you cannot restrict yourself or generate any harm by looking at this source code. I know many of you are doing a double-take, but look at the license.


      In return, we simply require that you agree:

      Not to remove any copyright or other notices from the Software.

      That if you distribute the Software in source or object form, you will include a verbatim copy of this license.

      That if you distribute derivative works of the Software in source code form you do so only under a license that includes all of the provisions of this License, and if you distribute derivative works of the Software solely in object form you do so only under a license that complies with this License.

      That if you have modified the Software or created derivative works, and distribute such modifications or derivative works, you will cause the modified files to carry prominent notices so that recipients know that they are not receiving the original Software. Such notices must state: (i) that you have changed the Software; and (ii) the date of any changes.

      THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS MEANS NO EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

      THAT MICROSOFT WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM EXTENT THE LAW PERMITS, NO MATTER WHAT LEGAL THEORY IT IS BASED ON. ALSO, YOU MUST PASS THIS LIMITATION OF LIABILITY ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

      That if you sue anyone over patents that you think may apply to the Software or anyone's use of the Software, your license to the Software ends automatically.

      That your rights under the License end automatically if you breach it in any way.

      Microsoft reserves all rights not expressly granted to you in this license.


      OK, to sum up:

      You agree not to remove copyright notices. You also agree to distribute the license with any derivative products, etc. You agree not to distribute the software or modifications with a license that is broader or incompatible with this one. You must include a notice that your code is not Microsoft original code, and when it was modified.

      So far, that all sounds fairly reasonable to me.

      You also have to agree that Microsoft provides no warranties on the software, and that derivative works don't have any warranty (because that would make MS liable.) This is standard in the software industry, so no surprise there.

      An odd provision comes next: if you sue anyone over patents that you think apply to the software or anyone's use of it, you lose your license automatically. Basically, you can't sue anyone for using your patents related to this software or any modifications whatsoever. This doesn't really protect Microsoft, as you can still sue them, you just can't use their code. However, it does protect consumers of your modified code, in that you cannot come along a year later and sue them all saying your derivative includes software patents that you own and would now like to collect royalties on.

      Lastly, but not least, if you violate the license you lose it, and Microsoft reserves the right to kick you to the curb if they don't like you.

      Well, honestly... I don't know where the magic "you cannot use this sourcecode on linux or on/with any GPL stuff" phrase is, but perhaps I misread the license somehow.

      --
      Natural != (nontoxic || beneficial)
  4. "Hi kettle, my name's pot!" by Anonymous Coward · · Score: 5, Insightful

    "They certainly could have been more creative about the language."

    This coming from someone who tries to pretend he was inspired by smalltalk (since its more OO pure) even though its plainly obvious to anyone who knows jack shit about languages that the Java object model is a strict subset of C++'s. I mean, in smalltalk, things like reflection and introspection fall out of the way the object model works. In Java, its a bag on the side, because Bjarne didn't design it into the C++ object model, which Gosling stole wholesale.

    Then lying about it and criticising others... This man is obviously incapable of feeling shame.

    The worst part of it is that there are millions of "developers" out there who only know Java (or more often: switched to Java from Visual Basic) who simply accept Sun's marketing as fact.

    1. Re:"Hi kettle, my name's pot!" by smallpaul · · Score: 3, Interesting

      This coming from someone who tries to pretend he was inspired by smalltalk (since its more OO pure) even though its plainly obvious to anyone who knows jack shit about languages that the Java object model is a strict subset of C++'s. I mean, in smalltalk, things like reflection and introspection fall out of the way the object model works. In Java, its a bag on the side, because Bjarne didn't design it into the C++ object model, which Gosling stole wholesale.

      The Java object model is a lot closer to the Simula object model which is much older and simpler than C++'s. I mean garbage collection is a pretty big part of the object model and Java has it and C++ doesn't. C++ has templates and Java doesn't.

  5. Re:I liked this bit best... by wytcld · · Score: 4, Interesting

    A: Imitation is the sincerest form of flattery.

    Q: But isn't imitation also the sincerest form of mockery?
    ___

    --
    "with their freedom lost all virtue lose" - Milton
  6. Java on OSX by BWJones · · Score: 5, Insightful

    From this comment in the article: And from a personal point of view, I personally actually read the [Windows] XP license and decided I couldn't sign it. So I've been shifting over to Mac.

    This is very interesting and parallels what we and others have been experiencing. There is this slow but dramatic sea-change taking place in the community of scientific computation and programming communities. Folks that never before would even look at a Mac are moving to the platform for a variety of reasons including its UNIX core and ease of use. Additionaly it seems that Apple is actually listening to their users these days. They include features requested and the open source Darwin allows for significant development from the community (assuming you are old enough to sign the agreement :-P) and there is even a movement to create a Trusted Darwin http://www.stosdarwin.org/ . This could be a real opportunity for university CS departments to adopt a platform that really does support Java instead of the Win boxes that so many universities seem to be purchasing for their CS programs.

    --
    Visit Jonesblog and say hello.
  7. Interesting, how? by szcx · · Score: 5, Insightful
    Some interesting perspectives from the founder of Java
    Oh yes, very interesting. The founder of Java doesn't think competing technology is as good as his technology.

    This is Sun propaganda pure and simple. I can't wait for a headline on the front page telling us that Coca-Cola says new Pepsi is disappointing. When Microsoft have made less-than-favorable remarks about Java in the past it has instantly been flagged as FUD.

    I suggest folks take Sun PR and Gosling's remarks with a grain of salt. Evaluate the technologies for yourselves and decide accordingly.

    1. Re:Interesting, how? by MillionthMonkey · · Score: 3, Funny

      I think Gosling is the best source of information on C# and Java. After all, he invented both languages.

  8. "relieved that it wasn't creative" by Dr.+Awktagon · · Score: 3, Interesting

    I don't know what to make of this:

    Q: Did you feel that way when you saw C#?

    A: Yeah. Yeah. I mean, abused and ripped off was also in there just to some extent. Relieved actually was part of it.

    Q: Relieved?

    A: That it wasn't particularly creative.

    Why would he be relieved that MS puts out mediocre stuff? I hate that the world is forced to use boring, insecure, ugly, embraced-and-extended software from MS. I want them to be creative.

    Personally, I think .NET is pretty good, technologically. I like C# + CLR a lot more than Java, and infinitely more than C++.

    But what troubles me is that it's got a Microsoft copyright on it, which is pretty much a guaranteed poison pill in my view, but that's another issue.

    On the whole, we should hope for Microsoft to be "creative", that's the whole point, the whole reason we don't like them. As Steve Jobs said, "they have no taste".

    Then again, I shouldn't expect unbaised answers from Gosling, eh?

    1. Re:"relieved that it wasn't creative" by aminorex · · Score: 3, Funny

      > Why would he be relieved that MS puts out
      > mediocre stuff?

      Two words: "Stock options".

      Here's another, perhaps less mercenary, but also
      less rational, explanation:

      Many anarchists vote for the worst candidate, on
      the theory that when gov't becomes bad enough, it
      will be eliminated.

      --
      -I like my women like I like my tea: green-
    2. Re:"relieved that it wasn't creative" by BWJones · · Score: 4, Interesting

      Why would he be relieved that MS puts out mediocre stuff?

      I think I understand why. It's because Microsoft in the .NET and C# arena are his competitors. For us, it would be like when a competing laboratory publishes a paper in an area we are investigating. If that paper is full of boneheaded conclusions and poorly designed experiments, it is somewhat of a relief that we are still on top of things and are producing the best work. However, I agree with you in that we all want the best products out there and the best science possible. The problem is that in the arena of operating systems and the internet, Microsoft has a monopoly and a LOT of money and resources available. The fact that they do have a monopoly means that there is very little impetus for innovation and truly creative thinking. The reality is however, that the superior Java solution is produced by the underdogs despite the overwhelming odds against them and should be refreshing to us all indicating that there is continued hope for the development of technology and computer science.

      --
      Visit Jonesblog and say hello.
    3. Re:"relieved that it wasn't creative" by tshak · · Score: 5, Informative

      Yeah. Yeah. I mean, abused and ripped off was also in there just to some extent.

      I do find it obvious that there are some things in C# that are like Java. However, it seems to me that this is generally moot considering both languages where heavily inspired from C++. When you do your homework, you find that C# is actually quite different the Java:

      + C# is completely OO - even an Int32 is an Object. Java uses primitive types.
      + C# uses Delegates for Event Handling (think function pointers, but different).
      + C# supports the use of Properties instead of Getter and Setter methods.
      + C# supports Indexers which allow objects to be treated as Arrays.
      + C# forces explicit Method Overriding (via the virtual/override or new keywords).
      + C# supports namespaces. Unlike Java's packages, namespaces do not rely on a file/folder structure.
      + The C# Abstract or "Virtual Machine" (CLR) is not designed for C#, rather for language neutrality (to an extent). Java and the JVM, however, are closely tied.

      I could go on. Whethor or not you think that these differences are Good Things(tm), the point is, they are definitely different langauges. Although there may have been some inspiration from Java, I'd be hard pressed to call it a "Java Ripoff".

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    4. Re:"relieved that it wasn't creative" by tshak · · Score: 3, Interesting

      Well, you obviously didn't get the point of my post. You are giving me your opinions about C#, which quite frankly I don't care about. My point is that they are different languages, not that one was better then the other.

      If it isn't a Java ripoff, then why is everyone comparing it to Java?

      Maybe because Java is it's competitor?

      The fact is that Microsoft never innovated anything

      The fact is that you are so passionate about this personal conviction, that you could care less about any facts. Try to remain objective about this stuff - it's just technology!


      I've included an excerpt from John Gough, someone who's written a Component Pascal compiler for BOTH the JVM and CLR, and has written a book on the CLR (ISBN:013062296-6).

      [The CLR] "... like the JVM, is based on an abstract stack machine. Apart from this superficial level of commonality, the design of the two virtual machines is quite different."

      Of course, he's not in the middle of any debate, he's just giving some introductory history (from the P-Machine to .NET).

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    5. Re:"relieved that it wasn't creative" by smallpaul · · Score: 3, Interesting

      That is flat out silly. Java provides object wrappers for it's primitive types.

      That doesn't negate his point. After all it would take a monkey fifteen minutes to create those wrapper classes. But you can't add two float wrappers to each other or do a "++" on an integer wrapper can you? So eventually you need to deal with wrapping and unwrapping. That's just plain silly and the only excuse for it is performance. If .NET gets similar performance without the primitive type hack then Java has no excuse.

      If you want to talk about non-OOP features, C# is full of them. Like structs for example. Who came up with that idea?

      There is nothing wrong with a language having features that are not OOP. OOP is not a religion. The problem with non-object primitive types is that you need to deal with wrapping and unwrapping them. Anyhow, there is nothing non-OOP about structs either. OOP *allows* encapsulation, it does not *demand* it all of the time.

      As far as Indexers go (and pretty much all the differences between Java and C#), they are just syntactic sugar that really just makes code confusing to read compared to Java.

      That's weak. Any extra syntax taht C# adds, no matter how simple or readable is "confusing." Look, I think C# and Java are tweedledee and tweeldedum. I hate them both. I have no reason to defend one over the other. But you are so blatantly partisan that you refuse to look at the few, tiny things that C# got right with fresh eyes. That sort of thinking will hurt Java in the long run because it will blind Java's developers and users to good ideas from elsewhere. You should use the things that C# got right to pressure Java's developers to fix their mistakes.

      In particular, Java could use a strong dose of syntactic sugar. C# is a little better, but just a little. For starters, I'd suggest you look at Python handles iterators, indexers, generators, and dictionary and list initializers. There is nothing I hate more than switching from Python to Java and realizing that I could write half as much code and it could be clearer. Even ignoring the static type checking system, Java seems to go out of its way be verbose. That iterator class crap is just unbelievably ugly.

    6. Re:"relieved that it wasn't creative" by Corrado · · Score: 3, Insightful
      It will be years before we know whether non-Java-like languages actually run better on the .NET runtime than on the C# one. Don't believe Microsoft's PR.


      Hmmm...given that only "managed*" code will run in the CLR, I don't think that non-Java like languages will ever run in .NET.

      *NOTE: I use the term "managed" here to refer to the fact that Microsoft has invented skinable languages. All CLR code must conform to certain rules before it will compile. This includes the single parent & no pointers stuff that keeps C/C++ from being used. This is also the reason that VB.Net is totally new and only looks like traditional VB. Basically, VB.Net is a skinned version of C#.
      --
      KangarooBox - We make IT simple!
  9. Re:I liked this bit best... by aminorex · · Score: 3, Funny

    Yes, and C# is certainly a mockery:))

    --
    -I like my women like I like my tea: green-
  10. Disappoining by igrek · · Score: 5, Funny

    What a disappointing interview... Could you expect something as boring as this from, say, Larry Wall? Never. Or when Stroustrup criticizes Java, he has some valid (and interesting) arguments. But I have not found any insights in this Gosling interview. Microsoft sucks and J2EE rules. How interesting.

    The funny thing is that he says
    1) They copied everything from Java
    2) They could add clever things to their language, but they didn't

    Well, at least, he's honest about Java ;)

  11. SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 5, Insightful
    Gosling and McNealy need to tone down the vitriol - Sun is in major trouble. Not just a bad quarter (although they've had many of those), but key aspects of Sun's market position and future directions.

    Linux is totally chewing up their low end. They don't want to admit it straight out - they have been playing nice with open source folks while quietly taking Cobalt off of the market and making it a bit player.

    Meanwhile IBM is taking it apart at the high end with a proposition that focuses as much on services as hardware and software..because IBM knows billable hours are where the real renewable revenue is.

    On the architecture side, Sun is pitting itself against an entire enconomy - Intel and Microsoft. Sun simply can't outresearch, outspend or outmarket either of these companies, let alone both of them and their attendent co-competitors (Dell, AMD, HP, etc). Once Microsoft gets Win2k up to par in every respect with Solaris (it will happen), they will start peeling high-price clients off of Sun with little contest (meanwhile linux will chew up Sun's low end more and more).

    On top of all of this, they're playing mindshare catch-up with the half-hearted JavaOne. Sorry James, MS beat you to the punch on webservices by a year.

    I just hope Java can't be opened up enough that it doesn't evaporate along with its owner.

    1. Re:SUNW against the wall, this time for keeps by elmegil · · Score: 3, Insightful
      They don't want to admit it straight out - they have been playing nice with open source folks while quietly taking Cobalt off of the market and making it a bit player.

      I guess you missed the part where Sun announced that they'll be shipping Linux and supporting Linux sometime midyear. I'd say that amounts to "admitting it straight out".

      Once Microsoft gets Win2k up to par in every respect with Solaris (it will happen)

      By the time Win2k reaches Solaris 8/9 levels, Solaris will have moved on. They haven't caught Solaris yet; the only chance they have is if Sun just goes out of business.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    2. Re:SUNW against the wall, this time for keeps by s390 · · Score: 5, Insightful

      Microsoft needs to make money to survive... and they are running out of ways to do so.

      That's perceptive, but Microsoft (M$)is not a business (like IBM, say) that makes money and pays dividends to stockholders. M$ pays zero dividends but pays a substantial portion of employee compensation in the form of stock options (which it _doesn't_ expense against revenue but _does_ write off for tax purposes). M$'s employees exercise their stock options and take profits because the stock price is higher than the options' strike prices. This works because the market perceives that M$ will continue to expand and grow, thus its stock price remains high. Mutual funds and ordinary investors buy M$ stock from M$ insiders based upon an unrealistic belief in Microsoft's perpetual growth.

      M$ is a very sophisticated pyramid scheme, but it is _just_ a pyramid scheme. They hide revenue and income in good quarters in order to prop up the numbers in poor quarters, thus creating the illusion of financial stability (and the SEC is investigating this). In prior years, M$ made nearly 10% of total revenues from selling Puts on its own stock (knowing that it could manage its numbers to keep the stock price high enough to make those Puts expire worthless or at least worth less than they were paid for them). In fact, M$ would have _lost_ money in all of the past several years if they'd had to expense their stock option grants to employees! That's why M$ is a pyramid scheme. Still with me?

      M$ doesn't just need to make money to survive - they need to _grow_ to survive. Once their growth flattens for a few quarters, the big mutual funds will notice the lack of dividends and start selling their stock. Financial reform laws relative to employee stock option grants moving through the US Congress and likely to pass, post-Enron, will further depress M$ financial results. One of these quarters, M$ will have to pay off on all those Puts they sold, also cutting net income. The fall of Microsoft will be truly spectacular, although in slow motion like Enron, but much larger. Mutual funds, 401k plans, and individual investors who don't get out early will lose billions of dollars. Microsoft's current market capitalization - the total value of all stock outstanding - is over $325 billion; in contrast, IBM's market cap is only about $17.9 billion, but IBM annual revenues and profits are about 10 times Microsoft's. Begin to see the problem? This explains a lot about Microsoft's savage actions.

    3. Re:SUNW against the wall, this time for keeps by Derkec · · Score: 3, Interesting
      They are totally admitting that Linux is chewing up their low end. That's why they've decided to get serious about Sun Linux which is a fairly standard linux distro with Sun interop built seriously. They take their big Sun wide initives, for instance N1 and port them into a linux distro. Then they push Sun Linux boxen (probably x86) to cover the datacenter fringe. They can sell these at a bit of a premium because they will work so nicely with the big Sun hardware deep in the datacenter. Sun protects is lower flank with it's own Linux distro while continueing to attack IBM with Solaris and Sparc at the high end.


      Furthermore, I think your assumption that MS will bring Win2K up to Solaris quality at the very high end is probably optimistic. Sun has breathed big server OSes for years, MS has failed miserably with datacenter approaches. They might pull it off, but this is an issue Sun has a long time to deal with. The other question is what box are you going to put MS on in the datacenter? Itanium? That's flopped so far, but it will be interesting to see if it improves.


      While Sun may be outmarketted by MS, they have an odd ally. IBM is also a Java fan and does have the budget to go head to head with Wintel. While their R&D budget might be relatively small, they can focus on building a scaleable kick butt architecture while Intel has to try and build big servers and compete with AMD in the $600 computer market. With the Alpha engineers Sun swiped from a disarrayed HP-paq, they should be able to make it interesting.


      I don't think they are really playing too much of catch up on the mindshare front either. I would imagine if you counted the number of Java developers and the number or .Net developers, java would be ahead by leaps and bounds. Meanwhile, MS has recognized that it is hated by recent graduates who are flocking in droves to Java. Server-side Java and J2EE has an install base which makes .Net look like a weak late comer. The MS marketting machine kicks ass, so Sun has a run for it's money, but again it's got allies like IBM, BEA and Oracle. Many of these companies compete with eachother fiercely (IBM has got to be in Sun's top 3 competitors) but can align to try and create a bigger non-Wintel pie. Then they'll fight tooth and nail for pieces of that pie.


      Yeah, Sun is in a tough spot, but historically that's when it has done its best work. I've become a big sun fan of late, and am really interested to see where they will go. The company needs to reinvent itself somewhat (mostly to kick butt in software and storage) but it has done that often enough before. It should be fun. Sun's an aggressive enough company that it won't go down without a fight, so again, it'll be fun to watch.

    4. Re:SUNW against the wall, this time for keeps by dgroskind · · Score: 3, Interesting

      The fall of Microsoft will be truly spectacular...

      First, people have been making this statement for years for all the reason you gave and more. In all those years, people who continued to invest in Microsoft made money on the stock. In the stock market there's no skill in simply predicting a stock will fall. The trick is predicting when. There's no reason why Microsoft won't continue to defy the fundamentals for years.

      Second, you seem to be equating the value of the stock with the stability of the company. Microsoft is a profitable company with a solid customer base. It in no way resembles Enron.

      In fact, M$ would have _lost_ money in all of the past several years if they'd had to expense their stock option grants to employees!

      So what? If the accounting rules had been different, presumably Microsoft wouldn't have used this loophole as a way to compensate its employees. Using tax laws and regulations effectively is a sign of good management, not bad management.

    5. Re:SUNW against the wall, this time for keeps by dgroskind · · Score: 3, Insightful

      Microsoft resembles IBM, not Enron.

      Microsoft resembles the IBM of old in size and market dominance but not in weaknesses. IBM's fall came about because its core business was undermined by microprocessors. Despite open source, Microsoft faces no such threat. It is continuing to enhance and expand its product line and adapt to new trends as they arise.

      But I do not believe that they are going to be number one for more than a few more years

      And who will replace them? There's no single company that can duplicate Microsoft's complete product line, certainly not in a few years. One can imagine a number of vendors replacing individual products but could any of them, or instance, exterminate Word the way Word exterminated WordPerfect?

      The history of business is one of industrial giants falling and even disappearing altogether. Presumably Microsoft's turn will come as well. However, consider General Electric. It was one of the original Dow Jones Industrials over a hundred years ago and it is still there today. Like Microsoft, it glommed onto a fundamental industry (electricity) and rode out the ups and downs of the business cycles, diversified, and marketed itself well.

      When you look at Microsoft's strengths (astute management, large cash reserves, overwhelming market dominance, diverse product line, brandname recognition) and the fact its market is still growing, it's hard to imagine it losing its number one spot in our lifetime. The most likely scenario is that it will use its huge cash reserve to diversity like GE and become even bigger, although perhaps not as a software vendor.

  12. Re:interesting quotes.. by SirRichardPumpaloaf · · Score: 4, Funny

    if (boss_says_so)
    {
    assert(1>2);
    }
    exit(0);

    Using business logic this program will successfully complete?

  13. Microsoft trying to lure people away from Java. by TheFlu · · Score: 5, Informative

    Here is an interesting article, describing how Microsoft is trying to get Java developers to write J# (java) code for the .NET platform. Unfortunately .NET only runs on the Windows platform, which has Sun a bit upset.

  14. I read the article.. by evilpaul13 · · Score: 3

    And it basically just sounded a lot like a very smart guy bashing Microsoft.

    I personally doubt .Net could completely lack any real redeeming qualities or there wouldn't be projects like Mono attempting to provide a *NIX platform compatible Common Runtime.

    In the same way that if Java was horrible no one would have made third-party JVMs, like Kaffee (sp?).

    But, that's just me I could be wrong (and wouldn't that be tragic?)

  15. "imitation" flows in both directions by Jan · · Score: 5, Interesting

    "Imitation is the sincerest form of flattery"

    While I have great respect for Mr. Gosling's prolific contributions, clearly this imitation goes both ways. For example:

    Microsoft Transaction Server 1.0, shipped 12/96
    * automatic transactions for objects, including Java objects
    * ObjectContexts for automatic services on behalf of objects
    * declarative transaction requirements e.g. Transaction Requires New
    * declarative, automatic role-based security, and IObjectContext::IsCallerInRole()
    * etc.

    Enterprise Java Beans, 1.0 final spec shipped 1Q98(?)
    * automatic transactions for Java objects
    * SessionContexts for automatic services on behalf of objects
    * declarative transaction requirements e.g. TX_REQUIRES_NEW
    * declarative, automatic role-based security, and EJBContext.isCallerInRole()
    * etc.

    The provenance of the ideas behind EJB/J2EE, arguably Sun's most commercially important Java technology, would seem to be revealed in its choice of identifier names.

    -- an ex-Microsoft software developer

  16. This article by the+eric+conspiracy · · Score: 4, Insightful

    While I am certainly biased against anything Microsoft tries to cram down my throat, I don't think this article is any better than the crap we usually see from Microsoft flacks.

    Slashdot should really try to find some better quality articles if they want to have a content rich site.

  17. Where did you learn OO? by Carnage4Life · · Score: 5, Informative
    That is flat out silly. Java provides object wrappers for it's primitive types.

    Object wrappers for primitives is not the same as the primitives themselves being treated as objects. Anyone whose used a true OO language like Smalltalk cringes and the inconsistency in Java between primitives and objects. Even C++ tries to make them as interchangeable as possible especially with templates.

    For instance in Java there's no way to pass just a primitive like "5" or 2.6 to a method that takes an object while in C# and Smalltalk you can.

    If you want to talk about non-OOP features, C# is full of them. Like structs for example. Who came up with that idea? And how about pointers? WTF?

    The above comments how that you've somehow confused object oriented with Java which unfortunately are not the same thing. An object oriented system has 3 main qualities i) encapsulation or information hiding ii) inheritance and iii) polymporhism. All three of which can be done with C# structs (or value types). Secondl, I am immensely confused what the existence of an explicit pointer type has to do with whether a language is OO or not.

    As far as Indexers go (and pretty much all the differences between Java and C#), they are just syntactic sugar that really just makes code confusing to read compared to Java.

    Really? So
    Math.Add(myList.getObjectAtIndex(0), myList.getObjectAtIndex(1));
    is easier to read than
    Math.Add(myList[0], myList[1])
    On what planet?

    That's a hoot! The fact is that CLR doesn't support anything that can't be accessed from C#. That's why implementations of other languages have had to drop features like multiple inheritance before CLR implementations. All CLR does is provide a Procrustian cot for other languages to lie on. Head over the top? Lop it off!

    The Java VM was designed to run Java while the CLR was designed to be language agnostic. The fact that C++ can run on the CLR is a testament to this fact.
  18. similarities by Entropy_ah · · Score: 4, Funny

    One of my friends and I were at a microsoft user group (i'm not a member, i was just there for my free copy of windows xp :) meeting a few months ago, and he is a java fanatic, and there were showing some C# source code. My friend is a really smart guy, and he looks at it for a second, and says, "that would probably compile under java." and a few seconds later he said, "Hey, wait a second, that actually would compile under java." Needless to say, i laughed for a while about that one.

    --
    my other penis is a vagina
  19. Gosling's and Sun's markting fluff by mmusn · · Score: 4, Interesting
    They could have been more careful about things like the memory model.

    There is nothing wrong with the C#/CLR "memory model". By default, it is safe, just as in Java. If you write an unsafe model, the memory model is unsafe, just like it is in Java. Oh, you say, Java doesn't have unsafe modules. But it does. They are called "JNI". The only difference to C#'s unsafe modules is that JNI is less efficient and harder to program. (Both Java's and C#'s security models label unsafe code as such.)

    I guess one of my pet areas is scientific computation. They might have done something creative to make that easier.

    This is adding insult to injury. C# has value classes, operators, multidimensional arrays, and easy and efficient interfaces to native code. Sun and Gosling have been promising some of those features for years and failed to deliver on even the simplest of them. The best we are getting is a cumbersome proposal from IBM for multidimensional arrays that most implementations will probably not even bother to optimize.

    And, I mean, the fact that the syntax [of C#] is so much -- is like exactly the same, or just about exactly the same [as that of Java].

    Well, gee, what a coincidence. Microsoft thought Java was a great idea, but they wanted to have their own libraries. Sun sues them. So, they did the next best thing: they cloned Java as much as they could, fixed a bunch of small things Sun has been promising to fix for years, and called it C#. What does Gosling expect Microsoft to do? Just roll over and die? And Sun really has a double standard there: when Apple exposes all their native platform APIs to Java, that's fine. It's just not fine when Microsoft does it. Who's going to get sued next? What can open source developers do with Java before Sun is going to try and sue them?

    I am no friend of Microsoft, and I won't use a Microsoft-only platform. But I am really getting tired of the marketing fluff coming out of Sun. When Java originally came out, Sun was promising a well-defined, open, standardized, and efficient platform. Today, it's a huge system with incompletely specified APIs, lousy support for high-performance computations, and no independent third party implementations (all compliant Java2 implementations depend to a large degree on Sun's source code). Sun has dropped out of every standardization process around, and they have been threatening others with lawsuits left and right.

    I don't want to be tied to either a litigious Sun Java monopoly nor to a bundling Microsoft .NET monopoly. If Sun doesn't clean up its act quickly, after seven years of lobbying for Java and using it for lots of software, I'm dropping it. And I suspect others are getting similarly annoyed with Sun.

    1. Re:Gosling's and Sun's markting fluff by SashaM · · Score: 3, Insightful

      And Sun really has a double standard there: when Apple exposes all their native platform APIs to Java, that's fine. It's just not fine when Microsoft does it.

      Uff, how many times must this be explained - it's ok to expose any API to Java code - it's not ok to put that API in the java.* libraries fooling developers into thinking their code is pure Java when it isn't.

      Imagine someone adding their own functions to the C standard library and advertising them as standard, portable C. How would you feel then?

    2. Re:Gosling's and Sun's markting fluff by Stu+Charlton · · Score: 3, Informative

      C# has value classes, operators, multidimensional arrays, and easy and efficient interfaces to native code.

      JDK 1.5 is going to include autoboxing of primitives. Operators aren't going to happen, by design. Multi-dim arrays, not really important to those outside of high-performance computation. Easy trap-doors to native code is a plus for C#, yes.

      And Sun really has a double standard there: when Apple exposes all their native platform APIs to Java, that's fine. It's just not fine when Microsoft does it

      You're ignoring some proven facts here, such as smoking gun memo's from Microsoft executives ordering the "pollution of Java". Adding keywords & extensions were not violations of the contract -- breaking RMI and JNI, and not supporting JFC/Swing were violations. Apple didn't break compatibility; Microsoft did.

      What can open source developers do with Java before Sun is going to try and sue them?

      What can Slashdot readers do when someone who's on a rant starts spouting FUD? Drop the drama, please.

      Today, it's a huge system with incompletely specified APIs, lousy support for high-performance computations, and no independent third party implementations (all compliant Java2 implementations depend to a large degree on Sun's source code).

      How are the API's incompletely specified?
      How is high performance computation support "lousy" when most studies to this effect show that it's getting better every JDK release?
      And IBM's JDK is *not* dependent on any Sun code.

      If Sun doesn't clean up its act quickly, after seven years of lobbying for Java and using it for lots of software, I'm dropping it.

      It's one thing to be objectively critical of Sun's complex behavior. It's another to be venting frustration unobjectively. Guess which of the two you're doing.

      --
      -Stu
  20. Okay, I'll bite. by Stu+Charlton · · Score: 5, Informative

    - You're using J2EE. That implies you probably should be using JBuilder 6 Enterprise which has numerous J2EE features for automating configuration of EJB's. If you're not using the enterprise edition, then your comparison is lacking in credibility, as Visual Studio .NET enterprise edition is approximately the same price.
    - You have to edit four files to add a field to an EJB? Let me assume for a minute that you're using container managed persistence, which is the only scenario that would require such changes. Most tools will allow you to define the new field in your local interface, and will then propagate that field to your implementation class and your ejb-jar XML file. The second XML file, I will assume, is a custom deployment descriptor. Again, I would hope you're using a vendor's tool to manage this thing. But even if not, I find your indignaton towards all of this "work" somewhat amusing.

    To put this tremendous amount of work in context, how much work does it take to add a field to a regular database table wtih a SQL call in JDBC, or for that matter, ADO.NET? That would require:
    - doing a DML statement on the table to add the column at easiest. In some environments this may require several DML statements to create the new table, re-populate it with old data, populate it with the new column's data, then drop the old table and rename the new one.
    - changing 1-2 method call signatures to take in extra parameters for inserts and updates.
    - changing the JDBC code for reading, updating, and inserting to take the new field into account
    - possibly adding the field to a data object that holds the data in memory.

    Phew! I'm glad there's alternatives to EJB, it's so much easier without it.

    Now, on to the next cow:
    Deploying a JAR to two different places (jBoss and Tomcat). Firstly, I question what the problem is. You would deploy an EJB JAR to a jBoss instance and a WAR to tomcat, or you could just put it into one big EAR file and fo'gettaboutit. If you have two servers, then the ant optional tasks package could very easily do this work for you with approximately 3 lines of XML configuration.

    The best part about your post is that "there probably are better ways". Yes, there are. Hire a consultant for 3 or 4 hours to help you out, it will probably be worth the $1000+. If you're missing GUI tools for jBoss, that would be because it doesn't really have any. Use a commercial server if you're not willing to hand-craft your config & deployment.

    --
    -Stu