Continuing our look at the future of C#, we now take a look at Proposal 119. This would add first class compiler and syntax support for method-level contracts.
Under the name of Project Oxford, Microsoft has made available a set of RESTful APIs that aim to make it possible for developers to build apps that feature face recognition, speech processing, and other machine learning algorithms. Part of the Azure portfolio, the new APIs are currently in beta and free to use up to 5,000 call per month.
While the enterprise deployment scenario remains unsatisfactory, deploying Universal Applications through the Windows Store has improved significantly in Windows 10.
At Ignite Microsoft announced new networking capabilities for Azure described as being ‘for a consistent, connected and hybrid cloud’. The new capabilities include improvements to ExpressRoute, Azure’s Internet bypass offering, availability of ExpressRoute for SaaS such as Office 365 and Skype for Business, additional VPN capabilities and enhancement of virtual networks in Azure’s IaaS.
Mono 4.0 was officially released this month. This marks the first version that contains open source code from Microsoft’s CoreCLR project. It also defaults to C# 6, meaning that once again Mono has an RTM version of a new C# compiler before Microsoft.
In C#, the readonly keyword can only be used at the field level. Under proposal 115, Readonly for Locals and Parameters, this would be extended to cover a many more scenarios.
In an attempt to bring Android, iOS, classic Windows and web applications on a single platform and make them available through the Windows Store, Microsoft has launched four projects, also knows as Universal Windows Platform Bridges, namely: Astoria, Islandwood, Centennial, and Westminster.
The .NET Core runtime has realized the vision of being truly cross-platform with its arrival on Linux and Mac OS X. Last week at Microsoft Build, Microsoft Program Manager Habib Heydarian talked about how this benefits developers and where they can start to explore the new opportunities.
Developers working on the .NET Core project have added support for the FreeBSD platform. It is now possible run a single .NET assembly across all 4 platforms (Mac OS X, Linux, Windows, and FreeBSD).
Though on the “Some Interest” list, the next proposal is very controversial. The basic premise for the Lambda Capture Lists proposal is that it would allow more control over how variables are captured in closures.
Java developers have long been able to use SonarQube to measure and analylize their code base for technical debt. Now C# developers using can benefit from this tool thanks to its improved cooperation with Visual Studio and Team Foundation Server.
Historically working with BizTalk has been overly difficult. Once you get past very simple scenarios, the learning curve for BizTalk was so steep that most developers didn’t even bother trying. They would either hack something together or just skip BizTalk entirely and just use purely custom code. Azure App Logic seeks to correct this problem with a new approach.
Code Aware Libraries are “libraries that provide guidance on correct use through embedded tooling and operates on the user’s code in real time.”
The next proposal in our C# Futures series considers the possibility of offering extension fields. This in turn would allow for extension properties and extension events.
Developing Universal Applications require an understanding of .NET Native, their “compiler in the cloud” that allows one application to run on a variety of devices with paying for JIT compilation.