Updates from #MSBuild 2017 from the Future of C# talks
According to StackOverflow survey, C# is still one of the Top 10 most popular (#4) and most loved programming languages.
- Visual Studio 2017 is the fastest downloads ever
- Xamarin now have over 1 million downloads
C# 70 is already available as a part of Visual Studio 2017. Here is list of planned features in the upcoming versions.
- C# 7.1 First point release – tiny features.
- C# 7.2 Safe, efficient low-level code
- C# 7.3 Next steps for pattern matching?
- C# 8.0 Prototype features – Default interface implementations, Nullable reference types, Async streams and disposables, Extension everything
Original Article
It has been 16 years since Microsoft publicly announced C# language in 2000. Over the years, C# language has matured and has become one of the most popular and loved programming languages among Microsoft developers. As a matter of fact,
C# language is #4 among the most popular programming languages behind Java, C, and C++.
Today, C# is not only a Windows development programming language but can be used to build Web applications, Windows store apps, and mobile apps including iOS and Android. C# can also do more than that. If you’ve not already read my article, I highly recommend going and reading What C# Can Do For You.
At the Build 2016 event, Microsoft made several exciting announcements and one of them was integrating Xamarin as a part of Visual Studio “15” and beyond. Now C# developers can build iOS and Android apps that can spit out native iOS and Android code.
...the future of C# is very bright.
In the following Channel 9 video, Microsoft’s Dustin Campbell and Mads Torgersen talk about the future of C#. Here are some of the bullet points from the video:
- You can write C# in any editor you want
- C# is open source now
- C# runs on Windows, Mac, and Linux
- C# can be used to build Windows client apps, Windows Store apps, iOS apps, and Android aps and can also be used to build backend and middle-tier frameworks and libraries.
C# (via Roslyn, the C# engine):
- Supports all IDEs and editors
- All the linters and analysis tools
- All the fixing and refactoring and code generation tools
- All the scripting and all the REPLs
- C# 7 comes with new features including tuples, record types, and pattern matching. Here is a good article that explains these features: All about C# 7.0 Features
Watch this 59 min video to learn more details on the future of C#.
...C# is still evolving ...
C# is young and evolving.
Unlike other programming languages, C# is still young and evolving. Now being open sourced, C# is getting community involvement and new features are being decided by community. The following table summarizes the improvements made in each newer version of the language.
Version | Year | Key features introduced |
1.0 | Jan 2002 | |
1.2 | Oct 2003 | Modern, object-oriented, type safe, automatic memory management, versioning control |
2.0 | Sept 2005 | Generics, partial classes, anonymous types, iterators, nullable types, static classes, delegate interface |
3.0 | Aug 2007 | Implicit types, object and collection initializers, auto-implemented properties, extension methods, query and lambda expressions, expression trees, partial methods. |
4.0 | April 2010 | Dynamic binding, named and optional arguments, Generic covariance and Contravariance, Embedded interop types |
5.0 | June 2013 | Async methods, Caller info Attributes |
6.0 | July 2015 | Roslyn (compiler-as-a-service), exception filters, Await in catch/finally block, auto property initializer, string interpolation, nameof operator, dictionary initializer |
7.0 | 2016 | Tuples, pattern matching, record types, local functions, Async streams |
As you can see, unlike other languages, C# is a continuous work and now it is open-source, expect more changes in future versions.
Roslyn (.NET Compiler Platform)
It is not fair to talk about C# but not talk about .NET and Roslyn. Roslyn is the code-name for .NET Compiler platform that provides open-source C# and Visual Basic compilers with rich code analysis APIs. It enables building code analysis tools with the same APIs that are used by Visual Studio.
.NET Core Framework
In late 2014, Microsoft open sourced its .NET Framework and renamed as .NET Core. .NET Core is not only open-source but also has expanded to develop native iOS and Android apps.
Mobile Development, Xamarin and C#
Microsoft acquired Xamarin, that allows C# developers to create mobile apps for Apple iOS, Google Android, and Microsoft Windows Phone. Xamarin primarily uses C# and XAML to build apps that can be compiled to native iOS and Android packages.
Summary
In this article, we talked about the future of C#. With .NET Core, UWP, Xamarin, and Windows 10, the future of C# is quite bright.