Нет, вместо этого они предпочли писать и отлаживать весь системный код на C/C++ примитивными дедовскими методами, а теперь убедили себя, что нет ничего лучше, как переписать его на Rust.
Откуда вообще следует, что они весь системный код решили переписать на расте? Не надо тут схоластики =)
Пока что тут не особо масштабные и официально афишируемые эксперименты (в линухе кстати, та же стадия)
Можно один раз в начале файла написать @ safe чтобы по умолчанию все функции были с этим атрибутом, но это приведет к битию линейкой по пальцам, как в расте, ибо транзитивность отслеживается. Умолчание @system удобнее, позволяет вызывать все остальные без вопросов.
Впрочем, за атрибутный ад, что можно (хоть и не нужно) писать 5 атрибутов каждой функции, D критикуют.
Для понимания стоит заходить на gotbolt. Конструирование объекта на хипе (с последующим вызовом GC), копирование массива или возврат указателя и константы это кардинально разные по затратам операции.
malloc и сырые указатели никто не отменял, где не хватает статики и стека.
Сложнее, чем реализовывать нетривиальные структуры данных на расте? Не думаю.
Я про то, что это утверждение в общем случае ложно (D как контрпример), и в С#15 вполне может быть stackalloc для объектов.
Тише, тише, про D не забывай. Он и в @ nogc даст фору почти всем.
Так что все возможно и для языков с GC в базе
Откуда вообще следует, что они весь системный код решили переписать на расте? Не надо тут схоластики =)
Пока что тут не особо масштабные и официально афишируемые эксперименты (в линухе кстати, та же стадия)
Так пока непонятно, не пойдет ли WinRT путем C++/CLI, C++/CX, J# итп, в корзину ибо никому не нужен
А внутри у него установленный эмулятор вышеописанного устройства с CP/M и STEP5
Можно один раз в начале файла написать @ safe чтобы по умолчанию все функции были с этим атрибутом, но это приведет к битию линейкой по пальцам, как в расте, ибо транзитивность отслеживается. Умолчание
@system
удобнее, позволяет вызывать все остальные без вопросов.Впрочем, за атрибутный ад, что можно (хоть и не нужно) писать 5 атрибутов каждой функции, D критикуют.
Для понимания стоит заходить на gotbolt. Конструирование объекта на хипе (с последующим вызовом GC), копирование массива или возврат указателя и константы это кардинально разные по затратам операции.
Для правильных тонких извращений нужно сначала пресытиться классикой....
да ничего там не проще. с каждой новой итерацией [стандартов] форматированный вывод все сложнее и медленнее
Мда, не без осечки, конечно
Автор не различает [по сложности?] возврат объекта, указателя и константы
Классическое тестирование скорости выполнения print
Но все можно исправить, да и многоязычие надо поощрять.
.NET умеет из командной строки с рождения (ну почти, msbuild с 2.0). csc/msbuild
Как раз быстро. Засекать из командной строки
А может все же почитать статью? В Питоне тоже есть штатный менеджер пакетов.
И да, "*.bpl is missing" не знакомо что ли?
Когда другой человек, ну или ты сам пересобираешь проект на новом месте.
Об этом же речь в статье.
Да конечно, там ад несовместимых между версиями D компонентов и их лицензий.
Смотрим на ценник PgPro Ent и сразу понятно, в чем тут "суть"
Так риббон уже не WinAPI, а COM. И появился гораааздо позже. Потому прилеблен сбоку бантиком к MFC в т.ч.
MFC простой и прозрачный для тех, кто учил WinAPI. Всё
Но ниже, чем у XAML, QML фреймворков