View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - Hai Phan

I read an article on wikipedia entitled “Comparison of C# to Java” that concentrates on the similarities and differences between two popular OO languages C# and Java. In general, this article gives some details about common properties of these two languages. For example, they rely on a virtual machine, use synchronization, provide APIs to perform common programming tasks, and support garbage collection, etc. Like any other language, these two have their own advantages and disadvantages. For example, C# has a close connection to Windows OS and close integration with COM. It strongly supports “structs” that helps to improve the code in some circumstances, and uses the syntax that makes the code more readable and simple. However, because of using .NET, C# can not exist without Windows OS. In contrast, Java is more popular because of its compatibility and portable. It supports byte-code and provides Java Webstart and Java applets. These are lightweight, secure, and therefore easy to distribute over network. However, Java with its standard API’s is not a good choice for writing standalone applications.

The way that these two languages could affect people programming is not too much different. Because there are C based languages, they are very similar to each other. However the programmer always must take in consideration what is the purpose of the application based on where is going to be run. The idea is to give a good quality product to our users. Under the programmer view, he must decide which language is easier to learn, easier to use, or which one is more powerful than the other. It would depend on the programmer’s demand. Each language has its own advantages and disadvantages. Thus, the programmers always should consider all the requirements for a project before choosing the language for their implementation.

In reference to “Marcus Moore's discussion, we both agree that C# provides some advanced attributes such as "foreach" loop, "structs", etc, and lacks of compatibility in comparison to Java. Furthermore, Marcus also emphasizes on similarities of these two languages, therefore, someone who is familiar with the java environment would find easier to learn C#.

Links to this Page