The best reports of the DotNext 2015 Piter conference: Part 2 (Video inside)
Three days ago I talked about those reports of the DotNext 2015 Piter conference, which, according to a survey of participants, took places from 6 to 10. Now it's time to tell about the top five reports.
5th place
Kirill Skrygan, JetBrains - ReSharper vs.Roslyn Average rating: 4.33 ')
It would seem that ReSharper is a plugin for Visual Studio that extends the capabilities of the IDE. Roslyn - compiler (set of compilers). What common?
The fact is that in order to do all possible refactorings, tips, etc., ReSharper builds its own model, its own syntax tree. So, in it there is, in fact, half of the compiler, the front-end compiler. So, it can be compared with the Roslyn frontend, which Cyril did in this report.
Cyril placed accents not in favor of Roslyn:
ReSharper is 10 years older, it has many more features.
Roslyn works only for C # and VB, no javascript and other delights
ReSharper syntax tree is changeable and therefore fast, while Roslyn is unchangeable, generates a lot of memory traffic and therefore slow.
The main conclusion that I made - Roslyn is still quite a raw product, and almost all the diseases described by Kirill are “children's”. Time will pass and Roslin will probably get rid of them all. Well, what will happen in reality - time will tell.
4th place
Roman Belov, JetBrains - Memory unit testing Average rating: 4.33
Report about dotMemory Unit - a framework about Unit memory testing. What was in the report:
rationale for the usefulness of such a tool
Live Demo of how this tool works.
advertising!
dotMemory Unit allows you to search not only for memory leaks by writing tests with a description of some limitations, but, moreover, to check how far the application behaves in runtime (in terms of memory consumption) behaves as planned. For example, to control the number of objects of some type available in runtime. From the examples given by Roma:
hanging caches in memory (must be 0)
the design should be singleton (assorted by 1 and exactly 1 copy), and there are several of them in runtime
You can read more about the tool in the JetBrains blog here and here .
3rd place
Andrei DreamWalker Akinshin, Enterra - Let's talk about micro-optimizations of .NET applications Average rating: 4.52
We all know the famous statement by Donald Knuth that premature optimizations are the root of all evil. Suppose in your project
"Good" architecture
efficient algorithms and data structures
memory is used carefully
everything is good with I / O and networks
but still slow
What to do? That's right, you need to start to figure out how that piece of code that actually consumes all your CPU time is actually executed in your runtime. Andrei has sorted out and learned a lot of interesting things about how runtime is running in certain cases and, in particular, various JIT compilers (legacy JIT x86, legacy JIT x64, RyuJIT).
The report sorted out the following examples:
switch block operation
readonly fields
loop unrolling
SIMD instructions
constant folding
Instruction-level Parallelism
In December, a continuation of this report with new, in some places absolutely furious, examples can be heard on DotNext 2015 Moscow.
2nd place
Romuald Zdebsky, Microsoft - In the wake of BUILD 2015 - the .NET platform today and tomorrow Average rating: 4.58
For the second time in a row, Roman made a survey report on where .NET is heading. From what I noted for myself:
what does "merging" of all versions of Windows into one means and what does this mean for the .NET development model
in which areas is WPF developing and will be developing in the near future
what is .NET Core and its cross-platform implementation
ASP.NET 5
.NET Native
What's new in C # 6.0
Now, six months later, many articles have already been published on these topics and a lot of blog posts have been written. Win10 was released, many have already started writing for it. If you have not started yet, be sure to watch this video.
1 place
Dmitry Soshnikov, Microsoft - Magic F # for data processing: monads, type providers, and some machine learning Average rating: 4.59
Dmitry Soshnikov and F # are practically synonyms in Russia. Dmitry loves this language very much, he has been studying it for a long time and loves to talk about it. The report was all - the basics of functional programming, a few minutes of matan, an example of a remote control of a turtle from Twitter, pattern recognition, and a few more fun and astounding pieces.
The talk is a great introduction to F # and functional programming in general.
findings
Many .NET developers are really interested in low-level things related to the work of the JIT compiler, runtime, threads and synchronization, C # guts and JIT compilers. High marks to the reports of Kirill Skrygan and Andrey Akinshin are a living example.
It is not true that evangelists do not like. If these are cool dudes, like Roma Zdebsky and Dima Soshnikov, they are very fond of them. So holivaru "combat engineer vs. evangelist "propose an end. It's not about the speaker’s specialization, but how interestingly he can get his stuff across. Roma and Dima convey cool.
And of course, I invite everyone to DotNext 2015 Moscow - the only .NET conference in Russia. Come to share experiences with colleagues and ask the experts about what you personally care about. See you!