Условимся конструкцию НЕ (а=б) называть конструкцией А, а конструкцию (a<>б) называть конструкцией Б.
Декларируется, что конструкция А работает быстрее, легче читается в коде да и вообще более логична. Основывается данное высказывание на том, что в данной ситуации, если рассуждать низкоуровнево кроется две очень простых и быстрых операции – сравнение двух чисел на равенство, в результате которой по идее выставляется бит – либо да, либо нет – 1 или 0. А потом булево отрицание этого самого по идее бита. Как там устроена 1С внутри – фиг его знает. Но рассуждаем чисто гипотетически. С тем же успехом можно порассуждать о подобных конструкциях в языке паскаль или С. Итак – декларируются две простейшие операции - проверка на равенство двух переменных и дальше отрицание этого результата. Напротив же в конструкции Б, утверждается в сугубо служебных дискуссиях, выполняется две долгих инструкции – вначале проверка на меньше, потом проверка на больше. Основывается сей вывод на том что именно так, дескать, работал MS SQL Server 7.0 и там замена в условии запроса конструкции Б на А увеличивали скорость выполнения запроса чуть ли не в 1.5 раза. Моя же точка зрения состоит в том, что так быть не должно и просто не может. Хотя конечно же опять же никто не знает как устроена 1С изнутри – но если парсер/интерпретатор 1С реально считает это двумя условиями, грубо говоря, то это полный маразм. По идее, эти два значка (<>), идущие подряд говорят о том, что это одна операция на самом деле. И по идее и проще с точки зрения парсера/компилятора при обнаружении такой конструкции сравнить два операнда на равенство и выставить все тот же бит, но только инвертированный. В том плане что если равно – то бит = 1, иначе 0. Можно и наоборот – но тут не суть. В итоге по идее мы получаем в варианте Б одну быструю операцию и на выходе булево значения результата сравнения.
Вобщем для разрешения сией нешутошной дискуссии было бы неплохо выслушать самих разработчиков 1С по этому вопросу и наконец то выяснить все наболевшие вопросы :)
С точки же зрения удобочитаемости кода лично я читаю что первый вариант наиболее логичен, быстро и однозначно понимаем. К тому же как то хорошо ложится на нормальный русский язык и обычное в свободной форме логическое рассуждение. Хотя это конечно на любителя. Но … но …