Contents - Cultural View
Contents - Cultural View Contents - Cultural View
Comparison of the Java and .NET platforms 94 .NET Microsoft's .NET CLI executable environment, and some of the corresponding class library, have been standardized and can be freely implemented without a license. A few standards-compliant free software environments have been implemented, such as the Mono Project and DotGNU. The Mono Project has also implemented many of Microsoft's non-standard libraries by examining Microsoft materials, similar to GNU Classpath and Java. Microsoft is currently distributing a shared source version of its .NET runtime environment for academic use, however it is only supported on Windows XP SP2 and has not been updated after .NET 2.0. [7] The Mono project aims to avoid infringing on any patents or copyrights, and to the extent that they are successful, the project can be safely distributed and used under the GPL. On November 2, 2006, Microsoft and Novell announced a joint agreement whereby Microsoft promised not to sue Novell or its customers for patent infringement. [8] According to a statement on the blog of Mono project leader Miguel de Icaza, this agreement only extends to Mono for Novell developers and users. [9] Because of the possible threat of Microsoft patents, the FSF [10] [11] recommends that people avoid creating software that depends on Mono or C#. The Microsoft/Novell agreement was criticized by some in the open source community because it violates the principles of giving equal rights to all users of a particular program (see Agreement with Microsoft and Mono and Microsoft's patents). In response to the Microsoft/Novell agreement the Free Software Foundation revised its GNU General Public License to close the loophole used by Microsoft and Novell to bypass the GPL's very restrictive provisions on patent deals. [12] The FSF also stated that by selling coupons for Novell's Linux software, the mechanism by which Microsoft circumvented the GNU license, it considers Microsoft to be a Linux vendor, and thereby subject to the full terms and conditions laid out in the GPL. [12] (Microsoft issued the coupons because on the patent deal worked out between the two companies Novell's network patents were considered far more profitable to Microsoft than Microsoft's .NET patents were to Novell.) Community In its proprietorship of Java, Sun works with an open culture, allowing multiple parties, from organizations to individuals, to steer the decision making process. Sun retains exclusive and unlimited legal rights to its Java intellectual properties, and the Java community is subject to those rights. Sun's acceptance of third-party contributions goes to solve the problem of vendor lock-in at the cost of sometimes creating a baffling array of options for beginners wishing to choose a Java-based solution. Java has grown in popularity to become one of the most popular languages of the early 21st century, and the pluralist nature of its development has resulted in many different groups tackling the same (or similar) problems. This issue is particularly acute in the Enterprise space (web/Ajax/Web2.0 applications), where one must not only be familiar with Java, but also the various competing frameworks. While Microsoft has developed C# and .NET without a formal community contribution system, the language and some parts of the executable format and runtime have been standardized and freely distributed through Ecma and ISO in an open and vendor-neutral process, rather than a process that retains veto and copy rights for Microsoft. However, the standards do not include many new libraries that Microsoft has implemented on top of the standard framework (see Standardization). Numerous C# and CLI community software projects, help and documentation sites, and discussion forums are under active development and maintenance, including those focusing on Windows development with Microsoft .NET or the Mono project, Free software Operating system development under the Mono project, and mobile development using Microsoft's .NET compact framework.. Microsoft is distributing a shared source release (version 1.0) of the .NET virtual machine that can be compiled and used on Windows, FreeBSD, Mac OS X, and other platforms. [13] An updated version (2.0) is currently available, but
Comparison of the Java and .NET platforms 95 the only officially supported platform is Windows. [14] A community port to Linux of the 1.0 shared source .NET virtual machine is also available. [15] In March 2003, O'Reilly Media published a book about Microsoft's shared source .NET runtime. [16] Traditional computer applications Desktop applications Although Java's AWT (Abstract Windowing Toolkit) and Swing libraries are not shy of features, Java has struggled to establish a foothold in the desktop market. Sun Microsystems has also been slow, in the eyes of some, to promote Java to developers and end users alike in a way which makes it an appealing choice for desktop software. Even technologies such as Java Web Start, which have few parallels within rival languages and platforms, have barely been promoted. The release of Java version 6.0 in December 11, 2006, saw a renewed focus on the desktop market with an extensive set of new tools for closer integration with the desktop. At the 2007 JavaOne conference Sun made further desktop related announcements, including a new language aimed at taking on Adobe Flash (JavaFX), a new lightweight way of downloading the JRE which sees the initial footprint reduced to under 2Mb, and a renewed focus on multimedia libraries. An alternative to AWT and Swing is the Standard Widget Toolkit (SWT), which was originally developed by IBM and now maintained by the Eclipse Foundation. It attempts to achieve improved performance and visualization of Java desktop applications by relying on underlying native libraries where possible. .NET is becoming more common in open source and free software systems due to its inclusion [17] by the GNOME desktop environment using the Mono framework. Server applications This is probably the arena in which the two platforms are closest to being considered rivals. Java, through its Java EE (a.k.a. Java Platform Enterprise Edition) platform, and .NET through ASP.NET, compete to create web-based dynamic content and applications. Both platforms are well used and supported in this market, with a bevy of tools and supporting products available for Java EE and .NET. And both have high profile backers. For example, for Java: Oracle included direct support for Java into its database, while Google has used Java to power tools like Gmail. [18] Some of Sun's current Java-related license agreements for Java EE define aspects of the Java platform as a trade secret, [19] and prohibit the end user from contributing to a third-party Java environment. Specifically, at least one current license for a Sun Java EE development package contains the following terms: "You may make a single archival copy of Software, but otherwise may not copy, modify, or distribute Software." — "Unless enforcement is prohibited by applicable law, you may not decompile, or reverse engineer Software." — "You may not publish or provide the results of any benchmark or comparison tests run on Software to any third party without the prior written consent of Sun." — "Software is confidential and copyrighted." [19] However, while Sun's software is subject to the above license terms, Sun's Java EE API reference has been implemented under an open source license by the JBoss and JOnAS projects. Microsoft's implementation of ASP.NET is not part of the standardized CLI, and while Microsoft's runtime environment and development tools are not subject to comparable secrecy agreements to Java EE, the official Microsoft tools are not open source or free software, and require Windows servers. However, a cross-platform free software ASP.NET 2.0 implementation is part of the Mono project (minus webparts and Web Services Enhancements). [20]
- Page 47 and 48: Associació d'Usuaris de Java de Ca
- Page 49 and 50: Associació d'Usuaris de Java de Ca
- Page 51 and 52: Associació d'Usuaris de Java de Ca
- Page 53 and 54: Bean Scripting Framework 49 Bean Sc
- Page 55 and 56: CJAN 51 Ostensibly, CJAN.org failed
- Page 57 and 58: Chainsaw (log file viewer) 53 Chain
- Page 59 and 60: clone (Java method) 55 Alternatives
- Page 61 and 62: clone (Java method) 57 } } abstract
- Page 63 and 64: Comparison of Java and C Sharp 59 A
- Page 65 and 66: Comparison of Java and C Sharp 61 R
- Page 67 and 68: Comparison of Java and C Sharp 63 T
- Page 69 and 70: Comparison of Java and C Sharp 65 f
- Page 71 and 72: e="6.73"> = 42; = null; Comparison
- Page 73 and 74: Comparison of Java and C Sharp 69 L
- Page 75 and 76: Comparison of Java and C Sharp 71 I
- Page 77 and 78: Comparison of Java and C Sharp 73 t
- Page 79 and 80: Comparison of Java and C Sharp 75 N
- Page 81 and 82: Comparison of Java and C Sharp 77 L
- Page 83 and 84: Comparison of Java and C Sharp 79 T
- Page 85 and 86: Comparison of Java and C Sharp 81 C
- Page 87 and 88: Comparison of Java and C++ 83 C++ J
- Page 89 and 90: Comparison of Java and C++ 85 e="7.
- Page 91 and 92: Comparison of Java and C++ 87 the c
- Page 93 and 94: Comparison of Java and C++ 89 • D
- Page 95 and 96: Comparison of Java and C++ 91 Sever
- Page 97: Comparison of the Java and .NET pla
- Page 101 and 102: Comparison of the Java and .NET pla
- Page 103 and 104: Comparison of the Java and .NET pla
- Page 105 and 106: Constant interface 101 } public sta
- Page 107 and 108: Java 4K Game Programming Contest 10
- Page 109 and 110: Java 4K Game Programming Contest 10
- Page 111 and 112: CookXml 107 Creators, setters, adde
- Page 113 and 114: Cougaar 109 Cougaar Cougaar is a Ja
- Page 115 and 116: Devoxx 111 Related links • Devoxx
- Page 117 and 118: Elastic Path 113 References [1] htt
- Page 119 and 120: Electronic Disturbance Theater 115
- Page 121 and 122: Event dispatching thread 117 • Sw
- Page 123 and 124: Facelets 119 The above code can be
- Page 125 and 126: final (Java) 121 } Sphere(double x,
- Page 127 and 128: FormEngine 123 FormEngine Developer
- Page 129 and 130: Generics in Java 125 Motivation for
- Page 131 and 132: Generics in Java 127 Pair grade440
- Page 133 and 134: G-java 129 G-java G-java 2.x was a
- Page 135 and 136: GlassFish Metro 131 Features Metro
- Page 137 and 138: James Gosling 133 Contributions He
- Page 139 and 140: Todd Greanier 135 Todd Greanier Tod
- Page 141 and 142: Head First (book series) 137 Head F
- Page 143 and 144: Inner class 139 • Local class - T
- Page 145 and 146: Interface (Java) 141 The body of th
- Page 147 and 148: Internet Foundation Classes 143 Int
Comparison of the Java and .NET platforms 94<br />
.NET<br />
Microsoft's .NET CLI executable environment, and some of the corresponding class library, have been<br />
standardized and can be freely implemented without a license. A few standards-compliant free software<br />
environments have been implemented, such as the Mono Project and DotGNU. The Mono Project has also<br />
implemented many of Microsoft's non-standard libraries by examining Microsoft materials, similar to GNU<br />
Classpath and Java.<br />
Microsoft is currently distributing a shared source version of its .NET runtime environment for academic use,<br />
however it is only supported on Windows XP SP2 and has not been updated after .NET 2.0. [7]<br />
The Mono project aims to avoid infringing on any patents or copyrights, and to the extent that they are successful,<br />
the project can be safely distributed and used under the GPL. On November 2, 2006, Microsoft and Novell<br />
announced a joint agreement whereby Microsoft promised not to sue Novell or its customers for patent<br />
infringement. [8] According to a statement on the blog of Mono project leader Miguel de Icaza, this agreement only<br />
extends to Mono for Novell developers and users. [9] Because of the possible threat of Microsoft patents, the FSF<br />
[10] [11]<br />
recommends that people avoid creating software that depends on Mono or C#.<br />
The Microsoft/Novell agreement was criticized by some in the open source community because it violates the<br />
principles of giving equal rights to all users of a particular program (see Agreement with Microsoft and Mono and<br />
Microsoft's patents).<br />
In response to the Microsoft/Novell agreement the Free Software Foundation revised its GNU General Public<br />
License to close the loophole used by Microsoft and Novell to bypass the GPL's very restrictive provisions on patent<br />
deals. [12] The FSF also stated that by selling coupons for Novell's Linux software, the mechanism by which<br />
Microsoft circumvented the GNU license, it considers Microsoft to be a Linux vendor, and thereby subject to the full<br />
terms and conditions laid out in the GPL. [12] (Microsoft issued the coupons because on the patent deal worked out<br />
between the two companies Novell's network patents were considered far more profitable to Microsoft than<br />
Microsoft's .NET patents were to Novell.)<br />
Community<br />
In its proprietorship of Java, Sun works with an open culture, allowing multiple parties, from organizations to<br />
individuals, to steer the decision making process. Sun retains exclusive and unlimited legal rights to its Java<br />
intellectual properties, and the Java community is subject to those rights.<br />
Sun's acceptance of third-party contributions goes to solve the problem of vendor lock-in at the cost of sometimes<br />
creating a baffling array of options for beginners wishing to choose a Java-based solution. Java has grown in<br />
popularity to become one of the most popular languages of the early 21st century, and the pluralist nature of its<br />
development has resulted in many different groups tackling the same (or similar) problems. This issue is particularly<br />
acute in the Enterprise space (web/Ajax/Web2.0 applications), where one must not only be familiar with Java, but<br />
also the various competing frameworks.<br />
While Microsoft has developed C# and .NET without a formal community contribution system, the language and<br />
some parts of the executable format and runtime have been standardized and freely distributed through Ecma and<br />
ISO in an open and vendor-neutral process, rather than a process that retains veto and copy rights for Microsoft.<br />
However, the standards do not include many new libraries that Microsoft has implemented on top of the standard<br />
framework (see Standardization). Numerous C# and CLI community software projects, help and documentation<br />
sites, and discussion forums are under active development and maintenance, including those focusing on Windows<br />
development with Microsoft .NET or the Mono project, Free software Operating system development under the<br />
Mono project, and mobile development using Microsoft's .NET compact framework..<br />
Microsoft is distributing a shared source release (version 1.0) of the .NET virtual machine that can be compiled and<br />
used on Windows, FreeBSD, Mac OS X, and other platforms. [13] An updated version (2.0) is currently available, but