Download presentation
Presentation is loading. Please wait.
Published byHoward Lawson Modified over 9 years ago
1
MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
2
MESDA Conference 2002 Presenters Jeffrey Hoffman, Starlit Software jeff@starlitsoftware.com UnumProvident Corp. Paul Stubbs, UnumProvident Corp. pstubbs@unumprovident.com
3
MESDA Conference 2002 Java This is a placeholder.
4
C# Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD.Net
5
Agenda Language Features Development Environment Performance Total Cost of Ownership (TCO)
6
Hello World using System; class Hello { static void Main() { static void Main() { Console.WriteLine("Hello world"); Console.WriteLine("Hello world"); }}
7
Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#J#… Visual Studio.NET.Net Framework
8
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
9
Design Goals Garbage Collection No memory leaks Versioning Built into the framework Exceptions Baked into the language and framework Type Safe No unsafe casts
10
Design Goals Multi-Platform Win32, Win64 Rotor FreeBSD Mono GNU/Linux, Unix, Mac OS X, Solaris Multi-Language Over 20 languages supported
11
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
12
C# only Delegates Provide callbacks Eventing model Type safe function pointers Multicast Asynchronous
13
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
14
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);
15
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#
16
C# only Preprocessor Directives Runtime code generation Pass by reference Variable length parameter lists Explicit Interface Implementation
17
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
18
Visual Studio.NET
19
Performance / Pet Shop
20
Maintainability / Pet Shop
21
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
23
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
24
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/CsharpVsJ ava.html (80 page white paper)
25
Links Mono http://www.go-mono.com Rotor http://www.corel.com/ssclii/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.