Presentation is loading. Please wait.

Presentation is loading. Please wait.

Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net

Similar presentations


Presentation on theme: "Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net"— Presentation transcript:

1 Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net

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

3 Hello World using System; class Hello { static void Main() {
Console.WriteLine("Hello world"); }

4 .Net Framework Common Language Specification VB C++ C# J# …
Visual Studio .NET Base Class Library ADO .NET and XML ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Runtime Operating System

5 Design Goals Component Oriented Everything is an Object
Properties, methods, events Design-time and run-time attributes Integrated documentation using XML No header files, IDL, etc. Everything is an Object

6 Design Goals Garbage Collection Versioning Exceptions Type Safe
No memory leaks Versioning Built into the framework Exceptions Baked into the language and framework Type Safe No unsafe casts

7 Design Goals Multi-Platform Rotor Mono Multi-Language Win32 , Win64
FreeBSD Mono GNU/Linux , Unix, Mac OS X, Solaris Multi-Language Over 20 languages supported

8 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

9 C# only Delegates Provide callbacks Eventing model
Type safe function pointers Multicast Asynchronous

10 C# only Enumerations Structs (value types)
Group together user defined constants Type Safe Structs (value types) Created on the stack Passed by value No need to garbage collect

11 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);

12 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); Java/C++ Foo.size++; Label.font.bold = true; C#

13 C# only Preprocessor Directives Runtime code generation
Pass by reference Variable length parameter lists Explicit Interface Implementation

14 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

15 Visual Studio .NET

16 Performance / Pet Shop

17 Maintainability / Pet Shop

18 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

19

20 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

21 Links MaineBytes .Net User Group Pet Shop benchmark test
Pet Shop benchmark test Comparison of C# and Java (80 page white paper)

22 Links Mono Rotor


Download ppt "Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net"

Similar presentations


Ads by Google