Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. Pages: 49. Chapters: Comparison of Java and C++, Comparison of C Sharp and Java, Comparison of programming languages, List of educational programming languages, Comparison of Pascal and C, Comparison of the Java and .NET platforms, Comparison of C Sharp and Visual Basic .NET, Foreach, Fold, Main function, Compatibility of C and C++, Trim, Map, Comparison of ALGOL 68 and C++. Excerpt: This article compares Microsoft's C# programming language with Oracle's (formerly Sun's) Java programming language. While the focus of this article is mainly the programming languages and their features, such a comparison will necessarily also consider some platform features and some library features. For a more detailed comparison of the platforms, please see Comparison of the Java and .NET platforms. The comparison will naturally focus on areas where the languages differ. In fact the two languages and their platforms are more alike than they are different: Both are (primarily) statically, strongly, and mostly manifestly typed, both are class-based object-oriented, both are designed with semi-interpretation or runtime compilation in mind, both use garbage-collection, and both are "curly brace" languages like C and C++. Common ancestry is also evident in their common terminology and often very similar syntax features. This section provides a comparison of the languages in terms of features they may or may not offer, or, put differently, properties they may or may not have. The absence of a feature should not automatically be regarded as a disadvantage for the given language; sometimes features may be excluded because the language designers view them as specifically detrimental, and in other cases the designers may have viewed the feature as something that would be nice to have but not worth the added language complexity. Both languages are considered "curly...