nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 11:16



Reply to topic  [ 81 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Программирование с помощью троичной логики 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Я тут недавно один ЖЖ по случаю читал: Трёхзначная логика

Там был один довольно интересный комментарий:
man_with_dogs wrote:
В стардартном SQL-е давно уже реализована эта 3чная логика: TRUE, FALSE & UNKNOWN.
Можете поитнересоваться как там реализованы логические операторы.

Я, честно говоря, не проверял, поскольку от SQL весьма далёк... :wink:

_________________
iLavr


16 Aug 2021 01:02
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Quote:
Тема поднималась пользователем Shaos 15 авг 2021 17:42.

Хм, а как я это сделал? Я вроде просто линк хотел в телегу поставить, а оно вот взяло и "бампнулось"...

P.S. А всё - увидел. Слева вверху под названием топика есть ряд опций, одна из которых "Поднять тему" (она правда не у всех тем появляется)

А я тебя спрашивал в личку как-то про опцию Поднять тему.
Но ты мне ответил, что такой опции вроде нет. 8)

Отчасти правда - порой она есть, а порой не найдёшь, принцип появления опции непонятен...

Я только вчера про эту опцию узнал случайно :)

Возможно на доступна только топикстартеру...

_________________
:dj: https://mastodon.social/@Shaos


16 Aug 2021 13:18
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Lavr wrote:
Я тут недавно один ЖЖ по случаю читал: Трёхзначная логика

Там был один довольно интересный комментарий:
man_with_dogs wrote:
В стардартном SQL-е давно уже реализована эта 3чная логика: TRUE, FALSE & UNKNOWN.
Можете поитнересоваться как там реализованы логические операторы.

Я, честно говоря, не проверял, поскольку от SQL весьма далёк... :wink:

ну третье состояние может и можно ввести, вот только вычисления с её помощью делать задолбаешься
уж проще tiny int использовать с тремя значениями или букву N,O,P...

_________________
:dj: https://mastodon.social/@Shaos


16 Aug 2021 13:19
Profile WWW
Junior

Joined: 20 Nov 2018 03:58
Posts: 3
Location: Saint-Petersburg, Russia
Reply with quote
Вот в этой https://www.youtube.com/watch?v=gLJrOTFw6J0 видеопрезентации (примерно с 50-ой минуты - до неё всё вроде как довольно тривиально) интересные и конкретные мысли про необходимость изменения подходов к программированию.

Основная мысль в том, что "двоичность" (читайте - "ветвление" в стиле if-then-else) очень сильно пропитала весь подход к программированию и, в частности, мешает тонко обрабатывать не до конца специфицированные варианты исполнения программы. Например, в простейшем случае классический assert либо фейлит, либо нет, но на "unknown" непонятно как реагировать. Автор предлагает интересный тип trit как замену/расширение bool, мечтает о quaternary операторе (как a ? b : c, только с тремя вариантами a ? b : c : d) ну и приходит к выводу, что функциональный подход с вычислением результатов работы программы, а не отметанием ненужных веток вычисления, более точно отражает троичную и вообще многозначную логику.

P.S. В SQL по крайней мере есть null (и это не особое значение самого типа, а просто флаг), как и в C#, в котором любой тип можно сделать nullable. В C++ уже пророс тип std::optional, который, говоря на C, примерно эквивалентен union { SomeType value; bool is_valid; } (или Maybe из Хаскеля). Автор упомянутого доклада (да и в целом функционально-ориентированные программисты) давно топят за некую унификацию передачи и результата, и кода ошибки - в итоге программы получатся более линейными что ли, а обработка исключительных ситуаций будет как бы в дополнение к основному вычислению, а не поперёк его. По-моему, правда, появления null'ов не особо относятся к аппаратным особенностям троичной логики.


08 Nov 2021 15:51
Profile WWW
Writer

Joined: 24 Oct 2022 14:34
Posts: 12
Reply with quote
Ronin wrote:
а может мне в аспирантуру эту тему взять, а ;)

Тут главное что-бы сию тему приняли.


27 Oct 2022 01:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
tvitaly1 wrote:
Ronin wrote:
а может мне в аспирантуру эту тему взять, а ;)

Тут главное что-бы сию тему приняли.

Обращаем внимание на дату цитируемого сообщения ;)


Attachments:
Screenshot from 2022-10-27 21-51-56.png
Screenshot from 2022-10-27 21-51-56.png [ 26.4 KiB | Viewed 2244 times ]

_________________
:dj: https://mastodon.social/@Shaos
27 Oct 2022 22:01
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 81 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.