What is the correct response?
For Microsoft's developers, .NET is a good architecture that you can hand over many things to Microsoft's architecture. ASP.NET is better than ASP, ADO.NET is excellent than ADO and DCOM, but there is a difference, C # is better than C and C . .NET initial version will be available at some time in 2001, so you have enough time to prepare. But it can be sure that it will become the default (agreed) development environment of the Microsoft platform. If you are working in Microsoft's development architecture, you will definitely get benefits in your architecture in Microsoft's development architecture.
However, several expectations of the .NET platform are extremely high, but it cannot be guaranteed to start, at least in the short term. For example, IL public language is running to make developers to benefit from some obvious obstacles to overcome. Want to integrate each language and component, you must define subset / supercharges in this language, and clearly spread to IL run, and must define structures to provide metadata required by IL, then And must be developed for two compilers (objects, components, etc.), from XML to IL and from IL to XML, integrated into the IL component byte code, but also generates existing IL components. Language-specific interface.
There are still some historical factors, and many bridges that must be developed from Java language to JavaVM, such as: JPython, Percobol, The Tcl / Java Project. At the same time, if there is enough interest, BERTRAND Meyes should be placed in the Eiffel-To-Java VM system a few years ago (several years later), only JPython exceptions. These tools have been widely adopted, even in their own related committees, even if they seem to provide a way, use the language you prefer (although not the entire J2EE architecture). However, why is this lack of enthusiasm? Because people hesitate, they don't want to withstand from their development language, add additional translation work to the target architecture. If the Java environment is a goal, people usually choose to learn Java. I expect that it is also the same for .NET. People will choose to learn C # and write .NET in this language.
On the other hand: SOAP based on .NET will be used for distributed communications, beware of performance loss. SOAP basically means XML on HTTP. HTTP is not a high-performance data protocol, so XML implies an XML syntax parsing layer, which is to require more computing overhead. The opposite part of the two greatly reduces the transaction rate of relative to another message / communication channel. XML is a very rich, very powerful letter of communication. HTTP is very flexible, so that many firewalls can be prevented, but if the transaction rate is priority to you, keep your option open.
For Java and Open Resources Commission
Please do not take the .NET as a means of competing in Microsoft Market, continue to understand the way .NET may be more easily accepted by your favorite manner. But .NET is not a signs, but a major transfer of Microsoft strategy will bring gospel for its platform. They are doing better and struggle for other architectures and platforms. Provide a query-free statistical information on its own cost and seamless integration. Now they are working hard to gradually open the Java and open resources themselves, and then try to directly meet the needs of developers. In the past period, because they did not do well, two things failed. If you think you are the acoustic communicator of Java and non-resource platform, then the nature of competition will change.
In addition, Microsoft's IL runs, at least there is at least a payable target: it is to clear the obstacle of the programming language into the structural frame. Java clears the platform's obstacles (of course within a limited range, for example, you can't do so you don't have the software). But in order to use J2EE to make development work, you must work in the Java environment. And .NET is to make you use the language you choose to build .NET application, this is very wonderful. Although there are still some big problems that have not been resolved. For example: IL mode in .NET does not actually become a widely used (tool) (as described above). Anyway, this shows that there is a weakness in the J2EE mode of a single language. The importance of this weakness can be doubts, but it still exists, so it is worth considering the Java Committee. If the developer really thinks so, you can put the power in the Java byte code generator, to accommodate non-Java languages, of course, this requires organization and concentration (summary). A further study of J2EE and immediately get some conclusions. In order to support this platform and .NET comparative advantage. First XML supports seamlessly integration into the structural frame, we do not say to use the XML SAX / DOM syntax parser as a set of standard services or to extend the use of XML in the configuration component. The sending and operation of XML is required here is at any time available. The recognized approach is to send a letter at the top of the JMS, but not all platforms have this facility. XML space is a pile of messy standards, non-key factor standards, API and DTD are expected when you handle metals. of.
But Microsoft has placed SOAP on the base layer, which is difficult to put some understandable and useful things in the developer hand. J2EE's initiator needs to do the same thing in their platform. Remember a possibility that the XML sender is placed at the top of the JMS. The java naming and directory interface are followed by JAVA naming and directory interface or JNDI, NIS, and COS names with LDAP. This combination of this and standard SOAP / BizTalk vendor, EBXML supplier, etc. will be an impressive statement (description).
Clarify and correct:
Since this article was published in August 2000, 40 readers returned to us with their concern .NET and J2EE comparison (see readers reply), this article author Jim Farley filled these content, and replied to them with email, so Increase the following clarifications and corrections.
clarify:
The compilation characteristics of C # and the comparison of the compilation characteristics of Java seem to have confusion. In order to be more clear, we compare them in another way: C # code is always run in nature. The Java code is typically running in parsing byte code; C # can compile into natural codes, or compile into the public language runtime byte code, and then compile natural codes by sequence during execution. On the other hand, the Java code is typically operated in the runtime analysis byte code (accordingly, its cross platform capability can grow). At the same time, it is also possible to operate in successive contextual contexts; there are some Java natural code compilers (JOVE, Bullet Train, Jet, etc.).
As a side note (note), Microsoft requires the Java's conventive pattern in this mode, designing the byte code for the virtual machine, itself is not used in natural code optimization, I did not see a powerful data certificate or refute this Requirements, (Generally, the natural compile language should be compared to the natural compile language, or special for Java comparison C #).
In response, several readers pointed out that J2EE supports XML, which means that the J2EE1.3 version (released by draft) requires any compatible J2EE product, must include Java XML SAX and DOM syntax parsers. This is what I said, "Bundle XML SAX / DOM to Java. I have asked them to take further steps to directly support XML collaboration in J2EE support API. The most ideal way is based on J2EE components and services, should XML automatically supports internal construction to some extent (for sending information, interface description, output, etc.). Corrected:
I said in this article: C # "Borrowed some JavaBeans parties." There is no evidence of this sentence. As a few readers point out, more appropriate, "Microsoft C # features more than their own COM and VB models, which are due to other existing components models". "