Вложенные и ортогональные классификации

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

Вложенные и ортогональные классификации

Сообщение БудДен » 03.01.19 14:45

Пытаюсь системно определить терминологию для компилятора.
Сложность состоит в наличии нескольких способов классификации тех же типов данных.

Вот как устроена иерархия живых организмов, если не врёт википедия:

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

жизнь
домен (domain)
царство (kingdom) 
тип (отдел) (phylum)
класс (class)
отряд (порядок) (order)
семейство (family)
род (genus)
вид (species)
Здесь класс находится очень высоко, а тип - ещё выше. В программировании тип и класс - это элементарные понятия. Объединять виды в роды, роды в семейства и т.п., и так добираться до класса и типа для программирования неестественно. Из-за отсутствия нужных слов возникают уродцы, например "тип классов" или "класс типов", или разные уровни иерархии обозначаются «классами».

Но всё ещё хуже. Есть разные «оси» классификации, т.е. классификация не представляет из себя одно дерево - это дерево с навитыми на него лианами.

В РЯ есть вид глагола (совершенный и несовершенный) и род (м,ж,средний). Это - ортогональные друг другу характеристики. Т.е., в биологии они упорядочены, а лингвистике - нет.

Что ещё у нас есть? Военные:

Вооруженные силы

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

фронт, округ
группа армий
армия
корпус
дивизия
бригада
полк
батальон
рота
взвод
отделение
Но главное в другом:

в армии род войск вложен в вид вооружённых сил, т.е. противоположно к биологии.
В литературе жанр ≈ вид, вложен в род. Демократическим путём вид вложен в род.

Таким образом, не существует канонического способа называть вложенные классификации c использованием слов «род» и «вид» - в разных классификациях они могут вкладываться в любом порядке и быть независимыми друг от друга.

А жаль.

Вот мы смеёмся над крестьянами, которым нужно было «сено и солома» для обозначения таких абстракций, как «лево и право», а буквально на сантиметр копни, и оказывается, что в голове человечества полная каша.

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

Re: Вложенные и ортогональные классификации

Сообщение БудДен » 03.01.19 21:00

А можно ещё по человеческим организациям. Например,

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

планета
цивилизация
царство
народ
род
семья
Хотя на самом деле тут нет вложенности - члены одной семьи могут быть из разных народов и жить на разных планетах. Но фигово то, что в биологической иерархии семейство идёт старше рода.

Или по адресам:

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

галактика
планетная система
планета
страна
область
район
город
улица
дом 
квартира
Правда, это к типам сложно отнести. Т.к. классификация на один метауровень выше, она позволяет различать похожие анонимные объекты, а адреса всё же позволяют различать конкретные объекты.

И ещё интересно то, что все эти классификации нерекурсивны. А ООП, к примеру, рекурсивно. Предок, предок предка и т.п., но все они - объекты, в зависимости от числа предков или потомков класс всегда остаётся классом, не превращается ни в род, ни в царство. В этом есть свой смысл, т.к. программы всё время меняются.

Есть и генеалогия:

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

прадед
дед
папа
я
сын
внук
правнук
Здесь мы имеем относительную систему координат, в которой ранги определены не от начала мира, а от текущего поколения, в отличие от биологии. Для текучей природы программ это лучше подходит. Хм.

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

Re: Вложенные и ортогональные классификации

Сообщение БудДен » 04.01.19 20:52

Слово «вид» имеет другие важные в программировании смыслы, поэтому его нежелательно использовать в классификации. Род также традиционно применяется в организации иерархических структур, т.е. родитель объекта - это может быть включащий его узел в дереве. Блиииин.

Ответить