+ All Categories
Home > Documents > MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Date post: 30-Dec-2015
Category:
Upload: howard-lawson
View: 226 times
Download: 3 times
Share this document with a friend
25
MESDA Conference 2002 MESDA Annual Conference 2002 MESDA Annual Conference 2002 Software Development Track Software Development Track Java vs. C# Java vs. C#
Transcript
Page 1: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

MESDA Conference 2002

MESDA Annual Conference 2002MESDA Annual Conference 2002Software Development TrackSoftware Development Track

Java vs. C#Java vs. C#

Page 2: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

MESDA Conference 2002

Presenters

Jeffrey Hoffman, Starlit Software<[email protected]>

Paul Stubbs, UnumProvident Corp.UnumProvident Corp. <[email protected]>

Page 3: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

MESDA Conference 2002

Java

This is a placeholder.

Page 4: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C#

Paul StubbsMCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net

Page 5: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Agenda

Language Features Development Environment Performance Total Cost of Ownership (TCO)

Page 6: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Hello World

using System;using System;

class Helloclass Hello{{ static void Main() {static void Main() { Console.WriteLine("Hello world");Console.WriteLine("Hello world"); }}}}

Page 7: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

Base Class LibraryBase Class Library

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Common Language SpecificationCommon Language Specification

VBVB C++C++ C#C# J#J# ……V

isua

l Stud

io .NE

TV

isua

l Stud

io .NE

T

.Net Framework

Page 8: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Design Goals

Component Oriented Properties, methods, events Design-time and run-time attributes Integrated documentation using XML No header files, IDL, etc.

Everything is an Object

Page 9: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Design Goals

Garbage Collection No memory leaks

Versioning Built into the framework

Exceptions Baked into the language and framework

Type Safe No unsafe casts

Page 10: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Design Goals

Multi-Platform Win32 , Win64

Rotor FreeBSD

Mono GNU/Linux , Unix, Mac OS X, Solaris

Multi-Language Over 20 languages supported

Page 11: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Interoperability

No need to rewrite everything Interop with COM+, XML, SOAP, DLL

and other .Net assemblies Use .Net assemblies from COM C++

Pointers (in unsafe code) Unsigned integers Can only be run from FullyTrusted code

Page 12: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C# only

Delegates Provide callbacks Eventing model Type safe function pointers Multicast Asynchronous

Page 13: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C# only

Enumerations Group together user defined constants Type Safe

Structs (value types) Created on the stack Passed by value No need to garbage collect

Page 14: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C# only

Foreach Iterate through arrays, collections and

classes Consistent and concise

String[] months = {“Jan”,”Feb”,”Mar”,”Apr”,”May”};

Foreach{string month in months}

Console.WriteLine(“The month is “ + month);

Page 15: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C# only

Properties Accessed as if it were a field Same as getter and setter pattern Maintains relationship between get and

set

Foo.setSize(getSize() + 1);

Label.getFont().setBold(true);

Foo.size++;

Label.font.bold = true;

Java/C++

C#

Page 16: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

C# only

Preprocessor Directives Runtime code generation Pass by reference Variable length parameter lists Explicit Interface Implementation

Page 17: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Development Tools

Visual Studio .Net Rich Client development Web Client development Mobile Client (WAP) development Windows CE (PocketPC) development Office 11 (soon) development XML/XSL development Integrated Source Control

Page 18: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Visual Studio .NET

Page 19: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Performance / Pet Shop

Page 20: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Maintainability / Pet Shop

Page 21: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Affordability Windows on Intel delivers more bang

for the buck than the Mainframe or UNIX-based servers

Visual Studio .NET Less code End to End Debugging XCOPY deployment Integrate existing code Use existing developers skills

Page 22: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
Page 23: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Summary

C# and Java are very similar Power of C++ simplicity of VB C# is a standard

ECMA-334 C#, ECMA-335 CLI, ISO Robust Development Environment High Performance Lower cost

Page 24: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Links

MaineBytes .Net User Group http://www.MaineBytes.com

Pet Shop benchmark test http://www.middleware-company.com/

j2eedotnetbench/ Comparison of C# and Java

http://www.25hoursaday.com/CsharpVsJava.html (80 page white paper)

Page 25: MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#

Links

Mono http://www.go-mono.com

Rotor http://www.corel.com/ssclii/


Recommended