Java's Advantages over C#
Recently I've had an argument with myself about which
language to use for combined desktop & web application.
After a few sleepless night, I've come to the decision: Java.
The main advatages that I've seen in Java compared to
C#.NET are the following:
1. The amount of reference resources (i.e. solution to
problems one may find on the web) is several times the
amount of reference for C#. The reason for this feature is that
Java is based on open-source & community mutual help,
whereas C# is based on the proprietary .NET framework,
which means that Microsoft is supposed to supply the main
portion of reference and developers are less likely to
participate in help forums.
2. Java is the main flatform for cell-phone applications,
whereas C# seems quite irrelevant for this field. As an
independant developer, it might be irresponsible to neglect
the cell phone field, by abandoning every possiblilty of
creating such applications.
3. Java is free whereas C#.NET costs $500-$1000. It may be
insignificant to firms, but for individual developers it's not
always so. Furthermore, I believe that psychologically it's
easier choosing a language platform which one is sure is
going to be free for the years to come and for the versions to
4. C# seems to be very web-oriented, which means that it's
mostly used for web applications. Java seems to be used for a
larger spectrum of applications. This may be imporatant for a
developer who can't see his/her future mainly in the web
5. Java is a cross-flatform language, which means that every
application developed in Java should be comapatible with
every operation-system in the market (Linux, Apple OS etc.).
C# is basically limited to Windows computers, so by using it, a
developer loses much of the distribution potential of the
To summarize - as an independant developer, I just can't
afford a language rellevant only to Windows, taking into
consideration the increasing market of cell-phone
applications and the Linux arena.