Лучшие доклады конференции DotNext 2015 Piter: Часть 2 (Видео внутри)

Три дня назад я рассказал о тех докладах конференции DotNext 2015 Piter, которые, согласно опросу участников, заняли места с 6 по 10. Теперь пришло время рассказать про лучшую пятерку докладов.

5 место


Кирилл Скрыган, JetBrains — ReSharper vs. Roslyn
Средняя оценка: 4.33

c97f8c6a21ae4b9995f754e9ac2e2636.jpg

Казалось бы, ReSharper — плагин к Visual Studio, который расширяет возможности IDE. Roslyn — компилятор (набор компиляторов). Что общего?

Дело в том, что для того, чтобы делать все возможные рефакторинги, подсказки и пр., ReSharper строит собственную модель, собственное синтаксическое дерево. А значит, в нем есть, фактически, половина компилятора, компиляторный front-end. А значит, его можно сравнить с фронтэндом Roslyn, что Кирилл и сделал в этом докладе.

Акценты Кирилл расставил не в пользу Roslyn:

  • ReSharper на 10 лет старше, в нем гораздо больше фич
  • Roslyn работает только для C# и VB, никаких JavaScript и прочих прелестей
  • синтаксическое дерево у ReSharper изменяемое и поэтому быстрое, а у Roslyn неизменяемое, генерит много memory traffic и поэтому медленное.

Основной вывод, который сделал я — Roslyn еще пока довольно сырой продукт, а почти все описанные Кириллом болезни — «детские». Пройдет время и наверняка от всех от них Рослин избавится. Ну, а что будет на самом деле — покажет время.

4 место


Роман Белов, JetBrains — Юнит-тестирование памяти
Средняя оценка: 4.33

36a3dcc5b8f94e739ab3b91a73d5a608.jpg

Доклад про dotMemory Unit — фреймворк про Unit-тестирование памяти. Что было в докладе:

  • обоснование полезности такого инструмента
  • Live Demo того, как этот инструмент работает
  • реклама!

dotMemory Unit позволяет искать не только утечки памяти путем написания тестов с описанием каких-то ограничений, но, более того, проверять, насколько приложение в рантайме ведет себя (с точки зрения потребления памяти) ведет себя так, как запланировано. Например, контролировать количество имеющихся в рантайме объектов какого-то типа. Из приведенных Ромой примеров:

  • висящие кэши в памяти (по ассершену должно быть 0)
  • по дизайну должен быть синглтон (ассершен на 1 и ровно 1 экземпляр), а в рантайме их находится несколько

Подробнее про инструмент можно прочитать в блоге JetBrains тут и тут.

3 место


Андрей DreamWalker Акиньшин, Энтерра — Поговорим о микрооптимизациях .NET-приложений
Средняя оценка: 4.52

80107a925ddd4df6b20f46a65c2d12b4.jpg

Все мы знаем знаменитое высказывание Дональда Кнута о том, что преждевременные оптимизации — корень всех зол. Предположим, в вашем проекте

  • «хорошая» архитектура
  • эффективные алгоритмы и структуры данных
  • память используется аккуратно
  • все хорошо с I/O и сетями
  • но все равно тормозит

Что делать? Правильно, надо начать разбираться, как в вашем рантайме реально исполняется тот кусок кода, который у вас отжирает все процессорное время. Андрей поразбирался и узнал много всего интересного о том, как поступают в тех или иных случаях рантайм и, в частности, разные JIT-компиляторы (legacy JIT x86, legacy JIT x64, RyuJIT).

В докладе разобраны следующие примеры:

  • работа switch-блока
  • readonly-поля
  • loop unrolling
  • SIMD-инструкции
  • constant folding
  • Instruction-level Parallelism

В декабре на DotNext 2015 Moscow можно будет услышать продолжение этого доклада с новыми, местами совершенно зубодробительными, примерами.

2 место


Ромуальд Здебский, Microsoft — По следам BUILD 2015 — платформа .NET сегодня и завтра
Средняя оценка: 4.58

e71a106b81c140bca9ca60ea6437236d.jpg

Второй раз подряд Роман делал обзорный доклад о том, куда движется .NET. Из того, что для себя отметил я:

  • что обозначает «слияние» всех версий Windows в одну и что это значит для модели разработки на .NET
  • в каких направления развивается и будет развиваться в ближайшее время WPF
  • что такое .NET Core и его кросс-платформенная реализация
  • ASP.NET 5
  • .NET Native
  • что нового в C# 6.0

Сейчас, спустя полгода, на эти темы выпущено уже множество статей и написана куча блогпостов. Win10 вышла в релиз, многие уже начали писать под нее. Если вы еще не начали — обязательно посмотрите это видео.

1 место


Дмитрий Сошников, Microsoft — Магия F# для обработки данных: монады, провайдеры типов, и немного машинного обучения
Средняя оценка: 4.59

c446d6e328cc492bbd2f0eec924a4758.jpg

Дмитрий Сошников и F# — в России практически синонимы. Дмитрий очень любит этот язык, давно им занимается и обожает про него рассказывать. В докладе было все — основы функционального программирования, несколько минут матана, пример с дистанционным управлением черепашкой из твиттера, распознавание образов и еще несколько веселых и поражающих воображение штук.

Доклад является отличным введением в F# и функциональное программирование в целом.

Выводы

  • Многим .NET-разработчикам действительно интересны низкоуровневые штуки, связанные с работой JIT-компилятора, рантайма, потоков и синхронизации, кишочки С# и JIT компиляторов. Высокие оценки докладам Кирилла Скрыгана и Андрея Акиньшина — живой тому пример.
  • Неправда, что евангелистов не любят. Если это крутые чуваки, как Рома Здебский и Дима Сошников — то очень даже любят. Так что холивару «боевой инженер vs. евангелист» предлагаю положить конец. Дело не в специализации спикера, а в том, насколько интересно он может донести свой материал. Рома и Дима доносят круто.

Ссылки

Ну и конечно, приглашаю всех на DotNext 2015 Moscow — единственную .NET-конференцию в России. Приходите, чтобы обменяться опытом с коллегами и спросить у экспертов о том, что волнует лично вас. До встречи!

© Habrahabr.ru