Year 2016 in .NET ecosystem

Posted by scooletz on December 15, 2016 · 2 mins read

TL;DR

This was a truly amazing year for .NET ecosystem. Let’s go through some of the important events in our ecosystem.

Core & Standard

.NET Core and Standard moved closer to the mainstream development. There are applications running Core in production already. The Standard addresses the fragile point of the cross platform solutions - APIs which you can use. It had some versioning problems, but they seem to be solved for now.

Kestrel

The ASP team with Ben A Adams are working really hard! ASP .NET Core, on Linux, is 10th in the ranking of the plain text speed. Let me say it again: Linux, .NET Core, 10th place. And it will be faster for sure.

https://twitter.com/ben_a_adams/status/798940941159571457

Slices, memory pools and more

.NET Core and .NET at all are getting more and more attention in terms of performance. Slices (previously spans) which can be seen as a better alternative to ArraySegment abstracting acce ss to an allocated collection of values (an array, an unsafe pointer-based memory segment). Memory pools and UTF8 strings are being brought to the mainstream. This won’t be used in every project, but having these foundations is much easier to think about .NET as a platform for writing well performing systems, databases etc.

Benchmarking

BenchmarkingDotNet isn’t a library used only occasionally. Many projects embed tests based on it as a part of their tests suites. You can see the benchmarking output table in many PRs which is really good. I’ve heard Knuth’s phrase about performance much to often. It’s good to see that performance is getting attention. You don’t have to benchmark everything, but as a software engineer you should be aware of the tooling and apply it when needed.

Asyncing

Async await is globally accepted. The understanding of it seems to be better. Hopefully, we’ll see less of the sync/async battles and new APIs will follow only one of these.

Summary

It was a really good year. Let’s push it even further in the next one!


Comments

Agree on this one. Specially that I'm starting to use it and will be probably using it on various platforms. Also waiting for ARM support ;-)

by ChaosEngine at 2016-12-15 18:50:50 +0000

Yeah, especially ARM8 which brought so many improvements for multithreaded apps.

by Szymon Kulec 'Scooletz' at 2016-12-15 22:19:17 +0000

My tools



[PL] Master of Aggregates
[PL] Master of Aggregates
[ENG] My free e-book
[ENG] My free e-book