Хз насчёт sdkmanager но для сборки приложений уже некоторое время требуется java 17. Даже если sdkmanager это пока не требует то он точно может работать с 17 без проблем. Да и она сейчас последний lts.
Смотря что значит "по умолчанию") Строки изнутри в UTF-16 кодировке (но понятное дело что получить строку можно из данных в любой кодировке которая может конвертироваться в UTF-16). На консоль выводятся байты в системной "легаси" консольной кодировке (Console.OutputEncoding в .NET). По умолчанию это не UTF-8 а до-юникодная DOS кодировка (зависит от языка, на русском это CP866). Можно самому заменить на UTF-8 но тогда другая сторона (например IDE) тоже должна ожидать именно UTF-8, как-то об этом договориться "на лету" нельзя. Многие программы могут работать только с системной кодировкой, другие только с UTF-8.
Возможно имелось в виду что винда не может выводить в консоль utf-8 текст без плясок с бубном (до этого автор упоминал проблемы с кодировкой при выводе на консоль). Но в случае передачи строки в C# можно использовать UTF-8, C# умеет с ней работать.
На сайтах можно сделать точно такую же монетизацию что и в приложениях (то что многие боятся это делать потому что сайты были раньше и без монетизации уже другая история). Идея на то и идея что ее невозможно навязать технически. WWW был свободен отнюдь не потому что его нельзя сделать несвободным.
Согласен, я имел в виду что современные асинхронные подходы сами по себе не решают подобных проблем с производительностью. Если ты запускаешь 10 тысяч мелких асинхронных операций из ui треда которые потом возвращаются в обратно в ui тред то не имеет значения какой подход используется - самописанные очереди сообщений, async/await, джавовские экзекуторы - это приведет к тем же проблемам.
Асинхронные вызовы точно также приведут к обмену сообщениями между потоками (если команды на чтение файлов приходят из ui треда) - просто это будет происходить "под капотом". Никакой магии в них нет.
Microsoft для интеропа продвигает WinRT (ребрендинг COM). Там биндинги генерируются автоматически из winmd файлов с описанием классов и функций (https://learn.microsoft.com/en-gb/uwp/winrt-cref/winmd-files). Можно написать библиотеку на C++ и использовать ее из C# или наоборот. Для Rust это вроде как тоже поддерживается.
Большая часть новых высокоуровневых api Windows (например класс для доступа к цвету который пользователь выбрал в настройках Windows) доступны именно через WinRT и не входят в Win32 API.
WinUI можно и из плюсов использовать (и возможно из раста т.к. к нему тоже прикрутили WinRT через который работает интероп). Но учитывая что они сами недавно переписали магазин приложений с плюсов на C# я не думаю что этим весело заниматься.
А в чем проблема делать это на стороне библиотечного кода? Библиотека на то и библиотека что у нее нет информации о контексте и о том как ее используют. Например в котлине считается что библиотечную корутину должно быть можно запускать на любом треде/диспетчере, а она сама уже разберётся что ей нужно:
suspend fun loadAndParseJson(): Json {
val bytes = withContext(Dispatchers.IO) {
// IO is for blocking I/O
// Reading from file
}
val json = withContext(Dispatchers.Default) {
// Default is for computations
// Parsing data
}
return json
}
Ютуб - одна из крупнейших платформ для российской пропаганды, как и телеграм. Многие "потребители" этого контента, внезапно, телевизор не смотрят и "потребляют" его через интернет. Так что пока хозяева этих ресурсов не введут запрет на росс. пропагандистский контент (который действительно будет соблюдаться), блокировать их не будут - это принесет больше "вреда" чем "пользы".
Согласен. Недавно искал ECC память для домашнего пк, а там важно знать что такое UDIMM и RDIMM и почему в большинстве магазинов банально нет нужной информации о том что это за память.
Насколько я помню в образах последних версий винды файл install.wim больше 4 гб (в последнем официальном образе 10 винды - 5 162 828 812 байт). Так что просто так распаковать на fat32 не получится.
У рефлексии насколько я помню "выгорел" автор. Так что если кто-то другой не возьмётся, она так и будет висеть в вакууме. Пока желающих нет.
Хз насчёт sdkmanager но для сборки приложений уже некоторое время требуется java 17. Даже если sdkmanager это пока не требует то он точно может работать с 17 без проблем. Да и она сейчас последний lts.
Для разработки опенсорсных проектов жетбрейнс выдают лицензию бесплатно (не только на идею но и на другие платные ide).
Смотря что значит "по умолчанию")
Строки изнутри в UTF-16 кодировке (но понятное дело что получить строку можно из данных в любой кодировке которая может конвертироваться в UTF-16).
На консоль выводятся байты в системной "легаси" консольной кодировке (Console.OutputEncoding в .NET). По умолчанию это не UTF-8 а до-юникодная DOS кодировка (зависит от языка, на русском это CP866). Можно самому заменить на UTF-8 но тогда другая сторона (например IDE) тоже должна ожидать именно UTF-8, как-то об этом договориться "на лету" нельзя. Многие программы могут работать только с системной кодировкой, другие только с UTF-8.
Возможно имелось в виду что винда не может выводить в консоль utf-8 текст без плясок с бубном (до этого автор упоминал проблемы с кодировкой при выводе на консоль). Но в случае передачи строки в C# можно использовать UTF-8, C# умеет с ней работать.
У span как раз-таки, в отличие от контейнеров, проверок выхода за границы нет - функция at() отсутствует.
На сайтах можно сделать точно такую же монетизацию что и в приложениях (то что многие боятся это делать потому что сайты были раньше и без монетизации уже другая история). Идея на то и идея что ее невозможно навязать технически. WWW был свободен отнюдь не потому что его нельзя сделать несвободным.
Согласен, я имел в виду что современные асинхронные подходы сами по себе не решают подобных проблем с производительностью. Если ты запускаешь 10 тысяч мелких асинхронных операций из ui треда которые потом возвращаются в обратно в ui тред то не имеет значения какой подход используется - самописанные очереди сообщений, async/await, джавовские экзекуторы - это приведет к тем же проблемам.
Асинхронные вызовы точно также приведут к обмену сообщениями между потоками (если команды на чтение файлов приходят из ui треда) - просто это будет происходить "под капотом". Никакой магии в них нет.
Странно, у меня при компиляции с C++11 (GCC 6.3.1) это все равно int.
А вообще, что им мешало сделать так:
Заодно это решило бы проблему невозможности в некоторых случаях вызова конструктора копирования при использовании универсальной™ инициализации.
Microsoft для интеропа продвигает WinRT (ребрендинг COM). Там биндинги генерируются автоматически из winmd файлов с описанием классов и функций (https://learn.microsoft.com/en-gb/uwp/winrt-cref/winmd-files). Можно написать библиотеку на C++ и использовать ее из C# или наоборот. Для Rust это вроде как тоже поддерживается.
Большая часть новых высокоуровневых api Windows (например класс для доступа к цвету который пользователь выбрал в настройках Windows) доступны именно через WinRT и не входят в Win32 API.
WinUI можно и из плюсов использовать (и возможно из раста т.к. к нему тоже прикрутили WinRT через который работает интероп). Но учитывая что они сами недавно переписали магазин приложений с плюсов на C# я не думаю что этим весело заниматься.
У markdown тот же фатальный недостаток что и у .ini/.conf - у каждого он свой.
Я дочитал до интерполяции строк...
Звонки из военкомата определять умеет?
А в чем проблема делать это на стороне библиотечного кода? Библиотека на то и библиотека что у нее нет информации о контексте и о том как ее используют. Например в котлине считается что библиотечную корутину должно быть можно запускать на любом треде/диспетчере, а она сама уже разберётся что ей нужно:
Ютуб - одна из крупнейших платформ для российской пропаганды, как и телеграм. Многие "потребители" этого контента, внезапно, телевизор не смотрят и "потребляют" его через интернет. Так что пока хозяева этих ресурсов не введут запрет на росс. пропагандистский контент (который действительно будет соблюдаться), блокировать их не будут - это принесет больше "вреда" чем "пользы".
Согласен. Недавно искал ECC память для домашнего пк, а там важно знать что такое UDIMM и RDIMM и почему в большинстве магазинов банально нет нужной информации о том что это за память.
Насколько я помню в образах последних версий винды файл install.wim больше 4 гб (в последнем официальном образе 10 винды - 5 162 828 812 байт). Так что просто так распаковать на fat32 не получится.