James Gosling On .NET And The Anti-Trust Trial 270
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."
J2EE vs .NET (Score:5, Informative)
"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
The
For developers who are comfortable with limited choices,
The Ultimate Linux Bookmark [monolinux.com]
Re:J2EE vs .NET (Score:2)
Re:J2EE vs .NET (Score:2, Redundant)
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.
Re:J2EE vs .NET (Score:2)
Indeed. Perhaps that tool could be (to Mr. Gosling's dissapointment) Eclipse [eclipse.org] or one of the IBM Websphere Studio products based on it, like WS Application Developer.
Re:J2EE vs .NET (Score:4, Interesting)
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
There are probably better ways to do it but we haven't found it yet.
Re:J2EE vs .NET (Score:2)
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.
Re:J2EE vs .NET (Score:2, Informative)
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
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.
Okay, I'll bite. (Score:5, Informative)
- 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.
Mac user? (Score:4, Interesting)
Re:Mac user? (Score:2)
He runs alphas. There's always an alpha inside sun.
Re:Mac user? (Score:2, Informative)
Re:Mac user? (Score:2, Insightful)
Who knows, maybe Apple could convince Sun to turn into a major customer now :-)
Re:Mac user? (Score:2)
You can take my multibutton mouse when you pry it out of my cold, dead fingers.
Speaking of .NET... (Score:5, Informative)
Re:Speaking of .NET... (Score:2)
given that, how soon do you suppose we'll see a rogue port of Microsoft's CLR to Linux?
Re:Speaking of .NET... (Score:2)
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
Talking out of one's posterior (Score:2, Informative)
Re:Speaking of .NET... (Score:5, Informative)
"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.
Re:Speaking of .NET... (Score:2)
license that prohibited any use with virally
licensed software, i.e. GPL.
Oh my aching Karma:)) Sorry for the red herring.
"Hi kettle, my name's pot!" (Score:5, Insightful)
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.
Re:"Hi kettle, my name's pot!" (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.
Re:"Hi kettle, my name's pot!" (Score:2)
And Java does have templates. Check out JSR014 and the work done by the authors of Pizza [avayalabs.com]
Re:"Hi kettle, my name's pot!" (Score:2)
Here's a timeline: (Jamie Zawinski) Timeline [jwz.org]
Enjoy !
Heh (Score:2)
But no matter, it's all about pico.
Java on OSX (Score:5, Insightful)
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
Re:Java on OSX (Score:2)
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?
Re:Java on OSX (Score:2)
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.
Interesting, how? (Score:5, Insightful)
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.
Re:Interesting, how? (Score:3, Funny)
Re:Interesting, how? (Score:2)
"relieved that it wasn't creative" (Score:3, Interesting)
I don't know what to make of this:
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?
Re:"relieved that it wasn't creative" (Score:3, Funny)
> 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.
Re:"relieved that it wasn't creative" (Score:4, Interesting)
I think I understand why. It's because Microsoft in the
Re:"relieved that it wasn't creative" (Score:5, Informative)
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".
Re:"relieved that it wasn't creative" (Score:2, Informative)
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.
Re:"relieved that it wasn't creative" (Score:3, Interesting)
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
Re:"relieved that it wasn't creative" (Score:2)
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?
Re:"relieved that it wasn't creative" (Score:2)
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.
Where did you learn OO? (Score:5, Informative)
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 is easier to read than 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.
Re:Where did you learn OO? (Score:2)
The CLR is *syntax* agnostic. Not really the same thing.
Re:"relieved that it wasn't creative" (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.
Re:"relieved that it wasn't creative" (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.
Re:"relieved that it wasn't creative" (Score:3, Insightful)
Hmmm...given that only "managed*" code will run in the CLR, I don't think that non-Java like languages will ever run in
*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#.
Re:"relieved that it wasn't creative" (Score:2)
Well, if that's the case, then it's a pretty ugly skin!
Re:"relieved that it wasn't creative" (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 [yasd.com] . 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 [microsoft.com].
Re:"relieved that it wasn't creative" (Score:2, Informative)
Re:"relieved that it wasn't creative" (Score:2)
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.
Re:"relieved that it wasn't creative" (Score:2)
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?
Re:"relieved that it wasn't creative" (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. [go-mono.com]
Re:"relieved that it wasn't creative" (Score:2)
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
Disappoining (Score:5, Funny)
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
Re:Disappoining (Score:2)
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.)
Re:Disappoining (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.
Re:Disappoining (Score:2)
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
SUNW against the wall, this time for keeps (Score:5, Insightful)
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Re:SUNW against the wall, this time for keeps (Score:3, Insightful)
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Re:SUNW against the wall, this time for keeps (Score:3, Interesting)
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
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Re:SUNW against the wall, this time for keeps (Score:5, Insightful)
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.
Balogna! (Score:2, Troll)
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.
Re:Balogna! (Score:2)
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 [billparish.com].
Meanwhile, sell your Microsoft stock because its about as high as it's going to go on the way down.
Re:Balogna! (Score:2)
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.
Re:SUNW against the wall, this time for keeps (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.
Re:SUNW against the wall, this time for keeps (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 [fortune.com]. It was one of the original Dow Jones Industrials [invest-faq.com] 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.
Re:SUNW against the wall, this time for keeps (Score:2, Insightful)
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.
Re:SUNW against the wall, this time for keeps (Score:2)
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.
Microsoft trying to lure people away from Java. (Score:5, Informative)
Re:Microsoft trying to lure people away from Java. (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 [go-mono.com].
I read the article.. (Score:3)
I personally doubt
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?)
"imitation" flows in both directions (Score:5, Interesting)
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
Re:"imitation" flows in both directions (Score:2)
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?
Re:"imitation" flows in both directions (Score:2)
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.
J2EE != EJB (Score:2)
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
Re:"imitation" flows in both directions (Score:2)
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.
This article (Score:4, Insightful)
Slashdot should really try to find some better quality articles if they want to have a content rich site.
Re:This article (Score:2)
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.
similarities (Score:4, Funny)
Re:similarities (Score:2)
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?)
Gosling's and Sun's markting fluff (Score:4, Interesting)
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.
Re:Gosling's and Sun's markting fluff (gets worse! (Score:2)
Gosling is fat. Also, Java has serious issues itself when it comes to scientific computing.
Please see this paper [berkeley.edu] 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!
Re:Gosling's and Sun's markting fluff (gets worse! (Score:2)
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.
Re:Gosling's and Sun's markting fluff (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?
Re:Gosling's and Sun's markting fluff (Score:2)
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.
Re:Gosling's and Sun's markting fluff (Score:3, Informative)
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.
MS Stuff (Score:2, Insightful)
#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:
#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!
Re:MS Stuff (Score:2)
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.
Re:MS Stuff (Score:2)
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.
Re:I liked this bit best... (Score:4, Interesting)
Q: But isn't imitation also the sincerest form of mockery?
___
Re:I liked this bit best... (Score:3, Funny)
Re:I liked this bit best... (Score:2, Funny)
a) buy the company
or b) come up with something extremely similar.
Re:I liked this bit best... (Score:2)
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.
Re:interesting quotes.. (Score:4, Funny)
{
assert(1>2);
}
exit(0);
Using business logic this program will successfully complete?
Re:interesting quotes.. (Score:2)
if (required) {
assert (2 + 2 == 5);
}
Relieved? Not Hardly. (Score:2, Insightful)
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.
Re:Relieved? Not Hardly. (Score:2)
Based on what you said, why would asp.net, using one a Java based
You stated ".net is dead
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)?
Re:I don't understand all you closed-minded idots. (Score:2)
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.