C# vs Java
C# - A "Pure" Object-Oriented Language. A very high level language designed by Microsoft to solve everyday problems. C# is a very good language for Visual Basic Programmers and comes with wealth of Certifications. It is a strong language for network and internet programming. C# has redefined the programming paradigm. C# was designed to meet the needs of both C++ and JAVA programmers alike. It is supported by Microsoft's .NET framework. C# does not have vectors, it has ArrayLists. in C#, one must explicitly state which methods are virtual because by default, they are not. C# does not allow the overloading f the following operators, new, ( ), ||, && =, or any variable compound such as +=, -=. C# does not have any restrictions on the number of public classes that can exist in a source file and neither is requirement for the name of any of the classes in the file to match that of the source file. JAVA - A "Pure" Object-Oriented Languages. A very high level language. JAVA is an Interpreted language. Java does not support pointers, templates, unions, operator overloading, structures. JAVA has references. References act a lot like pointers in C++ languages but you cannot perform arithmetic on pointers in Java. Java support automatic garbage collection. It does not support destructors. Java clearly differentiate between Exceptions and RuntimeExceptions. Java Will Run on "Any" Operating System. in Java, all methods are virtual methods. There can be only one class per source file that has public access and it must have the same name as the source file.