Re[4]: Статья Н.Вирта: взгляд из Зазеркалья
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.06 17:12
Оценка: +1
Здравствуйте, MShura, Вы писали:

MS>Я по-прежнему считаю, что использование = вместо := более логично (к тому-же меньше синтаксического оверхеда


Оно не более логично, и не менее логично. Это просто соглашение языка. С++ != математике! Вот и все!

А слова Вирта — это просто оправдание своей "хорошей идеи" которая не была принята практическими программистами.

Большинство современных языков используют именно "=" и их пользователи решительно не испытывают от этого проблем.

Проблемы от "=" есть только в С и С++ авторы которых были не соль дальновидны, чтобы предвидеть тот факт, что люди будут опечатываться в операторе if и писать вместо "==" "=".

Данная проблема устраняется двумя путями:
1. Введением более строкой типизации. Так сделано в C#. В нем никакое выражение отличное от булева не может приводиться к bool, а if всгда проверяет только булевы выражения. При этом проблемы все же возможны если оператор присвоения использовать для булевых переменных, но это не встречается на практике, так как сравнение с булевыми константами редко бывает осмысленно.
2. Запретом присвоений внутри выражений. Собственно Вирт и пользуется этим способом только зачем-то еще и синтаксически отделяет присвоение от сравнения. Между тем это не обязательно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.