This week, ahead of the Windows 10 launch, Microsoft released a huge update for developers. The list of new features and enhancements is a mile long, not the least of which is the availability of Visual Studio 2015. Here are a few items that stand out as the most exciting for me.
Visual Studio 2015 Community Edition
Of course this is a big one. Visual Studio is by far the best IDE available for building software in my opinion. With 2015, the system is designed to take advantage of some major shifts in the development process being introduced by .NET 4.6 and the upcoming ASP.NET vNext.
What's special about the new Community Edition is that it's replacing the old Express versions of Visual Studio but is much more capable. In fact, it's basically the Pro version of Visual Studio for Free! Among the new features in 2015 is the ability to develop for Android and iOS via a partnership with Xamarin in addition to normal Windows development. Other highlights include real Git integration, code refactoring, improved performance profiling, and edit/resume capability during debugging.
Rosyln v1 Compiler
After 6 years of development, the new Rosyln compiler is launching with .NET 4.6. Rosyln is a move away from the traditional black box compilers and, keeping with Microsoft's new mantra, is open source.
What's cool about Rosyln is that it allows anyone to tap into the compiler to build their own tooling and custom processes. Rosyln will also usher in real time, dynamic code compilation and syntax checking - something I'm very much looking forward to.
There is a lot new under the hood, but my two favorite new capabilities are string interpolation and the null conditional operator. While both are small items, if you do any amount of C# coding you'll know immediately why these make me happy.
Building strings with variables in them has always been a concatenation pain in the butt. Even with String.Format, reading the code was difficult and moving around the ordered variables was error prone and time consuming. With the new syntax you can embed variables directly in the string making it much easier to read and write:
Null conditional operator
Basically every bit of code you write includes some form of null checking. It can take anywhere from a single AND/OR check to several lines of code to ensure a variable is not null before you try and use it. If you miss something, you wind up with a NullReferenceException and anger. The Null conditional operator will save endless lines of code and frustration. Rather than hitting you with an exception, a statement can simply return null if you try and access a property of a null object. In addition, the operator is implemented in-line with your usage statement, saving you all those extra lines of checks along the way:
These are but a few of the plethora of new features in this release. There are new versions of Entity Framework, an improved Garbage Collector, a new Just-In-Time compiler streamlined for x64, and a whole lot more. I continue to be impressed with the shift Microsoft has made and the massive strides they've taken toward their open source and rapid release initiatives.