
Сообщение от
vladimirisitnikov
И как тут ошибка "несовпадает тип данных" вам поможет?
Правильный ответ -- никак, ведь народ их подсознательно научится отсеивать.
Вот вам пример: в МЭК 61131 было всё жутко типизировано.
В стандарте на столько типизировано, что на вход ADD_INT можно подавать только INT, и оператор преобразования типа это не просто TO_INT, а BOOL_TO_INT, FLOAT_TO_INT.
Но:
1) Никто из основных производителей не стал настолько жёстко следовать стандарту. У всех разрешены неявные преобразования. Где-то, конечно, доходит до глупостей вроде "автопреобразование даты в bool"
2) В очередной версии стандарта правильно поняли что указывать тип "входного" аргумента это лишнее. И там можно вместо прежних BOOL_TO_INT, FLOAT_TO_INT использовать просто TO_INT
Чтобы выходы не зацеплялись "куда не положено", нужно не типами данных вопрос решать, а ещё как-то.
Вот хотя бы была возможность переименовать I1 в "кнопка пуск" -- уже было бы в 100500 раз понятнее.
Или возможность подкрасить вход, чтобы все подключённые провода тоже красились в этот цвет.