Здравствуйте, Евгений Музыченко, Вы писали:
N>>Попытка деления на 0 вообще бессмысленна в пределах целых чисел. Что именно возвращать в таком легко детектируемом случае — вопрос реализации. ЕМ>Я так и не понял, в чем смысл. Какая разница, что с чем сравнивать — частное с -1, или делитель с нулем?
Второе честнее.
ЕМ>А если они хотели избавить разработчиков языков от необходимости поддерживать системные механизмы обработки исключений,
Прочитайте ещё раз. Ну пожалуйста.
EM> то они фактически предложили создавать реализации языков так, чтобы любое некорректное обращение к памяти сразу и наглухо валило всю программу, без возможности это обработать.
Мне сложно себе представить, что в том, что я написал, могло быть прочитано с таким выводом.
N>>должны были по умолчанию генерировать исключение ЕМ>Процессор его и генерирует.
Уже нет (если мы про новые архитектуры).
N>>Ну покажи это в современном языке. Я вот хочу видеть что-то в духе C# c = (checked)(a+b); — контекстно и в самом языке. А вместо этого должен писать свои оболочки или использовать от какого-то странного вендора
ЕМ>Эти вопросы задавайте разработчикам языков и их реализаций. Я сам уже лет тридцать, как в изумлении от того, насколько упорно не желают реализовать даже самые примитивные и дешевые средства, сильно упрощающие жизнь.
Спасибо, вы очень помогли.
N>>И было установлено при написании кода VM, что она не даст значение выше 64MB. ЕМ>Так и ограничили бы принудительно прямо внутри функции — она и не давала бы никогда.
И снова не хотите читать написанное русским по фоновому.