Is C# actually just a copy of Java? Also, is it worth learning at all? | SoloLearn: Learn to code for FREE!


Is C# actually just a copy of Java? Also, is it worth learning at all?

5/28/2020 4:18:43 AM


3 Answers

New Answer


C# is very similar to Java, but being a "copy" is an overstatement. In many things it is better designed, as its creators specifically tried to do things right what Java did wrong. If you develop for Windows / Microsoft platform, then C# is a great choice. But now you can also use it on other OS (mac, linux) with the new versions of dotnet.


From the Wikipedia article James Gosling, who created the Java programming language in 1994, and Bill Joy, a co-founder of Sun Microsystems, the originator of Java, called C# an "imitation" of Java; Gosling further said that "[C# is] sort of Java with reliability, productivity and security deleted." Klaus Kreft and Angelika Langer (authors of a C++ streams book) stated in a blog post that "Java and C# are almost identical programming languages. Boring repetition that lacks innovation," "Hardly anybody will claim that Java or C# are revolutionary programming languages that changed the way we write programs," and "C# borrowed a lot from Java - and vice versa. Now that C# supports boxing and unboxing, we'll have a very similar feature in Java." In July 2000, Hejlsberg said that C# is "not a Java clone" and is "much closer to C++" in its design. ---------------- My personal take is that C# is the bastard child of Java and C++. The language design is closer to C++ than java but the implementation of the Common Language Infrastructure (CLI) and Common Language Runtime (CLR) are similar to Java byte code and JIT compiler. Microsoft had tried something similar with Visual J++ in the 1990s but Sun took legal action against them as their implementation did not include certain features of the Java language and added additional Microsoft features. See


Hello, C# and Java are very similar, I'll quote: "C# and Java are similar languages that are typed statically, strongly, and manifestly. Both are object-oriented, and designed with semi-interpretation or runtime just-in-time compilation, and both are curly brace languages, like C and C++." If I were in your position, I would learn C#. Java and C# may be similar but with C# you can utilise the .NET Framework, which is great for creating anything such as desktop applications, Xamarin (cross-mobile apps), and ASP.NET websites. Unity Game Engine - the best around - also utilises C# as its primary language. It comes down to your decision, have a read of these articles: Hope this helped. Thanks, TheCoder