Сообщение Re[5]: Rust или Golang - за кем будущее? от 05.02.2024 14:32
Изменено 05.02.2024 14:41 Serginio1
Re[5]: Rust или Golang - за кем будущее?
Здравствуйте, _NN_, Вы писали:
S>> Все под .Net 8! Там же JIT работает. А в Native AOT так еще и тримятся.
_NN>Ну как сказать всё:
_NN> No dynamic loading, for example, Assembly.LoadFile.
_NN> No run-time code generation, for example, System.Reflection.Emit.
_NN> No C++/CLI.
_NN> Windows: No built-in COM.
_NN> Requires trimming, which has limitations.
_NN> Implies compilation into a single file, which has known incompatibilities.
_NN> Apps include required runtime libraries (just like self-contained apps, increasing their size as compared to framework-dependent apps).
_NN> System.Linq.Expressions always use their interpreted form, which is slower than run-time generated compiled code.
_NN> Not all the runtime libraries are fully annotated to be Native AOT compatible. That is, some warnings in the runtime libraries aren't actionable by end developers.
_NN>Чем больше когда, тем больше шансов, что не будет что-нибудь работать.
_NN>Конечно, со временем будет больше совместимости если тренд нативности разработчики будут активно поддерживать, а не сбегут на Rust
Согласен. Погорячился.
А как ты хочешь без CLR? Можно подумать ты в Go и Rust что то там в рантайме компилишь?
C++/CLI, а он в Core то есть?
Ну до Com доберутся. Интерфейсы то нативные поддерживаются. Подсчет ссылок нужно организовать. Но это не критично.
Проблемы конечно есть, но многое переписывается.
С усечением например проблемы для .Net 8 из .Net 7 поубирали.
А так по твоей же статье, многое переписывается под оптимальное использование Native AOT.
_NN>Вон в Microsoft Office
А офис разве не на JavaScrip написан?
'No, we are not rewriting Office in JavaScript' and other Microsoft tales
Ну а что касается замены .Net на Rust лучше бы сосредоточились на Native AOT.
Наверное проще довести до ума Native AOT чем переписывать все на Rust.
Кстати в свое время Блазор работал как интерпретатор. То есть многие проблемы можно решать через интерпретацию кода.
S>> Все под .Net 8! Там же JIT работает. А в Native AOT так еще и тримятся.
_NN>Ну как сказать всё:
_NN> No dynamic loading, for example, Assembly.LoadFile.
_NN> No run-time code generation, for example, System.Reflection.Emit.
_NN> No C++/CLI.
_NN> Windows: No built-in COM.
_NN> Requires trimming, which has limitations.
_NN> Implies compilation into a single file, which has known incompatibilities.
_NN> Apps include required runtime libraries (just like self-contained apps, increasing their size as compared to framework-dependent apps).
_NN> System.Linq.Expressions always use their interpreted form, which is slower than run-time generated compiled code.
_NN> Not all the runtime libraries are fully annotated to be Native AOT compatible. That is, some warnings in the runtime libraries aren't actionable by end developers.
_NN>Чем больше когда, тем больше шансов, что не будет что-нибудь работать.
_NN>Конечно, со временем будет больше совместимости если тренд нативности разработчики будут активно поддерживать, а не сбегут на Rust
Согласен. Погорячился.
А как ты хочешь без CLR? Можно подумать ты в Go и Rust что то там в рантайме компилишь?
C++/CLI, а он в Core то есть?
Ну до Com доберутся. Интерфейсы то нативные поддерживаются. Подсчет ссылок нужно организовать. Но это не критично.
Проблемы конечно есть, но многое переписывается.
С усечением например проблемы для .Net 8 из .Net 7 поубирали.
А так по твоей же статье, многое переписывается под оптимальное использование Native AOT.
_NN>Вон в Microsoft Office
Автор: flаt
Дата: 30.01 22:55
посчитали, что проще переписать с .NET чем решать проблемы медленного запуска утилит.Дата: 30.01 22:55
А офис разве не на JavaScrip написан?
'No, we are not rewriting Office in JavaScript' and other Microsoft tales
Ну а что касается замены .Net на Rust лучше бы сосредоточились на Native AOT.
Наверное проще довести до ума Native AOT чем переписывать все на Rust.
Кстати в свое время Блазор работал как интерпретатор. То есть многие проблемы можно решать через интерпретацию кода.
Хотя выражения могут использоваться в собственных приложениях AOT, когда вы Lambda.Compile() создаете выражение, оно использует интерпретатор для вычисления выражения. Это не идеально и может привести к снижению производительности. Если возможно, рекомендуется удалить Expression.Compile() использование в собственных приложениях AOT.
Re[5]: Rust или Golang - за кем будущее?
Здравствуйте, _NN_, Вы писали:
Согласен. Погорячился.
А как ты хочешь без CLR? Можно подумать ты в Go и Rust что то там в рантайме компилишь?
C++/CLI, а он в Core то есть?
Ну до Com доберутся. Интерфейсы то нативные поддерживаются. Подсчет ссылок нужно организовать. Но это не критично.
Проблемы конечно есть, но многое переписывается.
С усечением например проблемы для .Net 8 из .Net 7 поубирали.
А так по твоей же статье, многое переписывается под оптимальное использование Native AOT.
_NN>Вон в Microsoft Office
А офис разве не на JavaScrip написан?
'No, we are not rewriting Office in JavaScript' and other Microsoft tales
Ну а что касается замены .Net на Rust лучше бы сосредоточились на Native AOT.
Наверное проще довести до ума Native AOT чем переписывать все на Rust.
Кстати в свое время Блазор работал как интерпретатор. То есть многие проблемы можно решать через интерпретацию кода.
Согласен. Погорячился.
А как ты хочешь без CLR? Можно подумать ты в Go и Rust что то там в рантайме компилишь?
C++/CLI, а он в Core то есть?
Ну до Com доберутся. Интерфейсы то нативные поддерживаются. Подсчет ссылок нужно организовать. Но это не критично.
Проблемы конечно есть, но многое переписывается.
С усечением например проблемы для .Net 8 из .Net 7 поубирали.
А так по твоей же статье, многое переписывается под оптимальное использование Native AOT.
_NN>Вон в Microsoft Office
Автор: flаt
Дата: 30.01 22:55
посчитали, что проще переписать с .NET чем решать проблемы медленного запуска утилит.Дата: 30.01 22:55
А офис разве не на JavaScrip написан?
'No, we are not rewriting Office in JavaScript' and other Microsoft tales
Ну а что касается замены .Net на Rust лучше бы сосредоточились на Native AOT.
Наверное проще довести до ума Native AOT чем переписывать все на Rust.
Кстати в свое время Блазор работал как интерпретатор. То есть многие проблемы можно решать через интерпретацию кода.
Хотя выражения могут использоваться в собственных приложениях AOT, когда вы Lambda.Compile() создаете выражение, оно использует интерпретатор для вычисления выражения. Это не идеально и может привести к снижению производительности. Если возможно, рекомендуется удалить Expression.Compile() использование в собственных приложениях AOT.