Цитата:
Этот тип (пусть будет bool) – результат выполнения логических операций. Переменная такого типа может принимать значения true и false. Нельзя неявно приводить логическое значение к числовому. Нельзя числовое значение воспринимать как условие. Таким образом, штуковины вроде
Правильно почти как в паскале. В целом не напрягает приводить надо было менее 1% булевых типов.
Проблема тоьков в приведение к byte.
Цитата:
Видели когда-нибудь в старых программах проверки вида If ( ( 0>1 ) == 0 ) ? Были времена, когда такие проверки нужно было делать, чтобы знать, что думает компилятор по поводу совмещения логического и целого типов. Подобный код можно обнаружить (если я правильно помню) в исходниках Word для первых версий Windows (они были недавно открыты).
Думаю опечатка тут сдвиг 0>>1
Цитата:
Должен быть тип указателя с общими принципами как в C++, однако данный тип НЕ может быть неявно преобразован ни в число, ни в логическое значение. Нулевой указатель – это не тот же ноль, который «ноль» в числовом смысле. Это что-то типа nullptr. Отдельная константа (или объект, как хотите), означающая «нулевой указатель». Нулевой указатель может быть приведён к указателю любого типа (или наоборот).
Много где это называется nil (php,sql,pascal, JS)
Цитата:
Нужны ли «умные» указатели? Нет, на самом деле они не нужны, однако «умность», основанная, например, на подсчёте ссылок, может вполне быть частью отладочного механизма, который можно подключать или отключать. То есть умные указатели для сбора мусора точно не нужны, но для определения ошибок утечки памяти могут сгодиться.
Считаю нужны. Памяти вам чтоли жалко? Умные указатели нужны для потокобезопасных приложений при реализации многопоточных программ. Мы сможем контроллировать указатели. А не писать фабрики и фермы для рождения указателей разных классов.
Цитата:
Указатель ЯВУ, как мне кажется, должен быть похож скорее на итератор в C++. Операции прибавления или отнимания единицы – это не прибавить или вычесть число, равное размеру типа. Это переход на следующую или предыдущую запись в массиве. В общем случае, такая операция даже не обязана иметь сложность O(1).
Тогда это не указатель, а хэндел как в Java.
Но я бы оставил как в Си. Уж больно там удобная арифметика указателей.
А то в Delphi не очень и приходиться писать явно
Inc(PByte(AnyPointer),y*LineLen+x); // по байтам
Inc(PStrucure,y*LineLen+x); // по размеру TStrucure
Цитата:
Преобразовать указатель в число и обратно можно только изобразив рядом на столе пентаграмму и установив при этом 5 свечей по углам полученной звезды. И только в полночь при полной луне.
Так вот как эта скобка называется в ГОСТе а я и незнал. А символ Кронвеля при этом в пентогреме надо рисовать?

Цитата:
Это встроенный тип, а не костыль. Полноценный тип с операциями конкатенации и сопутствующими. Числовые типы могут быть явно или неявно приводиться в строковый. Неявно – когда всё ясно, а явно – это когда, например, число дробное и нужно указать точность отображения, программист явно указывает формат перевода. Должны быть операции перевода строки в число (это часто требуется при считывании данных из файла или из командной строки).
Это ужас! Только явное приведение. Не надо повторять ошибки PhP.
Цитата:
Должны быть операции перевода строки в число (это часто требуется при считывании данных из файла или из командной строки).
Некто не спорят. Но дихмо правильнее говорить должны быть операторы чтения и записи чисел как в строковых так и бинарном представление.
Причем такие операторы должны работать с потоками. Т.е как в паскале Read Write только с расширением на потоки TStream. Чтобы можно было читать из памяти.
И расширение на строки.
Цитата:
Желательно наличие для этого типа регулярных выражений, позволяющих искать или генерировать нужную подстроку, выполнять самые разнообразные замены и подстановки.
Думаю вам подойдёт стандарт реулярных выражений из ECMAScript Language Specification
Цитата:
В общем, трудно полностью описать строковый тип, но он должен быть естественным в языке.
Считаю что нет. Это решается стороннмии библиотеками. Тот же MySQL с этим не справился. Хотя и умеет кое-что.
Как по мне самый удобнее тип строк UCS32 (Unicode). Доступ к любому символу. U
TF - тип не для работы а для передачи Transfer.
Но честно из Unicode я бы всётаки кое-что выкинул. Как то дикларитические знаки.
Время и дата
Цитата:
Спорный вопрос о том, нужны ли типы, определяющие время и дату. На самом деле, я считаю, что нужны. Будут ли они встроенными или частью стандартной библиотеки – вопрос открытый. Но они реально нужны. Дело вот в чём. При сложных расчётах я всегда вывожу лог файл с пометками с точностью до секунды о том, когда и что произошло. Одновременно с этим, на экран выводится разная служебная информация о том, как долго мы находились в той или ной функции в последний раз. Вся эта куча цифр очень сильно нужна как нужен монитор сердцебиения в больнице для человека без сознания. То есть нужно точно знать, жива программа или нет. Когда расчёты идут несколько недель, нужно следить за ними очень тщательно.
В PhP для этого есть удобный API всё делается 1-3 строчками.
Но немного доработать. Внутреннее представление я бы сделал астрономически правильным. Тогда и Юлиански и Григорианский форматы даты будут не проблемма.
А то будет как с Excel 6 форматов даты!!!! С годами накопились.
