1 / 30

C# is arising

Explore the emerging potential of C# and the .NET Framework in this thought-provoking presentation. Discover the benefits, criticisms, and future of C# as a powerful language for software development.

wandamorgan
Télécharger la présentation

C# is arising

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C# is arising „Imagine all the people living 4today!“ Jens Zimmermann RWG GmbH, StuttgartDept. SE12E-Mail: Jens.Zimmermann@RWG.de

  2. Preface (German Version) • „Imagine all the people living 4today - so lautet das provaktive Inhaltsverzeichnis des Vortrags. Unter diesem Focus wird das Sprachkonzept von Microsoft's C# mit dem zugrundeliegenden .NET Framework vorgestellt. • Erste Erfahrungen des Referenden und daraus ableitbare Potentiale der sog. Beta1-Version des dotNet's sind jeweils aus einem JAVA-gefärbten Blickwinkel heraus motiviert. • Themen wie: Lebt (=living) C# schon wirklich? Was sagen Kritiker in Veröffentlichungen (= the people) und Aussagen seitens Microsoft werden den Zuhörer anregen über "C# is arising" nachzudenken (->C# 4today!).“ Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  3. Please don‘t ... Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  4. Imagine All The People Living 4today C# is arising:ToC Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  5. Cross platform Cross language Cross language-inheritance! On a high (common) abstraction level: .NET „tight binding“ through libraries Support Componentmodel Features: GC, ~STL, versioning, ... Suitable workplace (IDE): browse-edit-build,deploying,... Leitmotif/principle: „KISS me“ (see combination C/Unix) Orchestration vs. Implementation ... I. Imagine  Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  6. II. All? • Yes all ! (..., you need is VS.NET) • Except: cross platform • Common Language Runtime (CLR) loading Microsoft Intermediate Language (MSIL) • Abstract architecture instead of WIN32-API: Why not porting to UNIX !,... • Imagine: Cobol, Basic, Perl, ASP ... speaks .NET as well Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  7. System.Web System.WinForms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml ADO SQL XSLT Serialization Design SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading The .NET Framework Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  8. Namespace Description Example classes System Contains all the basic types used by every application Object, Buffer, Byte, Char, Array, Int32, Exception, GC, String System.Collections Contains types for managing collections of Objects ArrayList, BitArray, Dictionary, Hashtable, Queue, SortedList, Stack System.Data Contains basic database management types DataBinding, DataRelation, DataRow, DataSet, DataTable, DataSource System.Globalization Contains types for NLS support, String compares, and Calendars Calendar, CultureInfo, JulianCalendar, NumberFormatInfo, NumberStyles, RegionInfo System.IO Contains types that allow synchronous and asynchronous reading and writing to data streams ByteStream, File, FileStream, MemoryStream, Path, StreamReader, StreamWriter System.Net Contains types that allow for network communications WebRequest, WebResponse, TcpClient, TcpListener, UdpClient, Sockets System.Reflection Contains types that allow the inspection of metadata Assembly, ConstructorInfo, FieldInfo, MemberInfo, MethodInfo, Module, ParameterInfo System.Runtime.Remoting Contains types that allow for managed remote objects ChannelServices, RemotingServices, IMessage, ImessageSink System.Security Contains types that enable security features Permissions, Policy, Principal, Util, Cryptography System.Web.UI.WebControls Contains types that enable rich user-interface controls for web-based applications AdRotator, BorderStyle, DataGrid, HyperLink, ListBox, Panel, RadioButton, Table System.WinForms Contains types that enable rich user-interface controls for desktop applications Button, CheckBox, DataGrid, FileDialog, Form, ListBox, MainMenu, MonthCalendar, NewFontDialog, RichEdit, ToolBarTreeView The .NET Framework (cont‘d) Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  9. Microsoft .NET • .NET Framework includes core services. • Common Language Runtime that makes languages interoperable. Reflection Mechanisms included. • SOAP for communication (incl. SCL, DISCO). • ASP+ for making components accessible as web services. • .NET tries to present a uniform platform for component-based software development. • WinForms and WebForms for user experience. • ADO+ for data access using XML. Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  10. Framework Provides (1) • Support for many programming languages • From Microsoft and others • A new, simpler component technology • The CLR defines common data types and more across languages • Interoperability among classes built using the CLR • Including cross-language inheritance • Code security • Allowing downloaded code to have limited access to a machine’s resources Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  11. Framework Provides (2) • Debugging and tracing across an entire application • Including ASP+ applications • Simple installation and removal of applications • No required registry entries • Simultaneous support of multiple DLL versions • The end of DLL hell Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  12. C# as 1:1 .NET Language • A new language designed expressly for the .NET Framework • Fully object-oriented • Syntax based on C/C++ • Includes: • Built-in support for interfaces, properties, and events • Support for attributes • Garbage collection • More Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  13. C# through JAVA-eyes • Common: „Pure OO“ • Similar Language-Concept • Single-Inheritance, Interfaces, • without parametric polymorphy (templates) • Common base class: object, • Libraries: System.Xxx, • ... ( see SUN versus Microsoft) • Some syntax drifts: • using-import, sealed-final, • Default: inclusion polymorphy • self-this, base-super,... Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  14. C# through JAVA-eyes (cont‘d 1) • Differences: Halftone higher then Java!?Language includes: • { get; set; } methods • Delegates (see function pointer in C++) • calling parameters ( . , ref , out ) • access qualifier: • public, private, family && || assembly • conditional compiling ( precompiler ) • structs [ (un)boxing ] Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  15. What we speak? OO-Horizont Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  16. What we speak? OO-Horizont Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  17. Jump to .NET (migration path?) • Interoperability support. • Tools that enable applications built with Visual J++ to be easily and mechanically modified • Programming tools support. • Visual Studio.NET integrated development environment to use the Java language syntax to directly target the .NET platform • Automated conversion from Java source code to C#. • A tool (!? -> C# Compiler ) automatically converts existing Java source code into C#. Any code that cannot be converted is flagged within the Visual Studio.NET Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  18. III. The people • Newsgroups • news://microsoft.public.dotnet.languages.csharp • Third party • LIB‘S (e.g streamCompress,..), WebServices, Tools • http://www. csharp-station.com, http://www.xceedsoft.com/dotnet/, ... • Gamma‘s nUnit1.7 • http://www.extremeprogramming.org/ • Books/Articles • Introduction .NET, Inside C#, A Programmer‘s Introduction to C#, ... • Since iX, JavaMagazin,... (see M.Stal, ...) Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  19. IV. Living  • Proof: 1/3 GoF-Pattern‘s • template-method, singleton, factory-method, facade, strategy, ... • Proof: Cross Language Inheritance • C#StrategyContext with VBconcreteStartegy-object and an VBClient • Gamma‘s nUnit1.7 • IBuySpy • Opensource Portal witten in ASP+ Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  20. IV. Living (cont‘d) • EAI • Microsoft‘s server farm: example: BizTalk-Server • Visual Studio.NET • Handling, Experience, assistence, degree of .NET integration • indication, signs! Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  21. Babylon good bye! Visual Basic Client: Main(){ Context myContext = new Context( new VBStrategy() ) myContext.do()} Context AbstractStrategy C#Strategy VBStrategy Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  22. IBuySpy • Solution Kit demonstrates how to build a portal site using ASP.NET • Out of the Box: • Portal-Framework • Modules: Announcement, Documents, Contacts, Events, Discussions ... • Admin Tool: UserControl, AdminPages • OpenSource: http://www.IBuySpy.com Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  23. EAI with BizTalk-Server • Biztalk Server is a solution for B2B integration. • Each business process is represented by a workflow. • A workflow is a sequence of activities triggered by rules and/or events, each activity being a sink and a source. • If the business process is driven by IT solutions, we must implement (!?) these workflows • It helps to link business processes of different companies. • Orchestration Engine for Workflow automation. Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  24. V. 4today (!?) • Fancy/big talks: „any time - any place - any device“, „dotNET is revolution !evolution“ • Vocabulary: user-Experience/UI, orchestration/implementation • Too late? (JAVA) • Generate An (OpenSource) Hype • Keep In Mind! • Enjoy/Experience Bazaar Mentality  Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  25. .NET Roadmap Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  26. ? ? ? ? ? ? ? ? ? Questions.. Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  27. Links... (1/4) • Microsoft.NET "home": • http://www.microsoft.com/net/ • VisualStudio.NET Beta 1 order || download: • http://msdn.microsoft.com/vstudio/nextgen/beta.asp • Newsgroups (http-based): • http://communities.microsoft.com/newsgroups/default.asp?icp=msdn&slcid=us Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  28. Links... (2/4) • Resources: • http://www.c-sharpcorner.com/ • http://www.csharpfree.com/ • http://www.hitmill.com/programming/dotNET/csharp.html • http://www.devx.com/dotnet/resources/ • OpenSource Portal (written in C#) • http://www.ibuyspy.com/ Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  29. Links... (3/4) • ASP.NET30 MB free webspace to develop, learn, and grow! no local installation required to experience C# • http://www.brinkster.com/ • C# Language Spec: • http://msdn.microsoft.com/net/languages/default.asp Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

  30. Links... (4/4) • Book's • http://mspress.microsoft.com/net/sample/5027.htm • see http://www.amazon.de „Csharp“ • Conferences, talks 2download: • http://www.ms-adc.de • thesis@RWG: • Porting a Java-Framework to C# Jens Zimmermann, RWG GmbH Stuttgart - C# is arising

More Related