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 come.
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 development field.
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 developed product.
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.
No comments:
Post a Comment