.NET vs Java 2001-10-08 · · Wang Lingfeng ·· Yesky
1 2 3 Next Page
From the PC of the information to the host / dumb, the client / host mode is used to multi-layer middleware distribution, until today's network web service, the boundary of computer application possibilities continues to expand. No one has doubted the huge power of the Internet, the Internet is increasingly replacing a single operating system into a new development platform. At the time of the hero, once the society needs, it will be more able to achieve technical breakthroughs than ten universities. A variety of efforts intended to achieve Internet seamless applications in 2001: Sun's One environment, HP's E-Speak, Microsoft launched .NET strategy. Microsoft's .NET strategy is undoubtedly a HOT ISSUE in the 2001 World IT. Sun and Microsoft can say two different camp in many IT fields. Therefore, when the developer is concerned, when the new wave of technology wave, choosing Microsoft or Sun is undoubtedly a choice that needs to be careful.
First, build open internet
The fundamental problem that constructs seamless Internet applications is that the operating system and application logic development tools in the Internet environment have no unified standards, so the choice of operating system and development tools will be produced; secondly, almost all developments rely on the function library or Say the call, Microsoft WFC, and COM, Java's Javabean are familiar libraries that developers are familiar. With the development of network applications, manufacturers develop traditional component technology, such as Microsoft DCOM, Sun's RML, to adapt to customer / host local area network environment. However, in a more open Internet environment, there is a new problem. In the Internet environment, the component call is in a highly flexible environment. The existing component framework lacks version management functions cause component version conflicts, so-called DLL Hell Issues in the Windows environment. It is an example, there is no doubt that the development cost reduces development efficiency.
Attempting to unify the operating system is very difficult, compare the seamless connection of development tools in the application logic development level, which is a more realistic way to build seamless applications in Internet environments. The unity of development tools can have different ideas: First, all developments have been seamless applications in the same development language; this is not actual as using an operating system. The second is to achieve cross-platform seamless integration of different development languages through "intermediate code". Java is the product of the idea. Third, the basic semantic elements of different mainstream development languages, such as data expressions, and the function calls establish a unified conversion rule, and achieve seamless integration of different development languages on one platform. Microsoft .NET framework is the product of this idea. Obviously, the difference between the two is very different. .NET is difficult to think is an open frame.
Second, the technical comparison
The main features of .NET are: 1, self-description components. A traditional component that cannot be seamless in the Internet environment is that the component itself is not included in the network environment, such as component version information (authors, establishment time, permissions, etc.); role-based security check feature. .NET introduces the self-description component, simplifies the complicated development process of the complaints of the complaints, incorporating the information required by the network environment, so the system is registered, only the copy of the Java is achieved in the specified directory. In addition, some of the new features such as reflection such as reflection, reduce the number of code developed by components. Allow manual configuration between different components, configuration information to be saved with XML standards-independent of the language.
2, Microsoft IntermidLanguage (MSIL). Similar to the Java virtual machine cross-platform mechanism, translations between basic semantics between different mainstream languages on the Windows platform.
3, cross-platform running library. Through MSIL and SOAP, SCL, DISCO, WDSL a series of protocols, .NET defines a set of cross-platform runners. C MFC, Java used by Java, VBAPI used by VB is unified under a frame. When developing in a Windows environment, programmers only need to consider their preference selection development tools. 4, ASP . That is, the increase in ASP, in place of the scripting language in VBScript, programming is more natural, more powerful, and more security. A variety of components can be applied directly to the HTML interface, and provide components that implement specific services in a network environment such as process automatic management components, built-in XML. It has been tested that ASP average performance is three times higher than ASP, and the most important thing is that software development efficiency is greatly improved, and the cost is declining.
.NET has most of Java's essence, such as memory automatic management features. However, .NET only implements a web integration application in the Windows platform, and other operating systems are rejected. For Java, although cross-platform features but requires all developers to use a development language to achieve openness of Internet applications, it seems difficult to do. Note that the C # in the ..NET framework is compared with Java. Both are the development of C language, and the grammatical format is very close. Microsoft tries to attract a batch of Java developers to the .NET framework. Microsoft poses an advantage in the market share, and Java also has a large number of followers. Who will be the ultimate winner of the Internet computing model, can only wait and see. Third, conclusion
.NET's launch is a major breakthrough in the Internet seamless application. However, Microsoft's ultimate intention is obvious, attempting to achieve control of market share at higher levels in the Internet age. Microsoft has a deep impression of the world, from operating system, database, office software, browser and network audio new compressed format WMA, Microsoft seems to be everywhere, the Internet calculation will not exceed the exception. Microsoft has announced that Java is no longer supported in its Windows XP, although according to Sun and Microsoft Agreement, Microsoft also has Java for 7 years.
Objectively speaking, Microsoft is one of the most powerful manufacturers that implement the Internet environment unified computing model. The .NET strategy is in fact a response to Microsoft faces the pressure from Linux represented free software and Java's cross-platform programming language. IDG data shows that Linux is gradually approaching Microsoft Windows in server share, and the former is 27%, the latter is 41%, and the former grows faster than the latter; the industry's main manufacturer's support for Linux applications is also open. Linux is increasingly applied, inevitably pose a threat to Microsoft. In order to compete with Linux, Microsoft began to perform limited support for free software such as Python; allowing its strategic partners to view Microsoft code, but still master the final revision right in their hands.
Microsoft faces the choice of hugging Internet open and maintains its monopoly profits or seeks a balance. Open is a huge power of computer development, Microsoft's own interests can only be able to achieve maintenance in an open environment. There is no big company in the history of computer development, Wang An is the test of the former car. In March 2001, Borland released the RAD tool Kylix under Linux in Linux, which will enable approximately 80% of NT applications to the Linux platform; other platforms apply to free software such as Lin4win, Vware, etc., also constitute a certain pressure on Windows applications. Perhaps Microsoft has buried the next step in .NET, although the .NET is currently limited to the Microsoft platform, but its underlying protocol is a standard general agreement. If the competition pattern is required, it is not an additional platform from the Microsoft platform to other platforms. Difficulties.