AddThis Social Bookmark Button

Print

What .NET Got Right

by Brian Jepson
02/11/2002

As I write this, I'm heading home from a trip to New York City; while I was there, I got together with some old friends I used to work with at a major Wall Street firm. Two of them still work there; another has gone to work for a company that builds and markets software for energy trading.

All three of them swear by Java. What was once considered iffy and experimental is now the standard. We talked about .NET, and our conversations led me to the following conclusion: although .NET is a huge improvement over the old Microsoft way, it makes only incremental improvements over J2EE -- none of which are compelling enough to convince a Java shop to rewrite everything in C#.

Sun can look at these incremental improvements, take what's actually useful, and incorporate it into future revs of J2EE. And Microsoft would do the same for their next rev of .NET. Essentially, Microsoft has caught up with Sun, and they'll be neck and neck for a long time, as each raises the bar slightly. And while .NET is not going to lure people away from J2EE, I think it will keep Microsoft shops from switching to Java.

Microsoft has a tremendous edge in Visual Studio .NET, however; from the Visual Studio .NET cockpit, you can get at every feature of .NET. From creating Web services to publishing them, you don't need to leave the development environment. I haven't seen anything comparable in the Java universe, but parts of it seem to be there in products like Borland's JBuilder, iPlanet's NetBeans and Forte, and other IDEs. Visual Studio .NET's ease-of-use has raised the bar, but its capabilities are not out of the reach of others.

.NET Framework Essentials.NET Framework Essentials
By Thuan Thai & Hoang Lam
June 2001
0-596-00165-7, Order Number: 1657
320 pages, $29.95

By contrast, I recently ordered the Sun ONE Starter Kit. The first CD was full of white papers; the next CD was Java stuff I could download from java.sun.com, and the other two CDs contained different versions of iPlanet. Compare that to Visual Studio .NET: minutes after installing, it walks you through the essential tasks, keeps a to-do list for you, deals with deployment issues, and folds your laundry. I was expecting more from the Sun ONE CD. It doesn't help Sun to reiterate the features of J2EE, which is what the Sun ONE CD does. I'm sure that for most features in J2EE, there's a corresponding one in .NET, and vice versa.

Maybe it's wrong to compare the Visual Studio .NET distribution to the Sun ONE Starter Kit, but I think people evaluating the two technologies will make these comparisons. Visual Studio .NET reduces the initial learning curve, and this is a huge advantage in wooing developers who haven't yet chosen between J2EE and .NET.

Comment on this articleDo you agree with Jepson's take? Or will .NET take a bigger bite out of Java?
Post your comments

I would like to be able to insert the Sun ONE CD into my CD-ROM drive and find myself creating Web services 15 minutes later; even a road map would have been helpful. I felt overwhelmed when I saw all those white papers in my browser.

So while .NET certainly won't kill J2EE (not that I ever thought it would, but it feels reassuring to say it :-)), it does finally make Microsoft a viable contender in the enterprise space. With Visual Studio .NET's ability to make complex things very simple, Microsoft will not only keep its current customers but also make new customers out of people who, six months ago, would have gone with J2EE without a second thought.

Brian Jepson is an O'Reilly editor, programmer, and co-author of Mac OS X Panther for Unix Geeks and Learning Unix for Mac OS X Panther. He's also a volunteer system administrator and all-around geek for AS220, a non-profit arts center in Providence, Rhode Island. AS220 gives Rhode Island artists uncensored and unjuried forums for their work. These forums include galleries, performance space, and publications. Brian sees to it that technology, especially free software, supports that mission. You can follow Brian's blog here.


Return to the .NET DevCenter.


  • Brian Jepson photo japple
    2002-02-12 07:35:50  Brian Jepson | O'Reilly AuthorO'Reilly Blogger [View]

    I saw a post on the dotgnu mailing list that mentioned japple:

    <blockquote>
    Japple is a rapid application development environment for building web applications and services. Built on the JavaTM2 Platform and open-standards, Japple allows you to develop and deploy web applications many times faster than traditional methods.
    </blockquote>

    This sounds very cool!
  • .NET vs. Java/Web services tools
    2002-02-12 08:08:38  sanglin [View]

    There's no question that .NET got it right in terms of tools and other offerings in contrast with the Sun ONE starter kit. However, .NET still has some hurdles, namely security.



    Also, there's better Java and Web services tool offerings outside of Sun: IBM WebSphere/VisualAge, BEA Weblogic/Webgain IDE, Borland's Web app server/JBuilder IDE, etc.



    And finally, in defense of Sun, they really don't want to 'sell' Sun ONE as a product, along with Forte for Java, etc. Sun wants to be recognized as a Java and Web services organization. In Richard Green's own words, Sun wants to be recognized as the software industry "evangelist" for Java and Web services.



    It was awkward for Sun to eliminate the iPlanet division, especially with Sun's vendors: BEA, IBM and the like. Look for Sun to let former iPlanet products like Forte for Java and parts of Sun ONE to go on the market. Look for Novell to acquire some or all of these to enhance its own Web services directory products, that's if IBM let's them.


    --Steve Anglin, Managing ONJava.com/.NET DevCenter Editor

  • *cough*
    2002-02-12 09:01:19  johnmunsch [View]

    I love the laughably leading question above the comments section, "Do you agree with Jepson's take? Or will .NET take a bigger bite out of Java?"

    How about option three - Jepson is wrong, in that .NET does not come close to parity with Java and MS loses market share to developers who are abandoning Visual Basic anyway and they decide to pick Java rather than C#.

    You see, my take is that a development environment is far more than the sum of a handful of parts from a single vendor. A parity between Sun and Microsoft is not the same thing as a parity between Java and Microsoft.

    Point #1: Microsoft has a long history of not-invented-here that prevents them from encouraging third party development environments the way Sun has. As long as Visual Studio is your cup of tea, you're grand, for any other tastes forget it. Ultimately, that prevents serious innovation in their development environment. The various Java IDEs could not be more different from one another and they are showing strong differentiation in areas like plugins/adaptability and refactoring. Any improvements that Microsoft shows will be quickly copied. They on the other hand will have a much harder time keeping up with all of IBM, Borland, Sun, etc. on their respective IDEs.

    Point #2: The comparison in the article is between Visual Studio .NET and Sun ONE and the point is made that most of what is on one of the Sun discs could have simply been downloaded. This point should not be glossed over or dismissed. Because most Sun tools are readily available to all developers they can be used to build web applications on any scale. That includes personal and hobby websites.

    An example of this would be the Very Quick Wiki (http://www.croninsolutions.com/veryquickwiki/wiki/jsp/). I intend to install one on my own personal website to work on a project and open it up to third party contributions. There's nothing magical about the code that would prevent someone from writing an ASP/.NET version of the JSP code, but what would they run it on? IIS on a personal workstation is just for testing purposes not deployment. So the overall effect is to discourage hobbyist use of the technology. Unless you have a business reason and a business budget for your project you should stay away from Microsoft's tools.

    To say that Visual Studio .NET is better than a combination of Netbeans + Sun's SDK + some libraries _today_ is to miss the point that they are available to everyone and .NET simply won't be. And there is nothing preventing people from achieving parity between the freeware and open source material and what Microsoft has with VS .NET.

    Point #3: Which brings us to open source. When I write an application or web application using Java I can call on a vast array of open source for bits and pieces. For example, at Freshmeat.net a quick review of the languages attached to different projects tells us that there are 1194 Java projects listed (a number exceeded only by Perl, C, and C++) whereas there are 6 C# projects. That's _six_, as in single digit...

    ASP existed for years without my ever seeing an open source framework to aid in development of complex websites. I would have killed to have had one for some of the projects I did. Over in the Java camp I can pick from Struts, Cocoon, Turbine, etc. etc. etc.

    Need more examples? Need to display RSS on your website, you can pull the code out of one of my applications. Need to render a complex graph on the fly for a daily display on a webpage, use Batik from Apache to render it using SVG. I could go on and on all day but it's pointless, Microsoft is fighting an army of ants and it is running out of bug spray.
    • Brian Jepson photo re: *cough*
      2002-02-12 10:48:19  Brian Jepson | O'Reilly AuthorO'Reilly Blogger [View]


      These are great points, and I agree with most of what you say. But you mention having to pick and choose your development environment, platform SDK, and libraries. I did not mean to imply that Visual Studio .NET is better than the various permutations you or I could come up with. My position is that, for many web development tasks, VS.NET eliminates the need to put all this stuff together yourself, and that's going to appeal to organizations who would rather buy than build.

      That's not to say I think it's a better solution; personally, I believe that I could put together a superior solution using an open source framework any day. But I still think .NET is huge step forward for Microsoft.

      Even if you don't accept the proposition that .NET is on par with J2EE, consider the possibility that .NET is a large step in the J2EE direction. In exchange for not assembling all the pieces yourself, you get that 20 percent of the features that you can use to build 80 percent of all web applications.

      All I'm asking is, if the Sun ONE initiative is supposed to be an answer to .NET, why isn't Sun showcasing products that compare to Visual Studio .NET? Based on some of the responses from other readers, there are some great examples out there.

      - Brian
      • re: *cough*
        2002-02-12 13:08:40  johnmunsch [View]

        In that context then, I agree with you. .NET is a huge step forward from their older material (I did only Windows web work until August 2000 myself so I left just before .NET was making its initial appearances). And your rule about 80-20 is one that I use myself often and I know it to be very true indeed.

        I can only hope that Sun does answer Microsoft's offerings with equally strong offerings gathered together and packaged to an extent that it seems equally appealing to those who still have to make decisions about their development future.
  • .NET will take a Bigger Bite
    2002-02-12 13:37:33  kjambu [View]

    Let me upfront clarify i am a strong Java supporter. I love Java But...

    There is no doubt that .NET will take a bigger bite. Microsoft will definitely have the last laugh with .NET

    On whatever comparable standards J2EE can in no way even come near .NET.

    Take for example the recently offered JWSDP from Sun as a single window download for WebServices. Take a VB.NET/C# guy and a Java guy who are both new to implementing WebServices. I can bet by the time the Java guy writes his first Hello World Web Service the Microsoft programmer would have mastered atleast all the fundamentals of WebServices, like how to publish, how to consume, and the fundamentals of what is WSDL,SOAP,UDDI and what they are meant for (if not mastering them).

    In fact there is no comparable tool to VS.NET in the whole of Java world including Visual Cafe, VisualAge or any such thing.

    I can say that the only innovative thing Java did in its whole life time was to bring in the context of Servlets (Compileds pages) when the entire world was toying with scripting whihc is now anyway a matter of history with ASP.NET offering everything Servlets have to offer and more.

    Microsoft made some mistakes which Java corrected. That does not mean that Java invented them. I am talking about the DLL Hell and Registry problems. That was the area which made EJB succeed. And that is also a matter of the past now with X-copy deployment introduced in .NET now.

    If .NET was not there then there is meaning in using Java as a Technology for the Internet. But i dont see any reasoning in using Java for the Internet when we have an all in one solution in .NET

    ClientSide of Java according to me is almost dead. See the way ASP.NET has leveraged XML to bring Server-side controls. This one concept i cannot but admire. The idea is revolutionary.
    I dont need to write a single line of code for client side validation.

    Take for instance ADO.NET again. Manipulating XML is one of the key developer job today, and that is done in a fizzy in .NET

    Above everything, the beauty of it all is .NET is a product that is getting released as a finished product. Compare it with EJB which released specifications in three chunks and the related products even now not having implemented many of the EJB 2.0 features. Even the JDK is not fully mature after 7 years of Java. What are we talking about. Whose money are we playing around with.

    Can you do anything in Java, without downloading something from somewhere. Can you build an application without any support from any responsible source. Then how is it Sun and Java different from OMG and Corba.

    This discussion can be argued to any length.

    While have been a strong supporter of Java and worked with it for past 6+ years, i cannot but admire the robustness, flexibility and artifacts of .NET

    Kudos to Bill Gates and his team. With Unix Bill had to go hand in hand with his competing Windows, but that will not be the story with J2EE and .NET

    .NET according to me has already won the race, technically. It is a cohesive complete solution for today's internet.

    Jambu Krishnamurthy

    • .NET is not available clientside, nor is it portable serverside.
      2002-02-12 16:16:13  nzheretic [View]

      "ClientSide of Java according to me is almost dead."

      Well, because Microsoft has not released .NET clients for anything other platforms other than it's own, clientside .NET can be considered non-existant.

      When will Microsoft be releasing .NET for the Mac, MacOSX, Sun, Linux, BSD?

      Overseas and in a few larger organizations in the US, there is a movement away from relying 100% on Microsoft for the desktop platform.

      Without full cross platform portability support from Microsoft, all you are doing is locking yourself into a single vendor relationship.

      At least with Java there is alternative vendors such as IBM to get a complient JVM enviroment from.
      • .NET will take a Bigger Bite - 2
        2002-02-13 06:55:06  kjambu [View]

        With SOAP, XML and WebServices going to be the future of Distributed computing, according to me the issue of Serverside portability is a non issue. Even talking about Java's portability, how often can one deploy a EJB developed in Weblogic in WebSphere or vice versa without tweaking around nitty gritty things. This I am assuming both the servers are running on NT. If it is on two different Operating Systems you know what are the issues. Many things in Java are still vendor dependent and each Application and WebServer has its own extended features. Then what are we talking about server side portability. If JVM is what is serverside portability developing a MVM (Microsoft Virtual Machine) should be a jiffy.

        Thanks for accepting that client side java is dead. Microsoft's innovative client side tools help enhance the RAD environment even better. Take for instance, i need not even worry about browser compatibility issues, that too without writing a single line of code.

        What are we talking about Cross platforms. How many of us have used Java to develop pure Cross platform applications. If that is the case why even after 7 years of Java, JNI is around. How many of us have written Java applications to access Visual Basic DLLs.

        Even today i can say, to be on the safe side, more than 70% of Java programmers use notepad or some such editor to write Java programs. Many of the Java presentations are done in Microsoft Powerpoint. The first or early versions of the JDK and other packages come for Windows.

        For reliability purposes, it is better to be with a single vendor, rather than no vendor at all. Howmany of the mid level organisations have the technical expertise to play around with the Linux Operating System, Apache Open Source Servers and so on. That may be good for research not for business.

        And let us not tie up this discussion with the current state of the internet. It is only at an infant stage. Making a Language or technology work across Operating Environments should not give us the last laugh. That too, at its best, is a patch up solution only. We do not know what the Operating System of tomorrow will look like. None of the Operating Systems that we are using today, including Unix, Windows and the Mac were built for the internet era.

        Newer things will emerge. New Operating Systems have to be built and there is a long way to go. I feel by the end of this century, humans will forget that they have to go to a shop to buy things. An analogy to that today for example is, when a mother asks her kid as to from where does milk come, the kid says gleefully, 'From the Fridge'. (Not from the cow anymore!).

        According to me .NET is the third solution for the internet. First was ASP and COM, then Java and now .NET Let us accept facts and embrace the better technology. There is nothing like monopoly. When something better comes up no one can dictate. All of us know that Java definitely cast a shadow on Microsoft technologies. Then why this fear syndrome of monopoly. Is Unix dead? Let us see what is good for humanity. Let us take the best of both worlds and get going.

        I am a Java fanatic... But, Because it was good, we cannot leave the better things that are coming up and lag behind.

        Let us face reality. Let Sun and others bring something better as the fourth solution, probably by 2005 when we have faced some more problems in internet commerce. For instance, can we look at a solution for eliminating the stateless nature of the protocols now. The world will see more of Ritchies and Goslings and Andreesens.

        I wonder how many Bill Gates' the world will see.

        Kudos to Bill Gates and his team. Today is 13th of February 2002 the launch day of VS.NET and i am happy that i got the opportunity to write this piece. My lanuage may be harsh but no hard feelings intended.

        Thanks
        Jambu Krishnamurthy


      • MSFT does not need to do it, someone else will...
        2002-02-22 21:01:16  robinf [View]

        Look at http://www.go-mono.org, http://www.dotgnu.org, and http://www.halcyonsoft.com/inet, not to mention MSFT+Corel's FreeBSD .NET effort.

        Mono's client is GNOME based, Halcyon's iNET client is JFC based. With C# & CLI adopted as ECMA standards, should we be concerned about client-side .NET? I don't think so.

        Robin
    • ClientSide of Java is almost dead?
      2002-02-14 06:13:57  mpetschke [View]

      I really have my doubts.
      E.g. many server applications have applets in webpages as administrative consoles. This works much better as a frontend than a purely HTML forms based GUI with many roundtrips. ASP.NET does not offer this with its webforms.
      Furthermore the webforms do not solve -as supposed- the problem with the presentation layer. Some of the controls present themselfes nice on IE but with non IE-browsers they look rather odd. (Maybe this changes as .NET goes ahead)

      Even more java applications (AWT/Swing) are being used as cross platform GUIs (E.g SAP, Oracle9i, ....).
      Does it give real more value to the customer to reimplement these GUIs with WindowForms?

      MP




      • Atleast there are issues of concern......
        2002-02-14 06:44:42  kjambu [View]

        hi mpetschke,

        i agree with you that Java applets are superior to HTML forms. In fact JFC according to me has no parallels to match as far as GUI is concerned. It is a good medium for intranet setups.

        But as far as the internet is concerned, there is no straight forward mechanism by which i can communicate with the server through an applet. Almost always we have to take recourse to some kind of tunnelling through http to send data from an applet to the saerver.

        If the applet is going to be doing some complex calculations and not necessarily going to communicate with the server then it is the right solution. Then again the problem of cross-browser compatability and JVM versions in browsers have to be handled.

        We cannot always relate the usage of a technology with products like SAP and Oracle. How many mid level organisations have the capability or expertise of these companies. From my experience i have seen, people settle down with JSP and html which increases product development life cycles drastically, compromising on the powerful GUI capabilities that applets provide.

        When i say Client side of Java is dead, i compare it with the powerful capabilities that J2EE has brought on the server side, specifically with EJBs. That kind of a robustness and ease of use definitely lacks on the Client side.

        As far as .NET is concerned, innovations are on a diffrent plane. While pure HTML is used on the client, client side validations have been beautifully handled by Server controls without we having to write a single line of code. The ease with which we can develop the frontends is astounding. HTML, Scripting for client side validation, and able to access client side data on the server side have all been seamlessly integrated. I can today develop a ASP.NET application in .NET in the same manner i have been developing VB applications for server side components. Drag, drop and write event based code. This is definitely not possible in J2EE environment.

        AWT and Swing would have been successful for the internet only if the browsers had cooperated. As technologies definitely AWT and Swing are great, but when it comes to implementation for the internet they have problems. Interacting with client side components on the server is not as flexible as it is in .NET

        That's my experience... You may contradict...

        Thanks
        Jambu Krishnamurthy


    • .NET will take a Bigger Bite
      2002-02-15 20:02:18  denizkaan [View]



      "Take for example the recently offered JWSDP from Sun as a single window download for
      WebServices. Take a VB.NET/C# guy and a Java guy who are both new to implementing
      WebServices. I can bet by the time the Java guy writes his first Hello World Web Service
      the Microsoft programmer would have mastered atleast all the fundamentals of WebServices,
      like how to publish, how to consume, and the fundamentals of what is WSDL,SOAP,UDDI and
      what they are meant for (if not mastering them)."

      First of all, there is no relation with using .NET, JAVA and mastering web services concepts.
      This is very funny. It sounds like if you use MS pots rather than JAVA pots while cooking,
      you will master the Turkish cusine in a shorter time. Actually, go and look at www.javaskyline.com
      You will see many many web services related products, which help creating and maintaining
      them from beginning to end. You can choose whichever you like. You know freedom of choice idiom. Right? : )

      "In fact there is no comparable tool to VS.NET in the whole of Java world including Visual
      Cafe, VisualAge or any such thing."

      Really? Actually, there are many many tools from many different vendors. Please take a
      look at www.javaskyline.com web services section. By the way, Visual Cafe? We are on 2002
      Jambu. There is no Visual Cafe anymore. :) There are 30 or something like that IDE's from
      many companies.

      "I can say that the only innovative thing Java did in its whole life time was to bring in
      the context of Servlets (Compileds pages) when the entire world was toying with scripting
      whihc is now anyway a matter of history with ASP.NET offering everything Servlets have to
      offer and more."

      Well, how can you say the only innovative thing Java did in its whole life time
      is servlets? How many Java based technologies did you master?

      "Microsoft made some mistakes which Java corrected. That does not mean that Java invented
      them. I am talking about the DLL Hell and Registry problems. That was the area which made
      EJB succeed. And that is also a matter of the past now with X-copy deployment introduced
      in .NET now."

      First of all, it does not matter if Java invented them or not, but I think Java invented
      many things. Do you suggest MS invented C#? What is the relation between DLL hell and
      registry problems and EJB???? Sorry, but I cannot see any relations.

      "If .NET was not there then there is meaning in using Java as a Technology for the
      Internet. But i dont see any reasoning in using Java for the Internet when we have an all
      in one solution in .NET"

      Thats because you are blind. Can't you still see "having one solution" is root of all evil?
      Ever heard of something like competition and its effects on quality and prices of products?

      "ClientSide of Java according to me is almost dead. See the way ASP.NET has leveraged XML
      to bring Server-side controls. This one concept i cannot but admire. The idea is
      revolutionary.
      I dont need to write a single line of code for client side validation."

      What is the relation between clientside and .Net? When people talk about clientside Java
      is dead, they don't mean client side validation, but, client side programs. I can't believe
      you are saying this.

      "Take for instance ADO.NET again. Manipulating XML is one of the key developer job today,
      and that is done in a fizzy in .NET"

      What is the relation between ADO.NET and manipulating XML? And, what do you mean by
      manipulating XML is fizzy in .NET? Do you mean it is easy or fast or something else?
      If you mean "easy", XML manipulation is already easy not only in Java, or .NET but even
      in Pascal and Fortran now, thanks to standard XML manipulation APIs (DOM, SAX etc) and
      libraries that implement them. If you mean fast, it is much faster in Fortran running
      on Unix than .NET's whatever language. Should we turn back to using Fortran then? : )

      "Above everything, the beauty of it all is .NET is a product that is getting released as a
      finished product. Compare it with EJB which released specifications in three chunks and
      the related products even now not having implemented many of the EJB 2.0 features."

      Dear, dear. First of all, there are many containers that implement full EJB 2.0 specs.
      Again, look at www.javaskyline.com's EJB section. EJB is progressing slowly, and nicely,
      at the rate that it should progress. There is no reason to haste and make mistakes. We
      are seeing security disaster after security disaster related with "long time" planned
      and tested MS products starting from OS to web browser, .NET to IIS. First of all,
      I think MS proves that haste is evil. Second, if there was "ONE SOLUTION" in Web Server
      arena, and that was IIS, many firms would not be able to shift to some other product after
      IIS vulnerabilities were revealed. In short, once again, "one solution" is really bad
      idea my friend.

      "Even the JDK is not fully mature after 7 years of Java. What are we talking about. Whose money
      are we playing around with."

      JDK is not fully mature, and it never will be. : ) Because it is evolving constantly
      according to innovations and shifts in hw and sw world. For example, XML became popular,
      and related api's added to JDK. So, it is better to say the technologies that JDK is now
      containing were not mature 7 years ago. Do you suggest first JDK should have XML parsing API?
      There was no such thing at those times dear Jambu. Did Visual C++ 1.0 had DOM parser API?
      It would be bad if Sun said "ok. JDK is finished." Do you think that .NET is finished?
      There will be no more improvements in the future? What about COM, DCOM, COM+ etc?
      Wasn't COM mature so that there was a need for DCOM? Wasn't DCOM mature so that there
      was COM+? And what money are you talking about? JDK is free. : ) But Visual Studio,
      Visual Studio.net are not. : )

      "Thanks for accepting that client side java is dead. Microsoft's innovative client side
      tools help enhance the RAD environment even better. Take for instance, i need not even
      worry about browser compatibility issues, that too without writing a single line of code."

      Well, first of all, MS is the root of browser compatibility issues. It created non standard
      HTML tags first. And yes, you should worry about browser compatibility issues. Your
      pages might not work in Netscape or Opera (Which is my favourite web browser by the way.
      Fully w3c compliant, and much much much faster than IE or NS.)

      "What are we talking about Cross platforms. How many of us have used Java to develop pure
      Cross platform applications. If that is the case why even after 7 years of Java, JNI is
      around. How many of us have written Java applications to access Visual Basic DLLs."

      I know many many developers including me who wrote pure cross platform applications. Why
      should I restrict myself to one platform? And more importantly, why should I write Java
      apps to access Visual Basic dlls??? I am using Java to not to deal with Visual Basic
      and Visual X, Visual Y, Visual Z dlls.

      "Even today i can say, to be on the safe side, more than 70% of Java programmers use
      notepad or some such editor to write Java programs. Many of the Java presentations are
      done in Microsoft Powerpoint. The first or early versions of the JDK and other packages
      come for Windows."

      OH! WHAT? I did not know that!!! If java presentations are done in MS PP, I should stop using
      J2EE and shift to .NET. : ) Well, all those IDE producing 30+ companies are stupid,
      since they are writing IDEs which they are not able to sell since Java Programmers use Notepad.
      : ) Especially Borland released 6th version of their IDE, although they were not able to
      profit from the previous 5 versions. Thanks Jambu, I did not see it before.
      Why did I use wonderful Java IDEs like IDEA, Netbeans for last 5 years while there
      is such a wonderful program called Notepad? I must be stupid! Now I see the light! Kudos
      Bill Gates and .NET team for creating this wonderful program called Notepad.

      "For reliability purposes, it is better to be with a single vendor, rather than no vendor
      at all. How many of the mid level organisations have the technical expertise to play around
      with the Linux Operating System, Apache Open Source Servers and so on. That may be good
      for research not for business."

      First of all, believe me there are some to play with them. Do you know how many Linux distributers
      are around? They all played with Linux OS!

      According to me .NET is the third solution for the internet. First was ASP and COM, then
      Java and now .NET Let us accept facts and embrace the better technology. There is nothing
      like monopoly. When something better comes up no one can dictate. All of us know that Java
      definitely cast a shadow on Microsoft technologies. Then why this fear syndrome of
      monopoly. Is Unix dead? Let us see what is good for humanity. Let us take the best of both
      worlds and get going.

      I have no comment on the paragraph above. : ) The substance you had used before writing this
      should be something really strong. Better be careful.

      I am a Java fanatic... But, Because it was good, we cannot leave the better things that
      are coming up and lag behind.

      Oh are you a Java fanatic? Really? I think you mean the coffee. Right?

      I wonder how many Bill Gates' the world will see.

      I hope not many. : )

      kaan.
      denizkaan@yahoo.com
      • .NET will take a Bigger Bite - 3
        2002-02-16 08:20:06  kjambu [View]

        Hi denizkaan,

        Here is a point by point reply.
        My replies are between two lines after
        each of your comment like this.
        ====================
        my comment
        ====================

        "Take for example the recently offered JWSDP from Sun as a single window download

        for
        WebServices. Take a VB.NET/C# guy and a Java guy who are both new to implementing
        WebServices. I can bet by the time the Java guy writes his first Hello World Web

        Service
        the Microsoft programmer would have mastered atleast all the fundamentals of

        WebServices,
        like how to publish, how to consume, and the fundamentals of what is WSDL,SOAP,UDDI

        and
        what they are meant for (if not mastering them)."

        First of all, there is no relation with using .NET, JAVA and mastering web services

        concepts.
        This is very funny. It sounds like if you use MS pots rather than JAVA pots while

        cooking,
        you will master the Turkish cusine in a shorter time. Actually, go and look at

        www.javaskyline.com
        You will see many many web services related products, which help creating and

        maintaining
        them from beginning to end. You can choose whichever you like. You know freedom of

        choice idiom. Right? : )
        ======================
        Undoubtedly there is relation between .NET, J2EE and learning WebServices. It is

        .NET that revolutionized WebServices as a concept we are seeing today and Java

        followed course. If you say that the RPC program we wrote in C 15 years back and

        WebServices are one and the same, then we are talking on a different plane.
        ======================
        "In fact there is no comparable tool to VS.NET in the whole of Java world including

        Visual
        Cafe, VisualAge or any such thing."

        Really? Actually, there are many many tools from many different vendors. Please

        take a
        look at www.javaskyline.com web services section. By the way, Visual Cafe? We are

        on 2002
        Jambu. There is no Visual Cafe anymore. :) There are 30 or something like that

        IDE's from
        many companies.
        ======================
        Yeah i agree there is no Visual Cafe anymore. I know there are 30 or odd IDEs for

        Java. Only thing is i do not know which one to use which day of the month. One good

        robust solution is better than 30 half cooked and hurriedly brought in versions. I

        have also written an IDE for Java, will you use that. VS.NET is the end result of

        15+ years of research and productivity testing.
        ======================
        "I can say that the only innovative thing Java did in its whole life time was to

        bring in
        the context of Servlets (Compileds pages) when the entire world was toying with

        scripting
        whihc is now anyway a matter of history with ASP.NET offering everything Servlets

        have to
        offer and more."

        Well, how can you say the only innovative thing Java did in its whole life time
        is servlets? How many Java based technologies did you master?
        ======================
        Tell me one more thing. Don't ask questions back my dear friend.
        ======================
        "Microsoft made some mistakes which Java corrected. That does not mean that Java

        invented
        them. I am talking about the DLL Hell and Registry problems. That was the area

        which made
        EJB succeed. And that is also a matter of the past now with X-copy deployment

        introduced
        in .NET now."

        First of all, it does not matter if Java invented them or not, but I think Java

        invented
        many things. Do you suggest MS invented C#? What is the relation between DLL hell

        and
        registry problems and EJB???? Sorry, but I cannot see any relations.
        ======================
        I cant help if you cant relate DLL Hell/Registry issues with Components. Developing

        Microsoft components meant we had to struggle around with Registry issues. The

        whole world knows that. Because of the beautiful packaging mechanism that Java

        brought in, in the context of EJB deployment, EJB's atleast did not have this

        problem. Metadata getting tagged along with the component was a great thing. But

        again this was not a solution that Java invented. It was a need that made them do

        so. They needed a platform independent solution and hence could have not thought

        about tying their component to the Windows Registry. Now however .NET components do

        the same.
        ======================
        "If .NET was not there then there is meaning in using Java as a Technology for the
        Internet. But i dont see any reasoning in using Java for the Internet when we have

        an all
        in one solution in .NET"

        Thats because you are blind. Can't you still see "having one solution" is root of

        all evil?
        Ever heard of something like competition and its effects on quality and prices of

        products?
        ========================
        I may be blind, the whole world is not. Having one good solution is always better

        than having thousand hacked solutions. A solution is supposed to help produce

        results. You cant expect every programmer to tweak around with the files and even

        worser with the code of each product. We are not doing research, we are talking

        business.
        ========================
        "ClientSide of Java according to me is almost dead. See the way ASP.NET has

        leveraged XML
        to bring Server-side controls. This one concept i cannot but admire. The idea is
        revolutionary.
        I dont need to write a single line of code for client side validation."

        What is the relation between clientside and .Net? When people talk about clientside

        Java
        is dead, they don't mean client side validation, but, client side programs. I can't

        believe
        you are saying this.
        =========================
        I am very clear when i say Client side of Java is dead, that i am meaning Applets,

        AWT and Swing specifically in the context of developing applications for the

        internet. .NET has made a lot of innovations to develop code on the client side.

        Specifically the Server controls, Validation Controls and the way they have

        integrated HTML, scripting and Component code in one single IDE is marvellous. Drag

        and drop and code...your applications is ready. Think of any comparable solution to

        this in Java for client side development.
        =========================
        "Take for instance ADO.NET again. Manipulating XML is one of the key developer job

        today,
        and that is done in a fizzy in .NET"

        What is the relation between ADO.NET and manipulating XML? And, what do you mean by
        manipulating XML is fizzy in .NET? Do you mean it is easy or fast or something

        else?
        If you mean "easy", XML manipulation is already easy not only in Java, or .NET but

        even
        in Pascal and Fortran now, thanks to standard XML manipulation APIs (DOM, SAX etc)

        and
        libraries that implement them. If you mean fast, it is much faster in Fortran

        running
        on Unix than .NET's whatever language. Should we turn back to using Fortran then? :

        )
        ===========================
        Let us be very clear that we are comparing .NET with Java and not with Pascal or

        Fortran. Faster depends on many other issues than just a language. That way we can

        do all this in pure Assembly and even worse in binary. So let us compare apples

        with apples. XML has become a medium by which we want to transport data. Then the

        data manipulating objects that a tool provides should help us do that easily. To

        that extent .NET has in a focussed manner included many tools, which XML based

        component development a fizzy. In Java i have to write every bit of code including

        the stubs and skeletons. That's what i mean.
        ===========================
        "Above everything, the beauty of it all is .NET is a product that is getting

        released as a
        finished product. Compare it with EJB which released specifications in three chunks

        and
        the related products even now not having implemented many of the EJB 2.0 features."

        Dear, dear. First of all, there are many containers that implement full EJB 2.0

        specs.
        Again, look at www.javaskyline.com's EJB section. EJB is progressing slowly, and

        nicely,
        at the rate that it should progress. There is no reason to haste and make mistakes.

        We
        are seeing security disaster after security disaster related with "long time"

        planned
        and tested MS products starting from OS to web browser, .NET to IIS. First of all,
        I think MS proves that haste is evil. Second, if there was "ONE SOLUTION" in Web

        Server
        arena, and that was IIS, many firms would not be able to shift to some other

        product after
        IIS vulnerabilities were revealed. In short, once again, "one solution" is really

        bad
        idea my friend.
        ============================
        Microsoft is not bringing in .NET in a haste. It has done serious introspection of

        its own products, studied the best products available outside of Microsoft, taken

        the best of all worlds, spent three long years diverting 80% of the company's

        resources to deliver such a product. In the kind of technology advancement we are

        seeing today, beyond a point we cannot be slow. There is certain amount of haste

        that needs to be applied. Security is an issue in whichever technology we talk

        about. Just a web technology cannot provide a reliable security mechanism. The

        Operating System also plays a major role in protecting internet systems today. And

        we should know that the Operating Systems that we are using today were not build

        for the internet. New Operating systems have to emerge to plug the security

        loophole in a better way, if not completely seal them.
        ============================
        "Even the JDK is not fully mature after 7 years of Java. What are we talking about.

        Whose money
        are we playing around with."

        JDK is not fully mature, and it never will be. : ) Because it is evolving

        constantly
        according to innovations and shifts in hw and sw world. For example, XML became

        popular,
        and related api's added to JDK. So, it is better to say the technologies that JDK

        is now
        containing were not mature 7 years ago. Do you suggest first JDK should have XML

        parsing API?
        There was no such thing at those times dear Jambu. Did Visual C++ 1.0 had DOM

        parser API?
        It would be bad if Sun said "ok. JDK is finished." Do you think that .NET is

        finished?
        There will be no more improvements in the future? What about COM, DCOM, COM+ etc?
        Wasn't COM mature so that there was a need for DCOM? Wasn't DCOM mature so that

        there
        was COM+? And what money are you talking about? JDK is free. : ) But Visual Studio,
        Visual Studio.net are not. : )
        ===========================
        Atleast when a version is released, it should not have problems. Every version,

        when it is released itself has deprecated functions. Even now see how many JDBC

        driver options one has. Every platform has one and you do not know which one is

        performance efficient. You have pure Java drivers, we don't know from how many

        sources. Which one do i use, who guarantees it. See the way EJB specifications were

        released. By the time a product implements a specification, another new version of

        the specification arises and then there is a learning curve for the average

        programmer - i am not talking about a seasoned programmer like you. Sand is free on

        the beach. Do we build our houses with it. Trees are abundant in the forest. Do we

        build our boats with it. We buy from reliable specialists ok.
        ===========================

        "Thanks for accepting that client side java is dead. Microsoft's innovative client

        side
        tools help enhance the RAD environment even better. Take for instance, i need not

        even
        worry about browser compatibility issues, that too without writing a single line of

        code."

        Well, first of all, MS is the root of browser compatibility issues. It created non

        standard
        HTML tags first. And yes, you should worry about browser compatibility issues. Your
        pages might not work in Netscape or Opera (Which is my favourite web browser by the

        way.
        Fully w3c compliant, and much much much faster than IE or NS.)
        =============================
        Every company worth its name has extensions to any technology, leave alone HTML.

        Even BEA's Weblogic has so many vendor specific solutions. And take it from me. No

        vendor worth the business salt, will stick to a generic specification compromising

        on the market. When i was in the armed forces, in a specific location, we used to

        fly about 150 miles once a week to take bath. How many of us do that way. Using

        Netscape and Opera (Don't change your favourites) is something similar to that. I

        also have favourites. I even today use the spreadsheet program i developed in

        Pascal when i was in 12th grade. Do you want to use it, or will you use it.....
        =============================
        "What are we talking about Cross platforms. How many of us have used Java to

        develop pure
        Cross platform applications. If that is the case why even after 7 years of Java,

        JNI is
        around. How many of us have written Java applications to access Visual Basic DLLs."

        I know many many developers including me who wrote pure cross platform

        applications. Why
        should I restrict myself to one platform? And more importantly, why should I write

        Java
        apps to access Visual Basic dlls??? I am using Java to not to deal with Visual

        Basic
        and Visual X, Visual Y, Visual Z dlls.
        ==============================
        If Java cannot access a component running on another popular platform seamlessly

        without tweaking around,then what is cross platform we are talking about. Should we

        shun all the legacy code to embrace Java. Yeah why do you need JNI then, if Java is

        the all in all solution.
        ==============================
        "Even today i can say, to be on the safe side, more than 70% of Java programmers

        use
        notepad or some such editor to write Java programs. Many of the Java presentations

        are
        done in Microsoft Powerpoint. The first or early versions of the JDK and other

        packages
        come for Windows."

        OH! WHAT? I did not know that!!! If java presentations are done in MS PP, I should

        stop using
        J2EE and shift to .NET. : ) Well, all those IDE producing 30+ companies are stupid,
        since they are writing IDEs which they are not able to sell since Java Programmers

        use Notepad.
        : ) Especially Borland released 6th version of their IDE, although they were not

        able to
        profit from the previous 5 versions. Thanks Jambu, I did not see it before.
        Why did I use wonderful Java IDEs like IDEA, Netbeans for last 5 years while there
        is such a wonderful program called Notepad? I must be stupid! Now I see the light!

        Kudos
        Bill Gates and .NET team for creating this wonderful program called Notepad.
        ======================
        It may be small, but notepad definitely is one of the favourite editors. And take

        it from me, with all those beautiful IDEs you are talking about (I have also used

        many of them) we still take recourse to the small editor notepad for doing many of

        our Java jobs. Out of the 3000+ Java books that must have been there in the market

        80% of them use notepad to teach Java. No Visual Basic book does that. Can you see

        what i am saying now.
        ======================

        "For reliability purposes, it is better to be with a single vendor, rather than no

        vendor
        at all. How many of the mid level organisations have the technical expertise to

        play around
        with the Linux Operating System, Apache Open Source Servers and so on. That may be

        good
        for research not for business."

        First of all, believe me there are some to play with them. Do you know how many

        Linux distributers
        are around? They all played with Linux OS!
        ======================
        Yeah there are some. Each one did in his own way. Which one do you rely upon.

        Playing around does not give credibility. I have many Unix fanatic friends, all of

        them use their fanaticism only for research, not for business, even their own

        business.
        ======================
        According to me .NET is the third solution for the internet. First was ASP and COM,

        then
        Java and now .NET Let us accept facts and embrace the better technology. There is

        nothing
        like monopoly. When something better comes up no one can dictate. All of us know

        that Java
        definitely cast a shadow on Microsoft technologies. Then why this fear syndrome of
        monopoly. Is Unix dead? Let us see what is good for humanity. Let us take the best

        of both
        worlds and get going.

        I have no comment on the paragraph above. : ) The substance you had used before

        writing this
        should be something really strong. Better be careful.
        =========================
        Because i am talking facts. There is nothing to comment when the facts are bare and

        open. The days of Java's dominance is over. Wait and see, it is definitely going to

        be .NET I also loved and used Java and still using in some of my Distributed

        applications. But that does not mean i will stick to it when there is a better and

        reliable technology around. Let us learn to accept facts.
        =========================
        I am a Java fanatic... But, Because it was good, we cannot leave the better things

        that
        are coming up and lag behind.

        Oh are you a Java fanatic? Really? I think you mean the coffee. Right?
        ==========================
        True i am a coffee fanatic too. I am from the extreme south of India, where we have

        the best of coffee daily. I miss that, Java gave me some. .NET seems to be better.
        I like the best coffee. I dont settle for less flavour.
        ==========================
        I wonder how many Bill Gates' the world will see.

        I hope not many. : )
        ==========================
        That's it! Thanks for agreeing. When i moved from VB/ASP/COM to Java nobody

        bothered. Vice versa seems to be a problem for some. One way traffic...?

        Thanks denizkaan...

        I enjoyed your points in favour of Java, but Java lacks the old flavour now my

        friend.

        .NET and J2EE will go together...., only thing is .NET (un)fortunately will have

        the lead. You have to live with it.
        ==========================

        Thanks
        Jambu Krishnamurthy
  • You're Right You Got Something Wrong
    2002-02-13 05:58:37  dougpan [View]

    Microsoft has always been good at getting things up quickly, but to keep it up is what is most important.

    Catchy heading:
    "Visual Studio .NET outshines Sun's starter kit."
    I think what people should really be interested in is if .NET ourshines JAVA, and not how a free starter kit compares with a full IDE environment. Thank you for making that point early in your article... "although .NET is a huge improvement over the old Microsoft way, it makes only incremental improvements over J2EE".

    You do say, "Maybe it's wrong to compare the Visual Studio .NET distribution to the Sun ONE Starter Kit", and you're right.

    Over the past 22 years in the computer business, I have found that those that don't really know what is going on under the covers are more often only succesful at getting things up quickly. However, those that have gone throught the entire process of understanding how things go togther rather than using a full blown IDE run into problems they can't fix later.

    Doug
    • Sun - Software Company?
      2002-02-22 20:51:51  robinf [View]

      Let's face it, MSFT makes better software. Sun should focus on HW and give up on SW, period. It simply can't get it right, look at what they have done to Forte, Java Studio(anyone remember this..), StarOffice, NetDynamics, ... the list goes on. iPlanet is a joke, it is not going anywhere.
  • .NET and Java can co-exist - not either/or.
    2002-02-13 06:33:48  dmehers [View]

    There is at least one company offering a bridging product based on a pure Java implementation of Microsoft's .NET Remoting protocol, allowing .NET components to access EJBs as though they were written in C#, for example.

    http://www.intrinsyc.com/jaNET
    • .NET and Java can co-exist - not either/or.
      2002-02-22 20:45:02  robinf [View]

      Also check out http://www.JNBridge.com and www.halcyonsoft.com/ihub/, these are bridging solutions. Even better, Halcyon gives away its iHUB server for free.
  • who needs IDE's??
    2002-02-15 09:24:01  gf [View]

    Hi,
    pfff who needs IDE's?? Perfect are:
    jEdit
    ant
    tomcat
    resin
    jboss
    cvs
    s.o.

    ...what do you want more ;-)...

    ~Gerhard
    • who needs IDE's??
      2002-02-25 13:42:12  jstong [View]

      You forgat Notepad.
  • What is actually more efficient?
    2002-02-21 23:15:43  neeloy@iscw.net [View]

    Any real data yet on what is more efficient at doing certain tasks?
  • The Big picture - .NET vs J2EE
    2002-02-23 06:57:59  kjambu [View]

    Let us accept the fact that both Microsoft products and Java are focussed at the lower end medium level organizations and not at companies that use proprietary mainframe products.

    That being the case, ease of use, the learning curve involved and productivity timeframes are the most important.

    Microsoft has all along been a software company and has specialized in User interfaces, ease of use and integrated products. If not more it has been bringing out products in these lines for the past 12+ years.

    Why should a hardware company like Sun even try to compete in this area. It would have been nice if developments in the hardware front would have been concentrated. Giving away something free on the software front, projecting itself as a messiah for s/w developers and having the hardware prices nowhere in the reach of a common developer is beyond my thinking. How many Java developers use Sun Solaris for developing their Java applications compared to Windows machines. That seems ridiculous.

    As far as the development environment goes, today as we stand, there is no single product in the market that can match Visual Studio.NET And as far as i have seen from the Beta1 stage of the .NET framework, i dont see if it lacks anything that Java has to offer. Don't bring the platform independency aspect into this discussion anymore. With SOAP, XML and WebServices, the days of platform dependency is history.

    See the kind of complexity EJB involves, especially for a begginner to distributed computing. What is it that you can greatly achieve with EJB that u cannot with a simple dll, for which i need not take one single step extra to develop in VS.NET Why make things complex when the same can be achieved in simple ways.

    It is very easy to say Microsoft copies technologies and remodels it as if it is its own. What did Sun do. Almost all the technologies from Sun, except Servlets, were tehnologies that were around somewhere in some form. Also see, if Sun has done anything great in the last one year. Two things that have come out from this side are Apache Struts and bundled up old XML packages as WebServices. None of them are simple and straightforward. Even for the serious Java guy, it is playground for tweaking around. See ASP.NET's Server Controls, how are they less than struts, yet so simple and intuitive to use.

    Then this big talk about MVC and design patterns, Model 1 and Model 2 and so on confusing the young Java programmer and distracting the .NET guy. Is it not common sense that code and content has to be separated. This we are doing the days ASP and COM. In fact the real use of COM caught on when this problem was identified in the initial days of internet programming. MVC in JFC was understandable. There itself Java has not adopted the complete MVC architecture as that science goes. If you pour through the documentation of Sun's MVC for software today it talks basically about how to write applications separating code and content. Something which can be told in one paragraph need not be talked about as if it is a technology. These kind of things can put away a young computer scientist who is venturing into the world of computing.

    As a Microsoft developer, i have only one thing to do, get on to .NET Everything is part of the environment and if anything advanced there are leads from within the ide. In fact VS.NET is a one window opening to a Microsoft developer....What is the equivalent, or even a far equivalent thing from Sun's side.....That should tell whether the world should imbibe .NET or J2EE. I am a strong Java lover and have developed many systems in Java, but when a better technology comes around i dont suggest anyone to stick to something because i love it. That way i loved COBOL too, I loved C too.....Can i suggest COBOL to the world now.

    Let us agree facts, .NET is definitely superior as a usable product to whatever Sun has to offer as disjointed entities.

    After all this debate, take it from me .NET and J2EE will go hand in hand, only thing is .NET will have the upper hand and the lead. J2EE will be trailing behind. Like Coke and Pepsi, Like Unix and Windows, Like ......

    But this time on .NET is a sure winner!!!

    Thanks
    Jambu Krishnamurthy



    • The Big picture - .NET vs J2EE
      2003-06-08 15:29:58  anonymous2 [View]

      Oh, how wrong you are, my little developer... Linux and its associated technologies are reaching more and more market segments... Here in Spain some parts of the public administration are embracing Linux, just as is it happens in Germany...

      Beware, even M$ gurus are threatened... Oh, is that a penguin reaching over your shoulders?