![](https://habrastorage.org/files/870/d96/859/870d9685927b41d3bd6fd3c3b1e7195c.jpg)
В июне, когда конференция DotNext проходила в Петербурге, .NET-мир переживал сложный момент: Microsoft внезапно меняла многое в .NET Core уже на стадии release candidate. Теперь, когда прошла московская версия конференции, можно сравнить их и понять: как прошедшие полгода сказались на ситуации? А какие доклады московской были посвящены не последним потрясениям, а «вечным проблемам»? На Хабре уже появился отзыв глазами зрителя, а теперь мы публикуем свой текст.
![](https://habrastorage.org/files/1cc/525/d01/1cc525d013d0461e8e7ec8523a0e7128.jpg)
В топ-5 докладов предыдущего DotNext попало выступление Дино Эспозито как раз о пришествии (ASP).NET Core. Там он громко и саркастично рассуждал о том, как в погоне за революционными изменениями в Microsoft позабыли о «that crazy little thing called legacy code». Теперь же в открывающем кейноуте Дино снова говорил о той же теме, но его тон был спокойнее, а на слайдах было больше диаграмм: с релиза 1.0 уже прошло несколько месяцев, и пришло время серьёзнее разобраться, что будет значить миграция на Core. Впрочем, полностью избежать ёрничанья он не мог: «Конечно, я люблю system.web — я заработал на дом тем, что писал о нём! Так что это старый друг, но теперь он покидает нас».
![](https://habrastorage.org/files/76f/094/d40/76f094d40de4460bbf20e9c71f06b335.jpg)
Дальше тему .NET Core (а также .NET Standard) подхватывал Алекс Тиссен (Xpirit). Он сделал оговорку «Core успевает измениться за то время, что на него смотришь» — но это не остановило его от подробного рассказа о многом, что можно увидеть сейчас, начиная с ухода от project.json и заканчивая тем, чего ждать от .NET Standard 2.0.
![](https://habrastorage.org/files/463/e55/ee6/463e55ee67c24476afa1642ff9dc4072.jpg)
Поначалу на конференции можно было запутаться в именах спикеров: в этот раз, помимо давно любимых зрителями DotNext Дино Эспозито и Саши Гольдштейна, присутствовала ещё и Дина Гольдштейн (Aternity). Она рассказывала об Event Tracing for Windows, начав с того, в чём сложности с традиционными профайлерами: «Они требуют перекомпиляции или перезапуска — попробуй-ка просто так перезапустить софт в аэропорту! А ещё там возникают сложности и с оверхедом, и с лицензированием». В целом доклад понравился зрителям, но сразу несколько указали в отзывах, что кое-чего им не хватило: хотелось увидеть не только скриншоты и код, но и живое демо.
![](https://habrastorage.org/files/741/503/4e2/7415034e26c14a709fd2eb26c950e146.jpg)
Дмитрий Сошников (Microsoft) уже мельком затрагивал тему Microsoft Cognitive Services в своём кейноуте на петербургском DotNext, а теперь посвятил весь свой доклад ей и Microsoft Bot Framework. Хотя сейчас компания известна не AI-технологиями, она делает на них большую ставку. Так что даже тем, у кого сейчас работа с этим не связана, полезно следить за тем, какие «когнитивные API» она предоставляет. Конечно, при желании следить за этой темой можно и по официальным новостям — но многие зрители в своих отзывах отметили яркую подачу Дмитрия, и вот этого в новостях не найдёшь.
![](https://habrastorage.org/files/af8/236/52a/af823652a289436fa63a67a01417bedb.jpg)
По недавнему интервью Андрея DreamWalker Акиньшина (JetBrains) легко заметить, насколько он воодушевлён проектом Rider, над которым работает. И на открытии конференции он тоже говорил об этом: «я утром просыпаюсь, сразу открываю Rider и начинаю что-то делать». Но его доклад был посвящён совсем другому: после того, как петербургское выступление о тонкостях арифметических операций было очень тепло принято, в Москве он развил тему.
Имеют ли все эти тонкости практическое значение в жизни разработчика, или это нюансы, о которых интересно знать, но которые толком никогда не сказываются? Андрей начал доклад с нескольких примеров того, как они сказывались очень значительно. Вероятно, самый впечатляющий пример — история о том, как в 1991-м «маленькая и ни на что не влияющая» погрешность в софте зенитно-ракетного комплекса за 100 часов работы накопилась до ошибки в треть секунды, а в итоге погибли 28 солдат.
![](https://habrastorage.org/files/8db/1ae/897/8db1ae897b4042c9a05c1d81dc936627.jpg)
У Марко Чеккони (Stack Overflow) было два доклада за день. И если с темой первого «Stack Overflow — It's all about performance!» всё понятно (о ней он нам также рассказывал до конференции), то вот «Performance tuning Stack Overflow tags» могла удивить: а что, теги на сайте — это настолько значимая и самодостаточная тема с точки зрения перфоманса, что ей надо посвящать отдельный доклад? Но Чеккони быстро дал понять, что тут хватает своих подводных камней: «Например, в нашем поиске тег можно задать не только как windows, но и как windows*, чтобы вместе с ним нашлись все вроде windows-10. И у нас такая аудитория, что этой возможностью действительно часто пользуются!» Интересно, заранее и не догадаешься, что «техническая продвинутость» аудитории сайта может сказываться на работе с его перфомансом.
![](https://habrastorage.org/files/426/16b/55b/42616b55beca4be89bf3b5a2faefe303.jpg)
Саша Гольдштейн (Sela Group) тоже выступил дважды — с «WinDbg Superpowers for .NET Developers» и «Squeezing the Hardware to Make Performance Juice». Как известно, «software is hard, but hardware is harder», поэтому умение Саши объяснять всё простыми словами во втором случае особенно пригодилось.
У разработчиков может возникать ощущение «если я не ракеты запускаю, то зачем мне вообще забивать себе голову железными вопросами», и в докладе была очень наглядная иллюстрация того, зачем: вопрос со Stack Overflow «Why is it faster to process a sorted array than an unsorted array?». Из-за того, как работает branch prediction (о котором автор вопроса не знал), разница во времени обработки у него составила шесть раз, и когда различия оказываются такими, явно полезно понимать, как всё работает. От этого примера Саша перешёл к более сложным темам вроде SIMD, сохранив при этом доступность изложения.
![](https://habrastorage.org/files/59d/346/64c/59d34664cca44f5b943730149429996c.jpg)
Наконец, Джесси Либерти (Liberty Associates), также выступивший дважды, в заключительном кейноуте говорил о нововведениях C# 7. В основном речь была прямолинейно-информативной, но порой Либерти уходил в сторону («как вы произносите tuple — “тапл” или “тупл”?»), а порой позволял себе вольности («out variables — они… тут можно говорить “сосут”?»). Среди того, о чём он рассказывал, был pattern matching («у switch-выражений в качестве case может выступать паттерн!»), и тут любопытно сравнить мир C# с развивающейся параллельно Java. Там недавно тоже заговорили о возможном добавлении pattern matching — но пока что с оговоркой «это вилами по воде писано».
![](https://habrastorage.org/files/149/dcd/36c/149dcd36cdc14089badaf52e5c2e6522.jpg)
А теперь, когда с конференции прошло достаточно времени, можно вычислить топ-5 докладов по присланным зрителями оценкам. И он получился таким:
- Sasha Goldstein (Sela Group) — WinDbg Superpowers for .NET Developers
- Андрей Акиньшин (JetBrains) — Продолжаем говорить про арифметику
- Sasha Goldstein (Sela Group) — Squeezing the Hardware to Make Performance Juice
- Роман Неволин (EPAM) — F# во славу Data Science
- Дмитрий Сошников (Microsoft) — Интеллектуальные чатботы и когнитивные сервисы
Его любопытно сравнить с предыдущим петербургским топом. Во-первых, из четверых попавших в список спикеров трое были лидерами и на прошлом DotNext. А во-вторых, Саша Гольдштейн снова занял одновременно первое и третье места!
Похоже, после всех перипетий с релизом Core теперь .NET-миру хочется стабильности.
![](https://habrastorage.org/files/1f6/626/049/1f6626049b1c4984964a33d98bb92223.jpg)
Комментарии (12)
PsyHaSTe
22.12.2016 21:18Вопрос, будут ли выложены фотографии в хорошем качестве? Видео видео, но фото (особенно финальное) хотелось бы оставить на память всем участникам, я так думаю.
EngineerSpock
22.12.2016 22:17+1а порой позволял себе вольности («out variables — они… тут можно говорить “сосут”?»)
В оригинале он сказал «suck»? Как я понимаю, у них это не совсем «сосать», несмотря на прямой перевод. У них при ругательстве это вроде «отстой». По крайней мере, я много раз слышал как люди говорят «suck» без зазрения совести, у них почему-то это не так воспринимается как у нас, поэтому я бы всё же переводил как «отстой». ИМХО)))phillennium
22.12.2016 23:04+1«Suck», да. Ну, возможно, некоторая разница в степени грубости есть, но перед словом «отстой» обычно не возникает вопрос «можно ли мне так сказать» :)
geekmetwice
26.12.2016 03:49+4Почему мне все 5 докладов кажутся слишком «посторонними», не интересными, но при этом залезли аж в топ-5? Как разработчику .NET, у меня есть море тем, где интересно было бы полазить, но эти 5… будто из пальца высосали. Или это был выбор «лучшее из того, что есть»?
23derevo
26.12.2016 14:36-1Вероятно, ваши вкусы и ваши критерии интересности сильно отличаются, от вкусов и критериев большинства участников конференции. Наверное, это не хорошо и не плохо, просто учитывайте это в будущем.
PsyHaSTe
27.12.2016 13:00Ну не знаю, Гольдштейн заслуженно получил свои места в этом голосовании. Так что по крайней мере наполовину я с этой выборкой согласен. Насчет остальных докладов не знаю, я был на других, и тот жe stackoverflow tags мне очень понравился, хотя его нет в списке. Но там хороший пример того, что приложение не обязательно «переписывать на плюсы», чтобы оно быстро работало.
aquamakc
Жаль, что видео ждать целых пол-года.
23derevo
меньше. Месяца три
sentyaev
А чего сразу не выложить?
23derevo
По двум причинам:
sentyaev
Это понятно.
Про мотивацию и преимущества могли бы и не писать.