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




5 место


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



Казалось бы, 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



Доклад про dotMemory Unit — фреймворк про Unit-тестирование памяти. Что было в докладе:
  • обоснование полезности такого инструмента
  • Live Demo того, как этот инструмент работает
  • реклама!


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




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




3 место


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



Все мы знаем знаменитое высказывание Дональда Кнута о том, что преждевременные оптимизации — корень всех зол. Предположим, в вашем проекте
  • «хорошая» архитектура
  • эффективные алгоритмы и структуры данных
  • память используется аккуратно
  • все хорошо с 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



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




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




1 место


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



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



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




Выводы

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


Ссылки



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

Комментарии (3)


  1. dbelob
    17.11.2015 23:19
    +1

    23derevo Планируется ли аналогичный рассказ (топ-10 с анонсами докладов) про Joker (а через полгода — и про JPoint)? Формат статьи отличный, как раз то, что просил в отзыве.

    Было бы здорово, если бы кто-нибудь из смотревших эти доклады написал в комментариях свои впечатления (понравилось/не понравилось, что советует посмотреть в первую очередь). Или даже про непопавшие в топ и вовсе не упомянутые доклады.


    1. 23derevo
      18.11.2015 00:15
      +2

      сделаю!


      1. dbelob
        18.11.2015 00:43

        Спасибо!