C# vs Java - The Comparison

Everybody says something, everybody tells something.. And it seems they will not stop to compare Microsoft's C Sharp (C#) and Sun' s Java. But actually, no one can reach any point by trying to compare the success and power of two popular programming languages and platforms with simple words as ; better, worser..etc. There is no way to make a direct comparison.

Before beginning to talk about this popular discussion, I want to share a quick summary of some key terms;

C : A structural programming language. Manual memory management, pointers, bad syntax..etc
C ++ : Object Oriented Programming Language (OOP). Built and improved on C language. Includes lots of frameworks and libraries as MFC (Microsoft Foundation Classes).
Visual Basic : Totally different than today's VB.net. It was just not enough for complex software engineering development.

COM (Component Object Model)  : Microsoft's old framework. Brings standarts, protocols and a few programming languages can use it. It was unable to keep equilibrium; different data types in each programming languages.
COM+ Runtime : A Windows Operating System feature. Runs the code libraries. Has asymmetric perspective. 

Java Platform : The purpose of the Java platform is to support applications written in the Java language and compiled to Java bytecode. The ideal of Java has always been a single language on multiple platforms.
Java : OOP language. Elastic, dynamic, platform-independent, various framework supports, limited entegration to other programming languages.
dotNET Framework : Ability to develop softwares in Windows and independent platforms. Can work with old codes. Supports a few programming languages. Common runtime platform. Cross-language integration. Standarts, libraries. Simple development model (no need to register binaries anymore) The purpose of the NET Framework is to support applications written in any language and compiled to CIL (Common Intermediate Language aka MSIL). The goal of .NET is a single platform shared by multiple language.
C# (C Sharp) : OOP language. Built and improved on Java. C and VB 6.0 originated. A mixture of a few programming languages. Simple as VB and has better syntax as Java also roboust and elastic as C++.

Both languages has own advantages and disadvantages

C# and Java

As I mentioned above C# was built and improved on Sun's Java by Microsoft. And both programming languages have similar concepts and syntax.  While C# works on dotNet Framework platform, Java works on Java Platform (runtime and APIs). Both platforms aim same targets : bringing common standarts, simple development model, safety, stability and performance. 

And each platforms has own advantages and disadvantages. Here you can see the comparison chart of the features. Also take a look at this quick reference guide to highlight some key syntactical differences between Java and C#.

What matters ?

More than the touch of C# or Java ; the programming algorithms, programming skills of the coder, ability to use the performance concepts of the language, platform (framework version), operating system matter more to build a high performanced, stable and safe software.  

Last words



Actually this is a deeper topic but I wanted to share my ideas quickly. As I said before both languages are so similar to each other but platforms and programming skills matter more to build better applications. I think that C# with dotNet looks like more whole than Java and Microsoft brings better programming environments, easier-to-use libraries, support..etc Java platform looks messed abit after working with dotNet platform but although dotNet aims to bring working on independet platforms still it is more Windows focused and Java is more platform independent.

References 

http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
http://www.harding.edu/fmccown/java_csharp_comparison.html
http://www.knowledgesutra.com/forums/topic/60700-which-is-good-java-or-dot-net/

© 2011-2015 | EmreCiftci.net. Powered by Blogger.