Релиз Aspire, типы расширений, новинки Build 2024

Подкаст RadioDotNet выпуск №94 от 3 июня 2024 года
Разговоры на тему .NET во всех его проявлениях, новости, статьи, библиотеки, конференции, личности и прочее интересное из мира IT.
Аудиоверсия: api.mave.digital/storage/podc...
Темы:
[00:00:00] - Приветствие
• Radio.DotNet.Ru
[00:01:35] - General Availability of .NET Aspire
• devblogs.microsoft.com/dotnet...
[00:20:55] - What's new in C# 13
• build.microsoft.com/en-US/ses...
[00:56:05] - .NET Announcements and Updates from Microsoft Build 2024
• devblogs.microsoft.com/dotnet...
• devblogs.microsoft.com/dotnet...
[01:03:50] - .NET 9 Preview 4
• github.com/dotnet/core/discus...
• github.com/dotnet/core/blob/m...
• github.com/dotnet/core/blob/m...
• github.com/dotnet/core/blob/m...
• github.com/dotnet/core/blob/m...
[01:27:00] - Visual Studio 2022 17.10 and Visual Studio 2022 v17.11 Preview 1
• devblogs.microsoft.com/visual...
• devblogs.microsoft.com/visual...
[01:31:30] - Announcing NuGet 6.10
• devblogs.microsoft.com/nuget/...
[01:34:40] - Кратко о разном
• • "Highly Technical Talk...
• habr.com/ru/companies/pvs-stu...
• xunit.net/releases/v2/2.8.1
Голоса выпуска:
• Анатолий Кулаков
• Игорь Лабутин ( / ilabutin )
Звукорежиссёр:
• Игорь Лабутин ( / ilabutin )
Фоновая музыка:
• Максим Аршинов «Pensive yeti.0.1» (hightech.group/ru/about)
Спасибо за помощь:
• Александр
• Сергей
• Владислав
• Шевченко Антон
• Лазарев Илья
• Гурий Самарин
• Виктор
• Руслан Артамонов
• Александр Ерыгин
• Сергей Бензенко
• Александр Лапердин
• Ольга Бондаренко
• Дмитрий Сорокин
• Сергей Краснов
• Константин Ушаков
• Андрей Фазлеев
• Басим Аль-Джевахири
Почта: Radio@DotNet.Ru
Сайт подкаста: Radio.DotNet.Ru
RSS подписка: cloud.mave.digital/37167
Google Podcasts: podcasts.google.com/feed/aHR0...
Apple Podcasts: podcasts.apple.com/us/podcast...
Яндекс Музыка: music.yandex.ru/album/12041961
KZread Playlist: • RadioDotNet
Boosty (₽): boosty.to/RadioDotNet

Пікірлер: 18

  • @amwrag
    @amwragАй бұрын

    За ссылки на обсуждаемый контент и тайм-коды в описание - моё уважение и поклон.

  • @user-uu6xz6lk6o
    @user-uu6xz6lk6oАй бұрын

    implicit/explicit - эти ключевые слова уже есть. for - тоже. Итого только 1 новое ключевое слово

  • @tt0nix

    @tt0nix

    Ай бұрын

    Больно у них применение другое было. Проблема то не в том что есть они или нет. Проблема в том что не было у них такого использования, семантический смысл другой был. Новые разработчики видят неконсистентный синтаксис. Когда в языке for используется и для цикла и для расширения. Но для расширения не всегда, а только если не наследование и не реализация. Это очень сильно усложняет язык, не делая его понятными и простым для изучения.

  • @lappovalera
    @lappovaleraАй бұрын

    Спасибо за обзор !

  • @kitsunofflmao9980
    @kitsunofflmao9980Ай бұрын

    к вопросу о for вместо : вроде в c# после 13 реализация интерфейсов через экстеншены (может завезут в c# 13, но маловероятно) поэтому : заменили на for

  • @tt0nix

    @tt0nix

    Ай бұрын

    Только на это и надежда. Но почему тогда нельзя было воспользоваться существующим синтаксисом двоеточия, который позволяет после "базового" класса указать (через запятую) все интерфейсы которые мы хотим реализовать (расширить)?

  • @MaksimVolkau
    @MaksimVolkauАй бұрын

    Про extension types: - Я думаю, все уже знают, но implicit и explicit есть в языке - Согласен что : вместо for лучше и слово extension должно помочь парсеру однозначно распознать конструкцию... Мне кажется, они просто на коленке до билда эту фичу подлатали. Много вопросов, потому что ее имплементация годами лежала в форках, и была не одна (еще были concepts and roles). - Жду расширения UnsafeAccessAttribute для работы поверх экстеншена, чтобы доступаться к non public типам.

  • @zachemny

    @zachemny

    Ай бұрын

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

  • @MaksimVolkau

    @MaksimVolkau

    Ай бұрын

    @@zachemny Ок, тогда нет вопросов.

  • @tt0nix

    @tt0nix

    Ай бұрын

    Да, есть implicit и explicit, но они настолько редко используют обычными людьми, что этим можно пренебречь. Давайте переформулируем так: в большинстве проектов их нет, большенство разработчиков их никогда в жизни не использовало и вряд ли будет. Тоже самое, что и unsafe, fixed, extern, они конечно есть, но в повседневной жизни вы их не встретите.

  • @tt0nix

    @tt0nix

    Ай бұрын

    @@zachemny Да, был такой разговор. Но, опять же, для однозначности достаточно было бы выдумать какой-то один признак, допустим ключевое слово `extension`. Его наличие - достаточный признак для компилятора, чтобы устранить все последующие неоднозначности. Зачем было так сильно извращаться и закапываться, не ясно. Зачем так много признаков, костылей и избыточностей. for прекрасно эмулируется двоеточием. Расширение наследования, через множественное наследование от интерфейсов (оно уже есть в языке). implicit и explicit эмулируются синтаксисом явных и неявных реализаций интерфейса (он уже есть в языке). Устранить все эти неоднозначности (в самом ленивом случае) можно добавив едино единственное новые слово extension. Сравните с LINQ. Авторы встроили отдельный язык в C#, со своим синтаксисом, ключевыми словами, операторами и не было никакой неоднозначности. Была сложная и продуманная работа над реализацией. А так получается, что сново, проблемы в Roslyn Team спихнули на разработчиков. Вместо того чтобы сделать хорошо (пусть и сложно) в компиляторе, родили уродливый, избыточный, неконсистентный синтаксис с которым теперь придётся жить всем вечно.

  • @zachemny

    @zachemny

    Ай бұрын

    @@tt0nix На все эти сомнения в пропозале отвечено. Если вкратце: extension A: B, C, D. Что такое B, C, D - не ясно. Если при обычном наследовании порядок членов не важен, то здесь получается, что B - это всегда должен быть расширяемый тип, а C и D - реализуемые интерфейсы. То есть порядок следования теперь уже важен, что является нарушением логики языка.

  • @anatoly-k
    @anatoly-kАй бұрын

    Да, мы любим короткие выпуски

  • @tt0nix

    @tt0nix

    Ай бұрын

    А короткие, это сколько по времени?

Келесі