Coffeehouse Thread

15 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Gosling says C# has NO potential

Back to Forum: Coffeehouse
  • User profile image
    a !

     "PHP and Ruby are perfectly fine systems," he continued, "but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems."

    The Father of Java then dismissed Microsoft's C# as having had potential, but no longer: "We were afraid they were going to do something really creative - but they're hopelessly focused on one platform."

    http://java.sys-con.com/read/193146.htm

  • User profile image
    iodine

    how do they let numtees get that high up in a company..?






  • User profile image
    Larry​Osterman

    iodine wrote:
    how do they let numtees get that high up in a company..?







    JAG's not a numtee, anything but.  He was a legend at the CS department at CMU (don't forget, the editor that later became GnuEMACS was a spare time project for him).

    I happen to disagree with him w.r.t. C#, personally I think he's overestimating the value of being platform independant, but I can see why he thinks the way he does.

  • User profile image
    cheong

    Actually, Microsoft have not do anything to make it platform independent, so instead of platform compatability, it's ok for the .NET development team to focus entirely on performance and what can be done by the language(s).

    The possibility of squeezing every single droplet of juice for a platform is another kind of potential, while Java is never made for this kind of potential, won't you all agree?

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified
  • User profile image
    martin_lovi​ck

    C# is NOT limited to Windows as a platform, there is the SSCLI via which the gnu people have ported C# to all of the unix breed in the form of dotgnu and mono.

     

  • User profile image
    Rossj

    LarryOsterman wrote:
    I happen to disagree with him w.r.t. C#, personally I think he's overestimating the value of being platform independant, but I can see why he thinks the way he does.


    That's understable that you think there is little value in platform independance, after all you work for someone who creates one of those platforms.  And I mean no offense Larry, but you've been inside Microsoft for how long? The world out here is a lot different, and whilst I am sure you've met and interacted with Microsoft customers, it isn't quite the same as working for one of these companies.

    Contrary to what some people on this board think, some people do use un*x boxen to deliver enterprise apps.  If I were going to target an enterprise product why would I reduce the number of platforms I can sell to?  If I use C# I get one platform, if I use Java I get nearly all of them.

    Having said that - Java sucks. Not so much Java as the plethora of frameworks that exist.

  • User profile image
    Tom Servo

    Oh, Gosling, when will you not be complaining about C# or .NET?

  • User profile image
    Ion Todirel

    then java does't exist in this world

  • User profile image
    Larry​Osterman

    Rossj wrote:
    LarryOsterman wrote: I happen to disagree with him w.r.t. C#, personally I think he's overestimating the value of being platform independant, but I can see why he thinks the way he does.


    That's understable that you think there is little value in platform independance, after all you work for someone who creates one of those platforms.  And I mean no offense Larry, but you've been inside Microsoft for how long? The world out here is a lot different, and whilst I am sure you've met and interacted with Microsoft customers, it isn't quite the same as working for one of these companies.

    Contrary to what some people on this board think, some people do use un*x boxen to deliver enterprise apps.  If I were going to target an enterprise product why would I reduce the number of platforms I can sell to?  If I use C# I get one platform, if I use Java I get nearly all of them.

    Having said that - Java sucks. Not so much Java as the plethora of frameworks that exist.


    Ross, but how many apps are deployed cross-platform?  How many people deploy un*x solutions built on Java that work with more than one JVM?

    As long as there's more than one JVM out there, there will be differences between the JVM's.  That means that writing solutions for more than one JVM increases the cost of writing software.

    The reality is that no matter how carefully the language is specified, there will be differences in each independant implementation.  The same thing holds true for virtual machines.  This basic fact is why the cost savings that were the main benefit of Java (remember "Write Once, Run Everywhere"?) haven't materialized.  The reality was "Write Once, TEST Everywhere").  Since test is a huge part of the cost of developing software...

    This (IMHO) is the primary reason Java has never succeeded on the desktop, and why it IS succeeding on the server.  On the desktop, you need to deal with multiple JVMs, one for each client OS.  On the server, you typically only have one server OS, so you only have to concentrate on a single JVM.

  • User profile image
    PaoloM

    And Larry, don't forget the application server dependencies.

    I don't develop Java applications to be deployed on a generic application server. I develop Websphere 5.1.1 applications (that happens to be written in Java).

    (of course, replace Websphere 5.1.1 with WebLogic or JBoss or OC4J or Tomcat or... well, you get the idea)

  • User profile image
    Karim

    a ! wrote:
    The Father of Java then dismissed Microsoft's C# as having had potential, but no longer: "We were afraid they were going to do something really creative - but they're hopelessly focused on one platform."


    Interestingly, he doesn't diss C# as a language, but the fact that it's limited to one platform.  (I assume Gosling hasn't heard of "mono" outside of a medical context.)

    Isn't this like saying, "We were afraid of the iTunes Music Store, but it turns out the music and TV shows you download from it only play on a single platform (iPod)."

    Hel-looo.

    Unix servers are losing market share; Windows servers are gaining share.  In fact Windows just passed Unix and now sells more than Unix.

    So Gosling is admitting C# is cool and everything, but it's "hopelessly focused" on THE PLATFORM THAT HAS THE MAJORITY OF SALES IN SERVERS.  (Not to mention the vast majority of desktops.)

    And in other news, Dinosaurs admitted that they were previously afraid of Mammals, but now Dinosaurs no longer fear extinction, because Mammals are "hopelessly focused" on a high-metabolism, warm-blooded platform...

  • User profile image
    Minh

    Karim wrote:
    And in other news, Dinosaurs admitted that they were previously afraid of Mammals, but now Dinosaurs no longer fear extinction, because Mammals are "hopelessly focused" on a high-metabolism, warm-blooded platform...

    Technically, mammals didn't kill off dinosaurs. Many dinos are believed to be warm-blooded & agile.

    This is the real reason dinosaurs became extinct.

    Larson / Far Side

  • User profile image
    Rossj

    LarryOsterman wrote:
    Ross, but how many apps are deployed cross-platform?  How many people deploy un*x solutions built on Java that work with more than one JVM?

    As long as there's more than one JVM out there, there will be differences between the JVM's.  That means that writing solutions for more than one JVM increases the cost of writing software.


    Back when I used to use Java (I did so for 6 years) Sun had a compatability kit (called JCK I think) which your VM had to pass to be certified as a valid implementation.  I don't know if this is still used but I don't recall different VMs being a problem - there were few enough back then though.


    LarryOsterman wrote:

    The reality is that no matter how carefully the language is specified, there will be differences in each independant implementation.  The same thing holds true for virtual machines.  This basic fact is why the cost savings that were the main benefit of Java (remember "Write Once, Run Everywhere"?) haven't materialized.  The reality was "Write Once, TEST Everywhere").  Since test is a huge part of the cost of developing software...


    Agreed, but writing portable apps in C requires testing as well - but with Java at least you are reaping benefit from the GC and standard libs.  And I know you're not suggesting that I can write an app on W2K and deploy it on every version of windows (without testing).


    LarryOsterman wrote:
    This (IMHO) is the primary reason Java has never succeeded on the desktop, and why it IS succeeding on the server.  On the desktop, you need to deal with multiple JVMs, one for each client OS.  On the server, you typically only have one server OS, so you only have to concentrate on a single JVM.


    Personally I put the desktop failures down to inconsistent UIs with the target platform, poor startup performance, poor memory usage models.

    In fact when I switched to C# (for a desktop app), my first thoughts weren't 'wow this is a much better implementation of a VM than X,Y or Z' - it was - 'Chris, Chris come check out the startup speed on this baby", I had got so used to Java being slow that I had all but given up on 'managed' languages - if I wanted super-duper performance I fired up gcc/cl.   If I had to do that project again, I'd be using Win32 though (I am a sucker for punishment).

    If we remove portability from the argument (which I know is cheating a little - I'll concede the point as I don't want to defend Java), and assume that Java 5 (which I haven't looked at) has solved a lot of these problems - why would I use C# rather than Java if I only wanted to ship a Windows app?

  • User profile image
    W3bbo

    LarryOsterman wrote:
    Ross, but how many apps are deployed cross-platform?


    Well, there's always the big ones: Mozilla's Firefox and Thunderbird, Linux, etc... of course, those require different binaries for each platform.

    How about Limewire?

    LarryOsterman wrote:
    How many people deploy un*x solutions built on Java that work with more than one JVM?

    As long as there's more than one JVM out there, there will be differences between the JVM's.  That means that writing solutions for more than one JVM increases the cost of writing software.


    That shouldn't matter so long as all the JVMs you expect your users to use comply with the J2EE spec.

  • User profile image
    Rossj

    W3bbo wrote:
    LarryOsterman wrote:Ross, but how many apps are deployed cross-platform?


    Well, there's always the big ones: Mozilla's Firefox and Thunderbird, Linux, etc... of course, those require different binaries for each platform.

    How about Limewire?


    Only LimeWire from that list is written in Java. Molasses.

    W3bbo wrote:

    That shouldn't matter so long as all the JVMs you expect your users to use comply with the J2EE spec.


    JVMs do not need to comply to the J2EE spec, they are different things.  J2EE is a farce, a comedy of errors. Very few implementations will allow you to move your apps from one container to another without dramatic changes.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.