Эйфелева имеет значение
На самом деле есть даже больше. У этого есть много полужестких операторов так же как строгих.
Причина, по которой программисты не используют такие вещи, заключается в том, что их никогда не учили точно знать, кто они такие, как их использовать и когда их использовать, а также как их проектировать. Поскольку они никогда не обучаются, они никогда не просят об этом у авторов компиляторов, поэтому люди, занимающиеся компиляцией, не заботятся о том, чтобы помещать такие механизмы в компилятор. Когда студенты-информатики и программисты Shade-Tree начнут получать более округлое образование, компиляторы начнут наверстывать упущенное.
Оказывается, если у вас есть язык с такими булевыми операторами, и вы знаете, как проектировать их и использовать их, тогда вы их используете.
В Eiffel использование ключевого слова «подразумевает» является довольно заметным из-за Design-by-Contract из-за булево-тяжелого характера утверждений контракта. Есть некоторые контракты, которые могут быть написаны правильно и эффективно только с оператором «подразумевает». Затем напрашивается комментарий о том, что языки без контрактов не имеют смысла смотреть, обучать и реализовывать использование импликации.
Добавьте к этому, что большинство программистов, «слабо разбирающихся в математике и логике», рассказывает нам об остальной части истории. Даже если в вашем образовании вы увлечены математикой и логикой, когда выбираете язык, в котором не реализованы такие конструкции, как импликация, вы склонны считать, что такие вещи не нужны или не полезны. Один редко подвергает сомнению язык и попадает в эхо-камеру: «Ну, ребята из компилятора не видят необходимости» и «Ну, программисты не видят необходимости» - бесконечный и замкнутый круг.
Вместо этого люди, работающие с компилятором, должны вернуться к теории, написать обозначение языка, которое предлагается или подразумевается теорией (например, объектно-ориентированная теория), независимо от того, что думают или просят немытые массы программистов. Оттуда профессорам, учителям и другим специалистам необходимо профессионально обучать молодых людей, основанных на необработанной теории, а не на «теории через линзу языка». Когда это происходит, люди внезапно просыпаются и осознают, чего им не хватало и что им навязали.
Прямо сейчас - существует так много теории, которая маскируется под Объектно-Ориентированную, но это просто "сквозь стекло, мрачно-оф-твои". Никто не может прочитать большинство «теоретических» книг по ОО, потому что они хотят интерпретировать, что такое теория, через призму какого-то языка. Совершенно неверно и неверно. Это все равно что учить математике на калькуляторе или правилам скольжения. НЕТ - человек позволяет реальности учить себя самому, а затем использует нотацию для описания того, что он наблюдает - это называется «наука». Эта другая смесь, называемая OO-based-on-language-X, настолько искажена, что едва ли представляет реальность.
Итак, отойдите от языка, взгляните на грубую теорию и начните снова. Не позволяйте ограничениям, ограничениям и рисованиям языка говорить вам, что такое теория. Просто позвольте реальности теории диктовать свои собственные обозначения, а затем перейти к формулировке языка.
Оттуда вы начнете понимать, как подтекст и «намеки» не только полезны, но и элегантны и очень круты!
Хорошего вам!