DotNext 2016 Moscow: 8 MVP, StackOverflow и немного хардкора

    Сколько 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, с чем мы его от всей души поздравляем. Мы пока не получили заявку на доклад от Михаила, однако надежды не теряем:)

    JUG.ru Group 297,90
    Конференции для взрослых. Java, .NET, JS и др. 18+
    Поделиться публикацией
    Комментарии 26
    • 0
      На Alex Thissen / Xpirit у вас двойная надежда?
      • +1
        Не сразу понял, о чем речь. Пофиксил, спасибо!
        • +2
          :-) А представляете, если бы их было восемь, какая ответственность бы легла на Алекса.
          Зато теперь Андрей из JetBrains занял достойное место.
      • +5
        Поздравляем Михаила Щербакова с получением MS MVP!
      • +1
        «Оператор проверки на null» — это вот правда нужно?
        • +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();

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


          • 0
            Я имел ввиду — кому-то еще нужно об этом отдельно рассказывать? И притом на конференции за большие деньги?
            • 0
              У Джесси это будет кейноутный доклад, который по замыслу не должен быть тяжелым и технически сложным. Хардкора у нас в технических слотах хватает. :)
              Ну а если мой коммент соберет 10 лайков, то я попрошу Джесси не рассказывать про оператор проверки на null" на кейноуте :)
              А если серьезно, то есть много девелоперов, которые не особо следят за прогрессом и им это может быть полезно.
            • 0
              Представьте, что у вас есть некое свойство A, у которого есть свойство B, у которого есть свойство C, у которого есть свойство D, у которого вы хотите вызвать метод Foo.

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

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


                A?.Foo();

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


                if (A != null)
                {
                    A.Foo();
                }
                • +1
                  Закон Деметры слабее нежелания писать врапперы на врапперы на врапперы, только чтобы делегировать методы в какие-то внутренние сущности.
              • +1
                О! Груви!!!
                • +1

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

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

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

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

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

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

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

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

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

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

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

                          • 0
                            static class Extensions
                            {
                            	public static double SumRight(this IEnumerable<double> list)
                            	{
                            		return Decimal.ToDouble(
                            			list.Select(i => new Decimal(i)).Sum());
                            	}
                            }
                            

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое