Архитектура с виртуальной машиной это компиляция исходников в байт-код. Последующая интерпретация этого байт-кода неким "эмулятором" машины для которой этот байт-код является по сути машинными командами. Так, например, работают ранние версии Java, VB5/6 (которые были до VB.NET), Erlang, Lua, FORTH, и т.п.
Это определение, которое вы сами выдумали в своей голове. Виртуальная машина это та, которая исполняет свои собственные инструкции, отличные от инструкций физической машины. То, как она их исполняет и какие оптимизации использует, например JIT, это только вопрос имплементации. Упомянутый вами Erlang несколько лет назад в своей виртуальной машине BEAM стал использовать JIT от чего сам BEAM виртуальной машиной быть не перестал. Достаточно открыть хотя бы вики чтобы убедиться насколько ваше понимание виртульной машины отличается от общепринятого.
Significant advances occurred in the implementation of Smalltalk-80,[12] particularly the Deutsch/Schiffmann implementation[13] which pushed just-in-time (JIT) compilation forward as an implementation approach that uses process virtual machine.
любая реализация .NET для того чтобы на ней мог работать любой уже существующий код в IL.
Другими словами реализовывать виртуальную машину, которая этот IL код может исполнить.
те реализации что сейчас распространены (от MS) с самого начала работали и работают без виртуальной машины.
Осталось об этом рассказать самому MS и разработчикам .NET CLR
The .NET runtime offers a wide range of services to managed applications, most obviously the garbage collector and the JIT compiler, but it also encompasses a host of other capabilities: assembly and type loading, exception handling, virtual method dispatch, interoperability support, stub generation, and so on. Collectively, all of these features are referred to as being a part of the .NET Virtual Machine (VM).
нет, не правильно - фаззинг тестирование было описано Миллером в 1988 года, за 20 лет до появления го и изначально активно использовалось в С/С++ коде.
переизобрели заново написанную, неспецифицированную, глючную и медленную реализацию половины Property-Based Testing
И опять мимо - Property-Based это частный случай фазинга, когда есть явные инварианты и эти виды тестов не исключают друг друга, а дополняют, поскольку находят разные классы ошибок - проперти тест изначально предполагает семантически корретный ввод, соотственно он не проверяет ошибки класса UB или FFI.
.NET CLR это рантайм исполнения плюс виртуальная машина, которая самим майкрософт называется the virtual execution system, аналог того, что для JAVA называют JRE, компонентом которой является JVM. Является она таковой потому что программа комплируется не в машиные инструкции, а в промежуточные инструкции этой самой виртуальной машины(байткод). Так что ваше утверждение не корректно.
Так в вашей же цитате написано содержательно, что рациональность агента процедурная, а не «абсолютная». Она описывает как человек принимает решение, а не насколько хорош результат с точки зрения внешнего наблюдателя. Рациональное поведение может быть быть оптимальным ex ante, но выглядеть неоптимальным ex post. Ну и про полноту информации у агента - про это уже давно никто не говорит со времен Эрроу и описаной им проблемы ассиметрии информации на рынке.
Если вы, с учетом имеющейся у вас информации, считаете, что для достижение цели "разбогатеть" вам нужно лежать на диване, то ваше поведение рационально. Не важно что там считает какой-то другой человек, "рациональный агент" это вполне конкретный термин, так же как "электричество" или "кинетическая энергия", это не вопрос мнения. Рациональное поведение не означает что оно является оптимальным для достижения цели или даже что оно соотвествует формальной логике, это лишь означается что агент выбирает это поведение исходя из своих целей, а следовательно мы можем построить различные модели прогнозирования - какие действия будут совершать агенты исходя из своих целей и имеющейся у них информации. На этом строится вся экономика в целом и работа на фондовом рынке в частности.
Вы понимаете что рациональное поведение это любое поведение направленое на достижение цели? Даже если такое поведение в реальности явлчется ошибочным, оно не перестает быть рациональным. Участники рынка почти всегда производят действия для достижения цели извлечения прибыли, что является рациональным поведением по определению.
В стране, ит сектор которой в массе своей 20 лет был ориентирован на экспорт человеко-часов, происходит массовый исход аут-сорса, консалтинга и филиалов западных компаний. Оставшиеся компании, в условиях сжатия экономики и кредитной ставки в 20%, снижают найм и бюджеты. Что же произойдёт при этом с рынком труда и почему соскатели стали использовать любые методы чтобы хоть как-то найти себе позицию? Не ясно, не понятно, наверное во всем виноват chat gpt, других объяснений нет.
Для эмбеддет можно взять если не раст, то тот же го, где тоже будет gc, зелёные потоки с каналами и preemptive concurrency, но со статической типизацией и без виртуальной машины, что даёт в разы большую производительность.
По факту OTP готовый инструмент только для исчезающе малого класса задач типа телекома, буквально шаг в сторону и оказывается что для асинхроного мессаджинга нужны гарантии доставки, так что мейлбокс "процесса" из коробки не подходит, для базы нужна транзационность без глобального лока, так что ETS/DETS/Mnesia заменяются на полноценные базы типа redis/postgres/cockroach/cassandra, RPC требует схемы и версионированости, а оркестрация кластера разных стратегий деплоймента, сайдкаров и стореджей. В результате OTP теряет всю свою привлекательность как готового инструмента. А сам по себе эрланг ничего интересного не может предложить кроме иммутабильности, в жертву которой он приносит производительность настолько, что реальный проекты на нем забиты NIF'ами, которые в любой момент могут уронить весь BEAM целиком по сегфолту(это к слову о надежности). Да, 25 лет назад, когда ничего из перечисленных продуктов не было, OTP выглядел хорошо, по-этому на нем написали тот же ejabberd(из-за чего WhatsApp и сидит до сих с эрлангом), но сейчас erlang/elixir/OTP это не более чем анахронизм.
ну т.е. ровно то, что делают с помощью микросервисной архитектуры и оркестратора. Только при этом можно пользоваться языком с нормальной статической типизации без всякого позора типа is_integer/1 и который не будет в 6-10 раз проигрывать по производительности CPU-bound и требовать х3 памяти.
По-моему вы находитесь в рамках какого-то информационного пузыря. У вас наверное и эрланг это не живучий язык. Ну и статистика показывает что как минимум по популярности C# обходит плюсы и находится на уровне Java.
Не знаю на счет вечности, но чем больше на языке программирования созданно продуктов, тем дольше он будет жить, это частный случай Эффекта Линди . И в этом смысле и C# и С++ и Java и Кобол проществуют еще многие десятилетия, пока радикально не сменится сам фундамент вычислительных машин, например произойдет массовый переход на квантовые компьютеры
Это определение, которое вы сами выдумали в своей голове. Виртуальная машина это та, которая исполняет свои собственные инструкции, отличные от инструкций физической машины. То, как она их исполняет и какие оптимизации использует, например JIT, это только вопрос имплементации. Упомянутый вами Erlang несколько лет назад в своей виртуальной машине BEAM стал использовать JIT от чего сам BEAM виртуальной машиной быть не перестал. Достаточно открыть хотя бы вики чтобы убедиться насколько ваше понимание виртульной машины отличается от общепринятого.
https://en.wikipedia.org/wiki/Virtual_machine#Process_virtual_machines
Другими словами реализовывать виртуальную машину, которая этот IL код может исполнить.
Осталось об этом рассказать самому MS и разработчикам .NET CLR
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-10/#vm
век живи - век учись.
нет, не правильно - фаззинг тестирование было описано Миллером в 1988 года, за 20 лет до появления го и изначально активно использовалось в С/С++ коде.
И опять мимо - Property-Based это частный случай фазинга, когда есть явные инварианты и эти виды тестов не исключают друг друга, а дополняют, поскольку находят разные классы ошибок - проперти тест изначально предполагает семантически корретный ввод, соотственно он не проверяет ошибки класса UB или FFI.
.NET CLR это рантайм исполнения плюс виртуальная машина, которая самим майкрософт называется the virtual execution system, аналог того, что для JAVA называют JRE, компонентом которой является JVM. Является она таковой потому что программа комплируется не в машиные инструкции, а в промежуточные инструкции этой самой виртуальной машины(байткод). Так что ваше утверждение не корректно.
Так в вашей же цитате написано содержательно, что рациональность агента процедурная, а не «абсолютная». Она описывает как человек принимает решение, а не насколько хорош результат с точки зрения внешнего наблюдателя. Рациональное поведение может быть быть оптимальным ex ante, но выглядеть неоптимальным ex post. Ну и про полноту информации у агента - про это уже давно никто не говорит со времен Эрроу и описаной им проблемы ассиметрии информации на рынке.
Если вы, с учетом имеющейся у вас информации, считаете, что для достижение цели "разбогатеть" вам нужно лежать на диване, то ваше поведение рационально. Не важно что там считает какой-то другой человек, "рациональный агент" это вполне конкретный термин, так же как "электричество" или "кинетическая энергия", это не вопрос мнения. Рациональное поведение не означает что оно является оптимальным для достижения цели или даже что оно соотвествует формальной логике, это лишь означается что агент выбирает это поведение исходя из своих целей, а следовательно мы можем построить различные модели прогнозирования - какие действия будут совершать агенты исходя из своих целей и имеющейся у них информации. На этом строится вся экономика в целом и работа на фондовом рынке в частности.
getrandom это не библиотека, это функция ядра https://man7.org/linux/man-pages/man2/getrandom.2.html
getrandom() правильней использовать, он блокирует вызов до момента инициализации источника энтропии.
Какая модель использовалась?
Вы понимаете что рациональное поведение это любое поведение направленое на достижение цели? Даже если такое поведение в реальности явлчется ошибочным, оно не перестает быть рациональным. Участники рынка почти всегда производят действия для достижения цели извлечения прибыли, что является рациональным поведением по определению.
Падение на 30% это не обвал? Это как если сейчас с 80 до 104.
В стране, ит сектор которой в массе своей 20 лет был ориентирован на экспорт человеко-часов, происходит массовый исход аут-сорса, консалтинга и филиалов западных компаний. Оставшиеся компании, в условиях сжатия экономики и кредитной ставки в 20%, снижают найм и бюджеты. Что же произойдёт при этом с рынком труда и почему соскатели стали использовать любые методы чтобы хоть как-то найти себе позицию? Не ясно, не понятно, наверное во всем виноват chat gpt, других объяснений нет.
Для эмбеддет можно взять если не раст, то тот же го, где тоже будет gc, зелёные потоки с каналами и preemptive concurrency, но со статической типизацией и без виртуальной машины, что даёт в разы большую производительность.
По факту OTP готовый инструмент только для исчезающе малого класса задач типа телекома, буквально шаг в сторону и оказывается что для асинхроного мессаджинга нужны гарантии доставки, так что мейлбокс "процесса" из коробки не подходит, для базы нужна транзационность без глобального лока, так что ETS/DETS/Mnesia заменяются на полноценные базы типа redis/postgres/cockroach/cassandra, RPC требует схемы и версионированости, а оркестрация кластера разных стратегий деплоймента, сайдкаров и стореджей. В результате OTP теряет всю свою привлекательность как готового инструмента. А сам по себе эрланг ничего интересного не может предложить кроме иммутабильности, в жертву которой он приносит производительность настолько, что реальный проекты на нем забиты NIF'ами, которые в любой момент могут уронить весь BEAM целиком по сегфолту(это к слову о надежности). Да, 25 лет назад, когда ничего из перечисленных продуктов не было, OTP выглядел хорошо, по-этому на нем написали тот же ejabberd(из-за чего WhatsApp и сидит до сих с эрлангом), но сейчас erlang/elixir/OTP это не более чем анахронизм.
ну т.е. ровно то, что делают с помощью микросервисной архитектуры и оркестратора. Только при этом можно пользоваться языком с нормальной статической типизации без всякого позора типа is_integer/1 и который не будет в 6-10 раз проигрывать по производительности CPU-bound и требовать х3 памяти.
От RSU
Если RoleId это uint32, как вы сами показали в аст, то как вы туда -1 записали и какая проверка тут ожидается?
По-моему вы находитесь в рамках какого-то информационного пузыря. У вас наверное и эрланг это не живучий язык. Ну и статистика показывает что как минимум по популярности C# обходит плюсы и находится на уровне Java.
Не знаю на счет вечности, но чем больше на языке программирования созданно продуктов, тем дольше он будет жить, это частный случай Эффекта Линди . И в этом смысле и C# и С++ и Java и Кобол проществуют еще многие десятилетия, пока радикально не сменится сам фундамент вычислительных машин, например произойдет массовый переход на квантовые компьютеры
Вы бы ещё наличию проектов на C++ или Java удивились.
Max конечно же