да/нет и правда/ложь

Научно-технические вопросы применения русского языка в программировании. Проекты с сайта программирование-по-русски.рф, кроме ЯОС . Информация об организациях и людях, использующих или изучающих русский язык в программировании. Сравнение операционных систем.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

да/нет и правда/ложь

Сообщение БудДен » 20.02.21 22:24

Это ведь два отдельных типа: "решение" и "истинность". А не один, как можно было бы подумать. Какую пользу при разработке ЯП можно при этом извлечь, или какой вред получить?

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: да/нет и правда/ложь

Сообщение Лис [Вежливый] » 21.02.21 05:26

А в курсе философии ещё есть "ничто" и "нечто". Аааа. Оооо.
Какую пользу ... можно при этом извлечь, или какой вред получить?
Сконструировать сверхсветовой двигатель на эффекте Казимира и погибнуть при его испытаниях в Большом Взрыве, дав старт расширению новой вселенной.
при разработке ЯП
Ну, можно ещё сделать в СУБД значение NULL.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: да/нет и правда/ложь

Сообщение Павиа » 22.02.21 11:20

Но вообще мне больше решение QT понравилось.

Код: Выделить всё

Если (СтроковаяПеременная.ЭтоЧисло()) то {
// Ваши действия
} 
Так что по мимо да и нет тут ещё есть третий тип бинарной переменной "является"/ "не является" что используется чаще чем да или истина.

Нужно в язык добавить именованные константы в области исполнения тогда будет видно какой тип используется как в (VHDL такое поддерживает и из современных скриптовых тоже есть не помню кто)

Код: Выделить всё

Разгладь(р:3,методом:гауса)
Тогда будет понятно где применяется Да а где Истина.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: да/нет и правда/ложь

Сообщение БудДен » 22.02.21 13:14

Я не очень понял Вашу мысль, можете развернуть чуть пошире? Проблема проистекает из задачи

Код: Выделить всё

проц КупиХлеба(белыйЛи : булево); ...

КупиХлеба(ложь)
Вводить или не вводить именованные аргументы - всё равно

Код: Выделить всё

КупиХлеба(белыйЛи : да) будет лучше выглядеть чем КупиХлеба(белыйЛи : ложь)
Если же речь идёт о константных значениях вместо "правды" и "лжи", то для этого в ЯОС есть перечисления, примерно такие же, как в Си.
Просто когда значения параметра всего лишь два, для этого кажется естественным использовать булево - меньше писанины. Потом количество значений параметра может увеличиться (тогда меняем тип), а может и не увеличиться - заранее это обычно непонятно при эволюционном/итерационном подходе к программированию. Другое дело, что когда много булевых параметров, можно их перепутать и получится нехорошо (как и всегда при ослаблении статической типизации).

Аватара пользователя
Сандро
Сообщения: 86
Зарегистрирован: 07.10.18 14:39

Re: да/нет и правда/ложь

Сообщение Сандро » 25.02.21 11:11

БудДен писал(а):
20.02.21 22:24
Какую пользу при разработке ЯП можно при этом извлечь, или какой вред получить?
- Если массив содержит "оригинальные", (не повторяющиеся) величины:
Исходя из постулата "истина одна для всех", (для всего массива), остальные члены массива автоматически признаются "не истиной". Однако слово "ложь" для слова "истина" уже не является противоположностью, поскольку занято антиподом "правда". Для более краткой записи вместо слова "не истина" можно использовать слово "ересь".
- Сохраняем "булевость" словесных выражений:
(да/нет, правда/ложь, истина/ересь)
И ещё: (вдруг понадобится)
NaN - "ничто", undefined - "нечто"...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: да/нет и правда/ложь

Сообщение БудДен » 25.02.21 17:08

Ну, в общем, дело ясное, что дело тёмное. Да/Нет/Не знаю/Возможно/Иногда; Правда/Ложь/Не знаю

Аватара пользователя
Сандро
Сообщения: 86
Зарегистрирован: 07.10.18 14:39

Re: да/нет и правда/ложь

Сообщение Сандро » 27.02.21 19:12

БудДен писал(а):
25.02.21 17:08
Да/Нет/Не знаю/Возможно/Иногда; Правда/Ложь/Не знаю
«Когда гуру изрёк "не знаю", я понял: это - не гуру». Прям как в песне:
Но вздохнув иногда, словно слышу в ответ:
И не то чтобы "да" и не то чтобы "нет".
Однако рассмотрим-таки полезность некоторых подтверждений истинности результата:
(подчёркиваю: подтверждений, но не утверждений)
да/нет - подтверждение/отрицание соответствия истине, но не её яви. (её "явлению")
3+2 = 1+4 = 5, где 3+2 и 1+4 - это всего лишь методы предоставления арифметического аналога истины и лишь число 5 - её исходный арифметический аналог. (то бишь "явное соответствие")
Сейчас модно ругать ведические понятия "явь, навь, правь, славь" наряду с "инь-янь", невзирая на то, что эти словки - настоящий кладезь для русскоязычного программирования, ведь правда/ложь - не что иное, как степень соответствия правилу (не истине).

Ответить