300 likes | 331 Views
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.
E N D
C# is arising „Imagine all the people living 4today!“ Jens Zimmermann RWG GmbH, StuttgartDept. SE12E-Mail: Jens.Zimmermann@RWG.de
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
Please don‘t ... Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
Imagine All The People Living 4today C# is arising:ToC Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
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
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
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
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
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
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
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
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
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
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
What we speak? OO-Horizont Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
What we speak? OO-Horizont Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
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
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
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
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
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
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
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
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
.NET Roadmap Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
? ? ? ? ? ? ? ? ? Questions.. Jens Zimmermann, RWG GmbH Stuttgart - C# is arising
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
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
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
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