Like most languages that rely on a mark-and-sweep garbage collector, C# can run into performance problems when allocating memory too often or when making large allocations. Ben Watson, a Senior SDE at Microsoft working on Bing, ran into just that problem with the MemoryStream class.
With C# 6 nearly complete, work has begun on the next version. Like past versions, the first step is to set an overall theme and scope for what is to come. That vision has been shared by Mads Torgersen by publishing the first set of meeting notes for the C# 7 design team.
amarin last week announced version 8.6 of its iOS SDK (Xamarin.iOS), the first non-beta release to include the company's Unified API for iOS and Mac. The Unified API replaces the 32-bit MonoTouch and MonoMac APIs, enabling code re-use across both platforms and adding 64-bit support.
Microsoft is continuing their move from CodePlex to GitHub for their open source offerings. The F# compiler was moved on the 13th, with the Roslyn based C# and VB compilers following a few days later.
Lang Ext, an open-source library for C# written by London-based Paul Louth, provides a set of helper functions and types that aim to "bring some of the functional world into C#" while trying to look like extensions to the language itself.
Mads Torgersen, C# program manager at Microsoft, published a short video presentation describing what is coming in the next major C# version, C# 6. Among C# 6 new features, Mads highlighted getter-only properties, the lambda-arrow operator, string interpolation, and more.
Microsoft's recent trend toward open source software has made a major advance as the company has released the core .NET software stack under the MIT License and published the code on GitHub. The company plans to fully support an "enterprise ready" version of .NET for Windows, Linux, and Mac OS X.
The Unreal Engine joins Unity with C# support thanks to Xamarin's new Mono for Unreal Engine. This extension enables developers to create Unreal Engine just using C#.
The Xamarin Evolve 2014 event taking place these days in Atlanta, US, has produced a number of news related to the cross-platform tools Xamarin makes: Android Player – a hardware accelerated Android simulator-, Sketches –a REPL-like environment-, and Profiler –a C# code profiler-.
As the next version of C# gets closer, features that are not quite ready have to be cut. The features. Newly removed from the list are primary constructors and declaration expressions.
Windows App developers have a new way to utilize GPU to accelerate their 2D-based graphical code. New Windows Runtime API Win2D provides Universal Apps on Windows Phone and Windows Store apps a way to access DirectX without resorting to C++.
Mono 3.8.0 was released last week. It comes with several performance and scalability improvements across the runtime, as well as finishes the Windows port.
The Bing Developer Assistant is a new plugin for C# developers to enable effective searches for code samples from within Visual Studio. Rather than requiring a context switch to a web browser, the plugin lets developers make code searches while they work.
The ASP.NET vNext runtime uses the Rosylyn compiler to compile and load the C# sources before running them. David Fowler shows how you can leverage the DI-by-design approach of KRuntime to inject support for your own language.
Another concept from functional programming languages making its way to C# and VB is what’s known as pattern matching. At first glance pattern matching looks like a switch/select block, but it is much more powerful.