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

112 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 nebby · · Score: 2

      On the money.

      --
      --
    2. Re:J2EE vs .NET by aminorex · · Score: 2, Redundant

      Good post! Most serious readers will find Wampler's
      comparison more illuminating than Gosling's
      off-the-cuff boosterism, referenced by this
      slashdot topic. Whether I agree or disagree with
      Gosling's opinions in the interview -- in fact,
      I mostly agree -- they remain just that, almost
      pure op ed, rather than substantive comment.
      That's not a criticism of Gosling's (presumed)
      honest expression of his opinions, just a comment
      on the practical usefulness of the article.

      --
      -I like my women like I like my tea: green-
    3. Re:J2EE vs .NET by GeorgieBoy · · Score: 2

      ". . .the J2EE community can't ignore the need for tools that create powerful and efficient applications in a timely manner."

      Indeed. Perhaps that tool could be (to Mr. Gosling's dissapointment) Eclipse or one of the IBM Websphere Studio products based on it, like WS Application Developer.

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

    5. Re:J2EE vs .NET by mmacdona86 · · Score: 2

      First, you are comparing freely available tools with a several-thousand dollar product from Microsoft. The product will do more hand holding, which will be convenient until you need to do something outside of the paradigm of the product. A fairer comparison would be with the latest versions of WebSphere or BEA's app server.

      Second, does your application need to be a web service, or will some other IPC do? If it doesn't need to be a web service, you are going to a lot of extra trouble in the Java implementation.

    6. Re:J2EE vs .NET by md17 · · Score: 2, Informative

      This is just FUD!!! If you are a Java Developer this stuff is trivial...
      1) Use Forte / Eclipse / Netbeans to build your app.
      2) Download JBoss 2.4.4 with Tomcat.
      3) type something like tar -zxvf jboss.tar.gz
      4) type somthing like jboss/startup.sh
      5) copy your .ear to the jboss/deploy dir
      6) Browse to localhost/myapp

      It really isn't that hard. Come on people. Please quit bashing J2EE speading FUD about how difficult it is. It really isn't.

  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).
    1. Re:Mac user? by aminorex · · Score: 2

      Gosling doesn't run *release* JDKs, silly goose.
      He runs alphas. There's always an alpha inside sun.

      --
      -I like my women like I like my tea: green-
    2. Re:Mac user? by blukens · · Score: 2, Informative

      If you're refering to this arcticle, it's worth noting (yet again) that 1.3.1 has been out for OS X for nearly six months now. That was just a bug fix update, and therefore it was hardly -just- released. Which isn't to say that Apple isn't at all behind the Java curve, but it's not as bad as some make out. It has also been stated that Apple will preview 1.4 in May at the WWDC, and that they hope to be in sync with Sun by the release of 1.5.

    3. Re:Mac user? by roseanne · · Score: 2, Insightful
      Sun has a poor record in using its own products. Sure, McNealy uses a Sun Ray, but most of the Sun sales folk seem to be very attached to their Windows 2000 laptops, MS Office (though Sun internally supports only Star Office) and IE (which is a shame -- Mozilla's mature enough, I think).

      Who knows, maybe Apple could convince Sun to turn into a major customer now :-)

    4. Re:Mac user? by autopr0n · · Score: 2

      who ever thought of such a stupid idea as more than one button on a mouse

      You can take my multibutton mouse when you pry it out of my cold, dead fingers.

      --
      autopr0n is like, down and stuff.
  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 cpeterso · · Score: 2


      given that, how soon do you suppose we'll see a rogue port of Microsoft's CLR to Linux? :)

    2. Re:Speaking of .NET... by aminorex · · Score: 2

      While there probably already are rogue ports,
      whether we see them or not depends on who we know
      and how hard we look.

      Mono is the legit path.
      http://www.go-mono.com

      --
      -I like my women like I like my tea: green-
    3. 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. Re:Speaking of .NET... by aminorex · · Score: 2

      In point of fact, I was wrong. I fumble-fingered the URL, and the license I saw was the old WinCE
      license that prohibited any use with virally
      licensed software, i.e. GPL.

      Oh my aching Karma:)) Sorry for the red herring.

      --
      -I like my women like I like my tea: green-
    5. Re:Speaking of .NET... by Chris+Johnson · · Score: 2
      Hang on- stop thinking like a geek and start thinking like a lawyer. MS lawyers will be! :D

      (1) anything can be a patent. You are not in any sense protecting yourself from being sued and shut down on the grounds of patent infringement or even copyright infringement. You've been tricked: this is a smokescreen. It says right up front: "You may use any ideas in intangible form. HOWEVER- not! ahahahaha!"

      How is it that 'you may use this copyrighted idea in intangible form, except it doesn't give you copyright or any right to use the idea' is safe? (2) since anything can be a patent, it is just as possible for YOU to look at this stuff, also file for patents on it, and the patent office may just take your money and give you a patent too. This would set up a conflicting patent lawsuit. Except- that 'odd provision' is nothing of the sort. It is a very neatly placed bomb to take you out should you manage to get patent protection for your own stuff in turn. Using this, Microsoft can not only sue you, but strip you of a second layer of defense you might have tried to get. This possibly could work well in the context of a patent challenge to get your patent overturned, on the grounds that it derives from Microsoft patents and copyrights, which, surprise, you stole! Stole since you no longer have a license to do anything with this stuff at all...

      I'm sorry: you're wrong. Even looking at this stuff is VERY BAD. This is as devious as music business contracts, and you're being fooled. If you have looked at this stuff, please do not so much as touch anyone else's open source code... you can still produce your own, mind you, as long as everyone involved is firmly aware that the entire project can be rendered illegal anytime Microsoft wants. Hell, even if you were doing a project and taking out PATENTS on it, you could still be stripped of it anytime Microsoft wants.

      Don't take the bait!

  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 jon_eaves · · Score: 2

      He did, the first modern implementation on Unix that became the base of what is known as Emacs in the modern era.

      Here's a timeline: (Jamie Zawinski) Timeline

      Enjoy !

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

    3. Re:"Hi kettle, my name's pot!" by ttfkam · · Score: 2

      There are garbage collection implementations for C++ -- several actually. Or did you mean a standard garbage collection method?

      And Java does have templates. Check out JSR014 and the work done by the authors of Pizza

      --

      - I don't need to go outside, my CRT tan'll do me just fine.
  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.
    1. Re:Java on OSX by IamTheRealMike · · Score: 2
      What's happening to Slashdot!?! Just after seeming to recover from rabid Linux activism, it's been invaded by people who'll plug the Mac at any opportunity! You don't seem to mention that other platforms often support Java pretty well too.

      I'm beginning to find all this Mac activism annoying. I mean it was annoying with Linux, but at least I could understand that as it has an advertising budget of next to zero, so it relies purely on word of mouth to spread. But Apple spend so much on marketing that I can't walk down the street or turn on my TV without being told to think different.

      Please - feel free to promote the Mac, but at least in stories that have some relevance. I don't care what the java support on MacOS X is, if you use Sun's VM it's good on Windows, and ditto for Linux. So what?

    2. Re:Java on OSX by BWJones · · Score: 2

      What's happening to Slashdot!?! Just after seeming to recover from rabid Linux activism,

      Dude, deal with it. One of the reasons Slashdot is here in the first place is for Linux activism and promotion.

      it's been invaded by people who'll plug the Mac at any opportunity!

      Once you try OSX, you may never go back. It's a pretty sweet experience. :-)

      I'm beginning to find all this Mac activism annoying. I mean it was annoying with Linux,

      Then why are you here?

      Please - feel free to promote the Mac, but at least in stories that have some relevance. I don't care what the java support on MacOS X is, if you use Sun's VM it's good on Windows, and ditto for Linux. So what?

      This does have relevance in that Microsoft has long since stopped supporting true Java in favor of a bastardized version that only works with Windows. The true beauty of the Java concept was that it is cross-platform. This means that we can use Java on Windows, Linux, Irix, Solaris and the Macintosh. If Microsoft has their way, Java in its true form will cease to exist and we will be stuck with C# that only works within the Windows paradigm thus handicapping many potential features and leaving innovation in the trash can.

      --
      Visit Jonesblog and say hello.
    3. Re:Java on OSX by sheldon · · Score: 2

      What made me curious about that statement was not the indictment against Windows XP. That's to be expected since this is a Sun FUD article...

      What's curious is that Gosling is rejecting Sun's workstations in favor of ones built by Apple.

  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.

    2. Re:Interesting, how? by Chagrin · · Score: 2
      Or how about this?
      • They might have done something creative around ... integrating business logic into the language ...
      This is precisely the reason why C/C++ are so poor for programs used by businesses.
      --

      I/O Error G-17: Aborting Installation

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

      Oh please. If you only look at syntactic similarities (plus the fact that all three have OO), then you might have a point (although only C++ has pointer arithmetic). Java and .NET are much more similar to each other than either is to C++. .NET is based around Microsoft's old JVM implementation (they just renamed things like "java.lang" to "System"). Classes in both are handled by similar runtime mechamisms involving VMs, while in C++ they are primarily a compiler mechanism. There is a plainly visible one-to-one mapping between concepts in Java and .NET that doesn't work if you try comparing against C++.

  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 brunes69 · · Score: 2

      Where do you get the dea that Microsoft has a "copyright" on .Net? They do own soe patents on the way the technologies work, but that is nowhere near a copyright. .Net has been submitted to the ECMA, and if M$ has it copyrighted projects like Mono, which already has a working C# compiler, wouldn't be able to exist.

    5. Re:"relieved that it wasn't creative" by the+eric+conspiracy · · Score: 2, Informative

      + C# is completely OO - even an Int32 is an Object. Java uses primitive types.

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

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

      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.

      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!

      There are many programming languages available for the JavaVM, including Lisp, Scheme, JavaScript, JPython, Prolog, and Eiffel. The fact is that the JVN is very little, if at all more language centric than is the CLR.

      Although there may have been some inspiration from Java, I'd be hard pressed to call it a "Java Ripoff".

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

      The fact is that Microsoft never innovated anything - and C# is just another Microsoft clone of somebody else's real innovation, plus marketing spin.

    6. Re:"relieved that it wasn't creative" by tshak · · Score: 2, Informative

      Interesting point. However, a System.Int32 does inherit from System.ValueType, which inherits from System.Object. Whethor or not this is a "good" thing or not, I think it shows the differences between (the) C#/CLR and Java/JVM, which was my main point. Maybe it's more accurate to state, "C# is more OO then Java".

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    7. 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
    8. Re:"relieved that it wasn't creative" by tshak · · Score: 2

      You make some good points. I agree with your comments regarding Properties and Namespaces. Although these may (arguably) make things more convenient for the developer, they are bad examples for proving my point. I was just listing languages differences off the top of my head and I wasn't really considering this perspective.

      It would be more accurate to say that Java has primitive types. If you want a primitive integer value, declare an "int". If you want an object, declare an "Integer".

      This is a curios statement, however. I was under the (false?) impression that the Integer object is simply an object that works with the int primitive. It's not really a language feature, but part of the Class Library. With C#, an int is just a syntactic representation of System.Int32, which ultimately inherits from System.Object. So, an int->System.Object where as in Java an Integer->int. Seems like a fundamental difference, although I could be completely wrong.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    9. 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.

    10. Re:"relieved that it wasn't creative" by smallpaul · · Score: 2

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

      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.

    11. Re:"relieved that it wasn't creative" by Aapje · · Score: 2

      Where do you get the dea that Microsoft has a "copyright" on .Net? They do own some patents on the way the technologies work, but that is nowhere near a copyright. .Net has been submitted to the ECMA, and if M$ has it copyrighted projects like Mono, which already has a working C# compiler, wouldn't be able to exist.

      You can only copyright an implementation. The copyright is automatically granted by law on someone's work, so MS has the copyright on their implementation of .NET. All the .NET-api's have not been submitted to the ECMA, only the C#-stuff. So there is no open standard that you can use to implement .NET on various platforms. If Mono wants to support the apps that run on .NET it will have to reverse engineer like Wine. .NET is just as proprietary as COM or Java.

      --

      The Drowned and the Saved - Primo Levi
    12. 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!
    13. Re:"relieved that it wasn't creative" by the+eric+conspiracy · · Score: 2

      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!


      Oh baloney. The FACT is that C# and Java are closer than any other two languages I have ever seen, in fact C# is closer to Java than versions of the SAME language in many cases (say FORTRAN 77 and FORTRAN 90 for example).

      The FACT is also that if you take a close, hard look at Microsoft products, you are going to have a HELL of a time finding any single product feature that wasn't done somewhere else first.

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

      And the point of this is exactly what? The author of this statement is biased? How can you can possibly state the fact that underlying structure of both the JVM and CLR is an abstract state machine 'superficial'? This is in fact the most FUNDAMENTAL commonality that you could possibly have in such implementations. How can you not realize that?

    14. Re:"relieved that it wasn't creative" by alext · · Score: 2

      A lot? A bit is closer to the mark. As has been pointed out frequently in recent /. discussions, the CLR is ideal for running lots of languages that are semantically close to C#, just as the JVM is good for languages like Java.

      Every now and then, a new 'language independent language' appears - an IDL, a VM, a higher-level 'scripting' system, X Schema - which then proves to be not so independent after all, in that it assumes and constrains too much.

      Gosling is relieved because there are lots of clever things that MS could have done given a blank sheet - support for logic/query programming, inbuilt databases, workflow systems, LISP-style programs-as-data etc. - but even with billions of R&D dollars at their disposal, they merely managed to clone Java. Unless you really believe that a DCE/CORBA-style common type system qualifies as innovation?

    15. Re:"relieved that it wasn't creative" by gewalker · · Score: 2

      OK, since apparently Java is great and C# is not because it is not innovative. Tell me, oh wise one, what features are in Java that were not done "somewhere else first"? (Be sure to look very hard)

      Does this lack make Java bad (no)
      Does this lack make Java non-innovative (nope)
      Does this make C#/.net innovative (I don't know, I have not decided yet)

      In software, innovation comes from the combination of known things, not something completely new (software patents bad, copyright good). Java was innovative because it combined a lot of features into a well-conceived whole. Even though Java started off as C++, it was developed into something much more interesting.

      C# steals most heavily from Java, Delphi, C++, big deal. Java stole most heavily from C++, big deal. Everything OO steals from SmallTalk, Simula. All of these stole from Algol and FORTRAN.

      For Gosling, C# is crufty because it allows you to break the rules (pointers, defeat the default garbage collection). For me C# is good because GC is the default, and you have to declare your intention to break the normal rules. Great poets break the rules of good English, but they learned the rules first, and then decided to break them for effect.

      For me, I've broken the rules when standard techniques don't work well. If you are a good programmer (a reasonable assumption) then you have probably broken the rules too. Elegance is often sacrificed on the alter of necessity.

      Seems to me that I recall Java allowing you to make calls to native code (JNI), mostly for the same reasons (flexibility & legacy code). I believe Gosling was being just a touch biased. I believe we are both smart enough to see that. And I'm certain we are both smart enough to see bias when one of the MS minions says something.

      AFAIK, there is something innovative in C#, feel free to correct me, I'm probably wrong. In that C# gives you the declaritive ability for unsafe coding techniques. Sounds wierd when I say it, but this seems innovative to me. I don't have to switch from Java to C (2nd language, somewhat clunky) in order to break the rules, yet I don't have a language (C/C++) where unsafe coding is in abundance.

      You might even note bias in what I have said. I prefer to think of myself as biased towards the truth -- an objective observer. You may perceive me to be a sycophant for MS.

      Really, it's OK by me. My self-perception does depend on your viewpoint. But, as we try to develop our own self-perception, it generally makes sense to listen to the viewpoints of others. Occasionally, someone else is right. Maybe even Microsoft -- even if so, good software does not imply righteous company.

    16. Re:"relieved that it wasn't creative" by tshak · · Score: 2

      Basically, VB.Net is a skinned version of C#.

      Well, if that's the case, then it's a pretty ugly skin!

      --

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

      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.

      The CLR can be used for both managed and unmanaged code. http://www.yasd.com/tutorials/c_sharp/chap17_1.htm . And anyhow, other languages could be "managed." There is already a prototype of Python running on the CLR and there is no reason to believe that it could not be finished one day to be equivalent to Jython. And C++ runs on the CLR: already.

  9. Re:I liked this bit best... by 56ker · · Score: 2, Funny

    Well it's typical Microsoft tactics - if they see something they like they either :-
    a) buy the company
    or b) come up with something extremely similar.

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

    1. Re:Disappoining by aminorex · · Score: 2

      Yeah, I think Gosling doesn't understand how to use
      the press. You don't talk *to* an interviewer, on
      their (how low can you go?) level. You talk
      *through* them, use them as a bully pulpit to reach
      your target audience.

      (Or perhaps he's a Kantian, and is obligated to
      treat all moral patients as ends rather than as
      means.)

      --
      -I like my women like I like my tea: green-
    2. Re:Disappoining by Reality+Master+101 · · Score: 2, Insightful

      Indeed. There is no doubt that Gosling is a very bright guy, and has a track record of interesting technologies. But all this interview proved is that even smart people can have blind spots and be stupid.

      I mean, he can't find ANYTHING positive to say about the technology? How about the multi-language support? And most of even the strident critics of Microsoft who are honest have to admit that there are some interesting ideas in C#.

      They might have done something creative around ... integrating business logic into the language ...

      Business logic in the language??? Hey Gosling -- that's the advantage of MULTI LANGUAGE SUPPORT. There's this language called COBOL. Maybe you've heard of it. It has PILES of business logic built into the language.

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

      That's such bullshit. Yeah, and I could also say that "... the syntax [of Java] is [...] just about exactly the same as that of C++". Their both C++ derived languages. Of course they're going to look similar.

      The difference is that C# has fixed some of Java's brain damage, one of which is the lack of an unsigned data type which is just unforgivable.

      All that proved to me is that Sun is really, really frightened about the potential of .NET. Java is an interesting platform, and an interesting language. But there's a huge opportunity for someone to come in with better solutions, and Sun knows it.

      --
      Sometimes it's best to just let stupid people be stupid.
    3. Re:Disappoining by rbeattie · · Score: 2

      Disappointing is definitely the word.

      I saw James Gosling speak here in Madrid not too long ago and I can say that I was completely disappointed. His answers to questions were blunt, uninteresting and usually condescending - sometimes even just repeating the question as an answer or just blowing it off entirely.

      From what he himself said, he seems to have not paid much attention to what's going on with the Java language since helping create it... That is to say, he put all his eggs in the Jini basket, and when that tech failed to catch on, he was lost. J2EE, web services and J2ME? Nada. It was obvious from his speech and answers to questions that he doesn't have a clue.

      The worst part was that he didn't seem very technical any more. He's into management and evangelism and all that and avoided specifics whenever possible. Thus, from now on I feel I can safely discount anything I read in the press from him because I know he's just bullshitting (which is obvious from this article too...)

      -Russ

      --
      Me
    4. Re:Disappoining by Reality+Master+101 · · Score: 2

      I don't recall needing them once in C, and I've written a lot.

      You've never compared two 32-bit epoch-formatted dates in Unix? If you used time_t, you used an unsigned type. If you didn't use an unsigned type, your code is broken.

      To be honest, if you've written "a lot" of C code, I doubt you've written anything very complex if you've never needed an unsigned type. Communication protocols, compression/decompression algorithms, ... hell, I can just remember off-hand that I used an unsigned type in a dynamic resizable hash table algorithm I wrote that used a 16 bit bucket size. If I had to stick with signed integers, it would have a range 32K rather than 64K, which is rather significant.

      Man, how about hashing algorithms??? Can you even implement CRC32 without an unsigned data type?

      Amusingly, I seem to recall a bug in Sun's 3D libraries where they had to kludge around the lack of an 8 bit unsigned data type, but forgot in a certain instance and the routines failed for high range values. Good thing that "saved" us from the evil, useless unsigned types!

      --
      Sometimes it's best to just let stupid people be stupid.
  12. 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 aminorex · · Score: 2

      Actually, Dave Winer beat them to the punch by two
      years.

      According to analyst reports, 40% of web services
      will be microsoft-owned over the next 5 years,
      40% will be Java-backed SOAP/XML-RPC, and 20% will
      be also-ran.

      As regards Sun's stock values, while there is a
      correlation with server market share, it's really
      surprisingly low. Sun can save it's butt one of
      two (and probably by a mix of both) ways:
      The burgeoning embedded Java business, and putting
      out really butt-kicking CPUs and interconnects for
      their large SMP and NUMA boxes. The volumes on
      the first of those are huge, and the margins on
      the second of those are similarly huge.

      Sun looks bad right now because they were a
      primary bubble stock. In fact, their P/E ratios
      and prospectus are quite sane and robust now.

      Vitriol gets press. Vitriol directed at microsoft
      is also a moral imperative. Why tone it down?
      But it doesn't deserve a slashdot story, that's
      for sure.

      --
      -I like my women like I like my tea: green-
    2. Re:SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 2
      Microsoft may get their technlogy up to par with Sun, though I doubt it, but they will never, emphasise never, beat Sun in the high end market as long as they pursue their "software as a service" strategy.

      Huh? McNealy is pushing this model as strong as Gates is.

      Microsoft can talk about their "freedom to innovate" all they want, but they have come to a place where they have innovated or stolen just about everything worthwhile already.

      90% of the people in the city morgue had the right of way. So what? What matters is who is left standing.

      Linux will be left standing because it doesn't need to make money to be succesful. Microsoft, Intel and IBM will be left standing be left standing because they will own the respective markets for software, CPUs and services. Moral legitimacy means zilch.

    3. 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
    4. Re:SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 2
      Microsoft needs to make money to survive, as you pointed out, and they are running out of ways to do so.

      Other than (among others) invading the game console market, eroding Oracle's share in databases, smoking past lycos and yahoo on the mediametrix charts with MSN, spinning off expedia, or gunning up their licensing fees? People have been saying "Microsoft is over" for at least five years now, but they keep moving into new markets.

    5. Re:SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 2
      I guess you missed the part where Sun announced that they'll be shipping Linux and supporting Linux sometime midyear.

      Then they just committed suicide. There is absolutely no compelling reason to use Sun hardware for linux. At the low end you can get better price performance. At the high end you can pop linux on an IBM mainframe and get not only the top end of hardware but a superior services force.

      Thats the crux of the issue for Sun - they're damned if they don't support linux, but doubly damned if they do - they're more or less endorsing commodity solutions, which will ultimately lead to commodity hardware.

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

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

    8. Re:SUNW against the wall, this time for keeps by mmusn · · Score: 2
      Java, as a matter of fact, isn't a product of a company, but of the entire industry, with the especial exception of microsoft :)

      If only that were true. Unfortunately, it isn't. Java, like Microsoft Windows, is really the product of only one company, Sun, although a number of other companies (IBM, Apple) are reselling it with some modifications.

      Microsoft can't spend more money in .NET and C# than the community spends in Java.

      What makes you think Microsoft is going it alone? The usual suspects are investing in C# and .NET. And C#/.NET isn't even going for the same people as Java--it will find acceptance quickly among Microsoft's current VC++ and VB programmers, because it's a whole lot better than what they have right now.

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

    10. Re:SUNW against the wall, this time for keeps by andynyc · · Score: 2, Insightful

      Finally a geek that understands financials.

      He doesn't understand them that well. Bigger is not always better. Anyway, IBM's revenue and profit are NOT 10x that of MS.

      Focus on the top-line numbers. IBM's annual revenue in 2001 was 85.9b, Microsoft's was 25.3 (Note: MS's financial year ends June 30), about 3.5x. Since IBM sells a lot of hardware that is expensive to build, though, their cost of sales was 54.1b, vs. just 3.5b over at MS, leaving gross profit at 31.8b at IBM, 21.8b at MS.

      Now why is MS stock so much higher? Stock price is all about growth. MS's gross profit is 116% higher than it was 4 years ago. IBM's has grown just 3% in that same time period. And the fact that MS has $40b in short-term assets, just $11 in short-term debt, and NO long-tem debt, makes portfolio managers sleep soundly at night.

      I'm not knocking IBM... it's a great company, but that's the benchmark you chose to compare to Microsoft.

      And IBM reported net income at $7.7b in 2001, vs. $7.3 at MS. So please explain where the 10x figure you stated comes from.

    11. Re:SUNW against the wall, this time for keeps by elmegil · · Score: 2
      At the high end you can pop linux on an IBM mainframe and get not only the top end of hardware but a superior services force.

      Right. You work for IBM and I work for Sun. Either that, or you've been doing some really heavy koolaid drinking.

      I do work for Sun. I have supported customers who went to Sun for database servers after IBM failed repeatedly to provide the "high end" solution they needed. I have had these same (very demanding) customers tell me that the reason they like Sun is that the field support organization blows the doors off of IBM's capabilities.

      I've also supported customers whose primary admin workforce were IBM Global Services people. With a few exceptions where IBMGS hired on staff that already worked at the site, IBMGS was difficult to work with, and frequently not very organized. I've seen cases where the customer specifically asked for something to be fixed and IBMGS stood directly in the way, insisting that it wouldn't work (it did in the end) or that since it violated some policy the fix just wasn't acceptable (let's see...fix a critical problem, or adhere to the letter of some bureaucratic policy created without this situation in mind?)

      Then there's this "linux on a mainframe" concept, which really doesn't make much sense. You've got Linus saying he doesn't care to make the kernel scale past 4 procs. Which isn't to say it never will, or that no one is working on it, but it sure doesn't speak well for the priority of making Linux well on big iron, no matter who the hardware vendor is. A dozen tiny little 1 - 4 CPU instances just aren't the right answer for a lot of classes of problems.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    12. 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.

    13. Re:SUNW against the wall, this time for keeps by Chris+Johnson · · Score: 2
      Microsoft's market capitalisation being almost twenty times IBM's on a tenth of the revenues and profits means that somebody is being a fscking idiot. Using tax laws and revenues to sustain this does not change the underlying situation in any way.

      200 times the valuation relative to earnings means a bubble- a SPECULATIVE bubble. The worth of the actual company has nothing to do with it- we are talking about investment behavior, and there really is no way out of this other than a run on the stock when it crashes. It can't go forever- even if everyone on the PLANET eventually became an amway distributor oops I mean a MS stockholder (they almost are already, what with pension plans and all), it would hit a point where no further growth was possible- at say 2000 times the valuation relative to earnings- and boom. Actually, I'm surprised it's got this far... I'd bet money they can't reach 500 times IBM's value/earnings ratio. It's astonishing they even got to 200 times the value of IBM without the bubble bursting. Are people completely crazy to swallow that one?

      All those who still believe in dot-com stocks even now, carry on. Everyone else- get the hell out of Microsoft stock and anything you do that is predicated on Microsoft stock! That includes pension plans and such things- that or give up on them, as they are going to be bankrupt.

      Speculative bubbles ARE NOT FOREVER. Okay?

    14. Re:SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 2
      I have supported customers who went to Sun for database servers after IBM failed repeatedly to provide the "high end" solution they needed.

      I've also supported customers whose primary admin workforce were IBM Global Services people.

      Blah. I can find ten anecdotes that contradict every one of yours...and you can then contradict every one of mine. Its pointless. Lets look at stock charts instead and let the market sort it out. This comparison does not bode well for your company...and your defensiveness belies that you have heard the same points I am making come out of the mouths of other Sun employees.

    15. Re:SUNW against the wall, this time for keeps by Ars-Fartsica · · Score: 2

      No, I'm sorry, you are wrong, cheaper always wins. No one will use Sun hardware for linux. I am not going to offer up any more support than the fact that cheaper always wins in the end and there is not one fact in the history of computing products to contradict this. Sun is committing suicide.

    16. Re:SUNW against the wall, this time for keeps by Derkec · · Score: 2
      Cheaper does always win, if you're getting the same goods. Sure, my pc is cheaper than an IBM mainframe but if I need mainframe oomph, I go to IBM. So, if the extras are worth the money the box can be a bit more expensive.


      Also, Sun is talking about selling x86 boxen for linux. So the hardware is not going to cost Sun particularly more than it would cost someone else.

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

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

    1. Re:Microsoft trying to lure people away from Java. by brunes69 · · Score: 2

      Fortunatley, you are wrong. .Net code runs on FreeBSD, using M$'s own implimentation. And come soon, it will run on virtually any platform, using Mono.

  15. Re:interesting quotes.. by aminorex · · Score: 2

    suggestion: instead, remember winston in 1984:

    if (required) {
    assert (2 + 2 == 5);
    }

    --
    -I like my women like I like my tea: green-
  16. 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?)

  17. Talking out of one's posterior by Flarners · · Score: 2, Informative
    I have read the license, and it permits any and all modified versions to be released under the exact same license, as long as the modified versions are clearly labelled as such:
    In return, we simply require that you agree:

    [snip]

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

    IANAL, but I see NOTHING in there that would prevent the creation and distribution of a Linux port. While it's certainly not the GPL, the license is more than adequate for its intended purpose: a reference implementation and educational tool. Please don't spread FUD like that.
    --
    "The problem with the French is that they don't have a word for 'entrepeneur'." -George W. Bush
    1. Re:Talking out of one's posterior by Chris+Johnson · · Score: 2
      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.

      That is the clause that would permit Microsoft to harass pretty much anyone working in open source code who's seen their 'shared source' to barratrous lawsuits.

      You are correct that nothing in there prohibits a Linux port of what they do. That is because they've come up with a provision that is the anti-GPL: in agreeing to their license you specifically acknowledge that you are using remembered ideas from their Shared Source, and further acknowledge that you do not have any rights to such ideas.

      That is a legal slamdunk: given such an admission, a simple lawsuit could shut down any open or free project taking place legally and openly. That includes the Linux kernel itself.

      Microsoft have come up with their own viral approach, but in this case rather than virally spreading a license provision that mandates the ability to sublicense, they are virally spreading a license provision that mandates an admission of vulnerability to legal attack.

      It is hard to properly express how dangerous this could be in the hands of a corporate entity that can afford more legal armament than the United States Government...

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

    1. Re:"imitation" flows in both directions by elmegil · · Score: 2
      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.

      And just like the folks pointing out that similarities between the languages are likely due to their common heritage (C++), it's probably worth pointing out that the similarities here have to do with the attempt to solve the same problems. Yee haw. Ain't this fun?

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    2. Re:"imitation" flows in both directions by mmacdona86 · · Score: 2

      Unfortunately, MTS was based on COM, which was a fundamentally broken technology for the creation of business objects--the biggest flaws being that it was single platform, stored the object metadata in that registry abomination, and was unable to propagate exceptions across object boundaries. COM pretty much only worked as a native interface layer for VB.

      After five years, Java's inroads in business application development finally persuaded Microsoft to abandon COM. They didn't want to become just another Java vendor, so they cloned Java and gave their version some marketing spin to try to lure people back to a single vendor solution.

    3. Re:"imitation" flows in both directions by alext · · Score: 2

      Maybe, but a lot of similar stuff was in the CORBA Transaction and CORBA Security specs, particularly the JTA and JAAS-level interfaces and the on-the-wire representation of transaction and security contexts.

      JDBC vs. ODBC would probably be a better example of J2EE borrowing vs. 'research' (i.e. borrowing from more than one source).

      Despite the resemblances, I still don't think that MS deserves much credit as an innovator. To take a current example, MS is borrowing from object/relational mapping products to create a Dotnet addition called ObjectSpaces - an extraordinarily conservative approach when you consider that MS owns both the database it is mapping to and the development language and environment it is mapping from. It's almost as though Redmond wants to be the EPCOT Center version of the larger software world outside, obliged to reproduce in detail all its variety and arbitrariness internally.

      However, I will give them some credit if they manage to get 'Longhorn' out - the OS with SQL Server as the file system - but last I heard, things weren't looking that positive.

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

    1. Re:This article by gwernol · · Score: 2

      As the submitter of the story, let me defend it a little. I think one of the major reasons it is intersting are the reasons you think it is weak. The fact that Gosling and Sun are beng so defensive about J2EE/NET tells us how much they fear it. They clearly see .NET as a serious competitor to J2EE. As a long-time Java programmer and enthusiast, I think it is useful to know this and somewhat worrying.

      There are many reasons why an article can be "news for nerds" and/or "stuff that matters". It can be as much for what isn't said as for what is.

      --
      Sailing over the event horizon
  20. Relieved? Not Hardly. by ackthpt · · Score: 2, Insightful
    I had to already head off some gee-whizziness at work. We've got interdev, the vb and vc toolkits and someone was plowing through some books and started thinking, "Gee why don't we just upgrade to .NET and start developing everything from that framework, rather than in VB 6 and then have to convert later."

    The answer was too obvious, but too often ignored and the question, if not met with an informed response soon enough would have painted us into a corner. We have to support users on a variety of platfroms, hence Java, or simple HTML forms with asp or servlets on a server will accomplish our goals. Writing client apps in .net means we can only support that portion of our customers who use a current enough OS to support .net Yeah, looks pretty until you start looking at the fact there's a few million legacy computers and macs in the world you won't be able to do squat with. No thanks. .net is dead and buried for now and I mean to keep it that way.

    Microsoft's damnable marketing buzz is dangerous, because too many people hear it and just leap at it, because it sounds like a great solution. Too few stop to think things through, often those who know too little about their whole market and end users.

    Now this isn't necessarily a Java good, .net bad, thing, it's more of a 'don't jump on the latest bandwagon' thing. For my 2, though I'd be happy with J2EE because it's established, which .net is far from and risky because of it.

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:Relieved? Not Hardly. by gewalker · · Score: 2

      Would like your opinion.

      Based on what you said, why would asp.net, using one a Java based .net product be a problem in your environment? Especially considering that your actual alternative is to crank out more VB code.

      You stated ".net is dead ... and I mean to keep it that way", ok so why? You're stated reason is to paraphrase: too new / too risky. If that is case, why not .net in the long run. Don't trust MS. Don't trust the code. Cross/platform issues. Too expensive. Current investment/strategic plan in J2EE. Something else?

      I'm agnostic about such issues (made money, slept well at night, and helped customers programming for Apple, MS-DOS, Windows16/32, various Unix platforms). But assuming you have a good reason, what is it?

      Short term, stated reasons are obviously valid (compared to VB6), but for the future, why not (again, compared to VB6 which apparently has little future)?

  21. 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.
    1. Re:Where did you learn OO? by rfsayre · · Score: 2

      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.

      The CLR is *syntax* agnostic. Not really the same thing.

  22. 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
    1. Re:similarities by rabtech · · Score: 2

      This code will compile under both because it is trivial C++ code (essentially.)

      Both langauges have a common heritage, which results in some similarities.

      But take a program that's a million lines and you'll spend more time rewriting then starting from scratch, no matter which direction you go. (of course you can compile java the language to the CLR, so why rewrite?)

      --
      Natural != (nontoxic || beneficial)
  23. Balogna! by glrotate · · Score: 2, Troll

    All you need to look at are these pages:

    http://biz.yahoo.com/fin/l/m/msft_qb.html Balance Sheet

    http://biz.yahoo.com/fin/l/m/msft_qc.html Cash Flow

    Note:

    2.1 Billion incoming cash. 5.2 Billion Cash on Hand.

    I think MSFT is solid.

    I mean use a little intuition. Every beige box sold means $40 in revenue from windows. What's the Marginal Cost of another copy of windows $2? Now add in Office or Works. Then add all the copies of NT server that are sold, all the CAL's. All the Exchange servers, all the Exchaneg CALS. All the SQL servers, all the SQL CALs. Thats a honkin lot of revenue, and very little marginal cost. MS in making money hand over fist. That's what monopolies do, maximise the difference between marginal revenue and marginal cost. MS can keep cranking out licences and were stuck buying them.

    MS growth may slow, (although one could argue that vast international markets lay untapped), but they aren't about to colapse Enron style.

    1. Re:Balogna! by s390 · · Score: 2
      Thats a honkin lot of revenue, and very little marginal cost. MS in making money hand over fist. That's what monopolies do, maximise the difference between marginal revenue and marginal cost. MS can keep cranking out licences and were [sic] stuck buying them.

      The extent to which Microsoft escapes its current antitrust case with a slap-on-the-wrist penalty will likely be inversely proportional to the number of major corporate customers' defections from their new annual "software rental" product licensing schemes. I stand by my analysis.

      We're _not_ stuck buying Microsoft's inferior OS and applications software - there are alternatives springing up all around us - and smart CIOs, CTOs, and even business PHBs _will_ migrate to them for competitive advantages. Microsoft's days are numbered, but we just don't know that number yet.

      If you'd like to read the best independent analysis of Microsoft's financial fraud, go here.

      Meanwhile, sell your Microsoft stock because its about as high as it's going to go on the way down.

    2. Re:Balogna! by Veteran · · Score: 2

      Bill Gates and Paul Allen have both been dumping Microsoft stock as fast as they can; i.e. without facing a legal requirement to disclose what they are doing. I believe that I read that Allen has already completely divested his interest in Microsoft. Gates has been dumping about a million shares a month for more than two years.

      Question: - which anyone except a self deluded clueless business major could answer correctly - "Why would they be doing that if the stock were as solid as you imply?"

      Of course there are PHB style answers to that question: "They want to increase there own personal liquidity" etc. But those type of answers are exactly the "self deluded clueless business major" sort of answer I meant.

      Gates himself has warned many times that someone could come up with a technological innovation that could make Microsoft obsolete overnight - Microsoft investors don't seem to think that is possible but he does, and I suspect that he has a much better grasp of that than all of the clueless investors do. Why do you think that Gates has a trust fund set up to pay the taxes on his house? Answer: He knows it could all go away as quickly as it came.

      Any company which really doesn't produce anything tangible is a bubble waiting to burst; and ones and zeroes are not tangible. Other than their cash reserves Microsoft has very few tangible assets. If their source code goes obsolete they are gone.

      I intend to double check and make sure that my managed 401K hasn't got one dime invested in Microsoft stock.

      The original poster in this thread is correct; Microsoft's collapse will be Enron style and spectacular.

  24. 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 Refrag · · Score: 2

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

      Apple doesn't have a monopoly, Microsoft does. Apple allowing you to code native applications for the Mac in Java doesn't hurt Java in the same way that Microsoft was trying to change Java.

      --
      I have a website. It's about Macs.
    3. 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
  25. MS Stuff by Anonymous Coward · · Score: 2, Insightful

    A few things here:

    #1: To the person talking about financials and MS being a "pyramid scheme." In a way this is true, but this is common practice today. If you look at a company like Cisco, if you count stock options they lose huge amounts of money, but if you don't count them they make money. Stock options are very easy to abuse from a financial reporting standpoint. The key is, when people cash in those options the company has to either buy them back at the market price, or must simply have the options on hand, when they could have sold the shares for much more. Paying someone in options is like paying Hershey's employees in candy bars - in the end it's still money spent.

    #2: What Gosling was saying about C# being a rip-off is true. Java may not have done anything new but it at least combined some syntax and pieces in a new way. C# is a straight port of Java for the most part. Java is NOT a copy of C++, it is a copy of a hodgepodge of things. Whereas C# really is just a copy of Java.

    #3: Safe vs. unsafe code. People are being very naive about this. How many web pages do you go to that give you the warning "this page blah blah unsafe..." Yet you still enter that credit card number. Marking code as "safe" or "unsafe" is irrelevant. This is what will happen: people will write unsafe code, and it will be common enough so that end users will have to use it. The same thing happens with ActiveX controls. How many people honesty won't run an unsafe ActiveX control? Or a program that uses unsafe Word macros? The other day I had to change my security level in word so I could use a documentation tool - and I went right ahead and did it, and so will everyone else!

    The fact is, if it's easy to write unsafe code, people will write it, and then users will have to run it if they want to use that product or service. Marking it safe or unsafe makes no difference at all, the typical user will run unsafe code.

    #4: Sun really does need to get it's act together. Good god there are so many Sun products, so many APIs and old APIs and new APIs and different "initiatives" it's impossible to tell what's what. For example JavaOne, how many people can figure out what actually is in there and what it does?

    #5: .NET in general is just another in the cycle of forced upgrades. Before you used VB, now you use VB.net. In another 4 years you'll use something else. Of course, all the good ol MS apps will still be written in C++ all along. The primary reason to use MS products is always the same: "everyone else will." Which of course is self-fullfilling prophecy.Everyone believes that so everyone jumps on board.

    #6: MS has been found guilty of anti-trust violations multiple times. And they still get worse even as the trials go on! If I were a judge I would say "stop mocking these proceedings or I'll throw your ass in jail!" Most people who are for another weak settlement are people who just make vague arguments against the entire notion of anti-trust, something like "they're just trying to do what every company wants to do and be the leader. Stop whining!" Well, we *have* antitrust laws! And we have them for a reason. And if they apply to ANYONE, they apply to MS. MS protests that a harsh penalty could destroy the company? Well, when you get arrested for murder and put in jail for life that pretty much destroys whatever you had going at the time. It's called "punishment." That's the point! If you can't stand the punishment, don't commit the crime, not once, but twice even! That logic is akin to saying "I can't go to jail because jail is a nasty place." MS was found guilty, they didn't stop, in fact they got worse. A breakup to me is the only logical thing to do, they've shown they can't play by the rules. Yeah, that's "harsh." But, there is a simple way to avoid penalty: don't break the law! Yes Virginia, it really is that easy!

    1. Re:MS Stuff by the+eric+conspiracy · · Score: 2

      How many web pages do you go to that give you the warning "this page blah blah unsafe..." Yet you still enter that credit card number. Marking code as "safe" or "unsafe" is irrelevant.

      Sure, you are not going to see this issue listed on a web page. But it is a big issue when people choose how they are going to implement a project. Some of the corporations I deal with are rejecting C# right now because, and this is a direct quote, "C# is just Java except it's not portable and it's not secure".

      : people will write unsafe code, and it will be common enough so that end users will have to use it. The same thing happens with ActiveX controls. How many people honesty won't run an unsafe ActiveX control?

      A lot of the corporations I deal with won't let Active X controls through their firewalls.

      Or a program that uses unsafe Word macros? The other day I had to change my security level in word so I could use a documentation tool - and I went right ahead and did it, and so will everyone else!

      Two months ago I installed a mail filter for one of my clients that bounces any email with an attached Word macro.

      The fact is this is a real issue, and it is going to become more important over time.

    2. Re:MS Stuff by IamTheRealMike · · Score: 2
      #3: Safe vs. unsafe code. People are being very naive about this. How many web pages do you go to that give you the warning "this page blah blah unsafe..." Yet you still enter that credit card number. Marking code as "safe" or "unsafe" is irrelevant. This is what will happen: people will write unsafe code, and it will be common enough so that end users will have to use it. The same thing happens with ActiveX controls. How many people honesty won't run an unsafe ActiveX control? Or a program that uses unsafe Word macros? The other day I had to change my security level in word so I could use a documentation tool - and I went right ahead and did it, and so will everyone else!

      I'm afraid you're mixing some stuff up. In this context, safe vs unsafe is referring to memory management, not security.

      Safe means that the code cannot access memory directly, instead it must do it via references that are automatically updated by the memory management system/garbage collector. Unsafe means you get direct pointers, that are not tied to the memory manager.

      Java does not allow unsafe code (unless you go via the JNI) but .NET/C# allow both types to be mixed freely with a few caveats. The pros/cons of this decision are something I won't go into here, but there is are a couple of interesting articles on MSDN about safe vs unsafe.

  26. Re:Gosling's and Sun's markting fluff (gets worse! by MisterBlister · · Score: 2
    I guess one of my pet areas is scientific computation. They might have done something creative to make that easier.

    Gosling is fat. Also, Java has serious issues itself when it comes to scientific computing.

    Please see this paper for further information.

    Funny he should mention that as one of .Net's shortcomings.... Also he feels "ripped off"? Sure, C# is an awful lot like Java, but then Java was an awful lot like C++. Borrowing good features from past languages isn't robbery, its just smart.

    In short, shut up fatty!

  27. 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
  28. Re:I don't understand all you closed-minded idots. by IamTheRealMike · · Score: 2
    Have any of you even looked at C# as a language? How about looking at the .NET framework itself? To attack .NET is to attack Object Pascal and Delphi. Why is this? Because C# looks like Java and C/C++, acts like Object Pascal and runs like Smalltalk. Let's admit one things first: nothing in Java is "innovative".

    Well I love Delphi and use it all the time, but comparing the two is inaccurate. They -are- pretty different.

    Does anyone remember how much Java 1.0 sucked compared to the Java of today? I sure do, because I was one of them! Does ANYONE get version 1.0 perfect? So why do we expect this from Microsoft? Yes, they're bugs are more public because more people use Windows than there are Christians on this planet, but everyone else's 1.0 products are the same! Security? Please! UNIX had 30 years to improve security. My dad tells me horror stories of all the security bugs in the original systems he'd worked on at Bell Labs!

    True to some extent but consider Apache. It has a higher market share than IIS but where is the Apache version of Code Red? I seem to recall IIS in on version 6, or is it 7? I can't remember. But Apache is just about to reach v2.

    Gosling is a joke if he thinks he's anyting special. He got his "fellow" status because of Java, but only once it took off. Other than that, he'd be pretty obscure. Is there anything innovative anymore? Everything is a culmination of ideas. It's like evolution, new species don't just appear, they're based on previous ideas.

    So why did Java take off in such a big way and Smalltalk didn't? Don't believe it was just marketing, because it wasn't. The fact is, that Java was the right product at the right time. There are languages out there that are so "innovative" they are barely usable for real world projects. So it didn't include hundreds of good ideas - but it did combine those ideas in a way that had mass appeal. I consider that innovative in a way.

  29. J2EE != EJB by Stu+Charlton · · Score: 2

    J2EE is not EJB, and the ideas behind J2EE model really have nothing to do with MTS.

    On the EJB hand, you're quite right, they borrowed heavily from MTS. But I would claim that MTS was beta-quality software until at least 2.0, and didn't support object pooling until COM+'s release. EJB 1.0 servers were doing that around the same time, and while many were crappy, there were production quality ones out by late 1998 (WL 4.5, Gemstone, Persistence, etc).

    In the story of MTS vs. EJB, it really was a story of execution. MTS and COM+ were slow to mature, and didn't take off at all. Which is one of the driving factors behind .NET.

    --
    -Stu
  30. Re:Gosling's and Sun's markting fluff (gets worse! by alext · · Score: 2

    My interpretation is that Gosling mentioned scientific computing because he saw that Java hadn't covered that area well, just like it doesn't cover logic/query programming, transparent persistence, workflow, continuations, program-as-data and dozens of other useful ideas from the last 40 years.

    However, this is much more of an indictment of C# than Java - Java's innovation was in the VM, not the syntax, which was deliberately conservative. Despite a huge R&D program, MS has not managed even to synthesise ideas from even two significantly different languages/VMs, let alone attempt to bring together best practice from industry and academia. Gosling's 'rip-off' charge looks pretty solid to me.

  31. Re:I liked this bit best... by Zeinfeld · · Score: 2
    The article was pure FUD. Sun and Gosling may honestly believe that there is nothing of any value in .NET and that Java has all the answers. I don't think they do, I don't think anyone does.

    Java was not a particularly innovative language. Interpreted byte code has been arround since the p-system. There were many cleaned up object orented extensions to C, such as Objective C.

    Sun's Java vision is based arround a particular goal of processor independence that is practically irrelevant in mainstream computing, particularly with the SPARC chips lagging behind Intel in performance.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  32. Heh by autopr0n · · Score: 2

    And he also wrote vi.

    But no matter, it's all about pico.

    --
    autopr0n is like, down and stuff.
    1. Re:Heh by mvw · · Score: 2
      And he also wrote vi.


      vi was written by Bill Joy, another prominent Sun employee (is he a vice president like Gosling too?)

  33. Huh? by autopr0n · · Score: 2

    I'm not sure if that was supposed to be a ironic one-liner or not, but unless you work at a games company almost all your code is going to be VB or Java (or COBOL!)

    --
    autopr0n is like, down and stuff.
  34. Hrm, a bit disapointing C4L by autopr0n · · Score: 2

    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.

    No, but you can do myList.add(new Integer(5)); or myList.add(new Double(2.6)); if you want to. Yeh, the semantics are a bit diffrent, but the effect is exactly the same. Also


    Really? So

    Math.Add(myList.getObjectAtIndex(0), myList.getObjectAtIndex(1));

    is easier to read than

    Math.Add(myList[0], myList[1])

    On what planet?


    Um, on earth? "getObjectAtIndex()" actualy tells you what's going on. Of course, those of us who have been programming for a while see "[]" as meaning the same thing. And anyway, it's not "getObjectAtIndex()" but rather just "get()". Not exactly that much harder to type or whatever (especialy since you don't have to leave the 'qwerty' part of the keyboard.

    --
    autopr0n is like, down and stuff.