What .NET Got Right
by Brian Jepson02/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.
|
|
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.
|
| |
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.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 11 of 11.
-
What is actually more efficient?
2002-02-21 23:15:43 neeloy@iscw.net [Reply | View]
Any real data yet on what is more efficient at doing certain tasks?
-
who needs IDE's??
2002-02-15 09:24:01 gf [Reply | View]
Hi,
pfff who needs IDE's?? Perfect are:
jEdit
ant
tomcat
resin
jboss
cvs
s.o.
...what do you want more ;-)...
~Gerhard
-
.NET and Java can co-exist - not either/or.
2002-02-13 06:33:48 dmehers [Reply | 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
-
You're Right You Got Something Wrong
2002-02-13 05:58:37 dougpan [Reply | 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
-
.NET will take a Bigger Bite
2002-02-12 13:37:33 kjambu [Reply | 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
-
*cough*
2002-02-12 09:01:19 johnmunsch [Reply | 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.
-
.NET vs. Java/Web services tools
2002-02-12 08:08:38 Steve Anglin |
[Reply | 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
-
japple
2002-02-12 07:35:50 Brian Jepson |
[Reply | 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!
-
Comment on "What .NET Got Right"
2002-02-11 23:23:19 diegovis [Reply | View]
>I haven't seen anything
>comparable in the Java universe
With IBM WebSphere Application Developer (WSAD) you don't leave the IDE fro building/publishing Web-services, too.
Some features of IBM WSAD:
- foundation based on open source (eclipse.org)
- plug-in architecture (more projects about in sourceforge.net)
- J2E oriented
- open IDE (e.g. Eclipse C/C++ plug-in)
Best regards,
Diego Visentin
Santin e Associati S.r.l.
-
The Microsoft Security Bugbear
2002-02-11 19:48:58 nzheretic [Reply | View]
The problem is that .NET is still based on the Microsoft platform which inherits Microsoft's past attitude to the priority of security.
Sure, the CLR provides a sandboxed enviroment using methord call type and argument checking, preventing buffer overflow and misstype attacks, but it does not provide much protection for failure in application/program logic of the underlying DDLs and Servers. For example, type checking would not provide protection against malformed URLs passed to IE.
See "Meet the future of Windows security exploits
"
http://www.theregister.co.uk/content/archive/23075.html
Even Bill Gates acknowledged this issue in his recent "leaked" email.
http://www.infowarrior.org/articles/2002-02.html#memo
Quote
"As software has become ever more complex, interdependent and interconnected, our reputation as a company has in turn become more vulnerable. Flaws in a single Microsoft product, service or policy not only affect the quality of our platform and services overall, but also our customers' view of us as a company."
Unquote
If you say that this issue must also effect Java on the Microsoft platform, well, yes it does.
However, from what I have seen of the C# and CLR interfaces,SUN's Java accesses external interfaces though a higher level of abstraction. This provides a small measure of protection against potental failings in the externel application logic.







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