Although the definition of system programming is fuzzy, it can be described as having to think at the bit, byte, instruction or CPU cycle level. Systems programming also implies demanding performance and reliability requirements. Joe Duffy, engineering director at Microsoft, presented strategies for system programming in C# at QCon New York. He also discusses pitfalls and how to mitigate them.
"Continuous Delivery with Windows and .Net" is a short book by Matthew Skelton and Chris O'Dell that should be seen as a very useful complement to Jez Humble and Dave Farley's "Continuous Delivery" book for those that work in a Windows and .Net environment. InfoQ talked with the authors to learn more about the state of Continuous Delivery on Windows and .Net.
ASP.NET Core introduces middleware as a concept to customize the HTTP pipeline. Middleware are components which are composed together to form a web application. The concept was inspired by OWIN and Katana, which provided similar functionalities in earlier versions of ASP.NET.
Microsoft has closed the deal with cross-platform mobile software development specialist Xamarin to buy the company and their technology. It is expected for most of Xamarin's technological assets to be integrated into Microsoft, benefiting the developers.
Some open source contributors recently raised concerns about the current state of open source in .NET. Discussions revolves around contributing to projects, both as an individual and as an enterprise. The role of Microsoft in the .NET ecosystem is also a the centre of the debate.
Sigil is a library for generating Common Intermediate Language (CIL). It wraps ILGenerator in a finer-grained interface, automates some optimizations and provides validations for the generated IL. InfoQ reached out with Sigil's creator Kevin Montrose, team lead at StackOverflow, to get a better understanding of ILGenerator and Sigil.
Paket is a package manager for .NET languages, intended to be an alternative for the popular NuGet. InfoQ reached out with Steffen Forkmann, co-creator of the project, to learn more about Paket's origin and features.
NUnit 3 was recently released, bringing parallel execution and extensibility to the .NET testing framework. InfoQ reached out with Charlie Poole, maintainer of NUnit for over 10 years, to learn more about this release.
Microsoft's new partnership with Xoreax has produced a "freemium" version of IncrediBuild for Visual Studio users. This tool uses several techniques to dramatically reduce project build times for several different project types.
The first update to Visual Studio 2015 has been released, and it brings with it a raft of changes. A number of new languages are now supported in the VS editor, and a C# scripting API and REPL was added. Other additions include .NET Famework 4.6.1 and Parallel Test Support which takes advantage of multi-core development machines.
Xamarin has announced version 4 of their platform for building cross-platform native mobile apps for iOS and Android in C#. New in this version are the GA of Insights, a Recorder for the Test Cloud and several enhancements to the Platform: Xamarin.Forms 2.0, better support for iOS in VS, support for Android Material Design and more .NET code.
The SharpDevelop Community recently released version 2 of Refactoring Essentials for Visual Studio. The release brings new analyzers, new refactorings and several improvements to the Visual Studio extension.
Seth Juarez, of Channel 9, interviews Mads Torgersen, product manager of C#, about the development of the next version of the C# language, codenamed C# 7. Alongside a few other features, three major ones are described: pattern matching, tuple syntax and nullable references.
The recent proposal to add non-nullable references to C# by Microsoft’s Mads Togersen sparked quite a debate in the .NET community. The reactions were diverse, ranging from praise to preferring status quo.
Two more significant bugs have been found when using RyuJIT and .NET 4.6. Code recompilation is not necessary to experience the effects, merely running existing code on RyuJIT (which ships in .NET 4.6 and is enabled by default) will cause severe problems.