Problem solve Get help with specific problems with your technologies, process and projects.

Is there any future with C#

How is C# different from Java? In what ways is it better?

C# is essentially Microsoft's answer to the need for a compact, powerful, object-oriented language that supports easy programming of Web interactivity, either on the client side (what Java calls an applet) or the server side (what Java calls a servlet). C# differs from Java in syntax, reserved words and in some areas of functionality. It most notably differs in its support for the Windows APIs, which were also added to Microsoft's implementation of Java, J++. It became the foundations for Sun's claims that Microsoft was corrupting the platform neutrality of Java. This claim ultimately led to Microsoft's decision to abandon Java (in the wake of a lawsuit that found that Microsoft had indeed violated Sun's Java License by adding support for those APIs to its implementation). Thus, some might say that C# represents a new version of C++ designed to compete with Java, but also a language that Microsoft controls and can therefore lash up tightly to the Windows APIs. Microsoft claims that C# is better than Java because it:

* Supports Rapid Application Deployment (RAD) technologies
* Supports cross-platform deployment (a claim viewed with skepticism by Java bigots and those outside the Microsoft camp)
* Provides access to native platform resources (the Windows APIs, in other words)
* Support for COM and .NET platforms (more proprietary Microsoft technologies. This fact is important to those inside the Microsoft development world, annoying or downright irritating to those outside it)

However, not everybody agrees with these claims and this is a very contentious subject. Let me therefore point you to some further reading so you can make up your own mind on this subject:

1. For a pro-MS view, please read: http://www.javaworld.com/javaworld/jw-08-2000/jw-0804-itw-csharp.html
2. For a pro-Java rejoinder, please read: http://www.javaworld.com/jw-11-2000/jw-1122-letters.html
3. A nice comparison of C# to C++ and Java (but still somewhat MS-biased): http://genamics.com/developer/csharp_comparative.htm
4. A cool collection of side-by-side listings in Java and C# that shows (at least to me) that they're more alike than different: http://www.ddj.com/ftp/2001/2001_02/csharpj.txt
5. Great list of C# articles and references: http://www.dur.ac.uk/~dcl0bjc/bookmarks/CSharp/

If you visit your favorite search engine, and search on "C# versus Java" or "Java versus C#" you will come up with all kinds of additional resources on the subject, many of them highly inflammatory. This is a hot subject, with many sharp and opposing views on both sides.

Dig Deeper on Windows administrator jobs and training

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

I have spent some years in both languages and I have certainly had some ups and downs with each.  In my experience, purely considering the language and built in libraries I have found C# to be a superior language.  However, having access to the apache libraries and other open source libraries is a big advantage for Java.  Culturally it appears Java is (or at least was) more open with ,many more open source utilities that you can leverage.  That may have changed as I quit using C# around the time NuGet started getting popular.  I quit using C# because I changed jobs, not because of any particular advantage Java gave.

I guess what I am getting at is I am not sure there is a true better language, just simply two different tools, each with its own distinct advantages.

I still see both widely used. I guess it all comes down to the application being developed. Web designs use both readily and with gaming becoming more popular I see a lot more c# being used in programs like Unity and the Unreal development platform..

C# I find to be a bit cleaner and more intuitive than Java, but its a matter of a few small degrees.  There is a future for C#.  It's a elegant language after all.
Both are popular languages and in wide use (I'm speaking of the U.S., I'm not that familiar with programming trends worldwide). In my area (the Midwest) most development is done in C#. My company sticks with C# and .NET as well, mainly because of the availability of software developers in this area who work in primarily Microsoft technologies.