Сколько MVP нужно, чтобы сделать программу конференции крутой? Ответ очевиден: чем больше, тем лучше! Именно поэтому с каждым DotNext это число растет: в этом году на конференции вы встретите как минимум 8 Microsoft Most Valuable Professionals и как минимум двух экcпертов из Microsoft.



Итак, кто же будет 9 декабря на DotNext 2016 Moscow? Смотрите под катом.

Главная проблема в поиске гуру-разработчиков заключается не в том, что многие из живут за рубежом. Сложность в том, что очень многие не хотят ехать в Россию. Шутка ли, у нас война, тирания и прочее: именно так им представляются Москва и Петербург. Однако лед можно растопить, и в этом нам помогают наши MVP-спикеры, которые, раз приехав на DotNext, остаются с нами надолго и часто рекомендуют коллегам приехать к нам.



Далеко за примерами ходить не нужно: Dino Esposito, Sasha Goldshtein и Андрей Акиньшин участвуют в DotNext уже не в первый и не во второй раз. Однако в этот раз программа интересна не ветеранами, а «новичками», среди которых:

  • Rachel Reese / Jet.com
  • Alex Thissen / Xpirit
  • Filip W / Sonova
  • Jesse Liberty / Liberty Associates, Inc.

Кроме того, у нас есть категория спикеров, у которых нет звания MVP. Почему? Потому что сотрудники Microsoft не могут получить такой статус. И здесь у нас есть прибавление: доклад Егора Богатова из команды Xamarin.

Что ж, новых гостей представили, давайте теперь посмотрим, о чем будем с ними беседовать. Начнем с того, что полегче, с кейноутов:

Dino Esposito – .NET Core: State of the art – своего рода продолжение доклада с питерского DotNext, дополненное и переосмысленное после полугода с момента релиза .NET Core 1.0:



Jesse Liberty, Liberty Associates, Inc.
What's new in C# 7?


Обзорный доклад последних особенностей C#6 и 7: оператор проверки на null, инициализаторы автоматически реализуемых свойств, поддержка выражений nameof, интерполяция строк и многих другие.

Джесси не только расскажет о том, что это такое, но и покажет примеры реализации в демках, которые покажут прикладную ценность новых фич.


Кроме кейноутеров, с большим обзором изменений в мире .NET выступит Alex Thissen из Xpirit, который расскажет о множестве платформ .NET, множестве компиляторов и рантаймов так, чтобы слушатели могли двигаться в ногу с Micosoft, дикими темпами двигающей свой продукт.

А что получат те, кто ждал хардкора?
Наверное, наш самый мозголомный .NET-докладчик и по совместительству лучший спикер DotNext 2016 Piter, Sasha Goldshtein, выступит с двумя докладами:

Squeezing the Hardware to Make Performance Juice: хардкорнее некуда, доклад построен вокруг получения максимума производительности из современного железа: речь пойдет о векторизации, параллельных вычислениях и архитектурах наборов команд процессоров последнего поколения. Чтобы понять, что из себя представляют доклады Саши, предлагаю вам посмотреть его доклад с совсем недавнего DotNext 2016 Piter (доклад публикуется в открытом доступе впервые, кстати):



Традиционно, второй доклад «WinDbg Superpowers for .NET Developers» будет посвящен DevTools: поговорим про скрипты и расширения WinDbg, позволяющие автоматизировать рутинные задачи; обсудим неизвестные расширения, которые позволяют выполнять реконструкцию x64стека, выводить выполняемые ASP.NET запросы и гонять LINQ-подобные запросы к объектам из .NET heap’а; кроме того, поговорим о тех фичах, которые следует использовать в коде, чтобы сильно упростить процесс дебаггинга.



Андрей DreamWalker Акиньшин из JetBrains продолжит доклад об арифметике .NET. В качестве тизера к докладу, Андрей прислал одну задачку – решения пишите прямо в комментариях и призывайте автора, чтобы он оценил ваш ответ :)

Что выведет следующий код:
var x = new List<double>();
x.Add(1e16);
x.AddRange(Enumerable.Repeat(1.0, 100));
Console.WriteLine("{0:N}", x.Sum());

Если при вычислении суммы возникают какие-нибудь проблемы, то можете ли вы предложить варианты их решения?

А для тех, кому показалось мало, милости просим посмотреть видеозапись доклада с Питерского DotNext:





Часто ли вы видите девушек-докладчиков в России (у нас-то на DotNext они есть, спасибо Юле Цисык:))?
А девушек-докладчиков MVP? Я увижу впервые!

Хотя если говорить о докладе Rachel Reese, нет никакого смысла делать акцент на том, что перед нами девушка: доклад будет посвящен построению реактивных сервисов в функциональном стиле. Одно слово: ждем!

Завершает наше MVP-шествие Filip W, который в своем докладе о C# Scripting расскажет о том, как и для чего можно применить C#-скриптинг в совершенно неожиданных местах: например, расширение приложений при помощи C#-скриптинга, встраивание REPL в приложение или браузер, или улучшенная сборка web-приложений и деплой в Azure.

imageВпрочем, что мы все об MVP, да об MVP? Довольно-таки долго мы пытались вытащить на DotNext ребят из StackOverflow (более 3-ех конференций, кажется) – все-таки у них и хайлоад, и перфоманс, да и разработчики их любят. И в этот раз с двумя докладами к спикерской команде присоединился Marco Cecconi из Лондонского офиса SO:


image

Ну и какой же DotNext без С++?

В этот раз о работе с C++ кодом расскажет Егор Богатов в своем докладе «C++ через C#»: речь пойдет о том, как сгенерировать врапперы на C# для большого проекта на С++, в кратчайшие сроки полностью повторив объектную модель оригинального кода… при этом сделать это все кроссплатформенным с помощью Xamarin.

В общем, как видите, новых лиц полно, а спикеры – все, как на подбор эксперты мирового уровня. Такого DotNext у нас правда не было. Если хотите посмотреть, кто еще из спикеров подтвердил участие, милости просим на наш сайт: там уже есть и программа, и все условия регистрации.

P.S. Если вдруг кто посчитал MVP в посте, то их получилось 7, а не 8, как в заголовке. Ответ прост: 8 MVP – это Михаил yu5k3 Щербаков, член нашего Программного комитета и лидер SPB .NET Community, недавно получивший статуэтку MVP, с чем мы его от всей души поздравляем. Мы пока не получили заявку на доклад от Михаила, однако надежды не теряем:)

Поделиться с друзьями
-->

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


  1. gotch
    17.08.2016 10:35

    На Alex Thissen / Xpirit у вас двойная надежда?


    1. ARG89
      17.08.2016 13:51
      +1

      Не сразу понял, о чем речь. Пофиксил, спасибо!


      1. gotch
        17.08.2016 17:23
        +2

        :-) А представляете, если бы их было восемь, какая ответственность бы легла на Алекса.
        Зато теперь Андрей из JetBrains занял достойное место.


  1. 23derevo
    17.08.2016 10:40
    +5

    Поздравляем Михаила Щербакова с получением MS MVP!


    1. yu5k3
      17.08.2016 18:44
      +1

      Спасибо ;)


  1. Shablonarium
    17.08.2016 23:56
    +1

    «Оператор проверки на null» — это вот правда нужно?


    1. DreamWalker
      18.08.2016 02:04
      +2

      Это очень клёвая фича. Представьте, что у вас есть некое свойство A, у которого есть свойство B, у которого есть свойство C, у которого есть свойство D, у которого вы хотите вызвать метод Foo. Но вот проблема: по пути к методу Foo одно из свойств A, B, C, D может оказаться равным null. Раньше приходилось писать:


      if (A != null && A.B != null && A.B.C != null && A.B.C.D != null)
          A.B.C.D.Foo();

      В C#6 вы можете написать просто


      A?.B?.C?.D?.Foo();

      Материал для дополнительного чтения:



      1. Shablonarium
        18.08.2016 18:58

        Я имел ввиду — кому-то еще нужно об этом отдельно рассказывать? И притом на конференции за большие деньги?


        1. real_ales
          18.08.2016 21:30

          У Джесси это будет кейноутный доклад, который по замыслу не должен быть тяжелым и технически сложным. Хардкора у нас в технических слотах хватает. :)
          Ну а если мой коммент соберет 10 лайков, то я попрошу Джесси не рассказывать про оператор проверки на null" на кейноуте :)
          А если серьезно, то есть много девелоперов, которые не особо следят за прогрессом и им это может быть полезно.


      1. timiskhakov
        19.08.2016 13:13

        Представьте, что у вас есть некое свойство A, у которого есть свойство B, у которого есть свойство C, у которого есть свойство D, у которого вы хотите вызвать метод Foo.

        Минутку, а как же закон Деметры?


        1. DreamWalker
          19.08.2016 13:19
          +1

          Увы, законы реальной жизни оказываются сильнее, такой код систематически появляется в совершенно разных проектах.
          Но даже если бы не появлялся, то


          A?.Foo();

          всё равно выглядит лаконичнее, чем какое-нибудь


          if (A != null)
          {
              A.Foo();
          }


        1. PsyHaSTe
          19.08.2016 13:22
          +1

          Закон Деметры слабее нежелания писать врапперы на врапперы на врапперы, только чтобы делегировать методы в какие-то внутренние сущности.


    1. jbaruch
      18.08.2016 06:06
      +1

      О! Груви!!!


      1. DreamWalker
        18.08.2016 08:42
        +1

        Если фича хорошая, то она часто появляется сразу в нескольких хороших языках программирования. А null propagation operator — хорошая фича, поэтому мы можем её наблюдать не только в C#6 и Kotlin, но ещё и в Groovy. =)


      1. jbaruch
        18.08.2016 08:59
        +1

        Ну, вот про «сразу в нескольких» это ты хорошо пошутил, если учесть что в Груви они появилась десять лет назад, а в С# и в Котлине сейчас. Есть инноваторы, и есть последователи, и не надо их в одну кучу мешать.


        1. DreamWalker
          18.08.2016 09:29
          +1

          Да не пытаюсь я Груви обидеть, не волнуйся так. =) Чудный язык, в нём очень давно появилось много разного и хорошего, с этим никто не спорит. Я просто хотел сказать, что это абсолютно нормально, когда хорошие фичи переходят из одних языков в другие.


          1. jbaruch
            18.08.2016 18:27

            это абсолютно нормально, когда хорошие фичи переходят из одних языков в другие

            Всячески согласен и приветствую.


  1. PsyHaSTe
    19.08.2016 00:44

    Чет на задачки никто не отвечает. Попробую я

    Скрытый текст
    Т.к. у нас плавающая точка, то все суммы будут округляться до самого числа, в результате ответ будет 1e16. В принципе, если поменять местами AddRange и Add эта проблема может решиться.


    1. PsyHaSTe
      19.08.2016 01:28

      А вообще печально, рассказывать собираются про C# 6.0 ( который по-моему все уже знают), а вот про C# 7.0 мало чего слышно. Да, на гитхабе время от времени обновляют страничку «Strong interest» (хотя изменений в ней не видно, но дата последнего редактирования меняется), хотя там тоже по сути ничего супер инновационного нет (кроме match expression). Заинтересовали было non-null reference types, но и там молчок, непонятно, идея будет реализована или нет. Я понимаю, что от спикеров инсайдерскую информацию не требуют, но это реально то, что интересно. А рассказывать про ?., про который 2 года назад уже все обсудили не так уж сильно хочется.


      1. Nagg
        19.08.2016 01:42
        +2

        По фичам 7ого шарпа можно просто отслеживать эту доку https://github.com/dotnet/roslyn/blob/master/docs/Language%20Feature%20Status.md весь процесс разработки и обсуждения розлина давольно открытый для сообщества.


    1. DreamWalker
      19.08.2016 08:47
      +2

      @PsyHaSTe, направление мысли правильное. А можно что-нибудь сделать без модификации входных данных? Другими словами, нужно написать собственную функцию Sum, которая для любого набора чисел выдаст «хорошую» сумму.


      1. PsyHaSTe
        19.08.2016 12:51

        Можно просто в обратном порядке массив пройти. Либо просто внутри Sum сначала сортировку сделать, если мы не делаем предположения о порядке элементов.


        1. DreamWalker
          19.08.2016 12:59
          +1

          Нет, предположения о порядке мы не делаем. Нам просто приходит набор double-чисел, нужно вернуть сумму.
          Сортировка — мысль интересная, но не очень хорошая в плане производительности, сумма будет работать долго.
          Можно ли что-нибудь придумать для произвольных входных данных, чтобы работало за O(N) ?


          1. PsyHaSTe
            19.08.2016 13:21

            У меня с теорией алгортимов вообще беда, так что я вряд ли что-то толковое предложу. Можно только логически порассуждать. Например, что детерменированно без потерь мы можем складывать только целые числа, либо отсортированные даблы. Сортировку за O(N) провести мы не можем, оперировать с даблами как с лонгами — это особая С++ магия, в которую я не очень умею.


            1. DreamWalker
              19.08.2016 13:54

              Тогда приходите на нашу замечательную конференцию, в своём докладе я буду рассказывать о том, как же решать эту и многие другие проблемы без всякой C++ магии. =)