Информация об изменениях

Сообщение Re[42]: MS забило на дотнет. Питону - да, сишарпу - нет? от 07.08.2021 7:55

Изменено 07.08.2021 8:49 Serginio1

Re[42]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Serginio1, Вы писали:


S>> Что же так популярность дарта то не растет?

S>>https://habr.com/ru/company/skillfactory/blog/504194/

V>Опять опрос stack overflow? ))

V>Т.е. опрос тех, у кого возникают вопросы?

V>И тебя не смущает, что на первом месте Rust, который в рейтинге TIOBE на 30-м месте?

V>А дарт в этом же рейтинге на 22-м?
V>А топ выглядит так:
V>Питон
V>Си
V>Джава
Где ты увидел Rust на первом месте


JS на первом месте, затем Питон, Java и C#, PHP и TS!!!
S>>И смотрим как растет популярность TS.

V>Смотрю как много Rust и TS вызывает вопросов на SO. ))

TS это замена самому популярному языку. Вопросов много потому что активно развивается и куча нововведений!

S>> Ну Xamarin может использовать и блазор в натив, и сейчас MAUI кроссплатформенный развивается, ну и родные андроидные axml



V>Простое ветвление прямо в коде намного органичней смотрится, чем ветвление в JS, где или согласно условиям рендерят текст HTML, или ручками напихивают DOM, или переключают стили/классы видимые/невидимый.


То же самое можно делать и напрямую создание компонентов в коде. Кстати на Xamarin сначала вообще не было редактора и все описывалось в коде аналогично Dart,
но декларативно описывать прощею
V>Все три способа — убожество.
V>При кажущейся лаконочности последнего, у него расползаются зависимости м/у HTML-страницей, логикой в JS-коде и CSS-стилями, что приводит к той самой забористой каше современного фронтенда, где в одном месте чуть дунул — и всё поломалось.
Но при этом альтернативы, которая вытеснила HTML то и нет. Вот TS активно вытесняет JS, но он и компилируется в JS.

V>>>Это у тебя много голословного.

V>>>Имеешь привычку рассуждать о том, чем лично не занимался и даже не пробовал.
S>> Я то как раз говорю о том, в чем разбирался

V>С Unity ты не разбирался, посему твоё упорство выглядело странным.

V>Особенно когда ты не мог поверить, что в нейтивном релизе есть GC, но нет "среды".

Угу чего мне не верить если в .Net Native есть GC но нет среды? Я говорил про отладку в среде и то, что для андроида она опциональна.
И присутствует моно. Ты же отрицал моно и среду. Типа все в С++
V>>>И среда там есть аж бегом, без ней .Net Native не живёт.
S>> Ну вот нет там среды!

V>Ошибаешься:

V>https://github.com/dotnet/corert/blob/master/Documentation/intro-to-corert.md
V>

V>Native (AOT) compilation is a great scenario addition to .NET Core apps on Windows, OS X and Linux. We've seen significant startup and throughput benefits of native compilation for Windows UWP apps, using .NET Native.
V>...
V>CoreRT is a refactored and layered .Net Core runtime. The base is a small native execution engine that provides services such as garbage collection(GC). This is the same GC used in CoreCLR.
V>...
V>CoreRT offers great benefits that are critical for many apps.
V>...
V>The native compiler generates a SINGLE FILE, including the app, managed dependencies and CoreRT.


V>https://mattwarren.org/2018/06/07/CoreRT-.NET-Runtime-for-AOT/

V>

V>Firstly, what exactly is CoreRT? From its GitHub repo:
V>- a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET native compiler toolchain
V>...
V>So whilst CoreRT is a run-time, it also needs a compiler to put everything together, from Intro to .NET Native and CoreRT:

V>.NET Native is a native toolchain that compiles CIL byte code to machine code (e.g. X64 instructions). By default, .NET Native (for .NET Core, as opposed to UWP) uses RyuJIT as an ahead-of-time (AOT) compiler, the same one that CoreCLR uses as a just-in-time (JIT) compiler.
V>...
V>The Runtime
V>All the user/helper code then sits on-top of the CoreRT runtime, from Intro to .NET Native and CoreRT:
V>CoreRT is the .NET Core runtime that is optimized for AOT scenarios, which .NET Native targets.


V>Точный GC не может работать без метаинформации, поэтому, там и метаинформации овердофига.

V>Можно сравнивать у разных объектов результат вызова GetType(), работает is и as, работает проверка на отношение base/derived и т.д. и т.п.
Ну во первых ты говоришь про CoreRT, который возможно и будет использовать JIT компилятор в рантайме. Но во всех твоих ссылках нет ссылок на JIT в рантайме!!!
is и as прекрасно работают в Delphi ибо есть информация в VMT по отрицательным смещениям.
S>>Кроме сборщика мусора. Если бы среда была, то не было бы проблем с докомпиляцией и рефлексией.

V>Для этого надо было бы оставить символьные строки, соотв. названиям неймспейсов, классов и их мемберов.

V>А насчёт докомпиляции — по ссылке для особо понятливых несколько раз повторяется, что это AOT-технология, но при этом используется тот же самый RuiJIT.
V>

Опять же речь про CoreRT. Опять проблема не AOT, а в рантайме. Для .Net Native нет JIT компиляции в рантайме, а значит и нет среды в нормальном понимантт.
Под понятием среда в .Net Native это GC, без JIT компиляции в рантайме! (на всякий случай ибо JIT англ. Just-in-Time, компиляция «на лету»)

V>Native compiled apps startup faster since they execute already compiled code. They don't need to generate machine code at runtime nor load a JIT compiler.


Не надо! Если нет рефлексии не нужно. При этом динамическая компиляция отсутствует
https://stackoverflow.com/questions/68114109/using-system-reflection-emit-in-uwp-with-net-native-tool-chain
Если Jit ер используется то почему нельзя?

V>А тебя послушаешь, так даже в случае обычного дотнета, после того как JIT перевёл в нейтив весь наличествующий байткод, сразу "среда" перестаёт быть "средой".

V>Ведь происходящее далее не сильно будет отличаться от происходящего в .Net Native UWP.
Нет я как раз приводил ссылку на различие NGEN и .Net Native! передергиваешь
https://stackoverflow.com/questions/68114109/using-system-reflection-emit-in-uwp-with-net-native-tool-chain

Образы IL Fallback — NGEN содержат как машинный код, так и MSIL для сборки (среди других структур данных). Если во время выполнения происходит что-то, что заставляет CLR нуждаться в машинном коде, который он не может найти в образе NGEN, он может вернуться к JITing. В текущем предварительном просмотре разработчика .NET Native в нативном образе присутствует только нативный код. Это означает, что если код отсутствует в изображении, он никогда не будет выполняться во время выполнения.


S>>Подтверди свои утверждения ссылками. Опять голословный треп.


V>А в сад тебе не прогуляться, к остальным двоечникам? ))

Вот за что мне нравится с тобой общаться! Подымаешь настроение.
Re[42]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Serginio1, Вы писали:


S>> Что же так популярность дарта то не растет?

S>>https://habr.com/ru/company/skillfactory/blog/504194/

V>Опять опрос stack overflow? ))

V>Т.е. опрос тех, у кого возникают вопросы?

V>И тебя не смущает, что на первом месте Rust, который в рейтинге TIOBE на 30-м месте?

V>А дарт в этом же рейтинге на 22-м?
V>А топ выглядит так:
V>Питон
V>Си
V>Джава
Где ты увидел Rust на первом месте


JS на первом месте, затем Питон, Java и C#, PHP и TS!!!
S>>И смотрим как растет популярность TS.

V>Смотрю как много Rust и TS вызывает вопросов на SO. ))

TS это замена самому популярному языку. Вопросов много потому что активно развивается и куча нововведений!

S>> Ну Xamarin может использовать и блазор в натив, и сейчас MAUI кроссплатформенный развивается, ну и родные андроидные axml



V>Простое ветвление прямо в коде намного органичней смотрится, чем ветвление в JS, где или согласно условиям рендерят текст HTML, или ручками напихивают DOM, или переключают стили/классы видимые/невидимый.


То же самое можно делать и напрямую создание компонентов в коде. Кстати на Xamarin сначала вообще не было редактора и все описывалось в коде аналогично Dart,
но декларативно описывать прощею
V>Все три способа — убожество.
V>При кажущейся лаконочности последнего, у него расползаются зависимости м/у HTML-страницей, логикой в JS-коде и CSS-стилями, что приводит к той самой забористой каше современного фронтенда, где в одном месте чуть дунул — и всё поломалось.
Но при этом альтернативы, которая вытеснила HTML то и нет. Вот TS активно вытесняет JS, но он и компилируется в JS.

V>>>Это у тебя много голословного.

V>>>Имеешь привычку рассуждать о том, чем лично не занимался и даже не пробовал.
S>> Я то как раз говорю о том, в чем разбирался

V>С Unity ты не разбирался, посему твоё упорство выглядело странным.

V>Особенно когда ты не мог поверить, что в нейтивном релизе есть GC, но нет "среды".

Угу чего мне не верить если в .Net Native есть GC но нет среды? Я говорил про отладку в среде и то, что для андроида она опциональна.
И присутствует моно. Ты же отрицал моно и среду. Типа все в С++
V>>>И среда там есть аж бегом, без ней .Net Native не живёт.
S>> Ну вот нет там среды!

V>Ошибаешься:

V>https://github.com/dotnet/corert/blob/master/Documentation/intro-to-corert.md
V>

V>Native (AOT) compilation is a great scenario addition to .NET Core apps on Windows, OS X and Linux. We've seen significant startup and throughput benefits of native compilation for Windows UWP apps, using .NET Native.
V>...
V>CoreRT is a refactored and layered .Net Core runtime. The base is a small native execution engine that provides services such as garbage collection(GC). This is the same GC used in CoreCLR.
V>...
V>CoreRT offers great benefits that are critical for many apps.
V>...
V>The native compiler generates a SINGLE FILE, including the app, managed dependencies and CoreRT.


V>https://mattwarren.org/2018/06/07/CoreRT-.NET-Runtime-for-AOT/

V>

V>Firstly, what exactly is CoreRT? From its GitHub repo:
V>- a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying .NET native compiler toolchain
V>...
V>So whilst CoreRT is a run-time, it also needs a compiler to put everything together, from Intro to .NET Native and CoreRT:

V>.NET Native is a native toolchain that compiles CIL byte code to machine code (e.g. X64 instructions). By default, .NET Native (for .NET Core, as opposed to UWP) uses RyuJIT as an ahead-of-time (AOT) compiler, the same one that CoreCLR uses as a just-in-time (JIT) compiler.
V>...
V>The Runtime
V>All the user/helper code then sits on-top of the CoreRT runtime, from Intro to .NET Native and CoreRT:
V>CoreRT is the .NET Core runtime that is optimized for AOT scenarios, which .NET Native targets.


V>Точный GC не может работать без метаинформации, поэтому, там и метаинформации овердофига.

V>Можно сравнивать у разных объектов результат вызова GetType(), работает is и as, работает проверка на отношение base/derived и т.д. и т.п.
Ну во первых ты говоришь про CoreRT, который возможно и будет использовать JIT компилятор в рантайме. Но во всех твоих ссылках нет ссылок на JIT в рантайме!!!
is и as прекрасно работают в Delphi ибо есть информация в VMT по отрицательным смещениям.
S>>Кроме сборщика мусора. Если бы среда была, то не было бы проблем с докомпиляцией и рефлексией.

V>Для этого надо было бы оставить символьные строки, соотв. названиям неймспейсов, классов и их мемберов.

V>А насчёт докомпиляции — по ссылке для особо понятливых несколько раз повторяется, что это AOT-технология, но при этом используется тот же самый RuiJIT.

Опять же речь про CoreRT. Опять проблема не AOT, а в рантайме. Для .Net Native нет JIT компиляции в рантайме, а значит и нет среды в нормальном понимантт.
Под понятием среда в .Net Native это GC, без JIT компиляции в рантайме! (на всякий случай ибо JIT англ. Just-in-Time, компиляция «на лету»)
V>

V>Native compiled apps startup faster since they execute already compiled code. They don't need to generate machine code at runtime nor load a JIT compiler.


Не надо! Если нет рефлексии не нужно. При этом динамическая компиляция отсутствует
https://stackoverflow.com/questions/68114109/using-system-reflection-emit-in-uwp-with-net-native-tool-chain
Если Jit ер используется то почему нельзя?

V>А тебя послушаешь, так даже в случае обычного дотнета, после того как JIT перевёл в нейтив весь наличествующий байткод, сразу "среда" перестаёт быть "средой".

V>Ведь происходящее далее не сильно будет отличаться от происходящего в .Net Native UWP.
Нет я как раз приводил ссылку на различие NGEN и .Net Native! передергиваешь
https://stackoverflow.com/questions/68114109/using-system-reflection-emit-in-uwp-with-net-native-tool-chain

Образы IL Fallback — NGEN содержат как машинный код, так и MSIL для сборки (среди других структур данных). Если во время выполнения происходит что-то, что заставляет CLR нуждаться в машинном коде, который он не может найти в образе NGEN, он может вернуться к JITing. В текущем предварительном просмотре разработчика .NET Native в нативном образе присутствует только нативный код. Это означает, что если код отсутствует в изображении, он никогда не будет выполняться во время выполнения.


Что по твоему должен компилировать JIT если не IL кода?
S>>Подтверди свои утверждения ссылками. Опять голословный треп.

V>А в сад тебе не прогуляться, к остальным двоечникам? ))

Вот за что мне нравится с тобой общаться! Подымаешь настроение.