вторник, 14 июня 2016 г.

Свойства. Однозначный

Все правильные программы на языке должны выполняться одинаково на любом правильном исполнителе языка. Описание языка должно точно задавать все его возможности, избегая неопределённого поведения по недосмотру. Там же, где его нельзя избежать из каких-либо соображений, например, для повышения ошибкоустойчивости, оно должно быть указано в явном виде как ошибочное состояние.

Исключение в виде неоднозначности поведения в ошибочном состоянии нужно не только для того, чтобы воплощение могло выбрать наилучшее поведение для реакции на ошибку. Важно и то, что любое гарантированное поведение при ошибках кода приводит к возможности вписать ошибку(в таком случае уже, скорее, «ошибку») как часть псевдо-нормального течения процесса. Язык защитного программирования не должен способствовать включению ошибок кода в дизайн кода.

Зато днозначность должна проявляться в соответствии интуитивного понимания языка и его формальной семантики. Следует избегать положения, когда пользователи языка и воплотители исполнителя языка рассуждали о нём в разных понятиях. Это накладывает дополнительные требования на спецификацию не только как документ для разработчиков исполнителей языка. Также спецификация должна быть свободной.

Комментариев нет:

Отправить комментарий