The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз языка программирования Rust 1.21"
Отправлено Ordu, 17-Окт-17 16:44 
То есть, смущает то, что тип имеет несколько разных свойств? Или то, что наше интуитивное понимание того, как надо разбивать множество всех возможных значений на типы-подмножества?
Если первое, то C сохраняет все эти свойства байта, и ничего, он считается типизированным языком. Он разделяет знаковые/беззнаковые байты, считая их представителями разных типов, и абстрагируется от места хранения байта -- уже не идёт речи о том, лежит ли он в .data или на стеке или в регистре, все байты лежат в переменных, а какой тип памяти выступает бекендом к этой переменной уже проблемы компилятора -- но всё остальное остаётся так же как и в ассемблере.
Если же смущает второе, то вообще-то, если мы глянем, например, на ООП, мы увидим, что там неоднозначность проведения границ между типами, неоднозначность деления на типы постоянно используется, но с определёнными ограничениями правда, скажем может требоваться древовидное деление. Базовый тип наиболее общий, он содержит в себе множество значений объединяющий множества всех значений всех производных типов.
Если мы глянем в Common Lisp, мы увидим возможность объявить тип (or character integer), то есть заявить, что переменная может содержать либо символ, либо целое число. Или мы можем объявлять более дробные типы, вплоть до того, что можем указать предикат, для проверки принадлежности к типу, например, можно объявить множество простых чисел, и получать рантайм ошибки при попытке положить не простое число в переменную такого типа.
Границы типов -- это условность, которая определяется целями, ради которых эти типы придумали.
 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру