6
C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A Professional Seminar, Rivier College September 19, 2001

C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

Embed Size (px)

Citation preview

Page 1: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

C# Versus Java

Author: Eaddy, Marc

Source: Software Tools for the Professional Programmer. Dr. Dobb's

Journal. Feb2001, Vol. 26 Issue 2, p74

Hong Lu

CS699A Professional Seminar,

Rivier College

September 19, 2001

Page 2: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

Java & C#

• Java: Sun Microsystems, “it is a relatively fast, small, and reliable language that is hardware neutral.”

• C# : Microsoft, “simple, modern, object-oriented, and type-safe programming language derived from C and C++.”

Page 3: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

Hello World!

• HelloWorld.java

class HelloWorld’

{

public static void main(String[] args)

{

System.out.println(“Hello, World”);

}

}

• HelloWorld.cs

class HelloWorld

{

public static void main(string[] args)

{

System.Console.WriteLine(“Hello,world”);

}

}

Page 4: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

Common Features of Java & C#

• Automatic garbage collection. • Reflection for type information discovery. • Source code is compiled to an intermediate bytecode. • Just-in-Time (JIT) compilation compiles bytecode into

native code. • Everything must be in a class--no global functions or data. • No multiple inheritance, although you can implement

multiple interfaces. • All classes derive from Object. • Security for restricting access to resources.

Page 5: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

Common Features of Java & C#

• Exceptions for error handling.

• Packages/namespaces for preventing type collision.

• Code comments as documentation.

• Arrays are bounds checked.

• GUI, networking, and threading support.

• No uninitialized variables.

• No pointers.

• No header files.

Page 6: C# Versus Java Author: Eaddy, Marc Source: Software Tools for the Professional Programmer. Dr. Dobb's Journal. Feb2001, Vol. 26 Issue 2, p74 Hong Lu CS699A

C# Improvements Over Java

• Reflection, Metadata, and Custom Attributes

• Versioning

• Assertions

• Ref and out Parameters

• Virtual Methods

• enums

• decimal Data Types

• switch Statements

• C# Syntactic Sugar

• C# Performance Improvements