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

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

Изменено 07.08.2021 10:27 vdimas

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

S>JS на первом месте, затем Питон, Java и C#, PHP и TS!!!


А складываешь проценты и получаешь сотни процентов вместо одной сотни.
Фуфел это.

Опрашивать необходимо было по основному языку или просить присваивать веса, если языков более одного.
Потому что который пишет в основном на TS, он укажет так же и JS.

Я тоже, помимо C++, укажу еще несколько языков, в ответе на вопрос "какие языки используете", в т.ч. JS и Питон.
Но статистика будет фуфел, бо сриптовые языки повсеместно используются в кач-ве зяыков для написания вспомогательных утилит.


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

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

Потому что ты не посмотрел на возрастную диаграмму — основному кол-ву участвующих в опросе 25-29 лет.
Собиращим статистику стоило бы присваивать веса и согласно возрастному распределению, чтобы выровнять статистику.
Иначе получается фуфел.


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

S> То же самое можно делать и напрямую создание компонентов в коде.

В коде выглядит еще более убого.


S>Кстати на Xamarin сначала вообще не было редактора и все описывалось в коде аналогично Dart,


В Dart выглядит неплохо, в отличие от Xamarin.
Язык специально затачивали под этот сценарий, чтобы описания GUI на Dart не уступало декларативному, но в итоге оно превосходит.

У тебя же интернет работает, чувство прекрасного должно быть — посмотри сам примеры описания GUI на Dart, что ты к этому XAML прицепился?
Твоя производительность на XAML заведомо будет в разы ниже, чем производительность на Dart (при сравнимом опыте в двух технологиях), а только это и имеет смысл, остальное бабушкины сказки.


S>но декларативно описывать проще


Если низлежащий язык не предназначен для декларативного описания.
Кстате, в С++ добавили именованные параметры, т.е. я ожидаю появления либ с описанием GUI в Dart-стиле.


S>Но при этом альтернативы, которая вытеснила HTML то и нет.


Пока в стандарте W3C будет только JS — и не будет.
Но это не означает, что JS клёвый.


S>Вот TS активно вытесняет JS, но он и компилируется в JS.


Одна поправочка — TS активно вытесняет JS где угодно, кроме фронтенда.
Во фронтенде весьма неактивно.
Я бы сказал даже — никак не вытесняет.


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

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

Это ты сам придумал.


S>Я говорил про отладку в среде и то, что для андроида она опциональна.


Ты много чего говорил, но цель этого мне плохо понятна.
Особенно твоя упоротость в плане "среда", "не среда".
Да пофик.
Назови хоть абракадаброй, главное ориентироваться, что эта абракадабра может, а чего нет.


S>И присутствует моно. Ты же отрицал моно и среду. Типа все в С++


Потому что возьми Unity, возьми какой-нить пример, собери релиз, убедись — никакого Mono, никакой среды, промежуточные файлы компиляции на плюсах.
Какие проблемы?


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

V>>Можно сравнивать у разных объектов результат вызова GetType(), работает is и as, работает проверка на отношение base/derived и т.д. и т.п.
S>Ну во первых ты говоришь про CoreRT

Не я, я ссылки привёл, где CoreRT называли "средой".


S>который возможно и будет использовать JIT компилятор в рантайме.


Сам придумал?
Или почитал "новость" из 2016-го?


S>Но во всех твоих ссылках нет ссылок на JIT в рантайме!!!


Потому что AOT антагонист JIT.


S>is и as прекрасно работают в Delphi ибо есть информация в VMT по отрицательным смещениям.


Но нет остальной метаинформации.
А в CoreRT ты можешь взять список мемберов ссылочного типа в рантайм и взять значения этих мемберов.

В плюсах тоже есть кое-какая RTTI, но её можно отключить, если не используется.


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

S>Опять же речь про CoreRT. Опять проблема не AOT, а в рантайме.

Проблема в твоём вольном жонглировании терминами.


S>Для .Net Native нет JIT компиляции в рантайме, а значит и нет среды в нормальном понимантт.


А откуда ты взял своё "нормальное понимание"? ))


S>Под понятием среда в .Net Native это GC, без JIT компиляции в рантайме!


И что смущает?


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

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

Да нет, я сказал именно то, что сказал.
И мне плевать, что кто-то в рантайм что-то там генерит.
Это отдельная задача, требущая наличия соотв. средств.

Вот зачем ты мне дал ссылку на какого-то идиота, который хочет JIT и не хочет JIT одновременно? ))
Даже если всё остальное приложение требует именно сурового нейтивного исполнения, этому дятлу не пришло в голову взять какую-нить готовую скриптовую встраиваемую технологию, типа Lua или Питон:
https://docs.python.org/3/extending/embedding.html


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


Вооот!
Наконец-то ты показал суть своего непонимания. ))

NGEN предназначен для библиотек, ему обязательно нужен IL для возможности оптимизации кода, использующего библиотеку.
В отличие от NGEN, .Net Native запекает код проекта в один самодостаточный образ.


S>В текущем предварительном просмотре разработчика .NET Native в нативном образе присутствует только нативный код. Это означает, что если код отсутствует в изображении, он никогда не будет выполняться во время выполнения.


И это прекрасно! ))


S> Что по твоему должен компилировать JIT если не IL кода?

S>>>Подтверди свои утверждения ссылками. Опять голословный треп.
V>>А в сад тебе не прогуляться, к остальным двоечникам? ))
S> Вот за что мне нравится с тобой общаться! Подымаешь настроение.

Нет, не поэтому тебе нравится со мной общаться.
А потому что у меня бесконечное терпение и так жизненно-необходимая тебе дотошность со стороны оппонента.
Остальные быстро от тебя отваливаются. ))
Re[43]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Serginio1, Вы писали:

S>JS на первом месте, затем Питон, Java и C#, PHP и TS!!!


А складываешь проценты и получаешь сотни процентов вместо одной сотни.
Фуфел это.

Опрашивать необходимо было по основному языку или просить присваивать веса, если языков более одного.
Потому что который пишет в основном на TS, он укажет так же и JS.

Я тоже, помимо C++, укажу еще несколько языков, в ответе на вопрос "какие языки используете", в т.ч. JS и Питон.
Но статистика будет фуфел, бо скриптовые языки повсеместно используются в кач-ве языков для написания вспомогательных утилит.


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

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

Потому что ты не посмотрел на возрастную диаграмму — основному кол-ву участвующих в опросе 25-29 лет.
Собиращим статистику стоило бы присваивать веса и согласно возрастному распределению, чтобы выровнять статистику.
Иначе получается фуфел.


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

S> То же самое можно делать и напрямую создание компонентов в коде.

В коде выглядит еще более убого.


S>Кстати на Xamarin сначала вообще не было редактора и все описывалось в коде аналогично Dart,


В Dart выглядит неплохо, в отличие от Xamarin.
Язык специально затачивали под этот сценарий, чтобы описания GUI на Dart не уступало декларативному, но в итоге оно превосходит.

У тебя же интернет работает, чувство прекрасного должно быть — посмотри сам примеры описания GUI на Dart, что ты к этому XAML прицепился?
Твоя производительность на XAML заведомо будет в разы ниже, чем производительность на Dart (при сравнимом опыте в двух технологиях), а только это и имеет смысл, остальное бабушкины сказки.


S>но декларативно описывать проще


Если низлежащий язык не предназначен для декларативного описания.
Кстате, в С++ добавили именованные параметры, т.е. я ожидаю появления либ с описанием GUI в Dart-стиле.


S>Но при этом альтернативы, которая вытеснила HTML то и нет.


Пока в стандарте W3C будет только JS — и не будет.
Но это не означает, что JS клёвый.


S>Вот TS активно вытесняет JS, но он и компилируется в JS.


Одна поправочка — TS активно вытесняет JS где угодно, кроме фронтенда.
Во фронтенде весьма неактивно.
Я бы сказал даже — никак не вытесняет.


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

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

Это ты сам придумал.


S>Я говорил про отладку в среде и то, что для андроида она опциональна.


Ты много чего говорил, но цель этого мне плохо понятна.
Особенно твоя упоротость в плане "среда", "не среда".
Да пофик.
Назови хоть абракадаброй, главное ориентироваться, что эта абракадабра может, а чего нет.


S>И присутствует моно. Ты же отрицал моно и среду. Типа все в С++


Потому что возьми Unity, возьми какой-нить пример, собери релиз, убедись — никакого Mono, никакой среды, промежуточные файлы компиляции на плюсах.
Какие проблемы?


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

V>>Можно сравнивать у разных объектов результат вызова GetType(), работает is и as, работает проверка на отношение base/derived и т.д. и т.п.
S>Ну во первых ты говоришь про CoreRT

Не я, я ссылки привёл, где CoreRT называли "средой".


S>который возможно и будет использовать JIT компилятор в рантайме.


Сам придумал?
Или почитал "новость" из 2016-го?


S>Но во всех твоих ссылках нет ссылок на JIT в рантайме!!!


Потому что AOT антагонист JIT.


S>is и as прекрасно работают в Delphi ибо есть информация в VMT по отрицательным смещениям.


Но нет остальной метаинформации.
А в CoreRT ты можешь взять список мемберов ссылочного типа в рантайм и взять значения этих мемберов.

В плюсах тоже есть кое-какая RTTI, но её можно отключить, если не используется.


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

S>Опять же речь про CoreRT. Опять проблема не AOT, а в рантайме.

Проблема в твоём вольном жонглировании терминами.


S>Для .Net Native нет JIT компиляции в рантайме, а значит и нет среды в нормальном понимантт.


А откуда ты взял своё "нормальное понимание"? ))


S>Под понятием среда в .Net Native это GC, без JIT компиляции в рантайме!


И что смущает?


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

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

Да нет, я сказал именно то, что сказал.
И мне плевать, что кто-то в рантайм что-то там генерит.
Это отдельная задача, требущая наличия соотв. средств.

Вот зачем ты мне дал ссылку на какого-то идиота, который хочет JIT и не хочет JIT одновременно? ))
Даже если всё остальное приложение требует именно сурового нейтивного исполнения, этому дятлу не пришло в голову взять какую-нить готовую скриптовую встраиваемую технологию, типа Lua или Питон:
https://docs.python.org/3/extending/embedding.html


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


Вооот!
Наконец-то ты показал суть своего непонимания. ))

NGEN предназначен для библиотек, ему обязательно нужен IL для возможности оптимизации кода, использующего библиотеку.
В отличие от NGEN, .Net Native запекает код проекта в один самодостаточный образ.


S>В текущем предварительном просмотре разработчика .NET Native в нативном образе присутствует только нативный код. Это означает, что если код отсутствует в изображении, он никогда не будет выполняться во время выполнения.


И это прекрасно! ))


S> Что по твоему должен компилировать JIT если не IL кода?

S>>>Подтверди свои утверждения ссылками. Опять голословный треп.
V>>А в сад тебе не прогуляться, к остальным двоечникам? ))
S> Вот за что мне нравится с тобой общаться! Подымаешь настроение.

Нет, не поэтому тебе нравится со мной общаться.
А потому что у меня бесконечное терпение и так жизненно-необходимая тебе дотошность со стороны оппонента.
Остальные быстро от тебя отваливаются. ))