SlideShare a Scribd company logo
Why I LOVE C#, ! 
and you should too!! 
@JamesMontemagno!
Who is this guy?! 
James Montemagno! 
Developer Evangelist, Xamarin! 
@JamesMontemagno ! 
! 
motzcod.es! 
MyStepCounterApp.com!
C Hash Tag?!
C Pound Sign?!
Musical note lying a chromatic 
semitone above C and a diatonic 
semitone below D?!
C Sharp!!
What is this! 
C# thingy?!
The best programming 
language ever!! 
! 
! 
In my opinion…! 
!
Wikipedia Stuff! 
Multi-paradigm programming language encompassing these 
programming disciplines:! 
§ Strong typing! 
§ Imperative! 
§ Declarative! 
§ Functional! 
§ Generic! 
§ Object-oriented (class-based)! 
§ Component-oriented!
What is this 
CLI thing?!
It is a standard! 
Ecma (ECMA-334) ! 
! 
ISO (ISO/IEC 23270:2006)!
Common Language Infrastructure! 
An environment that allows 
multiple high-level languages 
to be used on a different 
computer environment.!
CLI Implementations! 
• .NET Framework! 
• Mono! 
• Portable.NET!
Where did C# 
come from?!
Anders Hejlsberg!
Awesome, awesome, awesome!!!! 
§ Generics! 
§ Anonymous Types! 
§ Lambdas! 
§ LINQ! 
§ Coalesce nulls operator! 
§ Implicit Generics! 
§ Auto Properties! 
§ Namespace Aliases! 
§ Enum Values! 
§ Event Operators! 
§ Format String Brackets! 
§ Conditional Ternary! 
§ Checked & Unchecked! 
§ Async/Await! 
§ Preprocessor Directives! 
§ Partial methods! 
§ Extension Methods! 
§ Object Initializers! 
§ Operator Overloading! 
§ Type Inference! 
§ WeakReference! 
§ System.IO.Path! 
§ Mutex! 
§ Nullable<T>! 
§ String.IsNullOrWhitespace()! 
§ Anonymous inline-functions!
DEMO TIME!!
Open source ! 
compiler!! 
! 
http://roslyn.codeplex.com/!
C# runs on a ! 
bunch of devices…!
Tons of Microsoft Devices!!
§ Win Forms! 
§ ASP.NET! 
§ WPF! 
§ Windows Phone! 
§ Windows Store! 
§ Silverlight! 
Microsoft Development Stuff!
But wait, ! 
there’s more!!
More Devices Please!! 
&!
Native iOS, Android, Mac, & Windows! 
Apps all in C# and Visual Studio!!
With Android Comes….!
But wait, ! 
there’s more!!
More Devices Please!! 
MonoGame! 
CocosSharp! 
!
C# for games too!!
C# Runs on 2.6 Billion Devices!!!
That is why I LOVE C#, ! 
and you should too!!
Find Me:! 
@JamesMontemagno ! 
motz.codes! 
Q & A!

More Related Content

Similar to Desert Code Camp 2014: C#, the best programming language

Learning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLearning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorial
Landice Fu
 
Fast Web Applications with Go
Fast Web Applications with Go Fast Web Applications with Go
Fast Web Applications with Go
Eylem Ozekin
 
PhoneGap mobile development
PhoneGap mobile developmentPhoneGap mobile development
PhoneGap mobile development
Maximiliano Firtman
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
.toster
 
Game On With NativeScript
Game On With NativeScriptGame On With NativeScript
Game On With NativeScript
Jen Looper
 
01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf
mojbar
 
Developer Efficiency
Developer EfficiencyDeveloper Efficiency
Developer Efficiency
Dmitri Nesteruk
 
ANUG - intro to Xamarin and Xamarin.Forms
ANUG - intro to Xamarin and Xamarin.FormsANUG - intro to Xamarin and Xamarin.Forms
ANUG - intro to Xamarin and Xamarin.Forms
James Montemagno
 
RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!
Gautam Rege
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
paramisoft
 
Intro to Dynamic Web Pages
Intro to Dynamic Web PagesIntro to Dynamic Web Pages
Intro to Dynamic Web Pages
Jussi Pohjolainen
 
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
Perforce
 
High-Performance Coding, and for Multiple Platforms and Devices
High-Performance Coding, and for Multiple Platforms and DevicesHigh-Performance Coding, and for Multiple Platforms and Devices
High-Performance Coding, and for Multiple Platforms and Devices
Perforce
 
Clojure at ardoq
Clojure at ardoqClojure at ardoq
Clojure at ardoq
Erik Bakstad
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Troy Miles
 
Introduction to Xamarin 3 Seattle Mobile .NET Developers Group
Introduction to Xamarin 3 Seattle Mobile .NET Developers GroupIntroduction to Xamarin 3 Seattle Mobile .NET Developers Group
Introduction to Xamarin 3 Seattle Mobile .NET Developers Group
James Montemagno
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
davyjones
 
DEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersDEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# Developers
James Montemagno
 
Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScript
Fokke Zandbergen
 
What happens when firefox crashes?
What happens when firefox crashes?What happens when firefox crashes?
What happens when firefox crashes?
Erik Rose
 

Similar to Desert Code Camp 2014: C#, the best programming language (20)

Learning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorialLearning by hacking - android application hacking tutorial
Learning by hacking - android application hacking tutorial
 
Fast Web Applications with Go
Fast Web Applications with Go Fast Web Applications with Go
Fast Web Applications with Go
 
PhoneGap mobile development
PhoneGap mobile developmentPhoneGap mobile development
PhoneGap mobile development
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
 
Game On With NativeScript
Game On With NativeScriptGame On With NativeScript
Game On With NativeScript
 
01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf
 
Developer Efficiency
Developer EfficiencyDeveloper Efficiency
Developer Efficiency
 
ANUG - intro to Xamarin and Xamarin.Forms
ANUG - intro to Xamarin and Xamarin.FormsANUG - intro to Xamarin and Xamarin.Forms
ANUG - intro to Xamarin and Xamarin.Forms
 
RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
 
Intro to Dynamic Web Pages
Intro to Dynamic Web PagesIntro to Dynamic Web Pages
Intro to Dynamic Web Pages
 
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
High-Performance Coding, Building and Testing for Multiple Platforms and Devi...
 
High-Performance Coding, and for Multiple Platforms and Devices
High-Performance Coding, and for Multiple Platforms and DevicesHigh-Performance Coding, and for Multiple Platforms and Devices
High-Performance Coding, and for Multiple Platforms and Devices
 
Clojure at ardoq
Clojure at ardoqClojure at ardoq
Clojure at ardoq
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
Introduction to Xamarin 3 Seattle Mobile .NET Developers Group
Introduction to Xamarin 3 Seattle Mobile .NET Developers GroupIntroduction to Xamarin 3 Seattle Mobile .NET Developers Group
Introduction to Xamarin 3 Seattle Mobile .NET Developers Group
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
DEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersDEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# Developers
 
Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScript
 
What happens when firefox crashes?
What happens when firefox crashes?What happens when firefox crashes?
What happens when firefox crashes?
 

More from James Montemagno

What's new and next for mobile development with .NET
What's new and next for mobile development with .NETWhat's new and next for mobile development with .NET
What's new and next for mobile development with .NET
James Montemagno
 
Taking Mobile Development Serverless with C#
Taking Mobile Development Serverless with C#Taking Mobile Development Serverless with C#
Taking Mobile Development Serverless with C#
James Montemagno
 
.NET North UG - What’s new & next for Xamarin developers
.NET North UG - What’s new & next for Xamarin developers.NET North UG - What’s new & next for Xamarin developers
.NET North UG - What’s new & next for Xamarin developers
James Montemagno
 
Building Stream Deck Plugins in C#
Building Stream Deck Plugins in C#Building Stream Deck Plugins in C#
Building Stream Deck Plugins in C#
James Montemagno
 
.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers
James Montemagno
 
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & MoreCreating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
James Montemagno
 
Xamarin.forms Shell + Navigation
Xamarin.forms Shell + NavigationXamarin.forms Shell + Navigation
Xamarin.forms Shell + Navigation
James Montemagno
 
Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019
James Montemagno
 
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
Expert Day - What's New, Hot, & Awesome for Xamarin DevsExpert Day - What's New, Hot, & Awesome for Xamarin Devs
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
James Montemagno
 
Oxford .NET - Go Mobile with Xamarin
Oxford .NET - Go Mobile with XamarinOxford .NET - Go Mobile with Xamarin
Oxford .NET - Go Mobile with Xamarin
James Montemagno
 
Xamarin - New & Awesome + Building Xamarin.Essentials
Xamarin - New & Awesome + Building Xamarin.EssentialsXamarin - New & Awesome + Building Xamarin.Essentials
Xamarin - New & Awesome + Building Xamarin.Essentials
James Montemagno
 
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
Zebra App Forum 2019 - Building iOS & Android Apps with XamarinZebra App Forum 2019 - Building iOS & Android Apps with Xamarin
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
James Montemagno
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
James Montemagno
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!
James Montemagno
 
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet WestideIntroduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet Westide
James Montemagno
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo Domingo
James Montemagno
 
Xamarin: The Future of App Development
Xamarin: The Future of App DevelopmentXamarin: The Future of App Development
Xamarin: The Future of App Development
James Montemagno
 
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsOptimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
James Montemagno
 
.NET Everywhere and for Everyone
.NET Everywhere and for Everyone.NET Everywhere and for Everyone
.NET Everywhere and for Everyone
James Montemagno
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile Development
James Montemagno
 

More from James Montemagno (20)

What's new and next for mobile development with .NET
What's new and next for mobile development with .NETWhat's new and next for mobile development with .NET
What's new and next for mobile development with .NET
 
Taking Mobile Development Serverless with C#
Taking Mobile Development Serverless with C#Taking Mobile Development Serverless with C#
Taking Mobile Development Serverless with C#
 
.NET North UG - What’s new & next for Xamarin developers
.NET North UG - What’s new & next for Xamarin developers.NET North UG - What’s new & next for Xamarin developers
.NET North UG - What’s new & next for Xamarin developers
 
Building Stream Deck Plugins in C#
Building Stream Deck Plugins in C#Building Stream Deck Plugins in C#
Building Stream Deck Plugins in C#
 
.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers.Net Dev Summit 2020 - What's new and next for Xamarin developers
.Net Dev Summit 2020 - What's new and next for Xamarin developers
 
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & MoreCreating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
Creating Island Tracker - Xamarin, Azure Functions, Table Storage, & More
 
Xamarin.forms Shell + Navigation
Xamarin.forms Shell + NavigationXamarin.forms Shell + Navigation
Xamarin.forms Shell + Navigation
 
Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019Seattle Mobile .NET User Group - Nov. 13th 2019
Seattle Mobile .NET User Group - Nov. 13th 2019
 
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
Expert Day - What's New, Hot, & Awesome for Xamarin DevsExpert Day - What's New, Hot, & Awesome for Xamarin Devs
Expert Day - What's New, Hot, & Awesome for Xamarin Devs
 
Oxford .NET - Go Mobile with Xamarin
Oxford .NET - Go Mobile with XamarinOxford .NET - Go Mobile with Xamarin
Oxford .NET - Go Mobile with Xamarin
 
Xamarin - New & Awesome + Building Xamarin.Essentials
Xamarin - New & Awesome + Building Xamarin.EssentialsXamarin - New & Awesome + Building Xamarin.Essentials
Xamarin - New & Awesome + Building Xamarin.Essentials
 
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
Zebra App Forum 2019 - Building iOS & Android Apps with XamarinZebra App Forum 2019 - Building iOS & Android Apps with Xamarin
Zebra App Forum 2019 - Building iOS & Android Apps with Xamarin
 
Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​Stunning Mobile Apps with the Xamarin Visual Design System​
Stunning Mobile Apps with the Xamarin Visual Design System​
 
What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!What's New, Hot, & Awesome for Xamarin Developers!
What's New, Hot, & Awesome for Xamarin Developers!
 
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet WestideIntroduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet Westide
 
What's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo DomingoWhat's New in Xamarin? - Santo Domingo
What's New in Xamarin? - Santo Domingo
 
Xamarin: The Future of App Development
Xamarin: The Future of App DevelopmentXamarin: The Future of App Development
Xamarin: The Future of App Development
 
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsOptimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
 
.NET Everywhere and for Everyone
.NET Everywhere and for Everyone.NET Everywhere and for Everyone
.NET Everywhere and for Everyone
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile Development
 

Desert Code Camp 2014: C#, the best programming language