C#/.NET 5/4/2015 1 Ian Cooper

Slides:



Advertisements
Similar presentations
Svetlin Nakov Director Training and Consulting Activities National Academy for Software Development (NASD) ASP.NET 3.5 New Features.
Advertisements

Unit 1: Overview of the Microsoft.NET Platform
© ThoughtWorks, 2007 Delicious Dot Net A tasty take on WPF, WCF, LINQ and O-R Mapping. Your host: James Crisp.
.NET Framework Overview
Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
.NET 3.5 – Mysteries. NetFx Evolution NetFx 1.0 C# 1.0, VB 7.0, VS.NET NetFx 1.1 C# 1.1, VB 7.1, VS 2003 NetFx 2.0 C# 2.0, VB 8.0, VS 2005 NetFx 3.0 C#
FIRST LOOK AT “ORCAS” Scott Guthrie General Manager.NET Developer Platform.
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
ISYS 512 Business Application Design and Development with.Net David Chao.
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
ISYS 512 Business Application Design and Development with.Net David Chao.
Visual Studio 2008 and ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
What’s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
Intro to C# Language Richard Della Tezra IS 373. What Is C#? C# is type-safe object-oriented language Enables developers to build a variety of secure.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Computer science Languages, etc.. Overview For web-applications (HTML, JS) – Designing languages (HMTL, CSS) – Server Languages (PHP, ASP) – Extensions.
ISYS 350 Business Application Development
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Programming Languages
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
ISYS 512 Business Application Design and Development with.Net David Chao.
VS.NET Syllabus By Peter Huang.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Introduction to .NET Rui Ye.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Connecting the Dots…How OSIsoft Leverages Microsoft Technology Across the RtPM Platform Christian R. Luckock Technical Strategist OSIsoft.
Fundamentals of Database Chapter 7 Database Technologies.
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
Technical Programming Option Presentation 2015 Mirela Gutica.
.NET Language Supports. .NET Language Support Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services.
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Introduction to LINQ Lecture # 19 August Introduction How do you interrogate/manipulate data? What if you could do the work in a type-safe," string-free.
ISYS 812 Business Software Development David Chao.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
What’s New for Web Developers in ASP.NET and Visual Studio 2008 Kate Gregory Microsoft Regional Director
ISYS 350 Business Application Development David Chao.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
C# 2.0 and Future Directions Anders Hejlsberg Technical Fellow Microsoft Corporation.
C#: Future Directions in Language Innovation Anders Hejlsberg TLN307 Technical Fellow Microsoft Corporation.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Rich Web Applications for the Enterprise... Creating RWA from Your Oracle Database Presented By: John Krahulec Bizwhazee SEOUC Charlotte February 2009.
Satisfy Your Technical Curiosity C# 3.0 Raj Pai Group Program Manager Microsoft Corporation
ISYS 512 Business Application Design and Development with.Net David Chao.
Dynamic Languages Initiative Silverlight ASP.NET Web Services Summary.
M ICROSOFT.NET Kyle Adamski 10/15/2012. Road Map What is.NET? Common Language Runtime (CLR) Language Integrate Queries (LINQ).NET Pros.NET Cons Sources.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Wely Microsoft MVP, Visual C#
C# Diline Giriş.
Chapter 13 Web Application Infrastructure
Introducing the Microsoft® .NET Framework
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
.NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
CS360 Windows Programming
Introduction to C# AKEEL AHMED.
Silverlight Technology
Language Integrated Query (LINQ)
ASP.NET Module Subtitle.
Presentation transcript:

C#/.NET 5/4/ Ian Cooper

The shape of things to come (1)  Who are you?  What is your language  Why do you use it?  What kind of projects is it most suited to?  What kind of projects is it least suited to?  What are you using it for today?  3 exciting new developments  Frameworks that fuel adoption 5/4/2015Ian Cooper 2

The shape of things to come (2)  What is the future for your language?  What is the future for dynamic and scripting languages in general?  What other languages do you use? 5/4/2015Ian Cooper 3

Who do you think you are? 5/4/2015Ian Cooper 4 Foxpro C++ MFC Win 32 COM ATL Windows C#.NET Wilson NHibernate Nant NUnit Wix LDNUG MVP 1992: 1994: 2002: Monorail

Cool, sharp, lightning  1997: Project Lightning  COM+ 2.0  The Universal Runtime  Project Cool  Anders Hejlsberg worked on derailed J++  C# shows J++ heritage (delegates, WFC)  C#  C-family language for.NET  Open source and commercial implementations 5/4/2015Ian Cooper 5

Why? using System; namespace ShowFeatures { class Program { static void Main(string[] args) { Program program = new Program(); program.PrintGreeting(args[0]); } private void PrintGreeting(string to) { System.Console.WriteLine("Hello {0}", to); } 5/4/2015Ian Cooper 6 Garbage Collection Object Oriented C family language Access to extensive.NET libraries Strongly Typed

Where can you use it? 5/4/2015Ian Cooper 7.NET Framework C#VBOthers… ADO.NET Windows Forms Windows Presentation Foundation Windows Communication Foundation ASP.NET XAML … Base Class Library Common Language Runtime

Where is it not suitable?  Not a systems development language  Restricts ‘unsafe’ operations like pointer manipulation  Overhead of runtime, not ‘to the metal’ 5/4/2015Ian Cooper 8

What are you using it for today?  Web based underwriting system  Geographically distributed user base  Internet and intranet access  Highly scalable  Document Generation system  Highly reliable, scalable, and robust  Multi-threaded  Extensible pipes and filters architecture 5/4/2015Ian Cooper 9

LINQ 5/4/2015Ian Cooper 10.NET Language Integrated Query C# 3.0VB 9.0Others… LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities LINQ to DataSets Objects Relational XML

C# 3.0 Language Extensions 5/4/2015Ian Cooper 11 var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; var contacts = customers.Where(c => c.State == "WA").Select(c => new { c.Name, c.Phone }); Extension methods Lambda expressions Query expressions Object initializers Anonymous types

Workflow Foundation Classes  Workflow Runtime Engine  In-process, multiple hosting options  Provides support for long-running transactions  Leverages idea of code as data  Activities are.NET components  Both off-the-shelf and custom  Both simple and composite  Flow is described by XAML  Both rules and conditions supported 5/4/2015Ian Cooper 12

Dynamic Language Runtime  Services that run on top of CLR  Dynamic type system  Dynamic method invocation  Implement dynamic languages like Python and Ruby on the.NET Framework  Microsoft issued under permissive source, so can ship with open source projects like Moonlight  VBx  VB to be recast as scripting language? 5/4/2015Ian Cooper 13

What drives adoption?  Windows Forms  RAD smart-client development  Successor to VB, PowerBuilder, et al.  Webforms  Moved rich-client developers to web  Incorporates ASP.NET Ajax  Monorail challenging page controller approach  Silverlight  Rich media content via CLR on the browser 5/4/2015Ian Cooper 14

The future  Cw or Comega  Asynchronous concurrency constructs  PLINQ may use Cw features  F#  Mixed functional/imperative language  Influenced by Ocaml  DSLs  Partial methods and classes, Guidance Toolkit  Software factories, MDA, something else? 5/4/2015Ian Cooper 15

Dynamic Languages? 5/4/2015Ian Cooper 16 Position Sep 2007 Position Sep 2006 Delta in Position Programming Language Ratings Sep 2007 Delta Sep 2006 Status 11 = Java21.701%+0.17% A 22 = C14.908%-3.15% A 34 ↑ (Visual) Basic10.748%+0.12% A 45 ↑ PHP10.204%+1.08% A 53 ↓↓ C %-0.82% A 66 = Perl5.416%-0.01% A 78 ↑ C#3.583%+0.59% A 87 ↓ Python3.025%-0.12% A 99 = JavaScript2.722%+0.28% A 1013 ↑↑↑ Ruby2.065%+1.13% A 1112 ↑ PL/SQL1.860%+0.82% A 1211 ↓ SAS1.395%-0.54% A 1316 ↑↑↑ D1.370%+0.82% A 1410 ↓↓↓ Delphi1.224%-0.88% A 1517 ↑↑ ABAP0.706%+0.15% A ↓↓ Lisp/Scheme0.633%-0.02% B 1715 ↓↓ COBOL0.630%+0.07% B 1850 ↑↑↑↑↑↑↑↑↑↑↑ Lua0.572%+0.51% B 19 = Ada0.566%+0.03% B 2021 ↑ Fortran0.478%+0.08% B Source: Tiobe Programming Community Index

Guilty Pleasures  Don’t use others but  Learning Ruby, because the smart kids are.  Early Ruby adoption around Watir or scripting  Later Ruby adoption around IronRuby  Intrigued by Boo  Used by Monorail for Brail  Little Knowledge outside.NET space 5/4/2015Ian Cooper 17